Skip to content

Commit 98602f2

Browse files
fix: regression w/ popover polyfill running unnecessary code
1 parent e0bfb8e commit 98602f2

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

packages/kit-headless/src/components/popover/popover-trigger.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,23 @@ export function usePopover(popovertarget: string) {
5050
}
5151
});
5252

53-
useTask$(async ({ track }) => {
53+
useTask$(({ track }) => {
5454
track(() => didInteractSig.value);
5555

5656
if (!isBrowser) return;
5757

5858
// get popover
5959
if (!popoverSig.value) {
6060
popoverSig.value = document.getElementById(popovertarget);
61+
}
62+
63+
// so it only runs once on click for supported browsers
64+
if (isSupportedSig.value) {
65+
if (!popoverSig.value) return;
6166

6267
if (!initialClickSig.value && !isCSRSig.value) {
63-
popoverSig.value?.showPopover();
68+
/* opens manual on any event */
69+
popoverSig.value.showPopover();
6470
}
6571
}
6672
});
@@ -76,10 +82,7 @@ export function usePopover(popovertarget: string) {
7682
// calls code in here twice for some reason, we think it's because of the client re-render, but it still works
7783

7884
// so it only runs once on first click
79-
if (
80-
!popoverSig.value.classList.contains(':popover-open') &&
81-
!isSupportedSig.value
82-
) {
85+
if (!popoverSig.value.classList.contains(':popover-open')) {
8386
popoverSig.value.showPopover();
8487
}
8588
}),

0 commit comments

Comments
 (0)