@@ -724,35 +724,42 @@ function ButtonFn<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(
724
724
725
725
// ---
726
726
727
- let DEFAULT_OVERLAY_TAG = 'div' as const
728
- type OverlayRenderPropArg = {
727
+ let DEFAULT_BACKDROP_TAG = 'div' as const
728
+ type BackdropRenderPropArg = {
729
729
open : boolean
730
730
} & TransitionData
731
- type OverlayPropsWeControl = 'aria-hidden'
731
+ type BackdropPropsWeControl = 'aria-hidden'
732
732
733
- let OverlayRenderFeatures = RenderFeatures . RenderStrategy | RenderFeatures . Static
733
+ let BackdropRenderFeatures = RenderFeatures . RenderStrategy | RenderFeatures . Static
734
734
735
- export type PopoverOverlayProps < TTag extends ElementType = typeof DEFAULT_OVERLAY_TAG > = Props <
735
+ export type PopoverBackdropProps < TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG > = Props <
736
736
TTag ,
737
- OverlayRenderPropArg ,
738
- OverlayPropsWeControl ,
739
- { transition ?: boolean } & PropsForFeatures < typeof OverlayRenderFeatures >
737
+ BackdropRenderPropArg ,
738
+ BackdropPropsWeControl ,
739
+ { transition ?: boolean } & PropsForFeatures < typeof BackdropRenderFeatures >
740
740
>
741
741
742
- function OverlayFn < TTag extends ElementType = typeof DEFAULT_OVERLAY_TAG > (
743
- props : PopoverOverlayProps < TTag > ,
742
+ export type PopoverOverlayProps < TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG > =
743
+ PopoverBackdropProps < TTag >
744
+
745
+ function BackdropFn < TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG > (
746
+ props : PopoverBackdropProps < TTag > ,
744
747
ref : Ref < HTMLElement >
745
748
) {
746
749
let internalId = useId ( )
747
- let { id = `headlessui-popover-overlay-${ internalId } ` , transition = false , ...theirProps } = props
748
- let [ { popoverState } , dispatch ] = usePopoverContext ( 'Popover.Overlay' )
749
- let internalOverlayRef = useRef < HTMLElement | null > ( null )
750
- let overlayRef = useSyncRefs ( ref , internalOverlayRef )
750
+ let {
751
+ id = `headlessui-popover-backdrop-${ internalId } ` ,
752
+ transition = false ,
753
+ ...theirProps
754
+ } = props
755
+ let [ { popoverState } , dispatch ] = usePopoverContext ( 'Popover.Backdrop' )
756
+ let internalBackdropRef = useRef < HTMLElement | null > ( null )
757
+ let backdropRef = useSyncRefs ( ref , internalBackdropRef )
751
758
752
759
let usesOpenClosedState = useOpenClosed ( )
753
760
let [ visible , transitionData ] = useTransition (
754
761
transition ,
755
- internalOverlayRef ,
762
+ internalBackdropRef ,
756
763
usesOpenClosedState !== null
757
764
? ( usesOpenClosedState & State . Open ) === State . Open
758
765
: popoverState === PopoverStates . Open
@@ -767,11 +774,11 @@ function OverlayFn<TTag extends ElementType = typeof DEFAULT_OVERLAY_TAG>(
767
774
return {
768
775
open : popoverState === PopoverStates . Open ,
769
776
...transitionData ,
770
- } satisfies OverlayRenderPropArg
777
+ } satisfies BackdropRenderPropArg
771
778
} , [ popoverState , transitionData ] )
772
779
773
780
let ourProps = {
774
- ref : overlayRef ,
781
+ ref : backdropRef ,
775
782
id,
776
783
'aria-hidden' : true ,
777
784
onClick : handleClick ,
@@ -781,10 +788,10 @@ function OverlayFn<TTag extends ElementType = typeof DEFAULT_OVERLAY_TAG>(
781
788
ourProps,
782
789
theirProps,
783
790
slot,
784
- defaultTag : DEFAULT_OVERLAY_TAG ,
785
- features : OverlayRenderFeatures ,
791
+ defaultTag : DEFAULT_BACKDROP_TAG ,
792
+ features : BackdropRenderFeatures ,
786
793
visible,
787
- name : 'Popover.Overlay ' ,
794
+ name : 'Popover.Backdrop ' ,
788
795
} )
789
796
}
790
797
@@ -1187,9 +1194,9 @@ export interface _internal_ComponentPopoverButton extends HasDisplayName {
1187
1194
) : JSX . Element
1188
1195
}
1189
1196
1190
- export interface _internal_ComponentPopoverOverlay extends HasDisplayName {
1191
- < TTag extends ElementType = typeof DEFAULT_OVERLAY_TAG > (
1192
- props : PopoverOverlayProps < TTag > & RefProp < typeof OverlayFn >
1197
+ export interface _internal_ComponentPopoverBackdrop extends HasDisplayName {
1198
+ < TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG > (
1199
+ props : PopoverBackdropProps < TTag > & RefProp < typeof BackdropFn >
1193
1200
) : JSX . Element
1194
1201
}
1195
1202
@@ -1207,13 +1214,17 @@ export interface _internal_ComponentPopoverGroup extends HasDisplayName {
1207
1214
1208
1215
let PopoverRoot = forwardRefWithAs ( PopoverFn ) as _internal_ComponentPopover
1209
1216
export let PopoverButton = forwardRefWithAs ( ButtonFn ) as _internal_ComponentPopoverButton
1210
- export let PopoverOverlay = forwardRefWithAs ( OverlayFn ) as _internal_ComponentPopoverOverlay
1217
+ /** @deprecated use `<PopoverBackdrop>` instead of `<PopoverOverlay>` */
1218
+ export let PopoverOverlay = forwardRefWithAs ( BackdropFn ) as _internal_ComponentPopoverBackdrop
1219
+ export let PopoverBackdrop = forwardRefWithAs ( BackdropFn ) as _internal_ComponentPopoverBackdrop
1211
1220
export let PopoverPanel = forwardRefWithAs ( PanelFn ) as _internal_ComponentPopoverPanel
1212
1221
export let PopoverGroup = forwardRefWithAs ( GroupFn ) as _internal_ComponentPopoverGroup
1213
1222
1214
1223
export let Popover = Object . assign ( PopoverRoot , {
1215
1224
/** @deprecated use `<PopoverButton>` instead of `<Popover.Button>` */
1216
1225
Button : PopoverButton ,
1226
+ /** @deprecated use `<PopoverBackdrop>` instead of `<Popover.Backdrop>` */
1227
+ Backdrop : PopoverBackdrop ,
1217
1228
/** @deprecated use `<PopoverOverlay>` instead of `<Popover.Overlay>` */
1218
1229
Overlay : PopoverOverlay ,
1219
1230
/** @deprecated use `<PopoverPanel>` instead of `<Popover.Panel>` */
0 commit comments