File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
packages/kit-headless/src/components/popover Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' @qwik-ui/headless ' : patch
3+ ---
4+
5+ fix: popover opening immediately in CSR
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ export function usePopover(popovertarget: string) {
2121 const didInteractSig = useSignal < boolean > ( false ) ;
2222 const popoverSig = useSignal < HTMLElement | null > ( null ) ;
2323 const initialClickSig = useSignal < boolean > ( false ) ;
24+ const isCSRSig = useSignal < boolean > ( false ) ;
2425
2526 const loadPolyfill$ = $ ( async ( ) => {
2627 await import ( '@oddbird/popover-polyfill' ) ;
@@ -43,6 +44,12 @@ export function usePopover(popovertarget: string) {
4344 didInteractSig . value = true ;
4445 } ) ;
4546
47+ useTask$ ( ( ) => {
48+ if ( isBrowser ) {
49+ isCSRSig . value = true ;
50+ }
51+ } ) ;
52+
4653 useTask$ ( async ( { track } ) => {
4754 track ( ( ) => didInteractSig . value ) ;
4855
@@ -52,7 +59,7 @@ export function usePopover(popovertarget: string) {
5259 if ( ! popoverSig . value ) {
5360 popoverSig . value = document . getElementById ( popovertarget ) ;
5461
55- if ( ! initialClickSig . value ) {
62+ if ( ! initialClickSig . value && ! isCSRSig . value ) {
5663 popoverSig . value ?. showPopover ( ) ;
5764 }
5865 }
You can’t perform that action at this time.
0 commit comments