@wordpress/components 25.8.2 → 25.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/build/popover/index.js +4 -1
- package/build/popover/index.js.map +1 -1
- package/build-module/popover/index.js +4 -1
- package/build-module/popover/index.js.map +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/popover/index.tsx +5 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
- `Placeholder`: Improved DOM structure and screen reader announcements ([#45801](https://github.com/WordPress/gutenberg/pull/45801)).
|
|
8
8
|
- `DateTimePicker`: fix onChange callback check so that it also works inside iframes ([#54669](https://github.com/WordPress/gutenberg/pull/54669)).
|
|
9
|
+
- `Popover`: Apply the CSS in JS styles properly for components used within popovers. ([#54912](https://github.com/WordPress/gutenberg/pull/54912))
|
|
9
10
|
|
|
10
11
|
### Internal
|
|
11
12
|
|
package/build/popover/index.js
CHANGED
|
@@ -18,6 +18,7 @@ var _scrollLock = _interopRequireDefault(require("../scroll-lock"));
|
|
|
18
18
|
var _slotFill = require("../slot-fill");
|
|
19
19
|
var _utils = require("./utils");
|
|
20
20
|
var _overlayMiddlewares = require("./overlay-middlewares");
|
|
21
|
+
var _styleProvider = require("../style-provider");
|
|
21
22
|
/**
|
|
22
23
|
* External dependencies
|
|
23
24
|
*/
|
|
@@ -304,7 +305,9 @@ const UnforwardedPopover = (props, forwardedRef) => {
|
|
|
304
305
|
name: slotName
|
|
305
306
|
}, content);
|
|
306
307
|
} else if (!inline) {
|
|
307
|
-
content = (0, _element.createPortal)(
|
|
308
|
+
content = (0, _element.createPortal)((0, _element.createElement)(_styleProvider.StyleProvider, {
|
|
309
|
+
document: document
|
|
310
|
+
}, content), getPopoverFallbackContainer());
|
|
308
311
|
}
|
|
309
312
|
if (hasAnchor) {
|
|
310
313
|
return content;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_reactDom","_framerMotion","_compose","_icons","_deprecated","_primitives","_button","_scrollLock","_slotFill","_utils","_overlayMiddlewares","SLOT_NAME","exports","ArrowTriangle","createElement","SVG","xmlns","viewBox","className","role","Path","d","vectorEffect","slotNameContext","createContext","undefined","fallbackContainerClassname","getPopoverFallbackContainer","container","document","body","querySelector","append","UnforwardedPopover","props","forwardedRef","animate","headerTitle","onClose","children","noArrow","position","placement","placementProp","offset","offsetProp","focusOnMount","anchor","expandOnMobile","onFocusOutside","__unstableSlotName","flip","resize","shift","inline","variant","__unstableForcePosition","anchorRef","anchorRect","getAnchorRect","isAlternate","contentProps","computedFlipProp","computedResizeProp","deprecated","since","version","alternative","computedVariant","arrowRef","useRef","fallbackReferenceElement","setFallbackReferenceElement","useState","anchorRefFallback","useCallback","node","isMobileViewport","useViewportMatch","isExpanded","hasArrow","normalizedPlacementFromProps","positionToPlacement","middleware","overlayMiddlewares","offsetMiddleware","flipMiddleware","size","apply","sizeProps","_refs$floating$curren","firstElementChild","refs","floating","current","HTMLElement","Object","assign","style","maxHeight","availableHeight","overflow","shiftMiddleware","crossAxis","limiter","limitShift","padding","arrow","element","slotName","useContext","slot","useSlot","onDialogClose","type","event","dialogRef","dialogProps","useDialog","__unstableOnClose","x","y","strategy","update","computedPlacement","middlewareData","arrowData","useFloating","whileElementsMounted","referenceParam","floatingParam","updateParam","autoUpdate","layoutShift","animationFrame","arrowCallbackRef","anchorRefTop","top","anchorRefBottom","bottom","anchorRefStartContainer","startContainer","anchorRefCurrent","useLayoutEffect","resultingReferenceElement","getReferenceElement","setReference","mergedFloatingRef","useMergeRefs","setFloating","left","computePopoverPosition","shouldReduceMotion","useReducedMotion","shouldAnimate","animationFinished","setAnimationFinished","motionInlineStyles","otherMotionProps","useMemo","placementToMotionAnimationProps","animationProps","onAnimationComplete","isPositioned","content","motion","div","classnames","ref","tabIndex","default","icon","close","onClick","split","join","Number","isFinite","shouldRenderWithinSlot","hasAnchor","Fill","name","createPortal","Fragment","Popover","forwardRef","PopoverSlot","Slot","bubblesVirtually","__unstableSlotNameProvider","Provider","_default"],"sources":["@wordpress/components/src/popover/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, SyntheticEvent, RefCallback } from 'react';\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip as flipMiddleware,\n\tshift as shiftMiddleware,\n\tlimitShift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tsize,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport type { HTMLMotionProps, MotionProps } from 'framer-motion';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, useReducedMotion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tcreatePortal,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tcomputePopoverPosition,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceElement,\n} from './utils';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\nimport { overlayMiddlewares } from './overlay-middlewares';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nexport const SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\n\nconst fallbackContainerClassname = 'components-popover__fallback-container';\nconst getPopoverFallbackContainer = () => {\n\tlet container = document.body.querySelector(\n\t\t'.' + fallbackContainerClassname\n\t);\n\tif ( ! container ) {\n\t\tcontainer = document.createElement( 'div' );\n\t\tcontainer.className = fallbackContainerClassname;\n\t\tdocument.body.append( container );\n\t}\n\n\treturn container;\n};\n\nconst UnforwardedPopover = (\n\tprops: Omit<\n\t\tWordPressComponentProps< PopoverProps, 'div', false >,\n\t\t// To avoid overlaps between the standard HTML attributes and the props\n\t\t// expected by `framer-motion`, omit all framer motion props from popover\n\t\t// props (except for `animate` and `children`, which are re-defined in `PopoverProps`).\n\t\tkeyof Omit< MotionProps, 'animate' | 'children' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchor,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\tflip = true,\n\t\tresize = true,\n\t\tshift = false,\n\t\tinline = false,\n\t\tvariant,\n\n\t\t// Deprecated props\n\t\t__unstableForcePosition,\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tisAlternate,\n\n\t\t// Rest\n\t\t...contentProps\n\t} = props;\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '`__unstableForcePosition` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`flip={ false }` and `resize={ false }`',\n\t\t} );\n\n\t\t// Back-compat, set the `flip` and `resize` props\n\t\t// to `false` to replicate `__unstableForcePosition`.\n\t\tcomputedFlipProp = ! __unstableForcePosition;\n\t\tcomputedResizeProp = ! __unstableForcePosition;\n\t}\n\n\tif ( anchorRef !== undefined ) {\n\t\tdeprecated( '`anchorRef` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( anchorRect !== undefined ) {\n\t\tdeprecated( '`anchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( getAnchorRect !== undefined ) {\n\t\tdeprecated( '`getAnchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tconst computedVariant = isAlternate ? 'toolbar' : variant;\n\tif ( isAlternate !== undefined ) {\n\t\tdeprecated( '`isAlternate` prop in wp.components.Popover', {\n\t\t\tsince: '6.2',\n\t\t\talternative: \"`variant` prop with the `'toolbar'` value\",\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef< HTMLElement | null >( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\n\tconst anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(\n\t\t( node ) => {\n\t\t\tsetFallbackReferenceElement( node );\n\t\t},\n\t\t[]\n\t);\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst middleware = [\n\t\t...( placementProp === 'overlay' ? overlayMiddlewares() : [] ),\n\t\toffsetMiddleware( offsetProp ),\n\t\tcomputedFlipProp && flipMiddleware(),\n\t\tcomputedResizeProp &&\n\t\t\tsize( {\n\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\tconst { firstElementChild } = refs.floating.current ?? {};\n\n\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) )\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t} ),\n\t\tshift &&\n\t\t\tshiftMiddleware( {\n\t\t\t\tcrossAxis: true,\n\t\t\t\tlimiter: limitShift(),\n\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t} ),\n\t\tarrow( { element: arrowRef } ),\n\t];\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type: string | undefined, event: SyntheticEvent ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\t// @ts-expect-error The __unstableOnClose property needs to be deprecated first (see https://github.com/WordPress/gutenberg/pull/27675)\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData },\n\t} = useFloating( {\n\t\tplacement:\n\t\t\tnormalizedPlacementFromProps === 'overlay'\n\t\t\t\t? undefined\n\t\t\t\t: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tlayoutShift: false,\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tarrowRef.current = node;\n\t\t\tupdate();\n\t\t},\n\t\t[ update ]\n\t);\n\n\t// When any of the possible anchor \"sources\" change,\n\t// recompute the reference element (real or virtual) and its owner document.\n\n\tconst anchorRefTop = ( anchorRef as PopoverAnchorRefTopBottom | undefined )\n\t\t?.top;\n\tconst anchorRefBottom = (\n\t\tanchorRef as PopoverAnchorRefTopBottom | undefined\n\t )?.bottom;\n\tconst anchorRefStartContainer = ( anchorRef as Range | undefined )\n\t\t?.startContainer;\n\tconst anchorRefCurrent = ( anchorRef as PopoverAnchorRefReference )\n\t\t?.current;\n\n\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchor,\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\trefs.setReference( resultingReferenceElement );\n\t}, [\n\t\tanchor,\n\t\tanchorRef,\n\t\tanchorRefTop,\n\t\tanchorRefBottom,\n\t\tanchorRefStartContainer,\n\t\tanchorRefCurrent,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\trefs,\n\t] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\trefs.setFloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\tconst style = isExpanded\n\t\t? undefined\n\t\t: {\n\t\t\t\tposition: strategy,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\t// `x` and `y` are framer-motion specific props and are shorthands\n\t\t\t\t// for `translateX` and `translateY`. Currently it is not possible\n\t\t\t\t// to use `translateX` and `translateY` because those values would\n\t\t\t\t// be overridden by the return value of the\n\t\t\t\t// `placementToMotionAnimationProps` function.\n\t\t\t\tx: computePopoverPosition( x ),\n\t\t\t\ty: computePopoverPosition( y ),\n\t\t };\n\n\tconst shouldReduceMotion = useReducedMotion();\n\tconst shouldAnimate = animate && ! isExpanded && ! shouldReduceMotion;\n\n\tconst [ animationFinished, setAnimationFinished ] = useState( false );\n\n\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t() => placementToMotionAnimationProps( computedPlacement ),\n\t\t[ computedPlacement ]\n\t);\n\n\tconst animationProps: HTMLMotionProps< 'div' > = shouldAnimate\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t\t\tonAnimationComplete: () => setAnimationFinished( true ),\n\t\t\t\t...otherMotionProps,\n\t\t }\n\t\t: {\n\t\t\t\tanimate: false,\n\t\t\t\tstyle,\n\t\t };\n\n\t// When Floating UI has finished positioning and Framer Motion has finished animating\n\t// the popover, add the `is-positioned` class to signal that all transitions have finished.\n\tconst isPositioned =\n\t\t( ! shouldAnimate || animationFinished ) && x !== null && y !== null;\n\n\tlet content = (\n\t\t<motion.div\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-positioned': isPositioned,\n\t\t\t\t// Use the 'alternate' classname for 'toolbar' variant for back compat.\n\t\t\t\t[ `is-${\n\t\t\t\t\tcomputedVariant === 'toolbar'\n\t\t\t\t\t\t? 'alternate'\n\t\t\t\t\t\t: computedVariant\n\t\t\t\t}` ]: computedVariant,\n\t\t\t} ) }\n\t\t\t{ ...animationProps }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowCallbackRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\ttypeof arrowData?.x !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.x )\n\t\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\ttypeof arrowData?.y !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.y )\n\t\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</motion.div>\n\t);\n\n\tconst shouldRenderWithinSlot = slot.ref && ! inline;\n\tconst hasAnchor = anchorRef || anchorRect || anchor;\n\n\tif ( shouldRenderWithinSlot ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t} else if ( ! inline ) {\n\t\tcontent = createPortal( content, getPopoverFallbackContainer() );\n\t}\n\n\tif ( hasAnchor ) {\n\t\treturn content;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<span ref={ anchorRefFallback } />\n\t\t\t{ content }\n\t\t</>\n\t);\n};\n\n/**\n * `Popover` renders its content in a floating modal. If no explicit anchor is passed via props, it anchors to its parent element by default.\n *\n * ```jsx\n * import { Button, Popover } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyPopover = () => {\n * \tconst [ isVisible, setIsVisible ] = useState( false );\n * \tconst toggleVisible = () => {\n * \t\tsetIsVisible( ( state ) => ! state );\n * \t};\n *\n * \treturn (\n * \t\t<Button variant=\"secondary\" onClick={ toggleVisible }>\n * \t\t\tToggle Popover!\n * \t\t\t{ isVisible && <Popover>Popover is toggled!</Popover> }\n * \t\t</Button>\n * \t);\n * };\n * ```\n *\n */\nexport const Popover = forwardRef( UnforwardedPopover );\n\nfunction PopoverSlot(\n\t{ name = SLOT_NAME }: { name?: string },\n\tref: ForwardedRef< any >\n) {\n\treturn (\n\t\t<Slot\n\t\t\t// @ts-expect-error Need to type `SlotFill`\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\n// @ts-expect-error For Legacy Reasons\nPopover.Slot = forwardRef( PopoverSlot );\n// @ts-expect-error For Legacy Reasons\nPopover.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default Popover;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_reactDom","_framerMotion","_compose","_icons","_deprecated","_primitives","_button","_scrollLock","_slotFill","_utils","_overlayMiddlewares","_styleProvider","SLOT_NAME","exports","ArrowTriangle","createElement","SVG","xmlns","viewBox","className","role","Path","d","vectorEffect","slotNameContext","createContext","undefined","fallbackContainerClassname","getPopoverFallbackContainer","container","document","body","querySelector","append","UnforwardedPopover","props","forwardedRef","animate","headerTitle","onClose","children","noArrow","position","placement","placementProp","offset","offsetProp","focusOnMount","anchor","expandOnMobile","onFocusOutside","__unstableSlotName","flip","resize","shift","inline","variant","__unstableForcePosition","anchorRef","anchorRect","getAnchorRect","isAlternate","contentProps","computedFlipProp","computedResizeProp","deprecated","since","version","alternative","computedVariant","arrowRef","useRef","fallbackReferenceElement","setFallbackReferenceElement","useState","anchorRefFallback","useCallback","node","isMobileViewport","useViewportMatch","isExpanded","hasArrow","normalizedPlacementFromProps","positionToPlacement","middleware","overlayMiddlewares","offsetMiddleware","flipMiddleware","size","apply","sizeProps","_refs$floating$curren","firstElementChild","refs","floating","current","HTMLElement","Object","assign","style","maxHeight","availableHeight","overflow","shiftMiddleware","crossAxis","limiter","limitShift","padding","arrow","element","slotName","useContext","slot","useSlot","onDialogClose","type","event","dialogRef","dialogProps","useDialog","__unstableOnClose","x","y","strategy","update","computedPlacement","middlewareData","arrowData","useFloating","whileElementsMounted","referenceParam","floatingParam","updateParam","autoUpdate","layoutShift","animationFrame","arrowCallbackRef","anchorRefTop","top","anchorRefBottom","bottom","anchorRefStartContainer","startContainer","anchorRefCurrent","useLayoutEffect","resultingReferenceElement","getReferenceElement","setReference","mergedFloatingRef","useMergeRefs","setFloating","left","computePopoverPosition","shouldReduceMotion","useReducedMotion","shouldAnimate","animationFinished","setAnimationFinished","motionInlineStyles","otherMotionProps","useMemo","placementToMotionAnimationProps","animationProps","onAnimationComplete","isPositioned","content","motion","div","classnames","ref","tabIndex","default","icon","close","onClick","split","join","Number","isFinite","shouldRenderWithinSlot","hasAnchor","Fill","name","createPortal","StyleProvider","Fragment","Popover","forwardRef","PopoverSlot","Slot","bubblesVirtually","__unstableSlotNameProvider","Provider","_default"],"sources":["@wordpress/components/src/popover/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, SyntheticEvent, RefCallback } from 'react';\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip as flipMiddleware,\n\tshift as shiftMiddleware,\n\tlimitShift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tsize,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport type { HTMLMotionProps, MotionProps } from 'framer-motion';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, useReducedMotion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tcreatePortal,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tcomputePopoverPosition,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceElement,\n} from './utils';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\nimport { overlayMiddlewares } from './overlay-middlewares';\nimport { StyleProvider } from '../style-provider';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nexport const SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\n\nconst fallbackContainerClassname = 'components-popover__fallback-container';\nconst getPopoverFallbackContainer = () => {\n\tlet container = document.body.querySelector(\n\t\t'.' + fallbackContainerClassname\n\t);\n\tif ( ! container ) {\n\t\tcontainer = document.createElement( 'div' );\n\t\tcontainer.className = fallbackContainerClassname;\n\t\tdocument.body.append( container );\n\t}\n\n\treturn container;\n};\n\nconst UnforwardedPopover = (\n\tprops: Omit<\n\t\tWordPressComponentProps< PopoverProps, 'div', false >,\n\t\t// To avoid overlaps between the standard HTML attributes and the props\n\t\t// expected by `framer-motion`, omit all framer motion props from popover\n\t\t// props (except for `animate` and `children`, which are re-defined in `PopoverProps`).\n\t\tkeyof Omit< MotionProps, 'animate' | 'children' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchor,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\tflip = true,\n\t\tresize = true,\n\t\tshift = false,\n\t\tinline = false,\n\t\tvariant,\n\n\t\t// Deprecated props\n\t\t__unstableForcePosition,\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tisAlternate,\n\n\t\t// Rest\n\t\t...contentProps\n\t} = props;\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '`__unstableForcePosition` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`flip={ false }` and `resize={ false }`',\n\t\t} );\n\n\t\t// Back-compat, set the `flip` and `resize` props\n\t\t// to `false` to replicate `__unstableForcePosition`.\n\t\tcomputedFlipProp = ! __unstableForcePosition;\n\t\tcomputedResizeProp = ! __unstableForcePosition;\n\t}\n\n\tif ( anchorRef !== undefined ) {\n\t\tdeprecated( '`anchorRef` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( anchorRect !== undefined ) {\n\t\tdeprecated( '`anchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( getAnchorRect !== undefined ) {\n\t\tdeprecated( '`getAnchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tconst computedVariant = isAlternate ? 'toolbar' : variant;\n\tif ( isAlternate !== undefined ) {\n\t\tdeprecated( '`isAlternate` prop in wp.components.Popover', {\n\t\t\tsince: '6.2',\n\t\t\talternative: \"`variant` prop with the `'toolbar'` value\",\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef< HTMLElement | null >( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\n\tconst anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(\n\t\t( node ) => {\n\t\t\tsetFallbackReferenceElement( node );\n\t\t},\n\t\t[]\n\t);\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst middleware = [\n\t\t...( placementProp === 'overlay' ? overlayMiddlewares() : [] ),\n\t\toffsetMiddleware( offsetProp ),\n\t\tcomputedFlipProp && flipMiddleware(),\n\t\tcomputedResizeProp &&\n\t\t\tsize( {\n\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\tconst { firstElementChild } = refs.floating.current ?? {};\n\n\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) )\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t} ),\n\t\tshift &&\n\t\t\tshiftMiddleware( {\n\t\t\t\tcrossAxis: true,\n\t\t\t\tlimiter: limitShift(),\n\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t} ),\n\t\tarrow( { element: arrowRef } ),\n\t];\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type: string | undefined, event: SyntheticEvent ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\t// @ts-expect-error The __unstableOnClose property needs to be deprecated first (see https://github.com/WordPress/gutenberg/pull/27675)\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData },\n\t} = useFloating( {\n\t\tplacement:\n\t\t\tnormalizedPlacementFromProps === 'overlay'\n\t\t\t\t? undefined\n\t\t\t\t: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tlayoutShift: false,\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tarrowRef.current = node;\n\t\t\tupdate();\n\t\t},\n\t\t[ update ]\n\t);\n\n\t// When any of the possible anchor \"sources\" change,\n\t// recompute the reference element (real or virtual) and its owner document.\n\n\tconst anchorRefTop = ( anchorRef as PopoverAnchorRefTopBottom | undefined )\n\t\t?.top;\n\tconst anchorRefBottom = (\n\t\tanchorRef as PopoverAnchorRefTopBottom | undefined\n\t )?.bottom;\n\tconst anchorRefStartContainer = ( anchorRef as Range | undefined )\n\t\t?.startContainer;\n\tconst anchorRefCurrent = ( anchorRef as PopoverAnchorRefReference )\n\t\t?.current;\n\n\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchor,\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\trefs.setReference( resultingReferenceElement );\n\t}, [\n\t\tanchor,\n\t\tanchorRef,\n\t\tanchorRefTop,\n\t\tanchorRefBottom,\n\t\tanchorRefStartContainer,\n\t\tanchorRefCurrent,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\trefs,\n\t] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\trefs.setFloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\tconst style = isExpanded\n\t\t? undefined\n\t\t: {\n\t\t\t\tposition: strategy,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\t// `x` and `y` are framer-motion specific props and are shorthands\n\t\t\t\t// for `translateX` and `translateY`. Currently it is not possible\n\t\t\t\t// to use `translateX` and `translateY` because those values would\n\t\t\t\t// be overridden by the return value of the\n\t\t\t\t// `placementToMotionAnimationProps` function.\n\t\t\t\tx: computePopoverPosition( x ),\n\t\t\t\ty: computePopoverPosition( y ),\n\t\t };\n\n\tconst shouldReduceMotion = useReducedMotion();\n\tconst shouldAnimate = animate && ! isExpanded && ! shouldReduceMotion;\n\n\tconst [ animationFinished, setAnimationFinished ] = useState( false );\n\n\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t() => placementToMotionAnimationProps( computedPlacement ),\n\t\t[ computedPlacement ]\n\t);\n\n\tconst animationProps: HTMLMotionProps< 'div' > = shouldAnimate\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t\t\tonAnimationComplete: () => setAnimationFinished( true ),\n\t\t\t\t...otherMotionProps,\n\t\t }\n\t\t: {\n\t\t\t\tanimate: false,\n\t\t\t\tstyle,\n\t\t };\n\n\t// When Floating UI has finished positioning and Framer Motion has finished animating\n\t// the popover, add the `is-positioned` class to signal that all transitions have finished.\n\tconst isPositioned =\n\t\t( ! shouldAnimate || animationFinished ) && x !== null && y !== null;\n\n\tlet content = (\n\t\t<motion.div\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-positioned': isPositioned,\n\t\t\t\t// Use the 'alternate' classname for 'toolbar' variant for back compat.\n\t\t\t\t[ `is-${\n\t\t\t\t\tcomputedVariant === 'toolbar'\n\t\t\t\t\t\t? 'alternate'\n\t\t\t\t\t\t: computedVariant\n\t\t\t\t}` ]: computedVariant,\n\t\t\t} ) }\n\t\t\t{ ...animationProps }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowCallbackRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\ttypeof arrowData?.x !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.x )\n\t\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\ttypeof arrowData?.y !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.y )\n\t\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</motion.div>\n\t);\n\n\tconst shouldRenderWithinSlot = slot.ref && ! inline;\n\tconst hasAnchor = anchorRef || anchorRect || anchor;\n\n\tif ( shouldRenderWithinSlot ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t} else if ( ! inline ) {\n\t\tcontent = createPortal(\n\t\t\t<StyleProvider document={ document }>{ content }</StyleProvider>,\n\t\t\tgetPopoverFallbackContainer()\n\t\t);\n\t}\n\n\tif ( hasAnchor ) {\n\t\treturn content;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<span ref={ anchorRefFallback } />\n\t\t\t{ content }\n\t\t</>\n\t);\n};\n\n/**\n * `Popover` renders its content in a floating modal. If no explicit anchor is passed via props, it anchors to its parent element by default.\n *\n * ```jsx\n * import { Button, Popover } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyPopover = () => {\n * \tconst [ isVisible, setIsVisible ] = useState( false );\n * \tconst toggleVisible = () => {\n * \t\tsetIsVisible( ( state ) => ! state );\n * \t};\n *\n * \treturn (\n * \t\t<Button variant=\"secondary\" onClick={ toggleVisible }>\n * \t\t\tToggle Popover!\n * \t\t\t{ isVisible && <Popover>Popover is toggled!</Popover> }\n * \t\t</Button>\n * \t);\n * };\n * ```\n *\n */\nexport const Popover = forwardRef( UnforwardedPopover );\n\nfunction PopoverSlot(\n\t{ name = SLOT_NAME }: { name?: string },\n\tref: ForwardedRef< any >\n) {\n\treturn (\n\t\t<Slot\n\t\t\t// @ts-expect-error Need to type `SlotFill`\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\n// @ts-expect-error For Legacy Reasons\nPopover.Slot = forwardRef( PopoverSlot );\n// @ts-expect-error For Legacy Reasons\nPopover.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default Popover;\n"],"mappings":";;;;;;;AAuBA,IAAAA,QAAA,GAAAC,OAAA;AAnBA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAaA,IAAAI,aAAA,GAAAJ,OAAA;AAgBA,IAAAK,QAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAKA,IAAAS,OAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,WAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AAYA,IAAAa,mBAAA,GAAAb,OAAA;AACA,IAAAc,cAAA,GAAAd,OAAA;AA9DA;AACA;AACA;;AAeA;;AAGA;AACA;AACA;;AAqBA;AACA;AACA;;AAmBA;AACA;AACA;AACA;AACA;AACO,MAAMe,SAAS,GAAG,SAAS;;AAElC;AACA;AACA;AACA;AAAAC,OAAA,CAAAD,SAAA,GAAAA,SAAA;AACA,MAAME,aAAa,GAAGA,CAAA,KACrB,IAAAlB,QAAA,CAAAmB,aAAA,EAACV,WAAA,CAAAW,GAAG;EACHC,KAAK,EAAC,4BAA4B;EAClCC,OAAO,EAAI,aAAc;EACzBC,SAAS,EAAC,8BAA8B;EACxCC,IAAI,EAAC;AAAc,GAEnB,IAAAxB,QAAA,CAAAmB,aAAA,EAACV,WAAA,CAAAgB,IAAI;EACJF,SAAS,EAAC,iCAAiC;EAC3CG,CAAC,EAAC;AAAuB,CACzB,CAAC,EACF,IAAA1B,QAAA,CAAAmB,aAAA,EAACV,WAAA,CAAAgB,IAAI;EACJF,SAAS,EAAC,qCAAqC;EAC/CG,CAAC,EAAC,uBAAuB;EACzBC,YAAY,EAAC;AAAoB,CACjC,CACG,CACL;AAED,MAAMC,eAAe,GAAG,IAAAC,sBAAa,EAAwBC,SAAU,CAAC;AAExE,MAAMC,0BAA0B,GAAG,wCAAwC;AAC3E,MAAMC,2BAA2B,GAAGA,CAAA,KAAM;EACzC,IAAIC,SAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,aAAa,CAC1C,GAAG,GAAGL,0BACP,CAAC;EACD,IAAK,CAAEE,SAAS,EAAG;IAClBA,SAAS,GAAGC,QAAQ,CAACf,aAAa,CAAE,KAAM,CAAC;IAC3Cc,SAAS,CAACV,SAAS,GAAGQ,0BAA0B;IAChDG,QAAQ,CAACC,IAAI,CAACE,MAAM,CAAEJ,SAAU,CAAC;EAClC;EAEA,OAAOA,SAAS;AACjB,CAAC;AAED,MAAMK,kBAAkB,GAAGA,CAC1BC,KAMC,EACDC,YAAiC,KAC7B;EACJ,MAAM;IACLC,OAAO,GAAG,IAAI;IACdC,WAAW;IACXC,OAAO;IACPC,QAAQ;IACRrB,SAAS;IACTsB,OAAO,GAAG,IAAI;IACdC,QAAQ;IACRC,SAAS,EAAEC,aAAa,GAAG,cAAc;IACzCC,MAAM,EAAEC,UAAU,GAAG,CAAC;IACtBC,YAAY,GAAG,cAAc;IAC7BC,MAAM;IACNC,cAAc;IACdC,cAAc;IACdC,kBAAkB,GAAGvC,SAAS;IAC9BwC,IAAI,GAAG,IAAI;IACXC,MAAM,GAAG,IAAI;IACbC,KAAK,GAAG,KAAK;IACbC,MAAM,GAAG,KAAK;IACdC,OAAO;IAEP;IACAC,uBAAuB;IACvBC,SAAS;IACTC,UAAU;IACVC,aAAa;IACbC,WAAW;IAEX;IACA,GAAGC;EACJ,CAAC,GAAG3B,KAAK;EAET,IAAI4B,gBAAgB,GAAGX,IAAI;EAC3B,IAAIY,kBAAkB,GAAGX,MAAM;EAC/B,IAAKI,uBAAuB,KAAK/B,SAAS,EAAG;IAC5C,IAAAuC,mBAAU,EAAE,yDAAyD,EAAE;MACtEC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE;IACd,CAAE,CAAC;;IAEH;IACA;IACAL,gBAAgB,GAAG,CAAEN,uBAAuB;IAC5CO,kBAAkB,GAAG,CAAEP,uBAAuB;EAC/C;EAEA,IAAKC,SAAS,KAAKhC,SAAS,EAAG;IAC9B,IAAAuC,mBAAU,EAAE,2CAA2C,EAAE;MACxDC,KAAK,EAAE,KAAK;MACZE,WAAW,EAAE;IACd,CAAE,CAAC;EACJ;EAEA,IAAKT,UAAU,KAAKjC,SAAS,EAAG;IAC/B,IAAAuC,mBAAU,EAAE,4CAA4C,EAAE;MACzDC,KAAK,EAAE,KAAK;MACZE,WAAW,EAAE;IACd,CAAE,CAAC;EACJ;EAEA,IAAKR,aAAa,KAAKlC,SAAS,EAAG;IAClC,IAAAuC,mBAAU,EAAE,+CAA+C,EAAE;MAC5DC,KAAK,EAAE,KAAK;MACZE,WAAW,EAAE;IACd,CAAE,CAAC;EACJ;EAEA,MAAMC,eAAe,GAAGR,WAAW,GAAG,SAAS,GAAGL,OAAO;EACzD,IAAKK,WAAW,KAAKnC,SAAS,EAAG;IAChC,IAAAuC,mBAAU,EAAE,6CAA6C,EAAE;MAC1DC,KAAK,EAAE,KAAK;MACZE,WAAW,EAAE;IACd,CAAE,CAAC;EACJ;EAEA,MAAME,QAAQ,GAAG,IAAAC,eAAM,EAAwB,IAAK,CAAC;EAErD,MAAM,CAAEC,wBAAwB,EAAEC,2BAA2B,CAAE,GAC9D,IAAAC,iBAAQ,EAA4B,IAAK,CAAC;EAE3C,MAAMC,iBAAiD,GAAG,IAAAC,oBAAW,EAClEC,IAAI,IAAM;IACXJ,2BAA2B,CAAEI,IAAK,CAAC;EACpC,CAAC,EACD,EACD,CAAC;EAED,MAAMC,gBAAgB,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAC1D,MAAMC,UAAU,GAAG/B,cAAc,IAAI6B,gBAAgB;EACrD,MAAMG,QAAQ,GAAG,CAAED,UAAU,IAAI,CAAEvC,OAAO;EAC1C,MAAMyC,4BAA4B,GAAGxC,QAAQ,GAC1C,IAAAyC,0BAAmB,EAAEzC,QAAS,CAAC,GAC/BE,aAAa;EAEhB,MAAMwC,UAAU,GAAG,CAClB,IAAKxC,aAAa,KAAK,SAAS,GAAG,IAAAyC,sCAAkB,EAAC,CAAC,GAAG,EAAE,CAAE,EAC9D,IAAAC,gBAAgB,EAAExC,UAAW,CAAC,EAC9BiB,gBAAgB,IAAI,IAAAwB,cAAc,EAAC,CAAC,EACpCvB,kBAAkB,IACjB,IAAAwB,cAAI,EAAE;IACLC,KAAKA,CAAEC,SAAS,EAAG;MAAA,IAAAC,qBAAA;MAClB,MAAM;QAAEC;MAAkB,CAAC,IAAAD,qBAAA,GAAGE,IAAI,CAACC,QAAQ,CAACC,OAAO,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;;MAEzD;MACA,IAAK,EAAIC,iBAAiB,YAAYI,WAAW,CAAE,EAClD;;MAED;MACAC,MAAM,CAACC,MAAM,CAAEN,iBAAiB,CAACO,KAAK,EAAE;QACvCC,SAAS,EAAG,GAAGV,SAAS,CAACW,eAAiB,IAAG;QAC7CC,QAAQ,EAAE;MACX,CAAE,CAAC;IACJ;EACD,CAAE,CAAC,EACJhD,KAAK,IACJ,IAAAiD,eAAe,EAAE;IAChBC,SAAS,EAAE,IAAI;IACfC,OAAO,EAAE,IAAAC,oBAAU,EAAC,CAAC;IACrBC,OAAO,EAAE,CAAC,CAAE;EACb,CAAE,CAAC,EACJ,IAAAC,eAAK,EAAE;IAAEC,OAAO,EAAEvC;EAAS,CAAE,CAAC,CAC9B;EACD,MAAMwC,QAAQ,GAAG,IAAAC,mBAAU,EAAEvF,eAAgB,CAAC,IAAI2B,kBAAkB;EACpE,MAAM6D,IAAI,GAAG,IAAAC,iBAAO,EAAEH,QAAS,CAAC;EAEhC,IAAII,aAAa;EAEjB,IAAK3E,OAAO,IAAIW,cAAc,EAAG;IAChCgE,aAAa,GAAGA,CAAEC,IAAwB,EAAEC,KAAqB,KAAM;MACtE;MACA;MACA,IAAKD,IAAI,KAAK,eAAe,IAAIjE,cAAc,EAAG;QACjDA,cAAc,CAAEkE,KAAM,CAAC;MACxB,CAAC,MAAM,IAAK7E,OAAO,EAAG;QACrBA,OAAO,CAAC,CAAC;MACV;IACD,CAAC;EACF;EAEA,MAAM,CAAE8E,SAAS,EAAEC,WAAW,CAAE,GAAG,IAAAC,gCAAS,EAAE;IAC7CxE,YAAY;IACZyE,iBAAiB,EAAEN,aAAa;IAChC;IACA3E,OAAO,EAAE2E;EACV,CAAE,CAAC;EAEH,MAAM;IACL;IACAO,CAAC;IACDC,CAAC;IACD;IACA7B,IAAI;IACJ;IACA8B,QAAQ;IACRC,MAAM;IACNjF,SAAS,EAAEkF,iBAAiB;IAC5BC,cAAc,EAAE;MAAElB,KAAK,EAAEmB;IAAU;EACpC,CAAC,GAAG,IAAAC,qBAAW,EAAE;IAChBrF,SAAS,EACRuC,4BAA4B,KAAK,SAAS,GACvCxD,SAAS,GACTwD,4BAA4B;IAChCE,UAAU;IACV6C,oBAAoB,EAAEA,CAAEC,cAAc,EAAEC,aAAa,EAAEC,WAAW,KACjE,IAAAC,oBAAU,EAAEH,cAAc,EAAEC,aAAa,EAAEC,WAAW,EAAE;MACvDE,WAAW,EAAE,KAAK;MAClBC,cAAc,EAAE;IACjB,CAAE;EACJ,CAAE,CAAC;EAEH,MAAMC,gBAAgB,GAAG,IAAA5D,oBAAW,EACjCC,IAAwB,IAAM;IAC/BP,QAAQ,CAACyB,OAAO,GAAGlB,IAAI;IACvB+C,MAAM,CAAC,CAAC;EACT,CAAC,EACD,CAAEA,MAAM,CACT,CAAC;;EAED;EACA;;EAEA,MAAMa,YAAY,GAAK/E,SAAS,EAC7BgF,GAAG;EACN,MAAMC,eAAe,GACpBjF,SAAS,EACNkF,MAAM;EACV,MAAMC,uBAAuB,GAAKnF,SAAS,EACxCoF,cAAc;EACjB,MAAMC,gBAAgB,GAAKrF,SAAS,EACjCqC,OAAO;EAEV,IAAAiD,wBAAe,EAAE,MAAM;IACtB,MAAMC,yBAAyB,GAAG,IAAAC,0BAAmB,EAAE;MACtDlG,MAAM;MACNU,SAAS;MACTC,UAAU;MACVC,aAAa;MACbY;IACD,CAAE,CAAC;IAEHqB,IAAI,CAACsD,YAAY,CAAEF,yBAA0B,CAAC;EAC/C,CAAC,EAAE,CACFjG,MAAM,EACNU,SAAS,EACT+E,YAAY,EACZE,eAAe,EACfE,uBAAuB,EACvBE,gBAAgB,EAChBpF,UAAU,EACVC,aAAa,EACbY,wBAAwB,EACxBqB,IAAI,CACH,CAAC;EAEH,MAAMuD,iBAAiB,GAAG,IAAAC,qBAAY,EAAE,CACvCxD,IAAI,CAACyD,WAAW,EAChBjC,SAAS,EACTjF,YAAY,CACX,CAAC;EAEH,MAAM+D,KAAK,GAAGnB,UAAU,GACrBtD,SAAS,GACT;IACAgB,QAAQ,EAAEiF,QAAQ;IAClBe,GAAG,EAAE,CAAC;IACNa,IAAI,EAAE,CAAC;IACP;IACA;IACA;IACA;IACA;IACA9B,CAAC,EAAE,IAAA+B,6BAAsB,EAAE/B,CAAE,CAAC;IAC9BC,CAAC,EAAE,IAAA8B,6BAAsB,EAAE9B,CAAE;EAC7B,CAAC;EAEJ,MAAM+B,kBAAkB,GAAG,IAAAC,8BAAgB,EAAC,CAAC;EAC7C,MAAMC,aAAa,GAAGtH,OAAO,IAAI,CAAE2C,UAAU,IAAI,CAAEyE,kBAAkB;EAErE,MAAM,CAAEG,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAnF,iBAAQ,EAAE,KAAM,CAAC;EAErE,MAAM;IAAEyB,KAAK,EAAE2D,kBAAkB;IAAE,GAAGC;EAAiB,CAAC,GAAG,IAAAC,gBAAO,EACjE,MAAM,IAAAC,sCAA+B,EAAEpC,iBAAkB,CAAC,EAC1D,CAAEA,iBAAiB,CACpB,CAAC;EAED,MAAMqC,cAAwC,GAAGP,aAAa,GAC3D;IACAxD,KAAK,EAAE;MACN,GAAG2D,kBAAkB;MACrB,GAAG3D;IACJ,CAAC;IACDgE,mBAAmB,EAAEA,CAAA,KAAMN,oBAAoB,CAAE,IAAK,CAAC;IACvD,GAAGE;EACH,CAAC,GACD;IACA1H,OAAO,EAAE,KAAK;IACd8D;EACA,CAAC;;EAEJ;EACA;EACA,MAAMiE,YAAY,GACjB,CAAE,CAAET,aAAa,IAAIC,iBAAiB,KAAMnC,CAAC,KAAK,IAAI,IAAIC,CAAC,KAAK,IAAI;EAErE,IAAI2C,OAAO,GACV,IAAAzK,QAAA,CAAAmB,aAAA,EAACd,aAAA,CAAAqK,MAAM,CAACC,GAAG;IACVpJ,SAAS,EAAG,IAAAqJ,mBAAU,EAAE,oBAAoB,EAAErJ,SAAS,EAAE;MACxD,aAAa,EAAE6D,UAAU;MACzB,eAAe,EAAEoF,YAAY;MAC7B;MACA,CAAG,MACF/F,eAAe,KAAK,SAAS,GAC1B,WAAW,GACXA,eACH,EAAC,GAAIA;IACP,CAAE,CAAG;IAAA,GACA6F,cAAc;IAAA,GACdpG,YAAY;IACjB2G,GAAG,EAAGrB,iBAAmB;IAAA,GACpB9B,WAAW;IAChBoD,QAAQ,EAAG,CAAC;EAAG,GAGb1F,UAAU,IAAI,IAAApF,QAAA,CAAAmB,aAAA,EAACR,WAAA,CAAAoK,OAAU,MAAE,CAAC,EAC5B3F,UAAU,IACX,IAAApF,QAAA,CAAAmB,aAAA;IAAKI,SAAS,EAAC;EAA4B,GAC1C,IAAAvB,QAAA,CAAAmB,aAAA;IAAMI,SAAS,EAAC;EAAkC,GAC/CmB,WACG,CAAC,EACP,IAAA1C,QAAA,CAAAmB,aAAA,EAACT,OAAA,CAAAqK,OAAM;IACNxJ,SAAS,EAAC,2BAA2B;IACrCyJ,IAAI,EAAGC,YAAO;IACdC,OAAO,EAAGvI;EAAS,CACnB,CACG,CACL,EACD,IAAA3C,QAAA,CAAAmB,aAAA;IAAKI,SAAS,EAAC;EAA6B,GAAGqB,QAAe,CAAC,EAC7DyC,QAAQ,IACT,IAAArF,QAAA,CAAAmB,aAAA;IACC0J,GAAG,EAAGjC,gBAAkB;IACxBrH,SAAS,EAAG,CACX,2BAA2B,EAC1B,MAAM0G,iBAAiB,CAACkD,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAI,EAAC,CAC7C,CAACC,IAAI,CAAE,GAAI,CAAG;IACf7E,KAAK,EAAG;MACPoD,IAAI,EACH,OAAOxB,SAAS,EAAEN,CAAC,KAAK,WAAW,IACnCwD,MAAM,CAACC,QAAQ,CAAEnD,SAAS,CAACN,CAAE,CAAC,GAC1B,GAAGM,SAAS,CAACN,CAAG,IAAG,GACpB,EAAE;MACNiB,GAAG,EACF,OAAOX,SAAS,EAAEL,CAAC,KAAK,WAAW,IACnCuD,MAAM,CAACC,QAAQ,CAAEnD,SAAS,CAACL,CAAE,CAAC,GAC1B,GAAGK,SAAS,CAACL,CAAG,IAAG,GACpB;IACL;EAAG,GAEH,IAAA9H,QAAA,CAAAmB,aAAA,EAACD,aAAa,MAAE,CACZ,CAEK,CACZ;EAED,MAAMqK,sBAAsB,GAAGnE,IAAI,CAACyD,GAAG,IAAI,CAAElH,MAAM;EACnD,MAAM6H,SAAS,GAAG1H,SAAS,IAAIC,UAAU,IAAIX,MAAM;EAEnD,IAAKmI,sBAAsB,EAAG;IAC7Bd,OAAO,GAAG,IAAAzK,QAAA,CAAAmB,aAAA,EAACP,SAAA,CAAA6K,IAAI;MAACC,IAAI,EAAGxE;IAAU,GAAGuD,OAAe,CAAC;EACrD,CAAC,MAAM,IAAK,CAAE9G,MAAM,EAAG;IACtB8G,OAAO,GAAG,IAAAkB,qBAAY,EACrB,IAAA3L,QAAA,CAAAmB,aAAA,EAACJ,cAAA,CAAA6K,aAAa;MAAC1J,QAAQ,EAAGA;IAAU,GAAGuI,OAAwB,CAAC,EAChEzI,2BAA2B,CAAC,CAC7B,CAAC;EACF;EAEA,IAAKwJ,SAAS,EAAG;IAChB,OAAOf,OAAO;EACf;EAEA,OACC,IAAAzK,QAAA,CAAAmB,aAAA,EAAAnB,QAAA,CAAA6L,QAAA,QACC,IAAA7L,QAAA,CAAAmB,aAAA;IAAM0J,GAAG,EAAG9F;EAAmB,CAAE,CAAC,EAChC0F,OACD,CAAC;AAEL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMqB,OAAO,GAAG,IAAAC,mBAAU,EAAEzJ,kBAAmB,CAAC;AAACrB,OAAA,CAAA6K,OAAA,GAAAA,OAAA;AAExD,SAASE,WAAWA,CACnB;EAAEN,IAAI,GAAG1K;AAA6B,CAAC,EACvC6J,GAAwB,EACvB;EACD,OACC,IAAA7K,QAAA,CAAAmB,aAAA,EAACP,SAAA,CAAAqL;EACA;EAAA;IACAC,gBAAgB;IAChBR,IAAI,EAAGA,IAAM;IACbnK,SAAS,EAAC,cAAc;IACxBsJ,GAAG,EAAGA;EAAK,CACX,CAAC;AAEJ;;AAEA;AACAiB,OAAO,CAACG,IAAI,GAAG,IAAAF,mBAAU,EAAEC,WAAY,CAAC;AACxC;AACAF,OAAO,CAACK,0BAA0B,GAAGvK,eAAe,CAACwK,QAAQ;AAAC,IAAAC,QAAA,GAE/CP,OAAO;AAAA7K,OAAA,CAAA8J,OAAA,GAAAsB,QAAA"}
|
|
@@ -27,6 +27,7 @@ import ScrollLock from '../scroll-lock';
|
|
|
27
27
|
import { Slot, Fill, useSlot } from '../slot-fill';
|
|
28
28
|
import { computePopoverPosition, positionToPlacement, placementToMotionAnimationProps, getReferenceElement } from './utils';
|
|
29
29
|
import { overlayMiddlewares } from './overlay-middlewares';
|
|
30
|
+
import { StyleProvider } from '../style-provider';
|
|
30
31
|
|
|
31
32
|
/**
|
|
32
33
|
* Name of slot in which popover should fill.
|
|
@@ -299,7 +300,9 @@ const UnforwardedPopover = (props, forwardedRef) => {
|
|
|
299
300
|
name: slotName
|
|
300
301
|
}, content);
|
|
301
302
|
} else if (!inline) {
|
|
302
|
-
content = createPortal(
|
|
303
|
+
content = createPortal(createElement(StyleProvider, {
|
|
304
|
+
document: document
|
|
305
|
+
}, content), getPopoverFallbackContainer());
|
|
303
306
|
}
|
|
304
307
|
if (hasAnchor) {
|
|
305
308
|
return content;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useFloating","flip","flipMiddleware","shift","shiftMiddleware","limitShift","autoUpdate","arrow","offset","offsetMiddleware","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useState","useCallback","createPortal","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","computePopoverPosition","positionToPlacement","placementToMotionAnimationProps","getReferenceElement","overlayMiddlewares","SLOT_NAME","ArrowTriangle","createElement","xmlns","viewBox","className","role","d","vectorEffect","slotNameContext","undefined","fallbackContainerClassname","getPopoverFallbackContainer","container","document","body","querySelector","append","UnforwardedPopover","props","forwardedRef","animate","headerTitle","onClose","children","noArrow","position","placement","placementProp","offsetProp","focusOnMount","anchor","expandOnMobile","onFocusOutside","__unstableSlotName","resize","inline","variant","__unstableForcePosition","anchorRef","anchorRect","getAnchorRect","isAlternate","contentProps","computedFlipProp","computedResizeProp","since","version","alternative","computedVariant","arrowRef","fallbackReferenceElement","setFallbackReferenceElement","anchorRefFallback","node","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","middleware","apply","sizeProps","_refs$floating$curren","firstElementChild","refs","floating","current","HTMLElement","Object","assign","style","maxHeight","availableHeight","overflow","crossAxis","limiter","padding","element","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","strategy","update","computedPlacement","middlewareData","arrowData","whileElementsMounted","referenceParam","floatingParam","updateParam","layoutShift","animationFrame","arrowCallbackRef","anchorRefTop","top","anchorRefBottom","bottom","anchorRefStartContainer","startContainer","anchorRefCurrent","resultingReferenceElement","setReference","mergedFloatingRef","setFloating","left","shouldReduceMotion","shouldAnimate","animationFinished","setAnimationFinished","motionInlineStyles","otherMotionProps","animationProps","onAnimationComplete","isPositioned","content","div","ref","tabIndex","icon","onClick","split","join","Number","isFinite","shouldRenderWithinSlot","hasAnchor","name","Fragment","Popover","PopoverSlot","bubblesVirtually","__unstableSlotNameProvider","Provider"],"sources":["@wordpress/components/src/popover/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, SyntheticEvent, RefCallback } from 'react';\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip as flipMiddleware,\n\tshift as shiftMiddleware,\n\tlimitShift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tsize,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport type { HTMLMotionProps, MotionProps } from 'framer-motion';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, useReducedMotion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tcreatePortal,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tcomputePopoverPosition,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceElement,\n} from './utils';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\nimport { overlayMiddlewares } from './overlay-middlewares';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nexport const SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\n\nconst fallbackContainerClassname = 'components-popover__fallback-container';\nconst getPopoverFallbackContainer = () => {\n\tlet container = document.body.querySelector(\n\t\t'.' + fallbackContainerClassname\n\t);\n\tif ( ! container ) {\n\t\tcontainer = document.createElement( 'div' );\n\t\tcontainer.className = fallbackContainerClassname;\n\t\tdocument.body.append( container );\n\t}\n\n\treturn container;\n};\n\nconst UnforwardedPopover = (\n\tprops: Omit<\n\t\tWordPressComponentProps< PopoverProps, 'div', false >,\n\t\t// To avoid overlaps between the standard HTML attributes and the props\n\t\t// expected by `framer-motion`, omit all framer motion props from popover\n\t\t// props (except for `animate` and `children`, which are re-defined in `PopoverProps`).\n\t\tkeyof Omit< MotionProps, 'animate' | 'children' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchor,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\tflip = true,\n\t\tresize = true,\n\t\tshift = false,\n\t\tinline = false,\n\t\tvariant,\n\n\t\t// Deprecated props\n\t\t__unstableForcePosition,\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tisAlternate,\n\n\t\t// Rest\n\t\t...contentProps\n\t} = props;\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '`__unstableForcePosition` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`flip={ false }` and `resize={ false }`',\n\t\t} );\n\n\t\t// Back-compat, set the `flip` and `resize` props\n\t\t// to `false` to replicate `__unstableForcePosition`.\n\t\tcomputedFlipProp = ! __unstableForcePosition;\n\t\tcomputedResizeProp = ! __unstableForcePosition;\n\t}\n\n\tif ( anchorRef !== undefined ) {\n\t\tdeprecated( '`anchorRef` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( anchorRect !== undefined ) {\n\t\tdeprecated( '`anchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( getAnchorRect !== undefined ) {\n\t\tdeprecated( '`getAnchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tconst computedVariant = isAlternate ? 'toolbar' : variant;\n\tif ( isAlternate !== undefined ) {\n\t\tdeprecated( '`isAlternate` prop in wp.components.Popover', {\n\t\t\tsince: '6.2',\n\t\t\talternative: \"`variant` prop with the `'toolbar'` value\",\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef< HTMLElement | null >( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\n\tconst anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(\n\t\t( node ) => {\n\t\t\tsetFallbackReferenceElement( node );\n\t\t},\n\t\t[]\n\t);\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst middleware = [\n\t\t...( placementProp === 'overlay' ? overlayMiddlewares() : [] ),\n\t\toffsetMiddleware( offsetProp ),\n\t\tcomputedFlipProp && flipMiddleware(),\n\t\tcomputedResizeProp &&\n\t\t\tsize( {\n\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\tconst { firstElementChild } = refs.floating.current ?? {};\n\n\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) )\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t} ),\n\t\tshift &&\n\t\t\tshiftMiddleware( {\n\t\t\t\tcrossAxis: true,\n\t\t\t\tlimiter: limitShift(),\n\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t} ),\n\t\tarrow( { element: arrowRef } ),\n\t];\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type: string | undefined, event: SyntheticEvent ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\t// @ts-expect-error The __unstableOnClose property needs to be deprecated first (see https://github.com/WordPress/gutenberg/pull/27675)\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData },\n\t} = useFloating( {\n\t\tplacement:\n\t\t\tnormalizedPlacementFromProps === 'overlay'\n\t\t\t\t? undefined\n\t\t\t\t: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tlayoutShift: false,\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tarrowRef.current = node;\n\t\t\tupdate();\n\t\t},\n\t\t[ update ]\n\t);\n\n\t// When any of the possible anchor \"sources\" change,\n\t// recompute the reference element (real or virtual) and its owner document.\n\n\tconst anchorRefTop = ( anchorRef as PopoverAnchorRefTopBottom | undefined )\n\t\t?.top;\n\tconst anchorRefBottom = (\n\t\tanchorRef as PopoverAnchorRefTopBottom | undefined\n\t )?.bottom;\n\tconst anchorRefStartContainer = ( anchorRef as Range | undefined )\n\t\t?.startContainer;\n\tconst anchorRefCurrent = ( anchorRef as PopoverAnchorRefReference )\n\t\t?.current;\n\n\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchor,\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\trefs.setReference( resultingReferenceElement );\n\t}, [\n\t\tanchor,\n\t\tanchorRef,\n\t\tanchorRefTop,\n\t\tanchorRefBottom,\n\t\tanchorRefStartContainer,\n\t\tanchorRefCurrent,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\trefs,\n\t] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\trefs.setFloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\tconst style = isExpanded\n\t\t? undefined\n\t\t: {\n\t\t\t\tposition: strategy,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\t// `x` and `y` are framer-motion specific props and are shorthands\n\t\t\t\t// for `translateX` and `translateY`. Currently it is not possible\n\t\t\t\t// to use `translateX` and `translateY` because those values would\n\t\t\t\t// be overridden by the return value of the\n\t\t\t\t// `placementToMotionAnimationProps` function.\n\t\t\t\tx: computePopoverPosition( x ),\n\t\t\t\ty: computePopoverPosition( y ),\n\t\t };\n\n\tconst shouldReduceMotion = useReducedMotion();\n\tconst shouldAnimate = animate && ! isExpanded && ! shouldReduceMotion;\n\n\tconst [ animationFinished, setAnimationFinished ] = useState( false );\n\n\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t() => placementToMotionAnimationProps( computedPlacement ),\n\t\t[ computedPlacement ]\n\t);\n\n\tconst animationProps: HTMLMotionProps< 'div' > = shouldAnimate\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t\t\tonAnimationComplete: () => setAnimationFinished( true ),\n\t\t\t\t...otherMotionProps,\n\t\t }\n\t\t: {\n\t\t\t\tanimate: false,\n\t\t\t\tstyle,\n\t\t };\n\n\t// When Floating UI has finished positioning and Framer Motion has finished animating\n\t// the popover, add the `is-positioned` class to signal that all transitions have finished.\n\tconst isPositioned =\n\t\t( ! shouldAnimate || animationFinished ) && x !== null && y !== null;\n\n\tlet content = (\n\t\t<motion.div\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-positioned': isPositioned,\n\t\t\t\t// Use the 'alternate' classname for 'toolbar' variant for back compat.\n\t\t\t\t[ `is-${\n\t\t\t\t\tcomputedVariant === 'toolbar'\n\t\t\t\t\t\t? 'alternate'\n\t\t\t\t\t\t: computedVariant\n\t\t\t\t}` ]: computedVariant,\n\t\t\t} ) }\n\t\t\t{ ...animationProps }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowCallbackRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\ttypeof arrowData?.x !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.x )\n\t\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\ttypeof arrowData?.y !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.y )\n\t\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</motion.div>\n\t);\n\n\tconst shouldRenderWithinSlot = slot.ref && ! inline;\n\tconst hasAnchor = anchorRef || anchorRect || anchor;\n\n\tif ( shouldRenderWithinSlot ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t} else if ( ! inline ) {\n\t\tcontent = createPortal( content, getPopoverFallbackContainer() );\n\t}\n\n\tif ( hasAnchor ) {\n\t\treturn content;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<span ref={ anchorRefFallback } />\n\t\t\t{ content }\n\t\t</>\n\t);\n};\n\n/**\n * `Popover` renders its content in a floating modal. If no explicit anchor is passed via props, it anchors to its parent element by default.\n *\n * ```jsx\n * import { Button, Popover } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyPopover = () => {\n * \tconst [ isVisible, setIsVisible ] = useState( false );\n * \tconst toggleVisible = () => {\n * \t\tsetIsVisible( ( state ) => ! state );\n * \t};\n *\n * \treturn (\n * \t\t<Button variant=\"secondary\" onClick={ toggleVisible }>\n * \t\t\tToggle Popover!\n * \t\t\t{ isVisible && <Popover>Popover is toggled!</Popover> }\n * \t\t</Button>\n * \t);\n * };\n * ```\n *\n */\nexport const Popover = forwardRef( UnforwardedPopover );\n\nfunction PopoverSlot(\n\t{ name = SLOT_NAME }: { name?: string },\n\tref: ForwardedRef< any >\n) {\n\treturn (\n\t\t<Slot\n\t\t\t// @ts-expect-error Need to type `SlotFill`\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\n// @ts-expect-error For Legacy Reasons\nPopover.Slot = forwardRef( PopoverSlot );\n// @ts-expect-error For Legacy Reasons\nPopover.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default Popover;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useFloating","flip","flipMiddleware","shift","shiftMiddleware","limitShift","autoUpdate","arrow","offset","offsetMiddleware","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useState","useCallback","createPortal","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","computePopoverPosition","positionToPlacement","placementToMotionAnimationProps","getReferenceElement","overlayMiddlewares","StyleProvider","SLOT_NAME","ArrowTriangle","createElement","xmlns","viewBox","className","role","d","vectorEffect","slotNameContext","undefined","fallbackContainerClassname","getPopoverFallbackContainer","container","document","body","querySelector","append","UnforwardedPopover","props","forwardedRef","animate","headerTitle","onClose","children","noArrow","position","placement","placementProp","offsetProp","focusOnMount","anchor","expandOnMobile","onFocusOutside","__unstableSlotName","resize","inline","variant","__unstableForcePosition","anchorRef","anchorRect","getAnchorRect","isAlternate","contentProps","computedFlipProp","computedResizeProp","since","version","alternative","computedVariant","arrowRef","fallbackReferenceElement","setFallbackReferenceElement","anchorRefFallback","node","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","middleware","apply","sizeProps","_refs$floating$curren","firstElementChild","refs","floating","current","HTMLElement","Object","assign","style","maxHeight","availableHeight","overflow","crossAxis","limiter","padding","element","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","strategy","update","computedPlacement","middlewareData","arrowData","whileElementsMounted","referenceParam","floatingParam","updateParam","layoutShift","animationFrame","arrowCallbackRef","anchorRefTop","top","anchorRefBottom","bottom","anchorRefStartContainer","startContainer","anchorRefCurrent","resultingReferenceElement","setReference","mergedFloatingRef","setFloating","left","shouldReduceMotion","shouldAnimate","animationFinished","setAnimationFinished","motionInlineStyles","otherMotionProps","animationProps","onAnimationComplete","isPositioned","content","div","ref","tabIndex","icon","onClick","split","join","Number","isFinite","shouldRenderWithinSlot","hasAnchor","name","Fragment","Popover","PopoverSlot","bubblesVirtually","__unstableSlotNameProvider","Provider"],"sources":["@wordpress/components/src/popover/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, SyntheticEvent, RefCallback } from 'react';\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip as flipMiddleware,\n\tshift as shiftMiddleware,\n\tlimitShift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tsize,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport type { HTMLMotionProps, MotionProps } from 'framer-motion';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, useReducedMotion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tcreatePortal,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tcomputePopoverPosition,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceElement,\n} from './utils';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\nimport { overlayMiddlewares } from './overlay-middlewares';\nimport { StyleProvider } from '../style-provider';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nexport const SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\n\nconst fallbackContainerClassname = 'components-popover__fallback-container';\nconst getPopoverFallbackContainer = () => {\n\tlet container = document.body.querySelector(\n\t\t'.' + fallbackContainerClassname\n\t);\n\tif ( ! container ) {\n\t\tcontainer = document.createElement( 'div' );\n\t\tcontainer.className = fallbackContainerClassname;\n\t\tdocument.body.append( container );\n\t}\n\n\treturn container;\n};\n\nconst UnforwardedPopover = (\n\tprops: Omit<\n\t\tWordPressComponentProps< PopoverProps, 'div', false >,\n\t\t// To avoid overlaps between the standard HTML attributes and the props\n\t\t// expected by `framer-motion`, omit all framer motion props from popover\n\t\t// props (except for `animate` and `children`, which are re-defined in `PopoverProps`).\n\t\tkeyof Omit< MotionProps, 'animate' | 'children' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchor,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\tflip = true,\n\t\tresize = true,\n\t\tshift = false,\n\t\tinline = false,\n\t\tvariant,\n\n\t\t// Deprecated props\n\t\t__unstableForcePosition,\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tisAlternate,\n\n\t\t// Rest\n\t\t...contentProps\n\t} = props;\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '`__unstableForcePosition` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`flip={ false }` and `resize={ false }`',\n\t\t} );\n\n\t\t// Back-compat, set the `flip` and `resize` props\n\t\t// to `false` to replicate `__unstableForcePosition`.\n\t\tcomputedFlipProp = ! __unstableForcePosition;\n\t\tcomputedResizeProp = ! __unstableForcePosition;\n\t}\n\n\tif ( anchorRef !== undefined ) {\n\t\tdeprecated( '`anchorRef` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( anchorRect !== undefined ) {\n\t\tdeprecated( '`anchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( getAnchorRect !== undefined ) {\n\t\tdeprecated( '`getAnchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tconst computedVariant = isAlternate ? 'toolbar' : variant;\n\tif ( isAlternate !== undefined ) {\n\t\tdeprecated( '`isAlternate` prop in wp.components.Popover', {\n\t\t\tsince: '6.2',\n\t\t\talternative: \"`variant` prop with the `'toolbar'` value\",\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef< HTMLElement | null >( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\n\tconst anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(\n\t\t( node ) => {\n\t\t\tsetFallbackReferenceElement( node );\n\t\t},\n\t\t[]\n\t);\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst middleware = [\n\t\t...( placementProp === 'overlay' ? overlayMiddlewares() : [] ),\n\t\toffsetMiddleware( offsetProp ),\n\t\tcomputedFlipProp && flipMiddleware(),\n\t\tcomputedResizeProp &&\n\t\t\tsize( {\n\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\tconst { firstElementChild } = refs.floating.current ?? {};\n\n\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) )\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t} ),\n\t\tshift &&\n\t\t\tshiftMiddleware( {\n\t\t\t\tcrossAxis: true,\n\t\t\t\tlimiter: limitShift(),\n\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t} ),\n\t\tarrow( { element: arrowRef } ),\n\t];\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type: string | undefined, event: SyntheticEvent ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\t// @ts-expect-error The __unstableOnClose property needs to be deprecated first (see https://github.com/WordPress/gutenberg/pull/27675)\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData },\n\t} = useFloating( {\n\t\tplacement:\n\t\t\tnormalizedPlacementFromProps === 'overlay'\n\t\t\t\t? undefined\n\t\t\t\t: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tlayoutShift: false,\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tarrowRef.current = node;\n\t\t\tupdate();\n\t\t},\n\t\t[ update ]\n\t);\n\n\t// When any of the possible anchor \"sources\" change,\n\t// recompute the reference element (real or virtual) and its owner document.\n\n\tconst anchorRefTop = ( anchorRef as PopoverAnchorRefTopBottom | undefined )\n\t\t?.top;\n\tconst anchorRefBottom = (\n\t\tanchorRef as PopoverAnchorRefTopBottom | undefined\n\t )?.bottom;\n\tconst anchorRefStartContainer = ( anchorRef as Range | undefined )\n\t\t?.startContainer;\n\tconst anchorRefCurrent = ( anchorRef as PopoverAnchorRefReference )\n\t\t?.current;\n\n\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchor,\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\trefs.setReference( resultingReferenceElement );\n\t}, [\n\t\tanchor,\n\t\tanchorRef,\n\t\tanchorRefTop,\n\t\tanchorRefBottom,\n\t\tanchorRefStartContainer,\n\t\tanchorRefCurrent,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\trefs,\n\t] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\trefs.setFloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\tconst style = isExpanded\n\t\t? undefined\n\t\t: {\n\t\t\t\tposition: strategy,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\t// `x` and `y` are framer-motion specific props and are shorthands\n\t\t\t\t// for `translateX` and `translateY`. Currently it is not possible\n\t\t\t\t// to use `translateX` and `translateY` because those values would\n\t\t\t\t// be overridden by the return value of the\n\t\t\t\t// `placementToMotionAnimationProps` function.\n\t\t\t\tx: computePopoverPosition( x ),\n\t\t\t\ty: computePopoverPosition( y ),\n\t\t };\n\n\tconst shouldReduceMotion = useReducedMotion();\n\tconst shouldAnimate = animate && ! isExpanded && ! shouldReduceMotion;\n\n\tconst [ animationFinished, setAnimationFinished ] = useState( false );\n\n\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t() => placementToMotionAnimationProps( computedPlacement ),\n\t\t[ computedPlacement ]\n\t);\n\n\tconst animationProps: HTMLMotionProps< 'div' > = shouldAnimate\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t\t\tonAnimationComplete: () => setAnimationFinished( true ),\n\t\t\t\t...otherMotionProps,\n\t\t }\n\t\t: {\n\t\t\t\tanimate: false,\n\t\t\t\tstyle,\n\t\t };\n\n\t// When Floating UI has finished positioning and Framer Motion has finished animating\n\t// the popover, add the `is-positioned` class to signal that all transitions have finished.\n\tconst isPositioned =\n\t\t( ! shouldAnimate || animationFinished ) && x !== null && y !== null;\n\n\tlet content = (\n\t\t<motion.div\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-positioned': isPositioned,\n\t\t\t\t// Use the 'alternate' classname for 'toolbar' variant for back compat.\n\t\t\t\t[ `is-${\n\t\t\t\t\tcomputedVariant === 'toolbar'\n\t\t\t\t\t\t? 'alternate'\n\t\t\t\t\t\t: computedVariant\n\t\t\t\t}` ]: computedVariant,\n\t\t\t} ) }\n\t\t\t{ ...animationProps }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowCallbackRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\ttypeof arrowData?.x !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.x )\n\t\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\ttypeof arrowData?.y !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.y )\n\t\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</motion.div>\n\t);\n\n\tconst shouldRenderWithinSlot = slot.ref && ! inline;\n\tconst hasAnchor = anchorRef || anchorRect || anchor;\n\n\tif ( shouldRenderWithinSlot ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t} else if ( ! inline ) {\n\t\tcontent = createPortal(\n\t\t\t<StyleProvider document={ document }>{ content }</StyleProvider>,\n\t\t\tgetPopoverFallbackContainer()\n\t\t);\n\t}\n\n\tif ( hasAnchor ) {\n\t\treturn content;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<span ref={ anchorRefFallback } />\n\t\t\t{ content }\n\t\t</>\n\t);\n};\n\n/**\n * `Popover` renders its content in a floating modal. If no explicit anchor is passed via props, it anchors to its parent element by default.\n *\n * ```jsx\n * import { Button, Popover } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyPopover = () => {\n * \tconst [ isVisible, setIsVisible ] = useState( false );\n * \tconst toggleVisible = () => {\n * \t\tsetIsVisible( ( state ) => ! state );\n * \t};\n *\n * \treturn (\n * \t\t<Button variant=\"secondary\" onClick={ toggleVisible }>\n * \t\t\tToggle Popover!\n * \t\t\t{ isVisible && <Popover>Popover is toggled!</Popover> }\n * \t\t</Button>\n * \t);\n * };\n * ```\n *\n */\nexport const Popover = forwardRef( UnforwardedPopover );\n\nfunction PopoverSlot(\n\t{ name = SLOT_NAME }: { name?: string },\n\tref: ForwardedRef< any >\n) {\n\treturn (\n\t\t<Slot\n\t\t\t// @ts-expect-error Need to type `SlotFill`\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\n// @ts-expect-error For Legacy Reasons\nPopover.Slot = forwardRef( PopoverSlot );\n// @ts-expect-error For Legacy Reasons\nPopover.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default Popover;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/popover/index.tsx"],"names":[],"mappings":";AAuDA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EACX,YAAY,EAGZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/popover/index.tsx"],"names":[],"mappings":";AAuDA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EACX,YAAY,EAGZ,MAAM,SAAS,CAAC;AAIjB;;;;GAIG;AACH,eAAO,MAAM,SAAS,YAAY,CAAC;AA+YnC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,OAAO,kkCAAmC,CAAC;AAsBxD,eAAe,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/components",
|
|
3
|
-
"version": "25.8.
|
|
3
|
+
"version": "25.8.3",
|
|
4
4
|
"description": "UI components for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -41,23 +41,23 @@
|
|
|
41
41
|
"@floating-ui/react-dom": "^2.0.1",
|
|
42
42
|
"@radix-ui/react-dropdown-menu": "2.0.4",
|
|
43
43
|
"@use-gesture/react": "^10.2.24",
|
|
44
|
-
"@wordpress/a11y": "^3.42.
|
|
45
|
-
"@wordpress/compose": "^6.19.
|
|
46
|
-
"@wordpress/date": "^4.42.
|
|
47
|
-
"@wordpress/deprecated": "^3.42.
|
|
48
|
-
"@wordpress/dom": "^3.42.
|
|
49
|
-
"@wordpress/element": "^5.19.
|
|
50
|
-
"@wordpress/escape-html": "^2.42.
|
|
51
|
-
"@wordpress/hooks": "^3.42.
|
|
52
|
-
"@wordpress/html-entities": "^3.42.
|
|
53
|
-
"@wordpress/i18n": "^4.42.
|
|
54
|
-
"@wordpress/icons": "^9.33.
|
|
55
|
-
"@wordpress/is-shallow-equal": "^4.42.
|
|
56
|
-
"@wordpress/keycodes": "^3.42.
|
|
57
|
-
"@wordpress/primitives": "^3.40.
|
|
58
|
-
"@wordpress/private-apis": "^0.24.
|
|
59
|
-
"@wordpress/rich-text": "^6.19.
|
|
60
|
-
"@wordpress/warning": "^2.42.
|
|
44
|
+
"@wordpress/a11y": "^3.42.3",
|
|
45
|
+
"@wordpress/compose": "^6.19.3",
|
|
46
|
+
"@wordpress/date": "^4.42.3",
|
|
47
|
+
"@wordpress/deprecated": "^3.42.3",
|
|
48
|
+
"@wordpress/dom": "^3.42.3",
|
|
49
|
+
"@wordpress/element": "^5.19.3",
|
|
50
|
+
"@wordpress/escape-html": "^2.42.3",
|
|
51
|
+
"@wordpress/hooks": "^3.42.3",
|
|
52
|
+
"@wordpress/html-entities": "^3.42.3",
|
|
53
|
+
"@wordpress/i18n": "^4.42.3",
|
|
54
|
+
"@wordpress/icons": "^9.33.3",
|
|
55
|
+
"@wordpress/is-shallow-equal": "^4.42.3",
|
|
56
|
+
"@wordpress/keycodes": "^3.42.3",
|
|
57
|
+
"@wordpress/primitives": "^3.40.3",
|
|
58
|
+
"@wordpress/private-apis": "^0.24.3",
|
|
59
|
+
"@wordpress/rich-text": "^6.19.3",
|
|
60
|
+
"@wordpress/warning": "^2.42.3",
|
|
61
61
|
"change-case": "^4.1.2",
|
|
62
62
|
"classnames": "^2.3.1",
|
|
63
63
|
"colord": "^2.7.0",
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"publishConfig": {
|
|
88
88
|
"access": "public"
|
|
89
89
|
},
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "6256f93c37705d142f75a99f1fc808540ca7dca8"
|
|
91
91
|
}
|
package/src/popover/index.tsx
CHANGED
|
@@ -60,6 +60,7 @@ import type {
|
|
|
60
60
|
PopoverAnchorRefTopBottom,
|
|
61
61
|
} from './types';
|
|
62
62
|
import { overlayMiddlewares } from './overlay-middlewares';
|
|
63
|
+
import { StyleProvider } from '../style-provider';
|
|
63
64
|
|
|
64
65
|
/**
|
|
65
66
|
* Name of slot in which popover should fill.
|
|
@@ -447,7 +448,10 @@ const UnforwardedPopover = (
|
|
|
447
448
|
if ( shouldRenderWithinSlot ) {
|
|
448
449
|
content = <Fill name={ slotName }>{ content }</Fill>;
|
|
449
450
|
} else if ( ! inline ) {
|
|
450
|
-
content = createPortal(
|
|
451
|
+
content = createPortal(
|
|
452
|
+
<StyleProvider document={ document }>{ content }</StyleProvider>,
|
|
453
|
+
getPopoverFallbackContainer()
|
|
454
|
+
);
|
|
451
455
|
}
|
|
452
456
|
|
|
453
457
|
if ( hasAnchor ) {
|