@wordpress/components 21.0.0 → 21.0.2

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.
Files changed (87) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/autocomplete/autocompleter-ui.js +3 -3
  3. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  4. package/build/border-box-control/border-box-control/component.js +9 -10
  5. package/build/border-box-control/border-box-control/component.js.map +1 -1
  6. package/build/border-box-control/border-box-control-linked-button/component.js +1 -2
  7. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  8. package/build/border-box-control/border-box-control-split-controls/component.js +9 -10
  9. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  10. package/build/border-box-control/styles.js +7 -7
  11. package/build/border-box-control/styles.js.map +1 -1
  12. package/build/box-control/linked-button.js +3 -3
  13. package/build/box-control/linked-button.js.map +1 -1
  14. package/build/dropdown/index.js +11 -4
  15. package/build/dropdown/index.js.map +1 -1
  16. package/build/navigation/menu/menu-title-search.js +2 -1
  17. package/build/navigation/menu/menu-title-search.js.map +1 -1
  18. package/build/navigation/menu/use-navigation-tree-menu.js +2 -1
  19. package/build/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  20. package/build/popover/index.js +39 -10
  21. package/build/popover/index.js.map +1 -1
  22. package/build/popover/utils.js +8 -2
  23. package/build/popover/utils.js.map +1 -1
  24. package/build/tooltip/index.js +8 -6
  25. package/build/tooltip/index.js.map +1 -1
  26. package/build-module/autocomplete/autocompleter-ui.js +4 -4
  27. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  28. package/build-module/border-box-control/border-box-control/component.js +10 -11
  29. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  30. package/build-module/border-box-control/border-box-control-linked-button/component.js +1 -2
  31. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  32. package/build-module/border-box-control/border-box-control-split-controls/component.js +10 -11
  33. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  34. package/build-module/border-box-control/styles.js +7 -7
  35. package/build-module/border-box-control/styles.js.map +1 -1
  36. package/build-module/box-control/linked-button.js +3 -3
  37. package/build-module/box-control/linked-button.js.map +1 -1
  38. package/build-module/dropdown/index.js +10 -4
  39. package/build-module/dropdown/index.js.map +1 -1
  40. package/build-module/navigation/menu/menu-title-search.js +2 -1
  41. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  42. package/build-module/navigation/menu/use-navigation-tree-menu.js +2 -1
  43. package/build-module/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  44. package/build-module/popover/index.js +39 -10
  45. package/build-module/popover/index.js.map +1 -1
  46. package/build-module/popover/utils.js +8 -2
  47. package/build-module/popover/utils.js.map +1 -1
  48. package/build-module/tooltip/index.js +9 -7
  49. package/build-module/tooltip/index.js.map +1 -1
  50. package/build-style/style-rtl.css +2 -3
  51. package/build-style/style.css +2 -3
  52. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  53. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  54. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  55. package/build-types/border-box-control/styles.d.ts.map +1 -1
  56. package/build-types/dropdown/index.d.ts.map +1 -1
  57. package/build-types/popover/index.d.ts.map +1 -1
  58. package/build-types/popover/stories/index.d.ts.map +1 -1
  59. package/build-types/popover/types.d.ts +32 -14
  60. package/build-types/popover/types.d.ts.map +1 -1
  61. package/build-types/popover/utils.d.ts +2 -2
  62. package/build-types/popover/utils.d.ts.map +1 -1
  63. package/build-types/tooltip/index.d.ts.map +1 -1
  64. package/package.json +17 -17
  65. package/src/autocomplete/autocompleter-ui.js +6 -3
  66. package/src/border-box-control/border-box-control/component.tsx +28 -19
  67. package/src/border-box-control/border-box-control-linked-button/component.tsx +1 -2
  68. package/src/border-box-control/border-box-control-split-controls/component.tsx +25 -17
  69. package/src/border-box-control/stories/index.js +1 -0
  70. package/src/border-box-control/styles.ts +2 -1
  71. package/src/box-control/linked-button.js +3 -3
  72. package/src/box-control/test/index.js +5 -5
  73. package/src/button/style.scss +4 -3
  74. package/src/dropdown/index.js +15 -3
  75. package/src/modal/style.scss +3 -4
  76. package/src/navigation/menu/menu-title-search.js +2 -0
  77. package/src/navigation/menu/use-navigation-tree-menu.js +2 -0
  78. package/src/panel/README.md +1 -1
  79. package/src/popover/README.md +48 -3
  80. package/src/popover/index.tsx +41 -9
  81. package/src/popover/stories/index.tsx +1 -0
  82. package/src/popover/test/index.js +7 -5
  83. package/src/popover/types.ts +39 -20
  84. package/src/popover/utils.ts +16 -4
  85. package/src/tooltip/index.js +10 -6
  86. package/tsconfig.json +1 -0
  87. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigation/menu/use-navigation-tree-menu.js"],"names":["useEffect","useNavigationContext","ROOT_MENU","useNavigationTreeMenu","props","navigationTree","addMenu","removeMenu","key","menu"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,SAASC,oBAAT,QAAqC,YAArC;AACA,SAASC,SAAT,QAA0B,cAA1B;AAEA,OAAO,MAAMC,qBAAqB,GAAKC,KAAF,IAAa;AACjD,QAAM;AACLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX;AADX,MAEFN,oBAAoB,EAFxB;AAIA,QAAMO,GAAG,GAAGJ,KAAK,CAACK,IAAN,IAAcP,SAA1B;AACAF,EAAAA,SAAS,CAAE,MAAM;AAChBM,IAAAA,OAAO,CAAEE,GAAF,EAAO,EAAE,GAAGJ,KAAL;AAAYK,MAAAA,IAAI,EAAED;AAAlB,KAAP,CAAP;AAEA,WAAO,MAAM;AACZD,MAAAA,UAAU,CAAEC,GAAF,CAAV;AACA,KAFD;AAGA,GANQ,EAMN,EANM,CAAT;AAOA,CAbM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useNavigationContext } from '../context';\nimport { ROOT_MENU } from '../constants';\n\nexport const useNavigationTreeMenu = ( props ) => {\n\tconst {\n\t\tnavigationTree: { addMenu, removeMenu },\n\t} = useNavigationContext();\n\n\tconst key = props.menu || ROOT_MENU;\n\tuseEffect( () => {\n\t\taddMenu( key, { ...props, menu: key } );\n\n\t\treturn () => {\n\t\t\tremoveMenu( key );\n\t\t};\n\t}, [] );\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigation/menu/use-navigation-tree-menu.js"],"names":["useEffect","useNavigationContext","ROOT_MENU","useNavigationTreeMenu","props","navigationTree","addMenu","removeMenu","key","menu"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,SAASC,oBAAT,QAAqC,YAArC;AACA,SAASC,SAAT,QAA0B,cAA1B;AAEA,OAAO,MAAMC,qBAAqB,GAAKC,KAAF,IAAa;AACjD,QAAM;AACLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX;AADX,MAEFN,oBAAoB,EAFxB;AAIA,QAAMO,GAAG,GAAGJ,KAAK,CAACK,IAAN,IAAcP,SAA1B;AACAF,EAAAA,SAAS,CAAE,MAAM;AAChBM,IAAAA,OAAO,CAAEE,GAAF,EAAO,EAAE,GAAGJ,KAAL;AAAYK,MAAAA,IAAI,EAAED;AAAlB,KAAP,CAAP;AAEA,WAAO,MAAM;AACZD,MAAAA,UAAU,CAAEC,GAAF,CAAV;AACA,KAFD,CAHgB,CAMhB;AACA;AACA,GARQ,EAQN,EARM,CAAT;AASA,CAfM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useNavigationContext } from '../context';\nimport { ROOT_MENU } from '../constants';\n\nexport const useNavigationTreeMenu = ( props ) => {\n\tconst {\n\t\tnavigationTree: { addMenu, removeMenu },\n\t} = useNavigationContext();\n\n\tconst key = props.menu || ROOT_MENU;\n\tuseEffect( () => {\n\t\taddMenu( key, { ...props, menu: key } );\n\n\t\treturn () => {\n\t\t\tremoveMenu( key );\n\t\t};\n\t\t// Ignore exhaustive-deps rule for now. See https://github.com/WordPress/gutenberg/pull/44090\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n};\n"]}
@@ -88,7 +88,6 @@ const UnforwardedPopover = (props, forwardedRef) => {
88
88
  var _frameOffsetRef$curre, _frameOffsetRef$curre2, _frameOffsetRef$curre3, _frameOffsetRef$curre4;
89
89
 
90
90
  const {
91
- range,
92
91
  animate = true,
93
92
  headerTitle,
94
93
  onClose,
@@ -100,22 +99,26 @@ const UnforwardedPopover = (props, forwardedRef) => {
100
99
  placement: placementProp = 'bottom-start',
101
100
  offset: offsetProp = 0,
102
101
  focusOnMount = 'firstElement',
103
- anchorRef,
104
- anchorRect,
105
- getAnchorRect,
102
+ anchor,
106
103
  expandOnMobile,
107
104
  onFocusOutside,
108
105
  __unstableSlotName = SLOT_NAME,
109
106
  flip = true,
110
107
  resize = true,
111
108
  shift = false,
112
- __unstableShift,
109
+ // Deprecated props
113
110
  __unstableForcePosition,
111
+ __unstableShift,
112
+ anchorRef,
113
+ anchorRect,
114
+ getAnchorRect,
115
+ range,
116
+ // Rest
114
117
  ...contentProps
115
118
  } = props;
116
119
 
117
120
  if (range) {
118
- deprecated('range prop in Popover component', {
121
+ deprecated('`range` prop in wp.components.Popover', {
119
122
  since: '6.1',
120
123
  version: '6.3'
121
124
  });
@@ -125,7 +128,7 @@ const UnforwardedPopover = (props, forwardedRef) => {
125
128
  let computedResizeProp = resize;
126
129
 
127
130
  if (__unstableForcePosition !== undefined) {
128
- deprecated('__unstableForcePosition prop in Popover component', {
131
+ deprecated('`__unstableForcePosition` prop wp.components.Popover', {
129
132
  since: '6.1',
130
133
  version: '6.3',
131
134
  alternative: '`flip={ false }` and `resize={ false }`'
@@ -139,7 +142,7 @@ const UnforwardedPopover = (props, forwardedRef) => {
139
142
  let shouldShift = shift;
140
143
 
141
144
  if (__unstableShift !== undefined) {
142
- deprecated('`__unstableShift` prop in Popover component', {
145
+ deprecated('`__unstableShift` prop in wp.components.Popover', {
143
146
  since: '6.1',
144
147
  version: '6.3',
145
148
  alternative: '`shift` prop`'
@@ -148,6 +151,30 @@ const UnforwardedPopover = (props, forwardedRef) => {
148
151
  shouldShift = __unstableShift;
149
152
  }
150
153
 
154
+ if (anchorRef !== undefined) {
155
+ deprecated('`anchorRef` prop in wp.components.Popover', {
156
+ since: '6.1',
157
+ version: '6.3',
158
+ alternative: '`anchor` prop'
159
+ });
160
+ }
161
+
162
+ if (anchorRect !== undefined) {
163
+ deprecated('`anchorRect` prop in wp.components.Popover', {
164
+ since: '6.1',
165
+ version: '6.3',
166
+ alternative: '`anchor` prop'
167
+ });
168
+ }
169
+
170
+ if (getAnchorRect !== undefined) {
171
+ deprecated('`getAnchorRect` prop in wp.components.Popover', {
172
+ since: '6.1',
173
+ version: '6.3',
174
+ alternative: '`anchor` prop'
175
+ });
176
+ }
177
+
151
178
  const arrowRef = useRef(null);
152
179
  const [fallbackReferenceElement, setFallbackReferenceElement] = useState(null);
153
180
  const [referenceOwnerDocument, setReferenceOwnerDocument] = useState();
@@ -279,6 +306,7 @@ const UnforwardedPopover = (props, forwardedRef) => {
279
306
 
280
307
  useLayoutEffect(() => {
281
308
  const resultingReferenceOwnerDoc = getReferenceOwnerDocument({
309
+ anchor,
282
310
  anchorRef,
283
311
  anchorRect,
284
312
  getAnchorRect,
@@ -286,6 +314,7 @@ const UnforwardedPopover = (props, forwardedRef) => {
286
314
  fallbackDocument: document
287
315
  });
288
316
  const resultingReferenceElement = getReferenceElement({
317
+ anchor,
289
318
  anchorRef,
290
319
  anchorRect,
291
320
  getAnchorRect,
@@ -293,7 +322,7 @@ const UnforwardedPopover = (props, forwardedRef) => {
293
322
  });
294
323
  referenceCallbackRef(resultingReferenceElement);
295
324
  setReferenceOwnerDocument(resultingReferenceOwnerDoc);
296
- }, [anchorRef, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.top, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.bottom, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.startContainer, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current, anchorRect, getAnchorRect, fallbackReferenceElement, referenceCallbackRef]); // If the reference element is in a different ownerDocument (e.g. iFrame),
325
+ }, [anchor, anchorRef, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.top, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.bottom, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.startContainer, anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current, anchorRect, getAnchorRect, fallbackReferenceElement, referenceCallbackRef]); // If the reference element is in a different ownerDocument (e.g. iFrame),
297
326
  // we need to manually update the floating's position as the reference's owner
298
327
  // document scrolls. Also update the frame offset if the view resizes.
299
328
 
@@ -370,7 +399,7 @@ const UnforwardedPopover = (props, forwardedRef) => {
370
399
  }, content);
371
400
  }
372
401
 
373
- if (anchorRef || anchorRect) {
402
+ if (anchorRef || anchorRect || anchor) {
374
403
  return content;
375
404
  }
376
405
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/popover/index.tsx"],"names":["classnames","useFloating","flip","flipMiddleware","shift","shiftMiddleware","autoUpdate","arrow","offset","offsetMiddleware","limitShift","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useState","useCallback","useEffect","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","getFrameOffset","positionToPlacement","placementToMotionAnimationProps","getReferenceOwnerDocument","getReferenceElement","SLOT_NAME","ArrowTriangle","AnimatedWrapper","forwardedRef","style","receivedInlineStyles","placement","shouldAnimate","props","hasAnimatedOnce","setHasAnimatedOnce","shouldReduceMotion","motionInlineStyles","otherMotionProps","onAnimationComplete","computedAnimationProps","animate","slotNameContext","undefined","UnforwardedPopover","range","headerTitle","onClose","children","className","noArrow","isAlternate","position","placementProp","offsetProp","focusOnMount","anchorRef","anchorRect","getAnchorRect","expandOnMobile","onFocusOutside","__unstableSlotName","resize","__unstableShift","__unstableForcePosition","contentProps","since","version","computedFlipProp","computedResizeProp","alternative","shouldShift","arrowRef","fallbackReferenceElement","setFallbackReferenceElement","referenceOwnerDocument","setReferenceOwnerDocument","anchorRefFallback","node","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","frameOffsetRef","offsetRef","middleware","currentPlacement","current","isTopBottomPlacement","includes","mainAxis","crossAxis","hasBeforePlacement","mainAxisModifier","apply","sizeProps","firstElementChild","refs","floating","HTMLElement","Object","assign","maxHeight","availableHeight","overflow","limiter","padding","element","filter","m","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","reference","referenceCallbackRef","strategy","update","computedPlacement","middlewareData","arrowData","whileElementsMounted","referenceParam","floatingParam","updateParam","animationFrame","arrowCallbackRef","resultingReferenceOwnerDoc","fallbackDocument","document","resultingReferenceElement","top","bottom","startContainer","ownerDocument","defaultView","frameElement","updateFrameOffset","addEventListener","removeEventListener","mergedFloatingRef","content","left","Number","isNaN","split","join","isFinite","ref","Popover","PopoverSlot","name","__unstableSlotNameProvider","Provider"],"mappings":"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","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\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tlimitShift,\n\tsize,\n\tMiddleware,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport {\n\tmotion,\n\tuseReducedMotion,\n\tHTMLMotionProps,\n\tMotionProps,\n} 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\tuseEffect,\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\tgetFrameOffset,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceOwnerDocument,\n\tgetReferenceElement,\n} from './utils';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type {\n\tPopoverProps,\n\tAnimatedWrapperProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst 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 AnimatedWrapper = forwardRef(\n\t(\n\t\t{\n\t\t\tstyle: receivedInlineStyles,\n\t\t\tplacement,\n\t\t\tshouldAnimate = false,\n\t\t\t...props\n\t\t}: HTMLMotionProps< 'div' > & AnimatedWrapperProps,\n\t\tforwardedRef: ForwardedRef< any >\n\t) => {\n\t\t// When animating, animate only once (i.e. when the popover is opened), and\n\t\t// do not animate on subsequent prop changes (as it conflicts with\n\t\t// floating-ui's positioning updates).\n\t\tconst [ hasAnimatedOnce, setHasAnimatedOnce ] = useState( false );\n\t\tconst shouldReduceMotion = useReducedMotion();\n\n\t\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t\t() => placementToMotionAnimationProps( placement ),\n\t\t\t[ placement ]\n\t\t);\n\n\t\tconst onAnimationComplete = useCallback(\n\t\t\t() => setHasAnimatedOnce( true ),\n\t\t\t[]\n\t\t);\n\n\t\tconst computedAnimationProps: HTMLMotionProps< 'div' > =\n\t\t\tshouldAnimate && ! shouldReduceMotion\n\t\t\t\t? {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t\t\t...receivedInlineStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...otherMotionProps,\n\t\t\t\t\t\tonAnimationComplete,\n\t\t\t\t\t\tanimate: hasAnimatedOnce\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: otherMotionProps.animate,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tanimate: false,\n\t\t\t\t\t\tstyle: receivedInlineStyles,\n\t\t\t\t };\n\n\t\treturn (\n\t\t\t<motion.div\n\t\t\t\t{ ...computedAnimationProps }\n\t\t\t\t{ ...props }\n\t\t\t\tref={ forwardedRef }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\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`, which is re-defined in `PopoverProps`).\n\t\tkeyof Omit< MotionProps, 'animate' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\trange,\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\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\t__unstableShift,\n\t\t__unstableForcePosition,\n\t\t...contentProps\n\t} = props;\n\n\tif ( range ) {\n\t\tdeprecated( 'range prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '__unstableForcePosition prop in Popover component', {\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\tlet shouldShift = shift;\n\tif ( __unstableShift !== undefined ) {\n\t\tdeprecated( '`__unstableShift` prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`shift` prop`',\n\t\t} );\n\n\t\t// Back-compat.\n\t\tshouldShift = __unstableShift;\n\t}\n\n\tconst arrowRef = useRef( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\tconst [ referenceOwnerDocument, setReferenceOwnerDocument ] = useState<\n\t\tDocument | undefined\n\t>();\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\t/**\n\t * Offsets the position of the popover when the anchor is inside an iframe.\n\t *\n\t * Store the offset in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst frameOffsetRef = useRef( getFrameOffset( referenceOwnerDocument ) );\n\t/**\n\t * Store the offset prop in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst offsetRef = useRef( offsetProp );\n\n\tconst middleware = [\n\t\toffsetMiddleware( ( { placement: currentPlacement } ) => {\n\t\t\tif ( ! frameOffsetRef.current ) {\n\t\t\t\treturn offsetRef.current;\n\t\t\t}\n\n\t\t\tconst isTopBottomPlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'bottom' );\n\n\t\t\t// The main axis should represent the gap between the\n\t\t\t// floating element and the reference element. The cross\n\t\t\t// axis is always perpendicular to the main axis.\n\t\t\tconst mainAxis = isTopBottomPlacement ? 'y' : 'x';\n\t\t\tconst crossAxis = mainAxis === 'x' ? 'y' : 'x';\n\n\t\t\t// When the popover is before the reference, subtract the offset,\n\t\t\t// of the main axis else add it.\n\t\t\tconst hasBeforePlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'left' );\n\t\t\tconst mainAxisModifier = hasBeforePlacement ? -1 : 1;\n\n\t\t\treturn {\n\t\t\t\tmainAxis:\n\t\t\t\t\toffsetRef.current +\n\t\t\t\t\tframeOffsetRef.current[ mainAxis ] * mainAxisModifier,\n\t\t\t\tcrossAxis: frameOffsetRef.current[ crossAxis ],\n\t\t\t};\n\t\t} ),\n\t\tcomputedFlipProp ? flipMiddleware() : undefined,\n\t\tcomputedResizeProp\n\t\t\t? size( {\n\t\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\t\tconst { firstElementChild } =\n\t\t\t\t\t\t\trefs.floating.current ?? {};\n\n\t\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) )\n\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t } )\n\t\t\t: undefined,\n\t\tshouldShift\n\t\t\t? shiftMiddleware( {\n\t\t\t\t\tcrossAxis: true,\n\t\t\t\t\tlimiter: limitShift(),\n\t\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t } )\n\t\t\t: undefined,\n\t\tarrow( { element: arrowRef } ),\n\t].filter(\n\t\t( m: Middleware | undefined ): m is Middleware => m !== undefined\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// Callback refs (not regular refs). This allows the position to be updated.\n\t\t// when either elements change.\n\t\treference: referenceCallbackRef,\n\t\tfloating,\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: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tuseEffect( () => {\n\t\toffsetRef.current = offsetProp;\n\t\tupdate();\n\t}, [ offsetProp, update ] );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node ) => {\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\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceOwnerDoc = getReferenceOwnerDocument( {\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t\tfallbackDocument: document,\n\t\t} );\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\treferenceCallbackRef( resultingReferenceElement );\n\n\t\tsetReferenceOwnerDocument( resultingReferenceOwnerDoc );\n\t}, [\n\t\tanchorRef as Element | undefined,\n\t\t( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top,\n\t\t( anchorRef as PopoverAnchorRefTopBottom | undefined )?.bottom,\n\t\t( anchorRef as Range | undefined )?.startContainer,\n\t\t( anchorRef as PopoverAnchorRefReference )?.current,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\treferenceCallbackRef,\n\t] );\n\n\t// If the reference element is in a different ownerDocument (e.g. iFrame),\n\t// we need to manually update the floating's position as the reference's owner\n\t// document scrolls. Also update the frame offset if the view resizes.\n\tuseLayoutEffect( () => {\n\t\tif (\n\t\t\t// Reference and root documents are the same.\n\t\t\treferenceOwnerDocument === document ||\n\t\t\t// Reference and floating are in the same document.\n\t\t\treferenceOwnerDocument === refs?.floating?.current?.ownerDocument ||\n\t\t\t// The reference's document has no view (i.e. window)\n\t\t\t// or frame element (ie. it's not an iframe).\n\t\t\t! referenceOwnerDocument?.defaultView?.frameElement\n\t\t) {\n\t\t\tframeOffsetRef.current = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst { defaultView } = referenceOwnerDocument;\n\n\t\tconst updateFrameOffset = () => {\n\t\t\tframeOffsetRef.current = getFrameOffset( referenceOwnerDocument );\n\t\t\tupdate();\n\t\t};\n\t\tdefaultView.addEventListener( 'resize', updateFrameOffset );\n\n\t\tupdateFrameOffset();\n\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'resize', updateFrameOffset );\n\t\t};\n\t}, [ referenceOwnerDocument, update ] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\tfloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<AnimatedWrapper\n\t\t\tshouldAnimate={ animate && ! isExpanded }\n\t\t\tplacement={ computedPlacement }\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-alternate': isAlternate,\n\t\t\t} ) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t\tstyle={\n\t\t\t\tisExpanded\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tposition: strategy,\n\t\t\t\t\t\t\tleft: Number.isNaN( x ) ? 0 : x ?? undefined,\n\t\t\t\t\t\t\ttop: Number.isNaN( y ) ? 0 : y ?? undefined,\n\t\t\t\t\t }\n\t\t\t}\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? `${\n\t\t\t\t\t\t\t\t\t\tarrowData.x +\n\t\t\t\t\t\t\t\t\t\t( frameOffsetRef.current?.x ?? 0 )\n\t\t\t\t\t\t\t\t }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? `${\n\t\t\t\t\t\t\t\t\t\tarrowData.y +\n\t\t\t\t\t\t\t\t\t\t( frameOffsetRef.current?.y ?? 0 )\n\t\t\t\t\t\t\t\t }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</AnimatedWrapper>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\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"]}
1
+ {"version":3,"sources":["@wordpress/components/src/popover/index.tsx"],"names":["classnames","useFloating","flip","flipMiddleware","shift","shiftMiddleware","autoUpdate","arrow","offset","offsetMiddleware","limitShift","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useState","useCallback","useEffect","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","getFrameOffset","positionToPlacement","placementToMotionAnimationProps","getReferenceOwnerDocument","getReferenceElement","SLOT_NAME","ArrowTriangle","AnimatedWrapper","forwardedRef","style","receivedInlineStyles","placement","shouldAnimate","props","hasAnimatedOnce","setHasAnimatedOnce","shouldReduceMotion","motionInlineStyles","otherMotionProps","onAnimationComplete","computedAnimationProps","animate","slotNameContext","undefined","UnforwardedPopover","headerTitle","onClose","children","className","noArrow","isAlternate","position","placementProp","offsetProp","focusOnMount","anchor","expandOnMobile","onFocusOutside","__unstableSlotName","resize","__unstableForcePosition","__unstableShift","anchorRef","anchorRect","getAnchorRect","range","contentProps","since","version","computedFlipProp","computedResizeProp","alternative","shouldShift","arrowRef","fallbackReferenceElement","setFallbackReferenceElement","referenceOwnerDocument","setReferenceOwnerDocument","anchorRefFallback","node","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","frameOffsetRef","offsetRef","middleware","currentPlacement","current","isTopBottomPlacement","includes","mainAxis","crossAxis","hasBeforePlacement","mainAxisModifier","apply","sizeProps","firstElementChild","refs","floating","HTMLElement","Object","assign","maxHeight","availableHeight","overflow","limiter","padding","element","filter","m","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","reference","referenceCallbackRef","strategy","update","computedPlacement","middlewareData","arrowData","whileElementsMounted","referenceParam","floatingParam","updateParam","animationFrame","arrowCallbackRef","resultingReferenceOwnerDoc","fallbackDocument","document","resultingReferenceElement","top","bottom","startContainer","ownerDocument","defaultView","frameElement","updateFrameOffset","addEventListener","removeEventListener","mergedFloatingRef","content","left","Number","isNaN","split","join","isFinite","ref","Popover","PopoverSlot","name","__unstableSlotNameProvider","Provider"],"mappings":"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","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\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tlimitShift,\n\tsize,\n\tMiddleware,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport {\n\tmotion,\n\tuseReducedMotion,\n\tHTMLMotionProps,\n\tMotionProps,\n} 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\tuseEffect,\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\tgetFrameOffset,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceOwnerDocument,\n\tgetReferenceElement,\n} from './utils';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type {\n\tPopoverProps,\n\tAnimatedWrapperProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst 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 AnimatedWrapper = forwardRef(\n\t(\n\t\t{\n\t\t\tstyle: receivedInlineStyles,\n\t\t\tplacement,\n\t\t\tshouldAnimate = false,\n\t\t\t...props\n\t\t}: HTMLMotionProps< 'div' > & AnimatedWrapperProps,\n\t\tforwardedRef: ForwardedRef< any >\n\t) => {\n\t\t// When animating, animate only once (i.e. when the popover is opened), and\n\t\t// do not animate on subsequent prop changes (as it conflicts with\n\t\t// floating-ui's positioning updates).\n\t\tconst [ hasAnimatedOnce, setHasAnimatedOnce ] = useState( false );\n\t\tconst shouldReduceMotion = useReducedMotion();\n\n\t\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t\t() => placementToMotionAnimationProps( placement ),\n\t\t\t[ placement ]\n\t\t);\n\n\t\tconst onAnimationComplete = useCallback(\n\t\t\t() => setHasAnimatedOnce( true ),\n\t\t\t[]\n\t\t);\n\n\t\tconst computedAnimationProps: HTMLMotionProps< 'div' > =\n\t\t\tshouldAnimate && ! shouldReduceMotion\n\t\t\t\t? {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t\t\t...receivedInlineStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...otherMotionProps,\n\t\t\t\t\t\tonAnimationComplete,\n\t\t\t\t\t\tanimate: hasAnimatedOnce\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: otherMotionProps.animate,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tanimate: false,\n\t\t\t\t\t\tstyle: receivedInlineStyles,\n\t\t\t\t };\n\n\t\treturn (\n\t\t\t<motion.div\n\t\t\t\t{ ...computedAnimationProps }\n\t\t\t\t{ ...props }\n\t\t\t\tref={ forwardedRef }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\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`, which is re-defined in `PopoverProps`).\n\t\tkeyof Omit< MotionProps, 'animate' >\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\tisAlternate,\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\n\t\t// Deprecated props\n\t\t__unstableForcePosition,\n\t\t__unstableShift,\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\trange,\n\n\t\t// Rest\n\t\t...contentProps\n\t} = props;\n\n\tif ( range ) {\n\t\tdeprecated( '`range` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '`__unstableForcePosition` prop 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\tlet shouldShift = shift;\n\tif ( __unstableShift !== undefined ) {\n\t\tdeprecated( '`__unstableShift` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`shift` prop`',\n\t\t} );\n\n\t\t// Back-compat.\n\t\tshouldShift = __unstableShift;\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\tversion: '6.3',\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\tversion: '6.3',\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\tversion: '6.3',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\tconst [ referenceOwnerDocument, setReferenceOwnerDocument ] = useState<\n\t\tDocument | undefined\n\t>();\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\t/**\n\t * Offsets the position of the popover when the anchor is inside an iframe.\n\t *\n\t * Store the offset in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst frameOffsetRef = useRef( getFrameOffset( referenceOwnerDocument ) );\n\t/**\n\t * Store the offset prop in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst offsetRef = useRef( offsetProp );\n\n\tconst middleware = [\n\t\toffsetMiddleware( ( { placement: currentPlacement } ) => {\n\t\t\tif ( ! frameOffsetRef.current ) {\n\t\t\t\treturn offsetRef.current;\n\t\t\t}\n\n\t\t\tconst isTopBottomPlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'bottom' );\n\n\t\t\t// The main axis should represent the gap between the\n\t\t\t// floating element and the reference element. The cross\n\t\t\t// axis is always perpendicular to the main axis.\n\t\t\tconst mainAxis = isTopBottomPlacement ? 'y' : 'x';\n\t\t\tconst crossAxis = mainAxis === 'x' ? 'y' : 'x';\n\n\t\t\t// When the popover is before the reference, subtract the offset,\n\t\t\t// of the main axis else add it.\n\t\t\tconst hasBeforePlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'left' );\n\t\t\tconst mainAxisModifier = hasBeforePlacement ? -1 : 1;\n\n\t\t\treturn {\n\t\t\t\tmainAxis:\n\t\t\t\t\toffsetRef.current +\n\t\t\t\t\tframeOffsetRef.current[ mainAxis ] * mainAxisModifier,\n\t\t\t\tcrossAxis: frameOffsetRef.current[ crossAxis ],\n\t\t\t};\n\t\t} ),\n\t\tcomputedFlipProp ? flipMiddleware() : undefined,\n\t\tcomputedResizeProp\n\t\t\t? size( {\n\t\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\t\tconst { firstElementChild } =\n\t\t\t\t\t\t\trefs.floating.current ?? {};\n\n\t\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) )\n\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t } )\n\t\t\t: undefined,\n\t\tshouldShift\n\t\t\t? shiftMiddleware( {\n\t\t\t\t\tcrossAxis: true,\n\t\t\t\t\tlimiter: limitShift(),\n\t\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t } )\n\t\t\t: undefined,\n\t\tarrow( { element: arrowRef } ),\n\t].filter(\n\t\t( m: Middleware | undefined ): m is Middleware => m !== undefined\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// Callback refs (not regular refs). This allows the position to be updated.\n\t\t// when either elements change.\n\t\treference: referenceCallbackRef,\n\t\tfloating,\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: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tuseEffect( () => {\n\t\toffsetRef.current = offsetProp;\n\t\tupdate();\n\t}, [ offsetProp, update ] );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node ) => {\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\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceOwnerDoc = getReferenceOwnerDocument( {\n\t\t\tanchor,\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t\tfallbackDocument: document,\n\t\t} );\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\treferenceCallbackRef( resultingReferenceElement );\n\n\t\tsetReferenceOwnerDocument( resultingReferenceOwnerDoc );\n\t}, [\n\t\tanchor,\n\t\tanchorRef as Element | undefined,\n\t\t( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top,\n\t\t( anchorRef as PopoverAnchorRefTopBottom | undefined )?.bottom,\n\t\t( anchorRef as Range | undefined )?.startContainer,\n\t\t( anchorRef as PopoverAnchorRefReference )?.current,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\treferenceCallbackRef,\n\t] );\n\n\t// If the reference element is in a different ownerDocument (e.g. iFrame),\n\t// we need to manually update the floating's position as the reference's owner\n\t// document scrolls. Also update the frame offset if the view resizes.\n\tuseLayoutEffect( () => {\n\t\tif (\n\t\t\t// Reference and root documents are the same.\n\t\t\treferenceOwnerDocument === document ||\n\t\t\t// Reference and floating are in the same document.\n\t\t\treferenceOwnerDocument === refs?.floating?.current?.ownerDocument ||\n\t\t\t// The reference's document has no view (i.e. window)\n\t\t\t// or frame element (ie. it's not an iframe).\n\t\t\t! referenceOwnerDocument?.defaultView?.frameElement\n\t\t) {\n\t\t\tframeOffsetRef.current = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst { defaultView } = referenceOwnerDocument;\n\n\t\tconst updateFrameOffset = () => {\n\t\t\tframeOffsetRef.current = getFrameOffset( referenceOwnerDocument );\n\t\t\tupdate();\n\t\t};\n\t\tdefaultView.addEventListener( 'resize', updateFrameOffset );\n\n\t\tupdateFrameOffset();\n\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'resize', updateFrameOffset );\n\t\t};\n\t}, [ referenceOwnerDocument, update ] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\tfloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<AnimatedWrapper\n\t\t\tshouldAnimate={ animate && ! isExpanded }\n\t\t\tplacement={ computedPlacement }\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-alternate': isAlternate,\n\t\t\t} ) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t\tstyle={\n\t\t\t\tisExpanded\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tposition: strategy,\n\t\t\t\t\t\t\tleft: Number.isNaN( x ) ? 0 : x ?? undefined,\n\t\t\t\t\t\t\ttop: Number.isNaN( y ) ? 0 : y ?? undefined,\n\t\t\t\t\t }\n\t\t\t}\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? `${\n\t\t\t\t\t\t\t\t\t\tarrowData.x +\n\t\t\t\t\t\t\t\t\t\t( frameOffsetRef.current?.x ?? 0 )\n\t\t\t\t\t\t\t\t }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? `${\n\t\t\t\t\t\t\t\t\t\tarrowData.y +\n\t\t\t\t\t\t\t\t\t\t( frameOffsetRef.current?.y ?? 0 )\n\t\t\t\t\t\t\t\t }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</AnimatedWrapper>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect || anchor ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\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"]}
@@ -157,6 +157,7 @@ export const getReferenceOwnerDocument = _ref => {
157
157
  var _resultingReferenceOw;
158
158
 
159
159
  let {
160
+ anchor,
160
161
  anchorRef,
161
162
  anchorRect,
162
163
  getAnchorRect,
@@ -172,7 +173,9 @@ export const getReferenceOwnerDocument = _ref => {
172
173
  // See https://floating-ui.com/docs/virtual-elements for more info.
173
174
  let resultingReferenceOwnerDoc;
174
175
 
175
- if (anchorRef !== null && anchorRef !== void 0 && anchorRef.top) {
176
+ if (anchor) {
177
+ resultingReferenceOwnerDoc = anchor.ownerDocument;
178
+ } else if (anchorRef !== null && anchorRef !== void 0 && anchorRef.top) {
176
179
  resultingReferenceOwnerDoc = anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.top.ownerDocument;
177
180
  } else if (anchorRef !== null && anchorRef !== void 0 && anchorRef.startContainer) {
178
181
  resultingReferenceOwnerDoc = anchorRef.startContainer.ownerDocument;
@@ -195,6 +198,7 @@ export const getReferenceElement = _ref2 => {
195
198
  var _referenceElement;
196
199
 
197
200
  let {
201
+ anchor,
198
202
  anchorRef,
199
203
  anchorRect,
200
204
  getAnchorRect,
@@ -202,7 +206,9 @@ export const getReferenceElement = _ref2 => {
202
206
  } = _ref2;
203
207
  let referenceElement = null;
204
208
 
205
- if (anchorRef !== null && anchorRef !== void 0 && anchorRef.top) {
209
+ if (anchor) {
210
+ referenceElement = anchor;
211
+ } else if (anchorRef !== null && anchorRef !== void 0 && anchorRef.top) {
206
212
  // Create a virtual element for the ref. The expectation is that
207
213
  // if anchorRef.top is defined, then anchorRef.bottom is defined too.
208
214
  // Seems to be used by the block toolbar, when multiple blocks are selected
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/popover/utils.ts"],"names":["positionToPlacement","position","x","y","z","split","includes","suffix","PLACEMENT_TO_ANIMATION_ORIGIN","top","originX","originY","right","bottom","left","placementToMotionAnimationProps","placement","translateProp","startsWith","translateDirection","style","initial","opacity","scale","animate","transition","duration","ease","getFrameOffset","document","frameElement","defaultView","iframeRect","getBoundingClientRect","getReferenceOwnerDocument","anchorRef","anchorRect","getAnchorRect","fallbackReferenceElement","fallbackDocument","resultingReferenceOwnerDoc","ownerDocument","startContainer","current","getReferenceElement","referenceElement","topRect","bottomRect","window","DOMRect","width","rect","height","parentElement"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { MotionProps } from 'framer-motion';\nimport type { ReferenceType } from '@floating-ui/react-dom';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\n\n/**\n * Converts the `Popover`'s legacy \"position\" prop to the new \"placement\" prop\n * (used by `floating-ui`).\n *\n * @param position The legacy position\n * @return The corresponding placement\n */\nexport const positionToPlacement = (\n\tposition: NonNullable< PopoverProps[ 'position' ] >\n): NonNullable< PopoverProps[ 'placement' ] > => {\n\tconst [ x, y, z ] = position.split( ' ' );\n\n\tif ( [ 'top', 'bottom' ].includes( x ) ) {\n\t\tlet suffix = '';\n\t\tif ( ( !! z && z === 'left' ) || y === 'right' ) {\n\t\t\tsuffix = '-start';\n\t\t} else if ( ( !! z && z === 'right' ) || y === 'left' ) {\n\t\t\tsuffix = '-end';\n\t\t}\n\n\t\treturn ( x + suffix ) as NonNullable< PopoverProps[ 'placement' ] >;\n\t}\n\n\treturn y as NonNullable< PopoverProps[ 'placement' ] >;\n};\n\n/**\n * @typedef AnimationOrigin\n * @type {Object}\n * @property {number} originX A number between 0 and 1 (in CSS logical properties jargon, 0 is \"start\", 0.5 is \"center\", and 1 is \"end\")\n * @property {number} originY A number between 0 and 1 (0 is top, 0.5 is center, and 1 is bottom)\n */\n\nconst PLACEMENT_TO_ANIMATION_ORIGIN: Record<\n\tNonNullable< PopoverProps[ 'placement' ] >,\n\t{ originX: number; originY: number }\n> = {\n\ttop: { originX: 0.5, originY: 1 }, // open from bottom, center\n\t'top-start': { originX: 0, originY: 1 }, // open from bottom, left\n\t'top-end': { originX: 1, originY: 1 }, // open from bottom, right\n\tright: { originX: 0, originY: 0.5 }, // open from middle, left\n\t'right-start': { originX: 0, originY: 0 }, // open from top, left\n\t'right-end': { originX: 0, originY: 1 }, // open from bottom, left\n\tbottom: { originX: 0.5, originY: 0 }, // open from top, center\n\t'bottom-start': { originX: 0, originY: 0 }, // open from top, left\n\t'bottom-end': { originX: 1, originY: 0 }, // open from top, right\n\tleft: { originX: 1, originY: 0.5 }, // open from middle, right\n\t'left-start': { originX: 1, originY: 0 }, // open from top, right\n\t'left-end': { originX: 1, originY: 1 }, // open from bottom, right\n};\n\n/**\n * Given the floating-ui `placement`, compute the framer-motion props for the\n * popover's entry animation.\n *\n * @param placement A placement string from floating ui\n * @return The object containing the motion props\n */\nexport const placementToMotionAnimationProps = (\n\tplacement: NonNullable< PopoverProps[ 'placement' ] >\n): MotionProps => {\n\tconst translateProp =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'bottom' )\n\t\t\t? 'translateY'\n\t\t\t: 'translateX';\n\tconst translateDirection =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'left' )\n\t\t\t? 1\n\t\t\t: -1;\n\n\treturn {\n\t\tstyle: PLACEMENT_TO_ANIMATION_ORIGIN[ placement ],\n\t\tinitial: {\n\t\t\topacity: 0,\n\t\t\tscale: 0,\n\t\t\t[ translateProp ]: `${ 2 * translateDirection }em`,\n\t\t},\n\t\tanimate: { opacity: 1, scale: 1, [ translateProp ]: 0 },\n\t\ttransition: { duration: 0.1, ease: [ 0, 0, 0.2, 1 ] },\n\t};\n};\n\n/**\n * Returns the offset of a document's frame element.\n *\n * @param document The iframe's owner document.\n *\n * @return The offset of the document's frame element, or undefined if the\n * document has no frame element.\n */\nexport const getFrameOffset = (\n\tdocument?: Document\n): { x: number; y: number } | undefined => {\n\tconst frameElement = document?.defaultView?.frameElement;\n\tif ( ! frameElement ) {\n\t\treturn;\n\t}\n\tconst iframeRect = frameElement.getBoundingClientRect();\n\treturn { x: iframeRect.left, y: iframeRect.top };\n};\n\nexport const getReferenceOwnerDocument = ( {\n\tanchorRef,\n\tanchorRect,\n\tgetAnchorRect,\n\tfallbackReferenceElement,\n\tfallbackDocument,\n}: Pick< PopoverProps, 'anchorRef' | 'anchorRect' | 'getAnchorRect' > & {\n\tfallbackReferenceElement: Element | null;\n\tfallbackDocument: Document;\n} ): Document => {\n\t// In floating-ui's terms:\n\t// - \"reference\" refers to the popover's anchor element.\n\t// - \"floating\" refers the floating popover's element.\n\t// A floating element can also be positioned relative to a virtual element,\n\t// instead of a real one. A virtual element is represented by an object\n\t// with the `getBoundingClientRect()` function (like real elements).\n\t// See https://floating-ui.com/docs/virtual-elements for more info.\n\tlet resultingReferenceOwnerDoc;\n\tif ( ( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top ) {\n\t\tresultingReferenceOwnerDoc = ( anchorRef as PopoverAnchorRefTopBottom )\n\t\t\t?.top.ownerDocument;\n\t} else if ( ( anchorRef as Range | undefined )?.startContainer ) {\n\t\tresultingReferenceOwnerDoc = ( anchorRef as Range ).startContainer\n\t\t\t.ownerDocument;\n\t} else if (\n\t\t( anchorRef as PopoverAnchorRefReference | undefined )?.current\n\t) {\n\t\tresultingReferenceOwnerDoc = (\n\t\t\t( anchorRef as PopoverAnchorRefReference ).current as Element\n\t\t ).ownerDocument;\n\t} else if ( anchorRef as Element | undefined ) {\n\t\t// This one should be deprecated.\n\t\tresultingReferenceOwnerDoc = ( anchorRef as Element ).ownerDocument;\n\t} else if ( anchorRect && anchorRect?.ownerDocument ) {\n\t\tresultingReferenceOwnerDoc = anchorRect.ownerDocument;\n\t} else if ( getAnchorRect ) {\n\t\tresultingReferenceOwnerDoc = getAnchorRect(\n\t\t\tfallbackReferenceElement\n\t\t)?.ownerDocument;\n\t}\n\n\treturn resultingReferenceOwnerDoc ?? fallbackDocument;\n};\n\nexport const getReferenceElement = ( {\n\tanchorRef,\n\tanchorRect,\n\tgetAnchorRect,\n\tfallbackReferenceElement,\n}: Pick< PopoverProps, 'anchorRef' | 'anchorRect' | 'getAnchorRect' > & {\n\tfallbackReferenceElement: Element | null;\n} ): ReferenceType | null => {\n\tlet referenceElement = null;\n\n\tif ( ( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top ) {\n\t\t// Create a virtual element for the ref. The expectation is that\n\t\t// if anchorRef.top is defined, then anchorRef.bottom is defined too.\n\t\t// Seems to be used by the block toolbar, when multiple blocks are selected\n\t\t// (top and bottom blocks are used to calculate the resulting rect).\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst topRect = (\n\t\t\t\t\tanchorRef as PopoverAnchorRefTopBottom\n\t\t\t\t ).top.getBoundingClientRect();\n\t\t\t\tconst bottomRect = (\n\t\t\t\t\tanchorRef as PopoverAnchorRefTopBottom\n\t\t\t\t ).bottom.getBoundingClientRect();\n\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\ttopRect.x,\n\t\t\t\t\ttopRect.y,\n\t\t\t\t\ttopRect.width,\n\t\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t} else if (\n\t\t( anchorRef as PopoverAnchorRefReference | undefined )?.current\n\t) {\n\t\t// Standard React ref.\n\t\treferenceElement = ( anchorRef as PopoverAnchorRefReference ).current;\n\t} else if ( anchorRef as Element | undefined ) {\n\t\t// If `anchorRef` holds directly the element's value (no `current` key)\n\t\t// This is a weird scenario and should be deprecated.\n\t\treferenceElement = anchorRef as Element;\n\t} else if ( anchorRect ) {\n\t\t// Create a virtual element for the ref.\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn anchorRect;\n\t\t\t},\n\t\t};\n\t} else if ( getAnchorRect ) {\n\t\t// Create a virtual element for the ref.\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst rect = getAnchorRect( fallbackReferenceElement );\n\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\trect.x ?? rect.left,\n\t\t\t\t\trect.y ?? rect.top,\n\t\t\t\t\trect.width ?? rect.right - rect.left,\n\t\t\t\t\trect.height ?? rect.bottom - rect.top\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t} else if ( fallbackReferenceElement ) {\n\t\t// If no explicit ref is passed via props, fall back to\n\t\t// anchoring to the popover's parent node.\n\t\treferenceElement = fallbackReferenceElement.parentElement;\n\t}\n\n\t// Convert any `undefined` value to `null`.\n\treturn referenceElement ?? null;\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/popover/utils.ts"],"names":["positionToPlacement","position","x","y","z","split","includes","suffix","PLACEMENT_TO_ANIMATION_ORIGIN","top","originX","originY","right","bottom","left","placementToMotionAnimationProps","placement","translateProp","startsWith","translateDirection","style","initial","opacity","scale","animate","transition","duration","ease","getFrameOffset","document","frameElement","defaultView","iframeRect","getBoundingClientRect","getReferenceOwnerDocument","anchor","anchorRef","anchorRect","getAnchorRect","fallbackReferenceElement","fallbackDocument","resultingReferenceOwnerDoc","ownerDocument","startContainer","current","getReferenceElement","referenceElement","topRect","bottomRect","window","DOMRect","width","rect","height","parentElement"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { MotionProps } from 'framer-motion';\nimport type { ReferenceType } from '@floating-ui/react-dom';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\n\n/**\n * Converts the `Popover`'s legacy \"position\" prop to the new \"placement\" prop\n * (used by `floating-ui`).\n *\n * @param position The legacy position\n * @return The corresponding placement\n */\nexport const positionToPlacement = (\n\tposition: NonNullable< PopoverProps[ 'position' ] >\n): NonNullable< PopoverProps[ 'placement' ] > => {\n\tconst [ x, y, z ] = position.split( ' ' );\n\n\tif ( [ 'top', 'bottom' ].includes( x ) ) {\n\t\tlet suffix = '';\n\t\tif ( ( !! z && z === 'left' ) || y === 'right' ) {\n\t\t\tsuffix = '-start';\n\t\t} else if ( ( !! z && z === 'right' ) || y === 'left' ) {\n\t\t\tsuffix = '-end';\n\t\t}\n\n\t\treturn ( x + suffix ) as NonNullable< PopoverProps[ 'placement' ] >;\n\t}\n\n\treturn y as NonNullable< PopoverProps[ 'placement' ] >;\n};\n\n/**\n * @typedef AnimationOrigin\n * @type {Object}\n * @property {number} originX A number between 0 and 1 (in CSS logical properties jargon, 0 is \"start\", 0.5 is \"center\", and 1 is \"end\")\n * @property {number} originY A number between 0 and 1 (0 is top, 0.5 is center, and 1 is bottom)\n */\n\nconst PLACEMENT_TO_ANIMATION_ORIGIN: Record<\n\tNonNullable< PopoverProps[ 'placement' ] >,\n\t{ originX: number; originY: number }\n> = {\n\ttop: { originX: 0.5, originY: 1 }, // open from bottom, center\n\t'top-start': { originX: 0, originY: 1 }, // open from bottom, left\n\t'top-end': { originX: 1, originY: 1 }, // open from bottom, right\n\tright: { originX: 0, originY: 0.5 }, // open from middle, left\n\t'right-start': { originX: 0, originY: 0 }, // open from top, left\n\t'right-end': { originX: 0, originY: 1 }, // open from bottom, left\n\tbottom: { originX: 0.5, originY: 0 }, // open from top, center\n\t'bottom-start': { originX: 0, originY: 0 }, // open from top, left\n\t'bottom-end': { originX: 1, originY: 0 }, // open from top, right\n\tleft: { originX: 1, originY: 0.5 }, // open from middle, right\n\t'left-start': { originX: 1, originY: 0 }, // open from top, right\n\t'left-end': { originX: 1, originY: 1 }, // open from bottom, right\n};\n\n/**\n * Given the floating-ui `placement`, compute the framer-motion props for the\n * popover's entry animation.\n *\n * @param placement A placement string from floating ui\n * @return The object containing the motion props\n */\nexport const placementToMotionAnimationProps = (\n\tplacement: NonNullable< PopoverProps[ 'placement' ] >\n): MotionProps => {\n\tconst translateProp =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'bottom' )\n\t\t\t? 'translateY'\n\t\t\t: 'translateX';\n\tconst translateDirection =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'left' )\n\t\t\t? 1\n\t\t\t: -1;\n\n\treturn {\n\t\tstyle: PLACEMENT_TO_ANIMATION_ORIGIN[ placement ],\n\t\tinitial: {\n\t\t\topacity: 0,\n\t\t\tscale: 0,\n\t\t\t[ translateProp ]: `${ 2 * translateDirection }em`,\n\t\t},\n\t\tanimate: { opacity: 1, scale: 1, [ translateProp ]: 0 },\n\t\ttransition: { duration: 0.1, ease: [ 0, 0, 0.2, 1 ] },\n\t};\n};\n\n/**\n * Returns the offset of a document's frame element.\n *\n * @param document The iframe's owner document.\n *\n * @return The offset of the document's frame element, or undefined if the\n * document has no frame element.\n */\nexport const getFrameOffset = (\n\tdocument?: Document\n): { x: number; y: number } | undefined => {\n\tconst frameElement = document?.defaultView?.frameElement;\n\tif ( ! frameElement ) {\n\t\treturn;\n\t}\n\tconst iframeRect = frameElement.getBoundingClientRect();\n\treturn { x: iframeRect.left, y: iframeRect.top };\n};\n\nexport const getReferenceOwnerDocument = ( {\n\tanchor,\n\tanchorRef,\n\tanchorRect,\n\tgetAnchorRect,\n\tfallbackReferenceElement,\n\tfallbackDocument,\n}: Pick<\n\tPopoverProps,\n\t'anchorRef' | 'anchorRect' | 'getAnchorRect' | 'anchor'\n> & {\n\tfallbackReferenceElement: Element | null;\n\tfallbackDocument: Document;\n} ): Document => {\n\t// In floating-ui's terms:\n\t// - \"reference\" refers to the popover's anchor element.\n\t// - \"floating\" refers the floating popover's element.\n\t// A floating element can also be positioned relative to a virtual element,\n\t// instead of a real one. A virtual element is represented by an object\n\t// with the `getBoundingClientRect()` function (like real elements).\n\t// See https://floating-ui.com/docs/virtual-elements for more info.\n\tlet resultingReferenceOwnerDoc;\n\tif ( anchor ) {\n\t\tresultingReferenceOwnerDoc = anchor.ownerDocument;\n\t} else if ( ( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top ) {\n\t\tresultingReferenceOwnerDoc = ( anchorRef as PopoverAnchorRefTopBottom )\n\t\t\t?.top.ownerDocument;\n\t} else if ( ( anchorRef as Range | undefined )?.startContainer ) {\n\t\tresultingReferenceOwnerDoc = ( anchorRef as Range ).startContainer\n\t\t\t.ownerDocument;\n\t} else if (\n\t\t( anchorRef as PopoverAnchorRefReference | undefined )?.current\n\t) {\n\t\tresultingReferenceOwnerDoc = (\n\t\t\t( anchorRef as PopoverAnchorRefReference ).current as Element\n\t\t ).ownerDocument;\n\t} else if ( anchorRef as Element | undefined ) {\n\t\t// This one should be deprecated.\n\t\tresultingReferenceOwnerDoc = ( anchorRef as Element ).ownerDocument;\n\t} else if ( anchorRect && anchorRect?.ownerDocument ) {\n\t\tresultingReferenceOwnerDoc = anchorRect.ownerDocument;\n\t} else if ( getAnchorRect ) {\n\t\tresultingReferenceOwnerDoc = getAnchorRect(\n\t\t\tfallbackReferenceElement\n\t\t)?.ownerDocument;\n\t}\n\n\treturn resultingReferenceOwnerDoc ?? fallbackDocument;\n};\n\nexport const getReferenceElement = ( {\n\tanchor,\n\tanchorRef,\n\tanchorRect,\n\tgetAnchorRect,\n\tfallbackReferenceElement,\n}: Pick<\n\tPopoverProps,\n\t'anchorRef' | 'anchorRect' | 'getAnchorRect' | 'anchor'\n> & {\n\tfallbackReferenceElement: Element | null;\n} ): ReferenceType | null => {\n\tlet referenceElement = null;\n\n\tif ( anchor ) {\n\t\treferenceElement = anchor;\n\t} else if ( ( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top ) {\n\t\t// Create a virtual element for the ref. The expectation is that\n\t\t// if anchorRef.top is defined, then anchorRef.bottom is defined too.\n\t\t// Seems to be used by the block toolbar, when multiple blocks are selected\n\t\t// (top and bottom blocks are used to calculate the resulting rect).\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst topRect = (\n\t\t\t\t\tanchorRef as PopoverAnchorRefTopBottom\n\t\t\t\t ).top.getBoundingClientRect();\n\t\t\t\tconst bottomRect = (\n\t\t\t\t\tanchorRef as PopoverAnchorRefTopBottom\n\t\t\t\t ).bottom.getBoundingClientRect();\n\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\ttopRect.x,\n\t\t\t\t\ttopRect.y,\n\t\t\t\t\ttopRect.width,\n\t\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t} else if (\n\t\t( anchorRef as PopoverAnchorRefReference | undefined )?.current\n\t) {\n\t\t// Standard React ref.\n\t\treferenceElement = ( anchorRef as PopoverAnchorRefReference ).current;\n\t} else if ( anchorRef as Element | undefined ) {\n\t\t// If `anchorRef` holds directly the element's value (no `current` key)\n\t\t// This is a weird scenario and should be deprecated.\n\t\treferenceElement = anchorRef as Element;\n\t} else if ( anchorRect ) {\n\t\t// Create a virtual element for the ref.\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn anchorRect;\n\t\t\t},\n\t\t};\n\t} else if ( getAnchorRect ) {\n\t\t// Create a virtual element for the ref.\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst rect = getAnchorRect( fallbackReferenceElement );\n\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\trect.x ?? rect.left,\n\t\t\t\t\trect.y ?? rect.top,\n\t\t\t\t\trect.width ?? rect.right - rect.left,\n\t\t\t\t\trect.height ?? rect.bottom - rect.top\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t} else if ( fallbackReferenceElement ) {\n\t\t// If no explicit ref is passed via props, fall back to\n\t\t// anchoring to the popover's parent node.\n\t\treferenceElement = fallbackReferenceElement.parentElement;\n\t}\n\n\t// Convert any `undefined` value to `null`.\n\treturn referenceElement ?? null;\n};\n"]}
@@ -4,7 +4,7 @@ import { createElement } from "@wordpress/element";
4
4
  /**
5
5
  * WordPress dependencies
6
6
  */
7
- import { Children, cloneElement, concatChildren, useEffect, useState, useRef } from '@wordpress/element';
7
+ import { Children, cloneElement, concatChildren, useEffect, useState } from '@wordpress/element';
8
8
  import { useDebounce, useMergeRefs } from '@wordpress/compose';
9
9
  /**
10
10
  * Internal dependencies
@@ -54,7 +54,7 @@ const getRegularElement = _ref2 => {
54
54
 
55
55
  const addPopoverToGrandchildren = _ref3 => {
56
56
  let {
57
- anchorRef,
57
+ anchor,
58
58
  grandchildren,
59
59
  isOver,
60
60
  offset,
@@ -69,7 +69,7 @@ const addPopoverToGrandchildren = _ref3 => {
69
69
  "aria-hidden": "true",
70
70
  animate: false,
71
71
  offset: offset,
72
- anchorRef: anchorRef,
72
+ anchor: anchor,
73
73
  shift: true
74
74
  }, text, createElement(Shortcut, {
75
75
  className: "components-tooltip__shortcut",
@@ -112,13 +112,15 @@ function Tooltip(props) {
112
112
 
113
113
  const [isMouseDown, setIsMouseDown] = useState(false);
114
114
  const [isOver, setIsOver] = useState(false);
115
- const delayedSetIsOver = useDebounce(setIsOver, delay); // Create a reference to the Tooltip's child, to be passed to the Popover
115
+ const delayedSetIsOver = useDebounce(setIsOver, delay); // Using internal state (instead of a ref) for the popover anchor to make sure
116
+ // that the component re-renders when the anchor updates.
117
+
118
+ const [popoverAnchor, setPopoverAnchor] = useState(null); // Create a reference to the Tooltip's child, to be passed to the Popover
116
119
  // so that the Tooltip can be correctly positioned. Also, merge with the
117
120
  // existing ref for the first child, so that its ref is preserved.
118
121
 
119
- const childRef = useRef(null);
120
122
  const existingChildRef = (_Children$toArray$ = Children.toArray(children)[0]) === null || _Children$toArray$ === void 0 ? void 0 : _Children$toArray$.ref;
121
- const mergedChildRefs = useMergeRefs([childRef, existingChildRef]);
123
+ const mergedChildRefs = useMergeRefs([setPopoverAnchor, existingChildRef]);
122
124
 
123
125
  const createMouseDown = event => {
124
126
  // In firefox, the mouse down event is also fired when the select
@@ -239,7 +241,7 @@ function Tooltip(props) {
239
241
  } = child.props;
240
242
  const getElementWithPopover = disabled ? getDisabledElement : getRegularElement;
241
243
  const popoverData = {
242
- anchorRef: childRef,
244
+ anchor: popoverAnchor,
243
245
  isOver,
244
246
  offset: 4,
245
247
  position,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["Children","cloneElement","concatChildren","useEffect","useState","useRef","useDebounce","useMergeRefs","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","mergedRefs","children","ref","getRegularElement","addPopoverToGrandchildren","anchorRef","grandchildren","isOver","offset","position","shortcut","text","emitToChild","eventName","event","count","only","props","disabled","Tooltip","delay","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","childRef","existingChildRef","toArray","mergedChildRefs","createMouseDown","target","tagName","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","includes","clearOnUnmount","process","env","NODE_ENV","console","error","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","onMouseDown","getElementWithPopover","popoverData"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { useDebounce, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\nexport const TOOLTIP_DELAY = 700;\n\nconst eventCatcher = <div className=\"event-catcher\" />;\n\nconst getDisabledElement = ( {\n\teventHandlers,\n\tchild,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement(\n\t\t<span className=\"disabled-element-wrapper\">\n\t\t\t{ cloneElement( eventCatcher, eventHandlers ) }\n\t\t\t{ cloneElement( child, {\n\t\t\t\tchildren: childrenWithPopover,\n\t\t\t\tref: mergedRefs,\n\t\t\t} ) }\n\t\t</span>,\n\t\t{ ...eventHandlers }\n\t);\n};\n\nconst getRegularElement = ( {\n\tchild,\n\teventHandlers,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t\tref: mergedRefs,\n\t} );\n};\n\nconst addPopoverToGrandchildren = ( {\n\tanchorRef,\n\tgrandchildren,\n\tisOver,\n\toffset,\n\tposition,\n\tshortcut,\n\ttext,\n} ) =>\n\tconcatChildren(\n\t\tgrandchildren,\n\t\tisOver && (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tposition={ position }\n\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\toffset={ offset }\n\t\t\t\tanchorRef={ anchorRef }\n\t\t\t\tshift\n\t\t\t>\n\t\t\t\t{ text }\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-tooltip__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t)\n\t);\n\nconst emitToChild = ( children, eventName, event ) => {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn;\n\t}\n\n\tconst child = Children.only( children );\n\n\t// If the underlying element is disabled, do not emit the event.\n\tif ( child.props.disabled ) {\n\t\treturn;\n\t}\n\n\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\tchild.props[ eventName ]( event );\n\t}\n};\n\nfunction Tooltip( props ) {\n\tconst {\n\t\tchildren,\n\t\tposition = 'bottom middle',\n\t\ttext,\n\t\tshortcut,\n\t\tdelay = TOOLTIP_DELAY,\n\t} = props;\n\t/**\n\t * Whether a mouse is currently pressed, used in determining whether\n\t * to handle a focus event as displaying the tooltip immediately.\n\t *\n\t * @type {boolean}\n\t */\n\tconst [ isMouseDown, setIsMouseDown ] = useState( false );\n\tconst [ isOver, setIsOver ] = useState( false );\n\tconst delayedSetIsOver = useDebounce( setIsOver, delay );\n\n\t// Create a reference to the Tooltip's child, to be passed to the Popover\n\t// so that the Tooltip can be correctly positioned. Also, merge with the\n\t// existing ref for the first child, so that its ref is preserved.\n\tconst childRef = useRef( null );\n\tconst existingChildRef = Children.toArray( children )[ 0 ]?.ref;\n\tconst mergedChildRefs = useMergeRefs( [ childRef, existingChildRef ] );\n\n\tconst createMouseDown = ( event ) => {\n\t\t// In firefox, the mouse down event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Preserve original child callback behavior.\n\t\temitToChild( children, 'onMouseDown', event );\n\n\t\t// On mouse down, the next `mouseup` should revert the value of the\n\t\t// instance property and remove its own event handler. The bind is\n\t\t// made on the document since the `mouseup` might not occur within\n\t\t// the bounds of the element.\n\t\tdocument.addEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( true );\n\t};\n\n\tconst createMouseUp = ( event ) => {\n\t\t// In firefox, the mouse up event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\temitToChild( children, 'onMouseUp', event );\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( false );\n\t};\n\n\tconst createMouseEvent = ( type ) => {\n\t\tif ( type === 'mouseUp' ) return createMouseUp;\n\t\tif ( type === 'mouseDown' ) return createMouseDown;\n\t};\n\n\t/**\n\t * Prebound `isInMouseDown` handler, created as a constant reference to\n\t * assure ability to remove in component unmount.\n\t *\n\t * @type {Function}\n\t */\n\tconst cancelIsMouseDown = createMouseEvent( 'mouseUp' );\n\n\tconst createToggleIsOver = ( eventName, isDelayed ) => {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior.\n\t\t\temitToChild( children, eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// A focus event will occur as a result of a mouse click, but it\n\t\t\t// should be disambiguated between interacting with the button and\n\t\t\t// using an explicit focus shift as a cue to display the tooltip.\n\t\t\tif ( 'focus' === event.type && isMouseDown ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called.\n\t\t\tdelayedSetIsOver.cancel();\n\n\t\t\tconst _isOver = [ 'focus', 'mouseenter' ].includes( event.type );\n\t\t\tif ( _isOver === isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tdelayedSetIsOver( _isOver );\n\t\t\t} else {\n\t\t\t\tsetIsOver( _isOver );\n\t\t\t}\n\t\t};\n\t};\n\tconst clearOnUnmount = () => {\n\t\tdelayedSetIsOver.cancel();\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t};\n\n\tuseEffect( () => clearOnUnmount, [] );\n\n\tif ( Children.count( children ) !== 1 ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n\n\tconst eventHandlers = {\n\t\tonMouseEnter: createToggleIsOver( 'onMouseEnter', true ),\n\t\tonMouseLeave: createToggleIsOver( 'onMouseLeave' ),\n\t\tonClick: createToggleIsOver( 'onClick' ),\n\t\tonFocus: createToggleIsOver( 'onFocus' ),\n\t\tonBlur: createToggleIsOver( 'onBlur' ),\n\t\tonMouseDown: createMouseEvent( 'mouseDown' ),\n\t};\n\n\tconst child = Children.only( children );\n\tconst { children: grandchildren, disabled } = child.props;\n\tconst getElementWithPopover = disabled\n\t\t? getDisabledElement\n\t\t: getRegularElement;\n\n\tconst popoverData = {\n\t\tanchorRef: childRef,\n\t\tisOver,\n\t\toffset: 4,\n\t\tposition,\n\t\tshortcut,\n\t\ttext,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t\tmergedRefs: mergedChildRefs,\n\t} );\n}\n\nexport default Tooltip;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["Children","cloneElement","concatChildren","useEffect","useState","useDebounce","useMergeRefs","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","mergedRefs","children","ref","getRegularElement","addPopoverToGrandchildren","anchor","grandchildren","isOver","offset","position","shortcut","text","emitToChild","eventName","event","count","only","props","disabled","Tooltip","delay","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","popoverAnchor","setPopoverAnchor","existingChildRef","toArray","mergedChildRefs","createMouseDown","target","tagName","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","includes","clearOnUnmount","process","env","NODE_ENV","console","error","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","onMouseDown","getElementWithPopover","popoverData"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\nexport const TOOLTIP_DELAY = 700;\n\nconst eventCatcher = <div className=\"event-catcher\" />;\n\nconst getDisabledElement = ( {\n\teventHandlers,\n\tchild,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement(\n\t\t<span className=\"disabled-element-wrapper\">\n\t\t\t{ cloneElement( eventCatcher, eventHandlers ) }\n\t\t\t{ cloneElement( child, {\n\t\t\t\tchildren: childrenWithPopover,\n\t\t\t\tref: mergedRefs,\n\t\t\t} ) }\n\t\t</span>,\n\t\t{ ...eventHandlers }\n\t);\n};\n\nconst getRegularElement = ( {\n\tchild,\n\teventHandlers,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t\tref: mergedRefs,\n\t} );\n};\n\nconst addPopoverToGrandchildren = ( {\n\tanchor,\n\tgrandchildren,\n\tisOver,\n\toffset,\n\tposition,\n\tshortcut,\n\ttext,\n} ) =>\n\tconcatChildren(\n\t\tgrandchildren,\n\t\tisOver && (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tposition={ position }\n\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\toffset={ offset }\n\t\t\t\tanchor={ anchor }\n\t\t\t\tshift\n\t\t\t>\n\t\t\t\t{ text }\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-tooltip__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t)\n\t);\n\nconst emitToChild = ( children, eventName, event ) => {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn;\n\t}\n\n\tconst child = Children.only( children );\n\n\t// If the underlying element is disabled, do not emit the event.\n\tif ( child.props.disabled ) {\n\t\treturn;\n\t}\n\n\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\tchild.props[ eventName ]( event );\n\t}\n};\n\nfunction Tooltip( props ) {\n\tconst {\n\t\tchildren,\n\t\tposition = 'bottom middle',\n\t\ttext,\n\t\tshortcut,\n\t\tdelay = TOOLTIP_DELAY,\n\t} = props;\n\t/**\n\t * Whether a mouse is currently pressed, used in determining whether\n\t * to handle a focus event as displaying the tooltip immediately.\n\t *\n\t * @type {boolean}\n\t */\n\tconst [ isMouseDown, setIsMouseDown ] = useState( false );\n\tconst [ isOver, setIsOver ] = useState( false );\n\tconst delayedSetIsOver = useDebounce( setIsOver, delay );\n\t// Using internal state (instead of a ref) for the popover anchor to make sure\n\t// that the component re-renders when the anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\t// Create a reference to the Tooltip's child, to be passed to the Popover\n\t// so that the Tooltip can be correctly positioned. Also, merge with the\n\t// existing ref for the first child, so that its ref is preserved.\n\tconst existingChildRef = Children.toArray( children )[ 0 ]?.ref;\n\tconst mergedChildRefs = useMergeRefs( [\n\t\tsetPopoverAnchor,\n\t\texistingChildRef,\n\t] );\n\n\tconst createMouseDown = ( event ) => {\n\t\t// In firefox, the mouse down event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Preserve original child callback behavior.\n\t\temitToChild( children, 'onMouseDown', event );\n\n\t\t// On mouse down, the next `mouseup` should revert the value of the\n\t\t// instance property and remove its own event handler. The bind is\n\t\t// made on the document since the `mouseup` might not occur within\n\t\t// the bounds of the element.\n\t\tdocument.addEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( true );\n\t};\n\n\tconst createMouseUp = ( event ) => {\n\t\t// In firefox, the mouse up event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\temitToChild( children, 'onMouseUp', event );\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( false );\n\t};\n\n\tconst createMouseEvent = ( type ) => {\n\t\tif ( type === 'mouseUp' ) return createMouseUp;\n\t\tif ( type === 'mouseDown' ) return createMouseDown;\n\t};\n\n\t/**\n\t * Prebound `isInMouseDown` handler, created as a constant reference to\n\t * assure ability to remove in component unmount.\n\t *\n\t * @type {Function}\n\t */\n\tconst cancelIsMouseDown = createMouseEvent( 'mouseUp' );\n\n\tconst createToggleIsOver = ( eventName, isDelayed ) => {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior.\n\t\t\temitToChild( children, eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// A focus event will occur as a result of a mouse click, but it\n\t\t\t// should be disambiguated between interacting with the button and\n\t\t\t// using an explicit focus shift as a cue to display the tooltip.\n\t\t\tif ( 'focus' === event.type && isMouseDown ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called.\n\t\t\tdelayedSetIsOver.cancel();\n\n\t\t\tconst _isOver = [ 'focus', 'mouseenter' ].includes( event.type );\n\t\t\tif ( _isOver === isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tdelayedSetIsOver( _isOver );\n\t\t\t} else {\n\t\t\t\tsetIsOver( _isOver );\n\t\t\t}\n\t\t};\n\t};\n\tconst clearOnUnmount = () => {\n\t\tdelayedSetIsOver.cancel();\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t};\n\n\tuseEffect( () => clearOnUnmount, [] );\n\n\tif ( Children.count( children ) !== 1 ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n\n\tconst eventHandlers = {\n\t\tonMouseEnter: createToggleIsOver( 'onMouseEnter', true ),\n\t\tonMouseLeave: createToggleIsOver( 'onMouseLeave' ),\n\t\tonClick: createToggleIsOver( 'onClick' ),\n\t\tonFocus: createToggleIsOver( 'onFocus' ),\n\t\tonBlur: createToggleIsOver( 'onBlur' ),\n\t\tonMouseDown: createMouseEvent( 'mouseDown' ),\n\t};\n\n\tconst child = Children.only( children );\n\tconst { children: grandchildren, disabled } = child.props;\n\tconst getElementWithPopover = disabled\n\t\t? getDisabledElement\n\t\t: getRegularElement;\n\n\tconst popoverData = {\n\t\tanchor: popoverAnchor,\n\t\tisOver,\n\t\toffset: 4,\n\t\tposition,\n\t\tshortcut,\n\t\ttext,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t\tmergedRefs: mergedChildRefs,\n\t} );\n}\n\nexport default Tooltip;\n"]}
@@ -423,8 +423,9 @@ p + .components-button.is-tertiary {
423
423
  font-size: 11px;
424
424
  }
425
425
  .components-button.is-small.has-icon:not(.has-text) {
426
- padding: 0 8px;
426
+ padding: 0;
427
427
  width: 24px;
428
+ min-width: 24px;
428
429
  }
429
430
  .components-button.has-icon {
430
431
  padding: 6px;
@@ -1893,8 +1894,6 @@ body.is-dragging-components-draggable {
1893
1894
  background-color: rgba(0, 0, 0, 0.35);
1894
1895
  z-index: 100000;
1895
1896
  display: flex;
1896
- -webkit-backdrop-filter: blur(8px);
1897
- backdrop-filter: blur(8px);
1898
1897
  animation: edit-post__fade-in-animation 0.2s ease-out 0s;
1899
1898
  animation-fill-mode: forwards;
1900
1899
  }
@@ -423,8 +423,9 @@ p + .components-button.is-tertiary {
423
423
  font-size: 11px;
424
424
  }
425
425
  .components-button.is-small.has-icon:not(.has-text) {
426
- padding: 0 8px;
426
+ padding: 0;
427
427
  width: 24px;
428
+ min-width: 24px;
428
429
  }
429
430
  .components-button.has-icon {
430
431
  padding: 6px;
@@ -1896,8 +1897,6 @@ body.is-dragging-components-draggable {
1896
1897
  background-color: rgba(0, 0, 0, 0.35);
1897
1898
  z-index: 100000;
1898
1899
  display: flex;
1899
- -webkit-backdrop-filter: blur(8px);
1900
- backdrop-filter: blur(8px);
1901
1900
  animation: edit-post__fade-in-animation 0.2s ease-out 0s;
1902
1901
  animation-fill-mode: forwards;
1903
1902
  }
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/border-box-control/border-box-control/component.tsx"],"names":[],"mappings":";AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAoH7D,QAAA,MAAM,yBAAyB;;;;;;;6CAG9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/border-box-control/border-box-control/component.tsx"],"names":[],"mappings":";AAqBA,OAAO,KAAK,EACX,UAAU,EAEV,MAAM,4BAA4B,CAAC;AA+HpC,QAAA,MAAM,yBAAyB;;;;;;;6CAG9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/border-box-control/border-box-control-linked-button/component.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AA2BlD,QAAA,MAAM,qCAAqC,oHAG1C,CAAC;AACF,eAAe,qCAAqC,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/border-box-control/border-box-control-linked-button/component.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AA0BlD,QAAA,MAAM,qCAAqC,oHAG1C,CAAC;AACF,eAAe,qCAAqC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/border-box-control/border-box-control-split-controls/component.tsx"],"names":[],"mappings":";AA+GA,QAAA,MAAM,sCAAsC;;;;;;;6CAG3C,CAAC;AACF,eAAe,sCAAsC,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/border-box-control/border-box-control-split-controls/component.tsx"],"names":[],"mappings":";AAuHA,QAAA,MAAM,sCAAsC;;;;;;;6CAG3C,CAAC;AACF,eAAe,sCAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/border-box-control/styles.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,gBAAgB,2CAAQ,CAAC;AAEtC,eAAO,MAAM,mBAAmB,2CAE/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,4FAQxC,CAAC;AAiBF,eAAO,MAAM,0BAA0B,2HAmBtC,CAAC;AAEF,eAAO,MAAM,6BAA6B,iDAIzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,2CAGjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,iDAE9B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/border-box-control/styles.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,gBAAgB,2CAAQ,CAAC;AAEtC,eAAO,MAAM,mBAAmB,2CAE/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,4FASxC,CAAC;AAiBF,eAAO,MAAM,0BAA0B,2HAmBtC,CAAC;AAEF,eAAO,MAAM,6BAA6B,iDAIzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,2CAGjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,iDAE9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dropdown/index.js"],"names":[],"mappings":"AA6BA,0DAgGC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dropdown/index.js"],"names":[],"mappings":"AA8BA,0DA2GC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/popover/index.tsx"],"names":[],"mappings":";AA4DA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EACX,YAAY,EAIZ,MAAM,SAAS,CAAC;AAsdjB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,OAAO,qhCAAmC,CAAC;AAsBxD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/popover/index.tsx"],"names":[],"mappings":";AA4DA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EACX,YAAY,EAIZ,MAAM,SAAS,CAAC;AAsfjB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,OAAO,qhCAAmC,CAAC;AAsBxD,eAAe,OAAO,CAAC"}