@wordpress/components 19.0.3 → 19.1.1

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 (116) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/circular-option-picker/index.js +2 -2
  3. package/build/circular-option-picker/index.js.map +1 -1
  4. package/build/color-palette/index.js +1 -0
  5. package/build/color-palette/index.js.map +1 -1
  6. package/build/date-time/time.js +17 -3
  7. package/build/date-time/time.js.map +1 -1
  8. package/build/duotone-picker/duotone-picker.js +2 -1
  9. package/build/duotone-picker/duotone-picker.js.map +1 -1
  10. package/build/font-size-picker/index.js +2 -1
  11. package/build/font-size-picker/index.js.map +1 -1
  12. package/build/index.js +7 -7
  13. package/build/index.js.map +1 -1
  14. package/build/mobile/global-styles-context/utils.native.js +3 -3
  15. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  16. package/build/navigation/item/index.js +6 -3
  17. package/build/navigation/item/index.js.map +1 -1
  18. package/build/navigation/styles/navigation-styles.js +37 -30
  19. package/build/navigation/styles/navigation-styles.js.map +1 -1
  20. package/build/palette-edit/index.js +303 -0
  21. package/build/palette-edit/index.js.map +1 -0
  22. package/build/palette-edit/styles.js +112 -0
  23. package/build/palette-edit/styles.js.map +1 -0
  24. package/build/popover/index.js +1 -1
  25. package/build/popover/index.js.map +1 -1
  26. package/build/toggle-group-control/toggle-group-control-option/component.js +30 -4
  27. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  28. package/build/tooltip/index.js +4 -4
  29. package/build/tooltip/index.js.map +1 -1
  30. package/build-module/circular-option-picker/index.js +2 -2
  31. package/build-module/circular-option-picker/index.js.map +1 -1
  32. package/build-module/color-palette/index.js +1 -0
  33. package/build-module/color-palette/index.js.map +1 -1
  34. package/build-module/date-time/time.js +17 -3
  35. package/build-module/date-time/time.js.map +1 -1
  36. package/build-module/duotone-picker/duotone-picker.js +2 -1
  37. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  38. package/build-module/font-size-picker/index.js +2 -1
  39. package/build-module/font-size-picker/index.js.map +1 -1
  40. package/build-module/index.js +1 -1
  41. package/build-module/index.js.map +1 -1
  42. package/build-module/mobile/global-styles-context/utils.native.js +3 -3
  43. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  44. package/build-module/navigation/item/index.js +7 -4
  45. package/build-module/navigation/item/index.js.map +1 -1
  46. package/build-module/navigation/styles/navigation-styles.js +34 -28
  47. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  48. package/build-module/palette-edit/index.js +276 -0
  49. package/build-module/palette-edit/index.js.map +1 -0
  50. package/build-module/palette-edit/styles.js +90 -0
  51. package/build-module/palette-edit/styles.js.map +1 -0
  52. package/build-module/popover/index.js +1 -1
  53. package/build-module/popover/index.js.map +1 -1
  54. package/build-module/toggle-group-control/toggle-group-control-option/component.js +26 -5
  55. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  56. package/build-module/tooltip/index.js +4 -4
  57. package/build-module/tooltip/index.js.map +1 -1
  58. package/build-style/style-rtl.css +21 -1
  59. package/build-style/style.css +21 -1
  60. package/build-types/confirm-dialog/component.d.ts +34 -0
  61. package/build-types/confirm-dialog/component.d.ts.map +1 -0
  62. package/build-types/confirm-dialog/index.d.ts +6 -0
  63. package/build-types/confirm-dialog/index.d.ts.map +1 -0
  64. package/build-types/confirm-dialog/types.d.ts +20 -0
  65. package/build-types/confirm-dialog/types.d.ts.map +1 -0
  66. package/build-types/higher-order/with-focus-outside/index.d.ts +3 -0
  67. package/build-types/higher-order/with-focus-outside/index.d.ts.map +1 -0
  68. package/build-types/modal/aria-helper.d.ts +27 -0
  69. package/build-types/modal/aria-helper.d.ts.map +1 -0
  70. package/build-types/modal/index.d.ts +3 -0
  71. package/build-types/modal/index.d.ts.map +1 -0
  72. package/build-types/popover/index.d.ts.map +1 -1
  73. package/build-types/style-provider/index.d.ts +5 -0
  74. package/build-types/style-provider/index.d.ts.map +1 -0
  75. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  76. package/build-types/toggle-group-control/types.d.ts +23 -0
  77. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  78. package/build-types/tooltip/index.d.ts +1 -7
  79. package/build-types/tooltip/index.d.ts.map +1 -1
  80. package/package.json +2 -2
  81. package/src/circular-option-picker/index.js +7 -5
  82. package/src/color-palette/index.js +1 -0
  83. package/src/color-palette/style.scss +9 -0
  84. package/src/color-palette/test/__snapshots__/index.js.snap +2 -0
  85. package/src/date-time/test/time.js +32 -2
  86. package/src/date-time/time.js +14 -6
  87. package/src/duotone-picker/duotone-picker.js +8 -5
  88. package/src/font-size-picker/index.js +1 -0
  89. package/src/index.js +1 -1
  90. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +4 -4
  91. package/src/mobile/global-styles-context/utils.native.js +3 -3
  92. package/src/navigation/item/index.js +10 -3
  93. package/src/navigation/stories/more-examples.js +2 -1
  94. package/src/navigation/styles/navigation-styles.js +5 -0
  95. package/src/palette-edit/index.js +392 -0
  96. package/src/palette-edit/style.scss +19 -0
  97. package/src/{color-edit → palette-edit}/styles.js +15 -18
  98. package/src/popover/index.js +5 -1
  99. package/src/style.scss +1 -1
  100. package/src/toggle-group-control/stories/index.js +15 -0
  101. package/src/toggle-group-control/test/index.js +57 -0
  102. package/src/toggle-group-control/toggle-group-control-option/README.md +8 -1
  103. package/src/toggle-group-control/toggle-group-control-option/component.tsx +40 -17
  104. package/src/toggle-group-control/types.ts +24 -0
  105. package/src/tooltip/index.js +2 -7
  106. package/tsconfig.tsbuildinfo +1 -1
  107. package/build/color-edit/index.js +0 -251
  108. package/build/color-edit/index.js.map +0 -1
  109. package/build/color-edit/styles.js +0 -112
  110. package/build/color-edit/styles.js.map +0 -1
  111. package/build-module/color-edit/index.js +0 -227
  112. package/build-module/color-edit/index.js.map +0 -1
  113. package/build-module/color-edit/styles.js +0 -90
  114. package/build-module/color-edit/styles.js.map +0 -1
  115. package/src/color-edit/index.js +0 -300
  116. package/src/color-edit/style.scss +0 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["SLOT_NAME","slotNameContext","computeAnchorRect","anchorRefFallback","anchorRect","getAnchorRect","anchorRef","shouldAnchorIncludePadding","container","current","rect","ownerDocument","window","Range","Element","DOMRect","cloneRange","endContainer","getBoundingClientRect","withoutPadding","top","bottom","topRect","bottomRect","left","width","parentNode","getComputedStyle","node","defaultView","element","paddingTop","paddingBottom","paddingLeft","paddingRight","parseInt","right","x","y","height","setAttribute","name","value","hasAttribute","removeAttribute","getAttribute","setStyle","property","style","setClass","toggle","classList","contains","add","remove","getAnchorDocument","anchor","Popover","ref","headerTitle","onClose","children","className","noArrow","isAlternate","position","range","focusOnMount","expandOnMobile","animate","onFocusOutside","__unstableStickyBoundaryElement","__unstableSlotName","__unstableObserveElement","__unstableBoundaryParent","__unstableForcePosition","__unstableForceXAlignment","__unstableEditorCanvasWrapper","contentProps","contentRef","containerRef","isMobileViewport","animateOrigin","setAnimateOrigin","slotName","slot","isExpanded","containerResizeListener","contentSize","refresh","offsetParent","relativeOffsetTop","body","offsetParentRect","boundaryElement","parentElement","usedContentSize","popoverTop","popoverLeft","xAxis","yAxis","contentHeight","contentWidth","yAxisMapping","xAxisMapping","animateYAxis","animateXAxis","intervalHandle","setInterval","rafId","refreshOnAnimationFrame","cancelAnimationFrame","requestAnimationFrame","addEventListener","anchorDocument","observer","MutationObserver","observe","attributes","clearInterval","removeEventListener","disconnect","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","mergedRefs","animateClassName","Boolean","origin","content","close","PopoverContainer","PopoverSlot","Slot","__unstableSlotNameProvider","Provider"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseState,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n} from '@wordpress/element';\nimport { getRectangleFromRange } from '@wordpress/dom';\nimport {\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { computePopoverPosition, offsetIframe } from './utils';\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport { getAnimateClassName } from '../animate';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\nconst slotNameContext = createContext();\n\nfunction computeAnchorRect(\n\tanchorRefFallback,\n\tanchorRect,\n\tgetAnchorRect,\n\tanchorRef = false,\n\tshouldAnchorIncludePadding,\n\tcontainer\n) {\n\tif ( anchorRect ) {\n\t\treturn anchorRect;\n\t}\n\n\tif ( getAnchorRect ) {\n\t\tif ( ! anchorRefFallback.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\treturn offsetIframe(\n\t\t\trect,\n\t\t\trect.ownerDocument || anchorRefFallback.current.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\t}\n\n\tif ( anchorRef !== false ) {\n\t\tif (\n\t\t\t! anchorRef ||\n\t\t\t! window.Range ||\n\t\t\t! window.Element ||\n\t\t\t! window.DOMRect\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Range\n\t\t// `anchorRef instanceof window.Range` checks will break across document boundaries\n\t\t// such as in an iframe\n\t\tif ( typeof anchorRef?.cloneRange === 'function' ) {\n\t\t\treturn offsetIframe(\n\t\t\t\tgetRectangleFromRange( anchorRef ),\n\t\t\t\tanchorRef.endContainer.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Element\n\t\t// `anchorRef instanceof window.Element` checks will break across document boundaries\n\t\t// such as in an iframe\n\t\tif ( typeof anchorRef?.getBoundingClientRect === 'function' ) {\n\t\t\tconst rect = offsetIframe(\n\t\t\t\tanchorRef.getBoundingClientRect(),\n\t\t\t\tanchorRef.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\n\t\t\tif ( shouldAnchorIncludePadding ) {\n\t\t\t\treturn rect;\n\t\t\t}\n\n\t\t\treturn withoutPadding( rect, anchorRef );\n\t\t}\n\n\t\tconst { top, bottom } = anchorRef;\n\t\tconst topRect = top.getBoundingClientRect();\n\t\tconst bottomRect = bottom.getBoundingClientRect();\n\t\tconst rect = offsetIframe(\n\t\t\tnew window.DOMRect(\n\t\t\t\ttopRect.left,\n\t\t\t\ttopRect.top,\n\t\t\t\ttopRect.width,\n\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t),\n\t\t\ttop.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\n\t\tif ( shouldAnchorIncludePadding ) {\n\t\t\treturn rect;\n\t\t}\n\n\t\treturn withoutPadding( rect, anchorRef );\n\t}\n\n\tif ( ! anchorRefFallback.current ) {\n\t\treturn;\n\t}\n\n\tconst { parentNode } = anchorRefFallback.current;\n\tconst rect = parentNode.getBoundingClientRect();\n\n\tif ( shouldAnchorIncludePadding ) {\n\t\treturn rect;\n\t}\n\n\treturn withoutPadding( rect, parentNode );\n}\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction withoutPadding( rect, element ) {\n\tconst {\n\t\tpaddingTop,\n\t\tpaddingBottom,\n\t\tpaddingLeft,\n\t\tpaddingRight,\n\t} = getComputedStyle( element );\n\tconst top = paddingTop ? parseInt( paddingTop, 10 ) : 0;\n\tconst bottom = paddingBottom ? parseInt( paddingBottom, 10 ) : 0;\n\tconst left = paddingLeft ? parseInt( paddingLeft, 10 ) : 0;\n\tconst right = paddingRight ? parseInt( paddingRight, 10 ) : 0;\n\n\treturn {\n\t\tx: rect.left + left,\n\t\ty: rect.top + top,\n\t\twidth: rect.width - left - right,\n\t\theight: rect.height - top - bottom,\n\t\tleft: rect.left + left,\n\t\tright: rect.right - right,\n\t\ttop: rect.top + top,\n\t\tbottom: rect.bottom - bottom,\n\t};\n}\n\n/**\n * Sets or removes an element attribute.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The attribute name to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * attribute.\n */\nfunction setAttribute( element, name, value ) {\n\tif ( ! value ) {\n\t\tif ( element.hasAttribute( name ) ) {\n\t\t\telement.removeAttribute( name );\n\t\t}\n\t} else if ( element.getAttribute( name ) !== value ) {\n\t\telement.setAttribute( name, value );\n\t}\n}\n\n/**\n * Sets or removes an element style property.\n *\n * @param {Element} element The element to modify.\n * @param {string} property The property to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * property.\n */\nfunction setStyle( element, property, value = '' ) {\n\tif ( element.style[ property ] !== value ) {\n\t\telement.style[ property ] = value;\n\t}\n}\n\n/**\n * Sets or removes an element class.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The class to set or remove.\n * @param {boolean} toggle True to set the class, false to remove.\n */\nfunction setClass( element, name, toggle ) {\n\tif ( toggle ) {\n\t\tif ( ! element.classList.contains( name ) ) {\n\t\t\telement.classList.add( name );\n\t\t}\n\t} else if ( element.classList.contains( name ) ) {\n\t\telement.classList.remove( name );\n\t}\n}\n\nfunction getAnchorDocument( anchor ) {\n\tif ( ! anchor ) {\n\t\treturn;\n\t}\n\n\tif ( anchor.endContainer ) {\n\t\treturn anchor.endContainer.ownerDocument;\n\t}\n\n\tif ( anchor.top ) {\n\t\treturn anchor.top.ownerDocument;\n\t}\n\n\treturn anchor.ownerDocument;\n}\n\nconst Popover = (\n\t{\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\t// Disable reason: We generate the `...contentProps` rest as remainder\n\t\t// of props which aren't explicitly handled by this component.\n\t\t/* eslint-disable no-unused-vars */\n\t\tposition = 'bottom right',\n\t\trange,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tshouldAnchorIncludePadding,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tanimate = true,\n\t\tonFocusOutside,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t\t__unstableForcePosition,\n\t\t__unstableForceXAlignment,\n\t\t__unstableEditorCanvasWrapper,\n\t\t/* eslint-enable no-unused-vars */\n\t\t...contentProps\n\t},\n\tref\n) => {\n\tconst anchorRefFallback = useRef( null );\n\tconst contentRef = useRef( null );\n\tconst containerRef = useRef();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ animateOrigin, setAnimateOrigin ] = useState();\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst [ containerResizeListener, contentSize ] = useResizeObserver();\n\tnoArrow = isExpanded || noArrow;\n\n\tuseLayoutEffect( () => {\n\t\tif ( isExpanded ) {\n\t\t\tsetClass( containerRef.current, 'is-without-arrow', noArrow );\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis' );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis' );\n\t\t\tsetStyle( containerRef.current, 'top' );\n\t\t\tsetStyle( containerRef.current, 'left' );\n\t\t\tsetStyle( contentRef.current, 'maxHeight' );\n\t\t\tsetStyle( contentRef.current, 'maxWidth' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst refresh = () => {\n\t\t\tif ( ! containerRef.current || ! contentRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet anchor = computeAnchorRect(\n\t\t\t\tanchorRefFallback,\n\t\t\t\tanchorRect,\n\t\t\t\tgetAnchorRect,\n\t\t\t\tanchorRef,\n\t\t\t\tshouldAnchorIncludePadding,\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\n\t\t\tif ( ! anchor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { offsetParent, ownerDocument } = containerRef.current;\n\n\t\t\tlet relativeOffsetTop = 0;\n\n\t\t\t// If there is a positioned ancestor element that is not the body,\n\t\t\t// subtract the position from the anchor rect. If the position of\n\t\t\t// the popover is fixed, the offset parent is null or the body\n\t\t\t// element, in which case the position is relative to the viewport.\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n\t\t\tif ( offsetParent && offsetParent !== ownerDocument.body ) {\n\t\t\t\tconst offsetParentRect = offsetParent.getBoundingClientRect();\n\n\t\t\t\trelativeOffsetTop = offsetParentRect.top;\n\t\t\t\tanchor = new window.DOMRect(\n\t\t\t\t\tanchor.left - offsetParentRect.left,\n\t\t\t\t\tanchor.top - offsetParentRect.top,\n\t\t\t\t\tanchor.width,\n\t\t\t\t\tanchor.height\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet boundaryElement;\n\t\t\tif ( __unstableBoundaryParent ) {\n\t\t\t\tboundaryElement = containerRef.current.parentElement;\n\t\t\t}\n\n\t\t\tconst usedContentSize = ! contentSize.height\n\t\t\t\t? contentRef.current.getBoundingClientRect()\n\t\t\t\t: contentSize;\n\n\t\t\tconst {\n\t\t\t\tpopoverTop,\n\t\t\t\tpopoverLeft,\n\t\t\t\txAxis,\n\t\t\t\tyAxis,\n\t\t\t\tcontentHeight,\n\t\t\t\tcontentWidth,\n\t\t\t} = computePopoverPosition(\n\t\t\t\tanchor,\n\t\t\t\tusedContentSize,\n\t\t\t\tposition,\n\t\t\t\t__unstableStickyBoundaryElement,\n\t\t\t\tcontainerRef.current,\n\t\t\t\trelativeOffsetTop,\n\t\t\t\tboundaryElement,\n\t\t\t\t__unstableForcePosition,\n\t\t\t\t__unstableForceXAlignment,\n\t\t\t\t__unstableEditorCanvasWrapper\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\ttypeof popoverTop === 'number' &&\n\t\t\t\ttypeof popoverLeft === 'number'\n\t\t\t) {\n\t\t\t\tsetStyle( containerRef.current, 'top', popoverTop + 'px' );\n\t\t\t\tsetStyle( containerRef.current, 'left', popoverLeft + 'px' );\n\t\t\t}\n\n\t\t\tsetClass(\n\t\t\t\tcontainerRef.current,\n\t\t\t\t'is-without-arrow',\n\t\t\t\tnoArrow || ( xAxis === 'center' && yAxis === 'middle' )\n\t\t\t);\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis', xAxis );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis', yAxis );\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxHeight',\n\t\t\t\ttypeof contentHeight === 'number' ? contentHeight + 'px' : ''\n\t\t\t);\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxWidth',\n\t\t\t\ttypeof contentWidth === 'number' ? contentWidth + 'px' : ''\n\t\t\t);\n\n\t\t\t// Compute the animation position\n\t\t\tconst yAxisMapping = {\n\t\t\t\ttop: 'bottom',\n\t\t\t\tbottom: 'top',\n\t\t\t};\n\t\t\tconst xAxisMapping = {\n\t\t\t\tleft: 'right',\n\t\t\t\tright: 'left',\n\t\t\t};\n\t\t\tconst animateYAxis = yAxisMapping[ yAxis ] || 'middle';\n\t\t\tconst animateXAxis = xAxisMapping[ xAxis ] || 'center';\n\n\t\t\tsetAnimateOrigin( animateXAxis + ' ' + animateYAxis );\n\t\t};\n\n\t\trefresh();\n\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst { defaultView } = ownerDocument;\n\n\t\t/*\n\t\t * There are sometimes we need to reposition or resize the popover that\n\t\t * are not handled by the resize/scroll window events (i.e. CSS changes\n\t\t * in the layout that changes the position of the anchor).\n\t\t *\n\t\t * For these situations, we refresh the popover every 0.5s\n\t\t */\n\t\tconst intervalHandle = defaultView.setInterval( refresh, 500 );\n\n\t\tlet rafId;\n\n\t\tconst refreshOnAnimationFrame = () => {\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\trafId = defaultView.requestAnimationFrame( refresh );\n\t\t};\n\n\t\t// Sometimes a click trigger a layout change that affects the popover\n\t\t// position. This is an opportunity to immediately refresh rather than\n\t\t// at the interval.\n\t\tdefaultView.addEventListener( 'click', refreshOnAnimationFrame );\n\t\tdefaultView.addEventListener( 'resize', refresh );\n\t\tdefaultView.addEventListener( 'scroll', refresh, true );\n\n\t\tconst anchorDocument = getAnchorDocument( anchorRef );\n\n\t\t// If the anchor is within an iframe, the popover position also needs\n\t\t// to refrest when the iframe content is scrolled or resized.\n\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\tanchorDocument.defaultView.addEventListener( 'resize', refresh );\n\t\t\tanchorDocument.defaultView.addEventListener(\n\t\t\t\t'scroll',\n\t\t\t\trefresh,\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tlet observer;\n\n\t\tif ( __unstableObserveElement ) {\n\t\t\tobserver = new defaultView.MutationObserver( refresh );\n\t\t\tobserver.observe( __unstableObserveElement, { attributes: true } );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdefaultView.clearInterval( intervalHandle );\n\t\t\tdefaultView.removeEventListener( 'resize', refresh );\n\t\t\tdefaultView.removeEventListener( 'scroll', refresh, true );\n\t\t\tdefaultView.removeEventListener( 'click', refreshOnAnimationFrame );\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\n\t\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'resize',\n\t\t\t\t\trefresh\n\t\t\t\t);\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'scroll',\n\t\t\t\t\trefresh,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( observer ) {\n\t\t\t\tobserver.disconnect();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tisExpanded,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tanchorRef,\n\t\tshouldAnchorIncludePadding,\n\t\tposition,\n\t\tcontentSize,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t] );\n\n\tconst onDialogClose = ( type, event ) => {\n\t\t// Ideally the popover should have just a single onClose prop and\n\t\t// not three props that potentially do the same thing.\n\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\tonFocusOutside( event );\n\t\t} else if ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst mergedRefs = useMergeRefs( [ containerRef, dialogRef, ref ] );\n\n\t/** @type {false | string} */\n\tconst animateClassName =\n\t\tBoolean( animate && animateOrigin ) &&\n\t\tgetAnimateClassName( {\n\t\t\ttype: 'appear',\n\t\t\torigin: animateOrigin,\n\t\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<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-popover',\n\t\t\t\tclassName,\n\t\t\t\tanimateClassName,\n\t\t\t\t{\n\t\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t\t'is-without-arrow': noArrow,\n\t\t\t\t\t'is-alternate': isAlternate,\n\t\t\t\t}\n\t\t\t) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedRefs }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t>\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 ref={ contentRef } className=\"components-popover__content\">\n\t\t\t\t<div style={ { position: 'relative' } }>\n\t\t\t\t\t{ containerResizeListener }\n\t\t\t\t\t{ children }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\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\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\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\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["SLOT_NAME","slotNameContext","computeAnchorRect","anchorRefFallback","anchorRect","getAnchorRect","anchorRef","shouldAnchorIncludePadding","container","current","rect","ownerDocument","window","Range","Element","DOMRect","cloneRange","endContainer","getBoundingClientRect","withoutPadding","top","bottom","topRect","bottomRect","left","width","parentNode","getComputedStyle","node","defaultView","element","paddingTop","paddingBottom","paddingLeft","paddingRight","parseInt","right","x","y","height","setAttribute","name","value","hasAttribute","removeAttribute","getAttribute","setStyle","property","style","setClass","toggle","classList","contains","add","remove","getAnchorDocument","anchor","Popover","ref","headerTitle","onClose","children","className","noArrow","isAlternate","position","range","focusOnMount","expandOnMobile","animate","onFocusOutside","__unstableStickyBoundaryElement","__unstableSlotName","__unstableObserveElement","__unstableBoundaryParent","__unstableForcePosition","__unstableForceXAlignment","__unstableEditorCanvasWrapper","contentProps","contentRef","containerRef","isMobileViewport","animateOrigin","setAnimateOrigin","slotName","slot","isExpanded","containerResizeListener","contentSize","refresh","offsetParent","relativeOffsetTop","body","offsetParentRect","boundaryElement","parentElement","usedContentSize","popoverTop","popoverLeft","xAxis","yAxis","contentHeight","contentWidth","yAxisMapping","xAxisMapping","animateYAxis","animateXAxis","intervalHandle","setInterval","rafId","refreshOnAnimationFrame","cancelAnimationFrame","requestAnimationFrame","addEventListener","anchorDocument","observer","MutationObserver","observe","attributes","clearInterval","removeEventListener","disconnect","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","mergedRefs","animateClassName","Boolean","origin","content","close","PopoverContainer","PopoverSlot","Slot","__unstableSlotNameProvider","Provider"],"mappings":";;;;;;;;;AASA;;;;AALA;;AAaA;;AACA;;AAMA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAjCA;;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAkBA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA,MAAMA,SAAS,GAAG,SAAlB;AAEA,MAAMC,eAAe,GAAG,6BAAxB;;AAEA,SAASC,iBAAT,CACCC,iBADD,EAECC,UAFD,EAGCC,aAHD,EAOE;AAAA,MAHDC,SAGC,uEAHW,KAGX;AAAA,MAFDC,0BAEC;AAAA,MADDC,SACC;;AACD,MAAKJ,UAAL,EAAkB;AACjB,WAAOA,UAAP;AACA;;AAED,MAAKC,aAAL,EAAqB;AACpB,QAAK,CAAEF,iBAAiB,CAACM,OAAzB,EAAmC;AAClC;AACA;;AAED,UAAMC,IAAI,GAAGL,aAAa,CAAEF,iBAAiB,CAACM,OAApB,CAA1B;AACA,WAAO,yBACNC,IADM,EAENA,IAAI,CAACC,aAAL,IAAsBR,iBAAiB,CAACM,OAAlB,CAA0BE,aAF1C,EAGNH,SAHM,CAAP;AAKA;;AAED,MAAKF,SAAS,KAAK,KAAnB,EAA2B;AAC1B,QACC,CAAEA,SAAF,IACA,CAAEM,MAAM,CAACC,KADT,IAEA,CAAED,MAAM,CAACE,OAFT,IAGA,CAAEF,MAAM,CAACG,OAJV,EAKE;AACD;AACA,KARyB,CAU1B;AACA;AACA;;;AACA,QAAK,QAAOT,SAAP,aAAOA,SAAP,uBAAOA,SAAS,CAAEU,UAAlB,MAAiC,UAAtC,EAAmD;AAClD,aAAO,yBACN,gCAAuBV,SAAvB,CADM,EAENA,SAAS,CAACW,YAAV,CAAuBN,aAFjB,EAGNH,SAHM,CAAP;AAKA,KAnByB,CAqB1B;AACA;AACA;;;AACA,QAAK,QAAOF,SAAP,aAAOA,SAAP,uBAAOA,SAAS,CAAEY,qBAAlB,MAA4C,UAAjD,EAA8D;AAC7D,YAAMR,IAAI,GAAG,yBACZJ,SAAS,CAACY,qBAAV,EADY,EAEZZ,SAAS,CAACK,aAFE,EAGZH,SAHY,CAAb;;AAMA,UAAKD,0BAAL,EAAkC;AACjC,eAAOG,IAAP;AACA;;AAED,aAAOS,cAAc,CAAET,IAAF,EAAQJ,SAAR,CAArB;AACA;;AAED,UAAM;AAAEc,MAAAA,GAAF;AAAOC,MAAAA;AAAP,QAAkBf,SAAxB;AACA,UAAMgB,OAAO,GAAGF,GAAG,CAACF,qBAAJ,EAAhB;AACA,UAAMK,UAAU,GAAGF,MAAM,CAACH,qBAAP,EAAnB;AACA,UAAMR,IAAI,GAAG,yBACZ,IAAIE,MAAM,CAACG,OAAX,CACCO,OAAO,CAACE,IADT,EAECF,OAAO,CAACF,GAFT,EAGCE,OAAO,CAACG,KAHT,EAICF,UAAU,CAACF,MAAX,GAAoBC,OAAO,CAACF,GAJ7B,CADY,EAOZA,GAAG,CAACT,aAPQ,EAQZH,SARY,CAAb;;AAWA,QAAKD,0BAAL,EAAkC;AACjC,aAAOG,IAAP;AACA;;AAED,WAAOS,cAAc,CAAET,IAAF,EAAQJ,SAAR,CAArB;AACA;;AAED,MAAK,CAAEH,iBAAiB,CAACM,OAAzB,EAAmC;AAClC;AACA;;AAED,QAAM;AAAEiB,IAAAA;AAAF,MAAiBvB,iBAAiB,CAACM,OAAzC;AACA,QAAMC,IAAI,GAAG,yBACZgB,UAAU,CAACR,qBAAX,EADY,EAEZQ,UAAU,CAACf,aAFC,EAGZH,SAHY,CAAb;;AAMA,MAAKD,0BAAL,EAAkC;AACjC,WAAOG,IAAP;AACA;;AAED,SAAOS,cAAc,CAAET,IAAF,EAAQgB,UAAR,CAArB;AACA;;AAED,SAASC,gBAAT,CAA2BC,IAA3B,EAAkC;AACjC,SAAOA,IAAI,CAACjB,aAAL,CAAmBkB,WAAnB,CAA+BF,gBAA/B,CAAiDC,IAAjD,CAAP;AACA;;AAED,SAAST,cAAT,CAAyBT,IAAzB,EAA+BoB,OAA/B,EAAyC;AACxC,QAAM;AACLC,IAAAA,UADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,WAHK;AAILC,IAAAA;AAJK,MAKFP,gBAAgB,CAAEG,OAAF,CALpB;AAMA,QAAMV,GAAG,GAAGW,UAAU,GAAGI,QAAQ,CAAEJ,UAAF,EAAc,EAAd,CAAX,GAAgC,CAAtD;AACA,QAAMV,MAAM,GAAGW,aAAa,GAAGG,QAAQ,CAAEH,aAAF,EAAiB,EAAjB,CAAX,GAAmC,CAA/D;AACA,QAAMR,IAAI,GAAGS,WAAW,GAAGE,QAAQ,CAAEF,WAAF,EAAe,EAAf,CAAX,GAAiC,CAAzD;AACA,QAAMG,KAAK,GAAGF,YAAY,GAAGC,QAAQ,CAAED,YAAF,EAAgB,EAAhB,CAAX,GAAkC,CAA5D;AAEA,SAAO;AACNG,IAAAA,CAAC,EAAE3B,IAAI,CAACc,IAAL,GAAYA,IADT;AAENc,IAAAA,CAAC,EAAE5B,IAAI,CAACU,GAAL,GAAWA,GAFR;AAGNK,IAAAA,KAAK,EAAEf,IAAI,CAACe,KAAL,GAAaD,IAAb,GAAoBY,KAHrB;AAING,IAAAA,MAAM,EAAE7B,IAAI,CAAC6B,MAAL,GAAcnB,GAAd,GAAoBC,MAJtB;AAKNG,IAAAA,IAAI,EAAEd,IAAI,CAACc,IAAL,GAAYA,IALZ;AAMNY,IAAAA,KAAK,EAAE1B,IAAI,CAAC0B,KAAL,GAAaA,KANd;AAONhB,IAAAA,GAAG,EAAEV,IAAI,CAACU,GAAL,GAAWA,GAPV;AAQNC,IAAAA,MAAM,EAAEX,IAAI,CAACW,MAAL,GAAcA;AARhB,GAAP;AAUA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmB,YAAT,CAAuBV,OAAvB,EAAgCW,IAAhC,EAAsCC,KAAtC,EAA8C;AAC7C,MAAK,CAAEA,KAAP,EAAe;AACd,QAAKZ,OAAO,CAACa,YAAR,CAAsBF,IAAtB,CAAL,EAAoC;AACnCX,MAAAA,OAAO,CAACc,eAAR,CAAyBH,IAAzB;AACA;AACD,GAJD,MAIO,IAAKX,OAAO,CAACe,YAAR,CAAsBJ,IAAtB,MAAiCC,KAAtC,EAA8C;AACpDZ,IAAAA,OAAO,CAACU,YAAR,CAAsBC,IAAtB,EAA4BC,KAA5B;AACA;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,QAAT,CAAmBhB,OAAnB,EAA4BiB,QAA5B,EAAmD;AAAA,MAAbL,KAAa,uEAAL,EAAK;;AAClD,MAAKZ,OAAO,CAACkB,KAAR,CAAeD,QAAf,MAA8BL,KAAnC,EAA2C;AAC1CZ,IAAAA,OAAO,CAACkB,KAAR,CAAeD,QAAf,IAA4BL,KAA5B;AACA;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,QAAT,CAAmBnB,OAAnB,EAA4BW,IAA5B,EAAkCS,MAAlC,EAA2C;AAC1C,MAAKA,MAAL,EAAc;AACb,QAAK,CAAEpB,OAAO,CAACqB,SAAR,CAAkBC,QAAlB,CAA4BX,IAA5B,CAAP,EAA4C;AAC3CX,MAAAA,OAAO,CAACqB,SAAR,CAAkBE,GAAlB,CAAuBZ,IAAvB;AACA;AACD,GAJD,MAIO,IAAKX,OAAO,CAACqB,SAAR,CAAkBC,QAAlB,CAA4BX,IAA5B,CAAL,EAA0C;AAChDX,IAAAA,OAAO,CAACqB,SAAR,CAAkBG,MAAlB,CAA0Bb,IAA1B;AACA;AACD;;AAED,SAASc,iBAAT,CAA4BC,MAA5B,EAAqC;AACpC,MAAK,CAAEA,MAAP,EAAgB;AACf;AACA;;AAED,MAAKA,MAAM,CAACvC,YAAZ,EAA2B;AAC1B,WAAOuC,MAAM,CAACvC,YAAP,CAAoBN,aAA3B;AACA;;AAED,MAAK6C,MAAM,CAACpC,GAAZ,EAAkB;AACjB,WAAOoC,MAAM,CAACpC,GAAP,CAAWT,aAAlB;AACA;;AAED,SAAO6C,MAAM,CAAC7C,aAAd;AACA;;AAED,MAAM8C,OAAO,GAAG,OA+BfC,GA/Be,KAgCX;AAAA,MA/BJ;AACCC,IAAAA,WADD;AAECC,IAAAA,OAFD;AAGCC,IAAAA,QAHD;AAICC,IAAAA,SAJD;AAKCC,IAAAA,OAAO,GAAG,IALX;AAMCC,IAAAA,WAND;AAOC;AACA;;AACA;AACAC,IAAAA,QAAQ,GAAG,cAVZ;AAWCC,IAAAA,KAXD;AAYCC,IAAAA,YAAY,GAAG,cAZhB;AAaC7D,IAAAA,SAbD;AAcCC,IAAAA,0BAdD;AAeCH,IAAAA,UAfD;AAgBCC,IAAAA,aAhBD;AAiBC+D,IAAAA,cAjBD;AAkBCC,IAAAA,OAAO,GAAG,IAlBX;AAmBCC,IAAAA,cAnBD;AAoBCC,IAAAA,+BApBD;AAqBCC,IAAAA,kBAAkB,GAAGxE,SArBtB;AAsBCyE,IAAAA,wBAtBD;AAuBCC,IAAAA,wBAvBD;AAwBCC,IAAAA,uBAxBD;AAyBCC,IAAAA,yBAzBD;AA0BCC,IAAAA,6BA1BD;;AA2BC;AACA,OAAGC;AA5BJ,GA+BI;AACJ,QAAM3E,iBAAiB,GAAG,qBAAQ,IAAR,CAA1B;AACA,QAAM4E,UAAU,GAAG,qBAAQ,IAAR,CAAnB;AACA,QAAMC,YAAY,GAAG,sBAArB;AACA,QAAMC,gBAAgB,GAAG,+BAAkB,QAAlB,EAA4B,GAA5B,CAAzB;AACA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsC,wBAA5C;;AACA,QAAMC,QAAQ,GAAG,yBAAYnF,eAAZ,KAAiCuE,kBAAlD;;AACA,QAAMa,IAAI,GAAG,uBAASD,QAAT,CAAb;AACA,QAAME,UAAU,GAAGlB,cAAc,IAAIa,gBAArC;AACA,QAAM,CAAEM,uBAAF,EAA2BC,WAA3B,IAA2C,iCAAjD;AACAzB,EAAAA,OAAO,GAAGuB,UAAU,IAAIvB,OAAxB;AAEA,gCAAiB,MAAM;AACtB,QAAKuB,UAAL,EAAkB;AACjBrC,MAAAA,QAAQ,CAAE+B,YAAY,CAACvE,OAAf,EAAwB,kBAAxB,EAA4CsD,OAA5C,CAAR;AACAd,MAAAA,QAAQ,CAAE+B,YAAY,CAACvE,OAAf,EAAwB,cAAxB,EAAwCuD,WAAxC,CAAR;AACAxB,MAAAA,YAAY,CAAEwC,YAAY,CAACvE,OAAf,EAAwB,aAAxB,CAAZ;AACA+B,MAAAA,YAAY,CAAEwC,YAAY,CAACvE,OAAf,EAAwB,aAAxB,CAAZ;AACAqC,MAAAA,QAAQ,CAAEkC,YAAY,CAACvE,OAAf,EAAwB,KAAxB,CAAR;AACAqC,MAAAA,QAAQ,CAAEkC,YAAY,CAACvE,OAAf,EAAwB,MAAxB,CAAR;AACAqC,MAAAA,QAAQ,CAAEiC,UAAU,CAACtE,OAAb,EAAsB,WAAtB,CAAR;AACAqC,MAAAA,QAAQ,CAAEiC,UAAU,CAACtE,OAAb,EAAsB,UAAtB,CAAR;AACA;AACA;;AAED,UAAMgF,OAAO,GAAG,MAAM;AACrB,UAAK,CAAET,YAAY,CAACvE,OAAf,IAA0B,CAAEsE,UAAU,CAACtE,OAA5C,EAAsD;AACrD;AACA;;AAED,UAAI+C,MAAM,GAAGtD,iBAAiB,CAC7BC,iBAD6B,EAE7BC,UAF6B,EAG7BC,aAH6B,EAI7BC,SAJ6B,EAK7BC,0BAL6B,EAM7ByE,YAAY,CAACvE,OANgB,CAA9B;;AASA,UAAK,CAAE+C,MAAP,EAAgB;AACf;AACA;;AAED,YAAM;AAAEkC,QAAAA,YAAF;AAAgB/E,QAAAA;AAAhB,UAAkCqE,YAAY,CAACvE,OAArD;AAEA,UAAIkF,iBAAiB,GAAG,CAAxB,CApBqB,CAsBrB;AACA;AACA;AACA;AACA;;AACA,UAAKD,YAAY,IAAIA,YAAY,KAAK/E,aAAa,CAACiF,IAApD,EAA2D;AAC1D,cAAMC,gBAAgB,GAAGH,YAAY,CAACxE,qBAAb,EAAzB;AAEAyE,QAAAA,iBAAiB,GAAGE,gBAAgB,CAACzE,GAArC;AACAoC,QAAAA,MAAM,GAAG,IAAI5C,MAAM,CAACG,OAAX,CACRyC,MAAM,CAAChC,IAAP,GAAcqE,gBAAgB,CAACrE,IADvB,EAERgC,MAAM,CAACpC,GAAP,GAAayE,gBAAgB,CAACzE,GAFtB,EAGRoC,MAAM,CAAC/B,KAHC,EAIR+B,MAAM,CAACjB,MAJC,CAAT;AAMA;;AAED,UAAIuD,eAAJ;;AACA,UAAKpB,wBAAL,EAAgC;AAC/BoB,QAAAA,eAAe,GAAGd,YAAY,CAACvE,OAAb,CAAqBsF,aAAvC;AACA;;AAED,YAAMC,eAAe,GAAG,CAAER,WAAW,CAACjD,MAAd,GACrBwC,UAAU,CAACtE,OAAX,CAAmBS,qBAAnB,EADqB,GAErBsE,WAFH;AAIA,YAAM;AACLS,QAAAA,UADK;AAELC,QAAAA,WAFK;AAGLC,QAAAA,KAHK;AAILC,QAAAA,KAJK;AAKLC,QAAAA,aALK;AAMLC,QAAAA;AANK,UAOF,mCACH9C,MADG,EAEHwC,eAFG,EAGH/B,QAHG,EAIHM,+BAJG,EAKHS,YAAY,CAACvE,OALV,EAMHkF,iBANG,EAOHG,eAPG,EAQHnB,uBARG,EASHC,yBATG,EAUHC,6BAVG,CAPJ;;AAoBA,UACC,OAAOoB,UAAP,KAAsB,QAAtB,IACA,OAAOC,WAAP,KAAuB,QAFxB,EAGE;AACDpD,QAAAA,QAAQ,CAAEkC,YAAY,CAACvE,OAAf,EAAwB,KAAxB,EAA+BwF,UAAU,GAAG,IAA5C,CAAR;AACAnD,QAAAA,QAAQ,CAAEkC,YAAY,CAACvE,OAAf,EAAwB,MAAxB,EAAgCyF,WAAW,GAAG,IAA9C,CAAR;AACA;;AAEDjD,MAAAA,QAAQ,CACP+B,YAAY,CAACvE,OADN,EAEP,kBAFO,EAGPsD,OAAO,IAAMoC,KAAK,KAAK,QAAV,IAAsBC,KAAK,KAAK,QAHtC,CAAR;AAKAnD,MAAAA,QAAQ,CAAE+B,YAAY,CAACvE,OAAf,EAAwB,cAAxB,EAAwCuD,WAAxC,CAAR;AACAxB,MAAAA,YAAY,CAAEwC,YAAY,CAACvE,OAAf,EAAwB,aAAxB,EAAuC0F,KAAvC,CAAZ;AACA3D,MAAAA,YAAY,CAAEwC,YAAY,CAACvE,OAAf,EAAwB,aAAxB,EAAuC2F,KAAvC,CAAZ;AACAtD,MAAAA,QAAQ,CACPiC,UAAU,CAACtE,OADJ,EAEP,WAFO,EAGP,OAAO4F,aAAP,KAAyB,QAAzB,GAAoCA,aAAa,GAAG,IAApD,GAA2D,EAHpD,CAAR;AAKAvD,MAAAA,QAAQ,CACPiC,UAAU,CAACtE,OADJ,EAEP,UAFO,EAGP,OAAO6F,YAAP,KAAwB,QAAxB,GAAmCA,YAAY,GAAG,IAAlD,GAAyD,EAHlD,CAAR,CAzFqB,CA+FrB;;AACA,YAAMC,YAAY,GAAG;AACpBnF,QAAAA,GAAG,EAAE,QADe;AAEpBC,QAAAA,MAAM,EAAE;AAFY,OAArB;AAIA,YAAMmF,YAAY,GAAG;AACpBhF,QAAAA,IAAI,EAAE,OADc;AAEpBY,QAAAA,KAAK,EAAE;AAFa,OAArB;AAIA,YAAMqE,YAAY,GAAGF,YAAY,CAAEH,KAAF,CAAZ,IAAyB,QAA9C;AACA,YAAMM,YAAY,GAAGF,YAAY,CAAEL,KAAF,CAAZ,IAAyB,QAA9C;AAEAhB,MAAAA,gBAAgB,CAAEuB,YAAY,GAAG,GAAf,GAAqBD,YAAvB,CAAhB;AACA,KA5GD;;AA8GAhB,IAAAA,OAAO;AAEP,UAAM;AAAE9E,MAAAA;AAAF,QAAoBqE,YAAY,CAACvE,OAAvC;AACA,UAAM;AAAEoB,MAAAA;AAAF,QAAkBlB,aAAxB;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;;AACE,UAAMgG,cAAc,GAAG9E,WAAW,CAAC+E,WAAZ,CAAyBnB,OAAzB,EAAkC,GAAlC,CAAvB;AAEA,QAAIoB,KAAJ;;AAEA,UAAMC,uBAAuB,GAAG,MAAM;AACrCjF,MAAAA,WAAW,CAACkF,oBAAZ,CAAkCF,KAAlC;AACAA,MAAAA,KAAK,GAAGhF,WAAW,CAACmF,qBAAZ,CAAmCvB,OAAnC,CAAR;AACA,KAHD,CA3IsB,CAgJtB;AACA;AACA;;;AACA5D,IAAAA,WAAW,CAACoF,gBAAZ,CAA8B,OAA9B,EAAuCH,uBAAvC;AACAjF,IAAAA,WAAW,CAACoF,gBAAZ,CAA8B,QAA9B,EAAwCxB,OAAxC;AACA5D,IAAAA,WAAW,CAACoF,gBAAZ,CAA8B,QAA9B,EAAwCxB,OAAxC,EAAiD,IAAjD;AAEA,UAAMyB,cAAc,GAAG3D,iBAAiB,CAAEjD,SAAF,CAAxC,CAvJsB,CAyJtB;AACA;;AACA,QAAK4G,cAAc,IAAIA,cAAc,KAAKvG,aAA1C,EAA0D;AACzDuG,MAAAA,cAAc,CAACrF,WAAf,CAA2BoF,gBAA3B,CAA6C,QAA7C,EAAuDxB,OAAvD;AACAyB,MAAAA,cAAc,CAACrF,WAAf,CAA2BoF,gBAA3B,CACC,QADD,EAECxB,OAFD,EAGC,IAHD;AAKA;;AAED,QAAI0B,QAAJ;;AAEA,QAAK1C,wBAAL,EAAgC;AAC/B0C,MAAAA,QAAQ,GAAG,IAAItF,WAAW,CAACuF,gBAAhB,CAAkC3B,OAAlC,CAAX;AACA0B,MAAAA,QAAQ,CAACE,OAAT,CAAkB5C,wBAAlB,EAA4C;AAAE6C,QAAAA,UAAU,EAAE;AAAd,OAA5C;AACA;;AAED,WAAO,MAAM;AACZzF,MAAAA,WAAW,CAAC0F,aAAZ,CAA2BZ,cAA3B;AACA9E,MAAAA,WAAW,CAAC2F,mBAAZ,CAAiC,QAAjC,EAA2C/B,OAA3C;AACA5D,MAAAA,WAAW,CAAC2F,mBAAZ,CAAiC,QAAjC,EAA2C/B,OAA3C,EAAoD,IAApD;AACA5D,MAAAA,WAAW,CAAC2F,mBAAZ,CAAiC,OAAjC,EAA0CV,uBAA1C;AACAjF,MAAAA,WAAW,CAACkF,oBAAZ,CAAkCF,KAAlC;;AAEA,UAAKK,cAAc,IAAIA,cAAc,KAAKvG,aAA1C,EAA0D;AAAA;;AACzD,iCAAAuG,cAAc,CAACrF,WAAf,gFAA4B2F,mBAA5B,CACC,QADD,EAEC/B,OAFD;AAIA,kCAAAyB,cAAc,CAACrF,WAAf,kFAA4B2F,mBAA5B,CACC,QADD,EAEC/B,OAFD,EAGC,IAHD;AAKA;;AAED,UAAK0B,QAAL,EAAgB;AACfA,QAAAA,QAAQ,CAACM,UAAT;AACA;AACD,KAtBD;AAuBA,GAlMD,EAkMG,CACFnC,UADE,EAEFlF,UAFE,EAGFC,aAHE,EAIFC,SAJE,EAKFC,0BALE,EAMF0D,QANE,EAOFuB,WAPE,EAQFjB,+BARE,EASFE,wBATE,EAUFC,wBAVE,CAlMH;;AA+MA,QAAMgD,aAAa,GAAG,CAAEC,IAAF,EAAQC,KAAR,KAAmB;AACxC;AACA;AACA,QAAKD,IAAI,KAAK,eAAT,IAA4BrD,cAAjC,EAAkD;AACjDA,MAAAA,cAAc,CAAEsD,KAAF,CAAd;AACA,KAFD,MAEO,IAAKhE,OAAL,EAAe;AACrBA,MAAAA,OAAO;AACP;AACD,GARD;;AAUA,QAAM,CAAEiE,SAAF,EAAaC,WAAb,IAA6B,sCAAW;AAC7C3D,IAAAA,YAD6C;AAE7C4D,IAAAA,iBAAiB,EAAEL,aAF0B;AAG7C9D,IAAAA,OAAO,EAAE8D;AAHoC,GAAX,CAAnC;AAMA,QAAMM,UAAU,GAAG,2BAAc,CAAEhD,YAAF,EAAgB6C,SAAhB,EAA2BnE,GAA3B,CAAd,CAAnB;AAEA;;AACA,QAAMuE,gBAAgB,GACrBC,OAAO,CAAE7D,OAAO,IAAIa,aAAb,CAAP,IACA,kCAAqB;AACpByC,IAAAA,IAAI,EAAE,QADc;AAEpBQ,IAAAA,MAAM,EAAEjD;AAFY,GAArB,CAFD,CA9OI,CAqPJ;AACA;;AAEA,MAAIkD,OAAO,GACV;AACA;AACA;AACC,IAAA,SAAS,EAAG,yBACX,oBADW,EAEXtE,SAFW,EAGXmE,gBAHW,EAIX;AACC,qBAAe3C,UADhB;AAEC,0BAAoBvB,OAFrB;AAGC,sBAAgBC;AAHjB,KAJW;AADb,KAWMc,YAXN;AAYC,IAAA,GAAG,EAAGkD;AAZP,KAaMF,WAbN;AAcC,IAAA,QAAQ,EAAC;AAdV,MAgBGxC,UAAU,IAAI,4BAAC,mBAAD,OAhBjB,EAiBGA,UAAU,IACX;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACG3B,WADH,CADD,EAIC,4BAAC,eAAD;AACC,IAAA,SAAS,EAAC,2BADX;AAEC,IAAA,IAAI,EAAG0E,YAFR;AAGC,IAAA,OAAO,EAAGzE;AAHX,IAJD,CAlBF,EA6BC;AAAK,IAAA,GAAG,EAAGmB,UAAX;AAAwB,IAAA,SAAS,EAAC;AAAlC,KACC;AAAK,IAAA,KAAK,EAAG;AAAEd,MAAAA,QAAQ,EAAE;AAAZ;AAAb,KACGsB,uBADH,EAEG1B,QAFH,CADD,CA7BD,CAHD;;AAyCA,MAAKwB,IAAI,CAAC3B,GAAV,EAAgB;AACf0E,IAAAA,OAAO,GAAG,4BAAC,cAAD;AAAM,MAAA,IAAI,EAAGhD;AAAb,OAA0BgD,OAA1B,CAAV;AACA;;AAED,MAAK9H,SAAS,IAAIF,UAAlB,EAA+B;AAC9B,WAAOgI,OAAP;AACA;;AAED,SAAO;AAAM,IAAA,GAAG,EAAGjI;AAAZ,KAAkCiI,OAAlC,CAAP;AACA,CA1UD;;AA4UA,MAAME,gBAAgB,GAAG,yBAAY7E,OAAZ,CAAzB;;AAEA,SAAS8E,WAAT,QAA4C7E,GAA5C,EAAkD;AAAA,MAA5B;AAAEjB,IAAAA,IAAI,GAAGzC;AAAT,GAA4B;AACjD,SACC,4BAAC,cAAD;AACC,IAAA,gBAAgB,MADjB;AAEC,IAAA,IAAI,EAAGyC,IAFR;AAGC,IAAA,SAAS,EAAC,cAHX;AAIC,IAAA,GAAG,EAAGiB;AAJP,IADD;AAQA;;AAED4E,gBAAgB,CAACE,IAAjB,GAAwB,yBAAYD,WAAZ,CAAxB;AACAD,gBAAgB,CAACG,0BAAjB,GAA8CxI,eAAe,CAACyI,QAA9D;eAEeJ,gB","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseState,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n} from '@wordpress/element';\nimport { getRectangleFromRange } from '@wordpress/dom';\nimport {\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { computePopoverPosition, offsetIframe } from './utils';\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport { getAnimateClassName } from '../animate';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\nconst slotNameContext = createContext();\n\nfunction computeAnchorRect(\n\tanchorRefFallback,\n\tanchorRect,\n\tgetAnchorRect,\n\tanchorRef = false,\n\tshouldAnchorIncludePadding,\n\tcontainer\n) {\n\tif ( anchorRect ) {\n\t\treturn anchorRect;\n\t}\n\n\tif ( getAnchorRect ) {\n\t\tif ( ! anchorRefFallback.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\treturn offsetIframe(\n\t\t\trect,\n\t\t\trect.ownerDocument || anchorRefFallback.current.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\t}\n\n\tif ( anchorRef !== false ) {\n\t\tif (\n\t\t\t! anchorRef ||\n\t\t\t! window.Range ||\n\t\t\t! window.Element ||\n\t\t\t! window.DOMRect\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Range\n\t\t// `anchorRef instanceof window.Range` checks will break across document boundaries\n\t\t// such as in an iframe\n\t\tif ( typeof anchorRef?.cloneRange === 'function' ) {\n\t\t\treturn offsetIframe(\n\t\t\t\tgetRectangleFromRange( anchorRef ),\n\t\t\t\tanchorRef.endContainer.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\t\t}\n\n\t\t// Duck-type to check if `anchorRef` is an instance of Element\n\t\t// `anchorRef instanceof window.Element` checks will break across document boundaries\n\t\t// such as in an iframe\n\t\tif ( typeof anchorRef?.getBoundingClientRect === 'function' ) {\n\t\t\tconst rect = offsetIframe(\n\t\t\t\tanchorRef.getBoundingClientRect(),\n\t\t\t\tanchorRef.ownerDocument,\n\t\t\t\tcontainer\n\t\t\t);\n\n\t\t\tif ( shouldAnchorIncludePadding ) {\n\t\t\t\treturn rect;\n\t\t\t}\n\n\t\t\treturn withoutPadding( rect, anchorRef );\n\t\t}\n\n\t\tconst { top, bottom } = anchorRef;\n\t\tconst topRect = top.getBoundingClientRect();\n\t\tconst bottomRect = bottom.getBoundingClientRect();\n\t\tconst rect = offsetIframe(\n\t\t\tnew window.DOMRect(\n\t\t\t\ttopRect.left,\n\t\t\t\ttopRect.top,\n\t\t\t\ttopRect.width,\n\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t),\n\t\t\ttop.ownerDocument,\n\t\t\tcontainer\n\t\t);\n\n\t\tif ( shouldAnchorIncludePadding ) {\n\t\t\treturn rect;\n\t\t}\n\n\t\treturn withoutPadding( rect, anchorRef );\n\t}\n\n\tif ( ! anchorRefFallback.current ) {\n\t\treturn;\n\t}\n\n\tconst { parentNode } = anchorRefFallback.current;\n\tconst rect = offsetIframe(\n\t\tparentNode.getBoundingClientRect(),\n\t\tparentNode.ownerDocument,\n\t\tcontainer\n\t);\n\n\tif ( shouldAnchorIncludePadding ) {\n\t\treturn rect;\n\t}\n\n\treturn withoutPadding( rect, parentNode );\n}\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction withoutPadding( rect, element ) {\n\tconst {\n\t\tpaddingTop,\n\t\tpaddingBottom,\n\t\tpaddingLeft,\n\t\tpaddingRight,\n\t} = getComputedStyle( element );\n\tconst top = paddingTop ? parseInt( paddingTop, 10 ) : 0;\n\tconst bottom = paddingBottom ? parseInt( paddingBottom, 10 ) : 0;\n\tconst left = paddingLeft ? parseInt( paddingLeft, 10 ) : 0;\n\tconst right = paddingRight ? parseInt( paddingRight, 10 ) : 0;\n\n\treturn {\n\t\tx: rect.left + left,\n\t\ty: rect.top + top,\n\t\twidth: rect.width - left - right,\n\t\theight: rect.height - top - bottom,\n\t\tleft: rect.left + left,\n\t\tright: rect.right - right,\n\t\ttop: rect.top + top,\n\t\tbottom: rect.bottom - bottom,\n\t};\n}\n\n/**\n * Sets or removes an element attribute.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The attribute name to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * attribute.\n */\nfunction setAttribute( element, name, value ) {\n\tif ( ! value ) {\n\t\tif ( element.hasAttribute( name ) ) {\n\t\t\telement.removeAttribute( name );\n\t\t}\n\t} else if ( element.getAttribute( name ) !== value ) {\n\t\telement.setAttribute( name, value );\n\t}\n}\n\n/**\n * Sets or removes an element style property.\n *\n * @param {Element} element The element to modify.\n * @param {string} property The property to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * property.\n */\nfunction setStyle( element, property, value = '' ) {\n\tif ( element.style[ property ] !== value ) {\n\t\telement.style[ property ] = value;\n\t}\n}\n\n/**\n * Sets or removes an element class.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The class to set or remove.\n * @param {boolean} toggle True to set the class, false to remove.\n */\nfunction setClass( element, name, toggle ) {\n\tif ( toggle ) {\n\t\tif ( ! element.classList.contains( name ) ) {\n\t\t\telement.classList.add( name );\n\t\t}\n\t} else if ( element.classList.contains( name ) ) {\n\t\telement.classList.remove( name );\n\t}\n}\n\nfunction getAnchorDocument( anchor ) {\n\tif ( ! anchor ) {\n\t\treturn;\n\t}\n\n\tif ( anchor.endContainer ) {\n\t\treturn anchor.endContainer.ownerDocument;\n\t}\n\n\tif ( anchor.top ) {\n\t\treturn anchor.top.ownerDocument;\n\t}\n\n\treturn anchor.ownerDocument;\n}\n\nconst Popover = (\n\t{\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\t// Disable reason: We generate the `...contentProps` rest as remainder\n\t\t// of props which aren't explicitly handled by this component.\n\t\t/* eslint-disable no-unused-vars */\n\t\tposition = 'bottom right',\n\t\trange,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tshouldAnchorIncludePadding,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tanimate = true,\n\t\tonFocusOutside,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t\t__unstableForcePosition,\n\t\t__unstableForceXAlignment,\n\t\t__unstableEditorCanvasWrapper,\n\t\t/* eslint-enable no-unused-vars */\n\t\t...contentProps\n\t},\n\tref\n) => {\n\tconst anchorRefFallback = useRef( null );\n\tconst contentRef = useRef( null );\n\tconst containerRef = useRef();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ animateOrigin, setAnimateOrigin ] = useState();\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst [ containerResizeListener, contentSize ] = useResizeObserver();\n\tnoArrow = isExpanded || noArrow;\n\n\tuseLayoutEffect( () => {\n\t\tif ( isExpanded ) {\n\t\t\tsetClass( containerRef.current, 'is-without-arrow', noArrow );\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis' );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis' );\n\t\t\tsetStyle( containerRef.current, 'top' );\n\t\t\tsetStyle( containerRef.current, 'left' );\n\t\t\tsetStyle( contentRef.current, 'maxHeight' );\n\t\t\tsetStyle( contentRef.current, 'maxWidth' );\n\t\t\treturn;\n\t\t}\n\n\t\tconst refresh = () => {\n\t\t\tif ( ! containerRef.current || ! contentRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet anchor = computeAnchorRect(\n\t\t\t\tanchorRefFallback,\n\t\t\t\tanchorRect,\n\t\t\t\tgetAnchorRect,\n\t\t\t\tanchorRef,\n\t\t\t\tshouldAnchorIncludePadding,\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\n\t\t\tif ( ! anchor ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { offsetParent, ownerDocument } = containerRef.current;\n\n\t\t\tlet relativeOffsetTop = 0;\n\n\t\t\t// If there is a positioned ancestor element that is not the body,\n\t\t\t// subtract the position from the anchor rect. If the position of\n\t\t\t// the popover is fixed, the offset parent is null or the body\n\t\t\t// element, in which case the position is relative to the viewport.\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n\t\t\tif ( offsetParent && offsetParent !== ownerDocument.body ) {\n\t\t\t\tconst offsetParentRect = offsetParent.getBoundingClientRect();\n\n\t\t\t\trelativeOffsetTop = offsetParentRect.top;\n\t\t\t\tanchor = new window.DOMRect(\n\t\t\t\t\tanchor.left - offsetParentRect.left,\n\t\t\t\t\tanchor.top - offsetParentRect.top,\n\t\t\t\t\tanchor.width,\n\t\t\t\t\tanchor.height\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet boundaryElement;\n\t\t\tif ( __unstableBoundaryParent ) {\n\t\t\t\tboundaryElement = containerRef.current.parentElement;\n\t\t\t}\n\n\t\t\tconst usedContentSize = ! contentSize.height\n\t\t\t\t? contentRef.current.getBoundingClientRect()\n\t\t\t\t: contentSize;\n\n\t\t\tconst {\n\t\t\t\tpopoverTop,\n\t\t\t\tpopoverLeft,\n\t\t\t\txAxis,\n\t\t\t\tyAxis,\n\t\t\t\tcontentHeight,\n\t\t\t\tcontentWidth,\n\t\t\t} = computePopoverPosition(\n\t\t\t\tanchor,\n\t\t\t\tusedContentSize,\n\t\t\t\tposition,\n\t\t\t\t__unstableStickyBoundaryElement,\n\t\t\t\tcontainerRef.current,\n\t\t\t\trelativeOffsetTop,\n\t\t\t\tboundaryElement,\n\t\t\t\t__unstableForcePosition,\n\t\t\t\t__unstableForceXAlignment,\n\t\t\t\t__unstableEditorCanvasWrapper\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\ttypeof popoverTop === 'number' &&\n\t\t\t\ttypeof popoverLeft === 'number'\n\t\t\t) {\n\t\t\t\tsetStyle( containerRef.current, 'top', popoverTop + 'px' );\n\t\t\t\tsetStyle( containerRef.current, 'left', popoverLeft + 'px' );\n\t\t\t}\n\n\t\t\tsetClass(\n\t\t\t\tcontainerRef.current,\n\t\t\t\t'is-without-arrow',\n\t\t\t\tnoArrow || ( xAxis === 'center' && yAxis === 'middle' )\n\t\t\t);\n\t\t\tsetClass( containerRef.current, 'is-alternate', isAlternate );\n\t\t\tsetAttribute( containerRef.current, 'data-x-axis', xAxis );\n\t\t\tsetAttribute( containerRef.current, 'data-y-axis', yAxis );\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxHeight',\n\t\t\t\ttypeof contentHeight === 'number' ? contentHeight + 'px' : ''\n\t\t\t);\n\t\t\tsetStyle(\n\t\t\t\tcontentRef.current,\n\t\t\t\t'maxWidth',\n\t\t\t\ttypeof contentWidth === 'number' ? contentWidth + 'px' : ''\n\t\t\t);\n\n\t\t\t// Compute the animation position\n\t\t\tconst yAxisMapping = {\n\t\t\t\ttop: 'bottom',\n\t\t\t\tbottom: 'top',\n\t\t\t};\n\t\t\tconst xAxisMapping = {\n\t\t\t\tleft: 'right',\n\t\t\t\tright: 'left',\n\t\t\t};\n\t\t\tconst animateYAxis = yAxisMapping[ yAxis ] || 'middle';\n\t\t\tconst animateXAxis = xAxisMapping[ xAxis ] || 'center';\n\n\t\t\tsetAnimateOrigin( animateXAxis + ' ' + animateYAxis );\n\t\t};\n\n\t\trefresh();\n\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst { defaultView } = ownerDocument;\n\n\t\t/*\n\t\t * There are sometimes we need to reposition or resize the popover that\n\t\t * are not handled by the resize/scroll window events (i.e. CSS changes\n\t\t * in the layout that changes the position of the anchor).\n\t\t *\n\t\t * For these situations, we refresh the popover every 0.5s\n\t\t */\n\t\tconst intervalHandle = defaultView.setInterval( refresh, 500 );\n\n\t\tlet rafId;\n\n\t\tconst refreshOnAnimationFrame = () => {\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\trafId = defaultView.requestAnimationFrame( refresh );\n\t\t};\n\n\t\t// Sometimes a click trigger a layout change that affects the popover\n\t\t// position. This is an opportunity to immediately refresh rather than\n\t\t// at the interval.\n\t\tdefaultView.addEventListener( 'click', refreshOnAnimationFrame );\n\t\tdefaultView.addEventListener( 'resize', refresh );\n\t\tdefaultView.addEventListener( 'scroll', refresh, true );\n\n\t\tconst anchorDocument = getAnchorDocument( anchorRef );\n\n\t\t// If the anchor is within an iframe, the popover position also needs\n\t\t// to refrest when the iframe content is scrolled or resized.\n\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\tanchorDocument.defaultView.addEventListener( 'resize', refresh );\n\t\t\tanchorDocument.defaultView.addEventListener(\n\t\t\t\t'scroll',\n\t\t\t\trefresh,\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tlet observer;\n\n\t\tif ( __unstableObserveElement ) {\n\t\t\tobserver = new defaultView.MutationObserver( refresh );\n\t\t\tobserver.observe( __unstableObserveElement, { attributes: true } );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdefaultView.clearInterval( intervalHandle );\n\t\t\tdefaultView.removeEventListener( 'resize', refresh );\n\t\t\tdefaultView.removeEventListener( 'scroll', refresh, true );\n\t\t\tdefaultView.removeEventListener( 'click', refreshOnAnimationFrame );\n\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\n\t\t\tif ( anchorDocument && anchorDocument !== ownerDocument ) {\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'resize',\n\t\t\t\t\trefresh\n\t\t\t\t);\n\t\t\t\tanchorDocument.defaultView?.removeEventListener(\n\t\t\t\t\t'scroll',\n\t\t\t\t\trefresh,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( observer ) {\n\t\t\t\tobserver.disconnect();\n\t\t\t}\n\t\t};\n\t}, [\n\t\tisExpanded,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tanchorRef,\n\t\tshouldAnchorIncludePadding,\n\t\tposition,\n\t\tcontentSize,\n\t\t__unstableStickyBoundaryElement,\n\t\t__unstableObserveElement,\n\t\t__unstableBoundaryParent,\n\t] );\n\n\tconst onDialogClose = ( type, event ) => {\n\t\t// Ideally the popover should have just a single onClose prop and\n\t\t// not three props that potentially do the same thing.\n\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\tonFocusOutside( event );\n\t\t} else if ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst mergedRefs = useMergeRefs( [ containerRef, dialogRef, ref ] );\n\n\t/** @type {false | string} */\n\tconst animateClassName =\n\t\tBoolean( animate && animateOrigin ) &&\n\t\tgetAnimateClassName( {\n\t\t\ttype: 'appear',\n\t\t\torigin: animateOrigin,\n\t\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<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-popover',\n\t\t\t\tclassName,\n\t\t\t\tanimateClassName,\n\t\t\t\t{\n\t\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t\t'is-without-arrow': noArrow,\n\t\t\t\t\t'is-alternate': isAlternate,\n\t\t\t\t}\n\t\t\t) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedRefs }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t>\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 ref={ contentRef } className=\"components-popover__content\">\n\t\t\t\t<div style={ { position: 'relative' } }>\n\t\t\t\t\t{ containerResizeListener }\n\t\t\t\t\t{ children }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\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\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\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\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}
@@ -23,6 +23,8 @@ var styles = _interopRequireWildcard(require("./styles"));
23
23
 
24
24
  var _hooks = require("../../utils/hooks");
25
25
 
26
+ var _tooltip = _interopRequireDefault(require("../../tooltip"));
27
+
26
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
29
 
28
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -33,6 +35,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
33
35
  // eslint-disable-next-line no-restricted-imports
34
36
  // eslint-disable-next-line no-restricted-imports
35
37
 
38
+ /**
39
+ * WordPress dependencies
40
+ */
41
+
36
42
  /**
37
43
  * Internal dependencies
38
44
  */
@@ -42,9 +48,24 @@ const {
42
48
  LabelView
43
49
  } = styles;
44
50
 
45
- function ToggleGroupControlOption(props, forwardedRef) {
46
- var _radioProps$ariaLabe;
51
+ const WithToolTip = _ref => {
52
+ let {
53
+ showTooltip,
54
+ text,
55
+ children
56
+ } = _ref;
57
+
58
+ if (showTooltip && text) {
59
+ return (0, _element.createElement)(_tooltip.default, {
60
+ text: text,
61
+ position: "top center"
62
+ }, children);
63
+ }
47
64
 
65
+ return (0, _element.createElement)(_element.Fragment, null, children);
66
+ };
67
+
68
+ function ToggleGroupControlOption(props, forwardedRef) {
48
69
  const toggleGroupControlContext = (0, _context2.useToggleGroupControlContext)();
49
70
  const id = (0, _compose.useInstanceId)(ToggleGroupControlOption, toggleGroupControlContext.baseId || 'toggle-group-control-option');
50
71
  const buttonProps = (0, _context.useContextSystem)({ ...props,
@@ -55,6 +76,7 @@ function ToggleGroupControlOption(props, forwardedRef) {
55
76
  isBlock = false,
56
77
  label,
57
78
  value,
79
+ showTooltip = false,
58
80
  ...radioProps
59
81
  } = { ...toggleGroupControlContext,
60
82
  ...buttonProps
@@ -63,19 +85,23 @@ function ToggleGroupControlOption(props, forwardedRef) {
63
85
  const cx = (0, _hooks.useCx)();
64
86
  const labelViewClasses = cx(isBlock && styles.labelBlock);
65
87
  const classes = cx(styles.buttonView, className, isActive && styles.buttonActive);
88
+ const optionLabel = !!radioProps['aria-label'] ? radioProps['aria-label'] : label;
66
89
  return (0, _element.createElement)(LabelView, {
67
90
  className: labelViewClasses,
68
91
  "data-active": isActive
92
+ }, (0, _element.createElement)(WithToolTip, {
93
+ showTooltip: showTooltip,
94
+ text: optionLabel
69
95
  }, (0, _element.createElement)(_reakit.Radio, (0, _extends2.default)({}, radioProps, {
70
96
  as: "button",
71
- "aria-label": (_radioProps$ariaLabe = radioProps['aria-label']) !== null && _radioProps$ariaLabe !== void 0 ? _radioProps$ariaLabe : label,
97
+ "aria-label": optionLabel,
72
98
  className: classes,
73
99
  "data-value": value,
74
100
  ref: forwardedRef,
75
101
  value: value
76
102
  }), (0, _element.createElement)(ButtonContentView, null, label), (0, _element.createElement)(LabelPlaceholderView, {
77
103
  "aria-hidden": true
78
- }, label)));
104
+ }, label))));
79
105
  }
80
106
  /**
81
107
  * `ToggleGroupControlOption` is a form component and is meant to be used as a
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option/component.tsx"],"names":["ButtonContentView","LabelPlaceholderView","LabelView","styles","ToggleGroupControlOption","props","forwardedRef","toggleGroupControlContext","id","baseId","buttonProps","className","isBlock","label","value","radioProps","isActive","state","cx","labelViewClasses","labelBlock","classes","buttonView","buttonActive","ConnectedToggleGroupControlOption"],"mappings":";;;;;;;;;;;;;AAMA;;AAMA;;AAKA;;AAMA;;AACA;;AACA;;;;;;AAzBA;AACA;AACA;AACA;AAEA;;AASA;AACA;AACA;AAWA,MAAM;AAAEA,EAAAA,iBAAF;AAAqBC,EAAAA,oBAArB;AAA2CC,EAAAA;AAA3C,IAAyDC,MAA/D;;AAEA,SAASC,wBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AAAA;;AACD,QAAMC,yBAAyB,GAAG,6CAAlC;AACA,QAAMC,EAAE,GAAG,4BACVJ,wBADU,EAEVG,yBAAyB,CAACE,MAA1B,IAAoC,6BAF1B,CAAX;AAIA,QAAMC,WAAW,GAAG,+BACnB,EAAE,GAAGL,KAAL;AAAYG,IAAAA;AAAZ,GADmB,EAEnB,0BAFmB,CAApB;AAKA,QAAM;AAAEG,IAAAA,SAAF;AAAaC,IAAAA,OAAO,GAAG,KAAvB;AAA8BC,IAAAA,KAA9B;AAAqCC,IAAAA,KAArC;AAA4C,OAAGC;AAA/C,MAA8D,EACnE,GAAGR,yBADgE;AAEnE,OAAGG;AAFgE,GAApE;AAKA,QAAMM,QAAQ,GAAGD,UAAU,CAACE,KAAX,KAAqBH,KAAtC;AACA,QAAMI,EAAE,GAAG,mBAAX;AACA,QAAMC,gBAAgB,GAAGD,EAAE,CAAEN,OAAO,IAAIT,MAAM,CAACiB,UAApB,CAA3B;AACA,QAAMC,OAAO,GAAGH,EAAE,CACjBf,MAAM,CAACmB,UADU,EAEjBX,SAFiB,EAGjBK,QAAQ,IAAIb,MAAM,CAACoB,YAHF,CAAlB;AAMA,SACC,4BAAC,SAAD;AAAW,IAAA,SAAS,EAAGJ,gBAAvB;AAA0C,mBAAcH;AAAxD,KACC,4BAAC,aAAD,6BACMD,UADN;AAEC,IAAA,EAAE,EAAC,QAFJ;AAGC,0CAAaA,UAAU,CAAE,YAAF,CAAvB,uEAA2CF,KAH5C;AAIC,IAAA,SAAS,EAAGQ,OAJb;AAKC,kBAAaP,KALd;AAMC,IAAA,GAAG,EAAGR,YANP;AAOC,IAAA,KAAK,EAAGQ;AAPT,MASC,4BAAC,iBAAD,QAAqBD,KAArB,CATD,EAUC,4BAAC,oBAAD;AAAsB;AAAtB,KACGA,KADH,CAVD,CADD,CADD;AAkBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMW,iCAAiC,GAAG,6BACzCpB,wBADyC,EAEzC,0BAFyC,CAA1C;eAKeoB,iC","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { Radio } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport type { ToggleGroupControlOptionProps } from '../types';\nimport { useToggleGroupControlContext } from '../context';\nimport * as styles from './styles';\nimport { useCx } from '../../utils/hooks';\n\nconst { ButtonContentView, LabelPlaceholderView, LabelView } = styles;\n\nfunction ToggleGroupControlOption(\n\tprops: WordPressComponentProps< ToggleGroupControlOptionProps, 'button' >,\n\tforwardedRef: Ref< any >\n) {\n\tconst toggleGroupControlContext = useToggleGroupControlContext();\n\tconst id = useInstanceId(\n\t\tToggleGroupControlOption,\n\t\ttoggleGroupControlContext.baseId || 'toggle-group-control-option'\n\t) as string;\n\tconst buttonProps = useContextSystem(\n\t\t{ ...props, id },\n\t\t'ToggleGroupControlOption'\n\t);\n\n\tconst { className, isBlock = false, label, value, ...radioProps } = {\n\t\t...toggleGroupControlContext,\n\t\t...buttonProps,\n\t};\n\n\tconst isActive = radioProps.state === value;\n\tconst cx = useCx();\n\tconst labelViewClasses = cx( isBlock && styles.labelBlock );\n\tconst classes = cx(\n\t\tstyles.buttonView,\n\t\tclassName,\n\t\tisActive && styles.buttonActive\n\t);\n\n\treturn (\n\t\t<LabelView className={ labelViewClasses } data-active={ isActive }>\n\t\t\t<Radio\n\t\t\t\t{ ...radioProps }\n\t\t\t\tas=\"button\"\n\t\t\t\taria-label={ radioProps[ 'aria-label' ] ?? label }\n\t\t\t\tclassName={ classes }\n\t\t\t\tdata-value={ value }\n\t\t\t\tref={ forwardedRef }\n\t\t\t\tvalue={ value }\n\t\t\t>\n\t\t\t\t<ButtonContentView>{ label }</ButtonContentView>\n\t\t\t\t<LabelPlaceholderView aria-hidden>\n\t\t\t\t\t{ label }\n\t\t\t\t</LabelPlaceholderView>\n\t\t\t</Radio>\n\t\t</LabelView>\n\t);\n}\n\n/**\n * `ToggleGroupControlOption` is a form component and is meant to be used as a\n * child of `ToggleGroupControl`.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nconst ConnectedToggleGroupControlOption = contextConnect(\n\tToggleGroupControlOption,\n\t'ToggleGroupControlOption'\n);\n\nexport default ConnectedToggleGroupControlOption;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option/component.tsx"],"names":["ButtonContentView","LabelPlaceholderView","LabelView","styles","WithToolTip","showTooltip","text","children","ToggleGroupControlOption","props","forwardedRef","toggleGroupControlContext","id","baseId","buttonProps","className","isBlock","label","value","radioProps","isActive","state","cx","labelViewClasses","labelBlock","classes","buttonView","buttonActive","optionLabel","ConnectedToggleGroupControlOption"],"mappings":";;;;;;;;;;;;;AAMA;;AAKA;;AAKA;;AAMA;;AACA;;AACA;;AACA;;;;;;AAzBA;AACA;AACA;AACA;AAEA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAYA,MAAM;AAAEA,EAAAA,iBAAF;AAAqBC,EAAAA,oBAArB;AAA2CC,EAAAA;AAA3C,IAAyDC,MAA/D;;AAEA,MAAMC,WAAW,GAAG,QAAyD;AAAA,MAAvD;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,IAAf;AAAqBC,IAAAA;AAArB,GAAuD;;AAC5E,MAAKF,WAAW,IAAIC,IAApB,EAA2B;AAC1B,WACC,4BAAC,gBAAD;AAAS,MAAA,IAAI,EAAGA,IAAhB;AAAuB,MAAA,QAAQ,EAAC;AAAhC,OACGC,QADH,CADD;AAKA;;AACD,SAAO,qDAAIA,QAAJ,CAAP;AACA,CATD;;AAWA,SAASC,wBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAMC,yBAAyB,GAAG,6CAAlC;AACA,QAAMC,EAAE,GAAG,4BACVJ,wBADU,EAEVG,yBAAyB,CAACE,MAA1B,IAAoC,6BAF1B,CAAX;AAIA,QAAMC,WAAW,GAAG,+BACnB,EAAE,GAAGL,KAAL;AAAYG,IAAAA;AAAZ,GADmB,EAEnB,0BAFmB,CAApB;AAKA,QAAM;AACLG,IAAAA,SADK;AAELC,IAAAA,OAAO,GAAG,KAFL;AAGLC,IAAAA,KAHK;AAILC,IAAAA,KAJK;AAKLb,IAAAA,WAAW,GAAG,KALT;AAML,OAAGc;AANE,MAOF,EACH,GAAGR,yBADA;AAEH,OAAGG;AAFA,GAPJ;AAYA,QAAMM,QAAQ,GAAGD,UAAU,CAACE,KAAX,KAAqBH,KAAtC;AACA,QAAMI,EAAE,GAAG,mBAAX;AACA,QAAMC,gBAAgB,GAAGD,EAAE,CAAEN,OAAO,IAAIb,MAAM,CAACqB,UAApB,CAA3B;AACA,QAAMC,OAAO,GAAGH,EAAE,CACjBnB,MAAM,CAACuB,UADU,EAEjBX,SAFiB,EAGjBK,QAAQ,IAAIjB,MAAM,CAACwB,YAHF,CAAlB;AAKA,QAAMC,WAAW,GAAG,CAAC,CAAET,UAAU,CAAE,YAAF,CAAb,GACjBA,UAAU,CAAE,YAAF,CADO,GAEjBF,KAFH;AAIA,SACC,4BAAC,SAAD;AAAW,IAAA,SAAS,EAAGM,gBAAvB;AAA0C,mBAAcH;AAAxD,KACC,4BAAC,WAAD;AAAa,IAAA,WAAW,EAAGf,WAA3B;AAAyC,IAAA,IAAI,EAAGuB;AAAhD,KACC,4BAAC,aAAD,6BACMT,UADN;AAEC,IAAA,EAAE,EAAC,QAFJ;AAGC,kBAAaS,WAHd;AAIC,IAAA,SAAS,EAAGH,OAJb;AAKC,kBAAaP,KALd;AAMC,IAAA,GAAG,EAAGR,YANP;AAOC,IAAA,KAAK,EAAGQ;AAPT,MASC,4BAAC,iBAAD,QAAqBD,KAArB,CATD,EAUC,4BAAC,oBAAD;AAAsB;AAAtB,KACGA,KADH,CAVD,CADD,CADD,CADD;AAoBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMY,iCAAiC,GAAG,6BACzCrB,wBADyC,EAEzC,0BAFyC,CAA1C;eAKeqB,iC","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { Radio } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport type { ToggleGroupControlOptionProps, WithToolTipProps } from '../types';\nimport { useToggleGroupControlContext } from '../context';\nimport * as styles from './styles';\nimport { useCx } from '../../utils/hooks';\nimport Tooltip from '../../tooltip';\n\nconst { ButtonContentView, LabelPlaceholderView, LabelView } = styles;\n\nconst WithToolTip = ( { showTooltip, text, children }: WithToolTipProps ) => {\n\tif ( showTooltip && text ) {\n\t\treturn (\n\t\t\t<Tooltip text={ text } position=\"top center\">\n\t\t\t\t{ children }\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction ToggleGroupControlOption(\n\tprops: WordPressComponentProps< ToggleGroupControlOptionProps, 'button' >,\n\tforwardedRef: Ref< any >\n) {\n\tconst toggleGroupControlContext = useToggleGroupControlContext();\n\tconst id = useInstanceId(\n\t\tToggleGroupControlOption,\n\t\ttoggleGroupControlContext.baseId || 'toggle-group-control-option'\n\t) as string;\n\tconst buttonProps = useContextSystem(\n\t\t{ ...props, id },\n\t\t'ToggleGroupControlOption'\n\t);\n\n\tconst {\n\t\tclassName,\n\t\tisBlock = false,\n\t\tlabel,\n\t\tvalue,\n\t\tshowTooltip = false,\n\t\t...radioProps\n\t} = {\n\t\t...toggleGroupControlContext,\n\t\t...buttonProps,\n\t};\n\n\tconst isActive = radioProps.state === value;\n\tconst cx = useCx();\n\tconst labelViewClasses = cx( isBlock && styles.labelBlock );\n\tconst classes = cx(\n\t\tstyles.buttonView,\n\t\tclassName,\n\t\tisActive && styles.buttonActive\n\t);\n\tconst optionLabel = !! radioProps[ 'aria-label' ]\n\t\t? radioProps[ 'aria-label' ]\n\t\t: label;\n\n\treturn (\n\t\t<LabelView className={ labelViewClasses } data-active={ isActive }>\n\t\t\t<WithToolTip showTooltip={ showTooltip } text={ optionLabel }>\n\t\t\t\t<Radio\n\t\t\t\t\t{ ...radioProps }\n\t\t\t\t\tas=\"button\"\n\t\t\t\t\taria-label={ optionLabel }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tdata-value={ value }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t>\n\t\t\t\t\t<ButtonContentView>{ label }</ButtonContentView>\n\t\t\t\t\t<LabelPlaceholderView aria-hidden>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</LabelPlaceholderView>\n\t\t\t\t</Radio>\n\t\t\t</WithToolTip>\n\t\t</LabelView>\n\t);\n}\n\n/**\n * `ToggleGroupControlOption` is a form component and is meant to be used as a\n * child of `ToggleGroupControl`.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nconst ConnectedToggleGroupControlOption = contextConnect(\n\tToggleGroupControlOption,\n\t'ToggleGroupControlOption'\n);\n\nexport default ConnectedToggleGroupControlOption;\n"]}
@@ -104,21 +104,21 @@ const emitToChild = (children, eventName, event) => {
104
104
  }
105
105
  };
106
106
 
107
- function Tooltip(_ref4) {
108
- let {
107
+ function Tooltip(props) {
108
+ const {
109
109
  children,
110
110
  position,
111
111
  text,
112
112
  shortcut,
113
113
  delay = TOOLTIP_DELAY
114
- } = _ref4;
115
-
114
+ } = props;
116
115
  /**
117
116
  * Whether a mouse is currently pressed, used in determining whether
118
117
  * to handle a focus event as displaying the tooltip immediately.
119
118
  *
120
119
  * @type {boolean}
121
120
  */
121
+
122
122
  const [isMouseDown, setIsMouseDown] = (0, _element.useState)(false);
123
123
  const [isOver, setIsOver] = (0, _element.useState)(false);
124
124
  const delayedSetIsOver = (0, _compose.useDebounce)(setIsOver, delay);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","children","getRegularElement","addPopoverToGrandchildren","grandchildren","isOver","position","text","shortcut","emitToChild","eventName","event","Children","count","only","props","disabled","Tooltip","delay","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","createMouseDown","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","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 * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce } 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 = ( { eventHandlers, child, childrenWithPopover } ) =>\n\tcloneElement(\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} ) }\n\t\t</span>,\n\t\teventHandlers\n\t);\n\nconst getRegularElement = ( { child, eventHandlers, childrenWithPopover } ) =>\n\tcloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t} );\n\nconst addPopoverToGrandchildren = ( {\n\tgrandchildren,\n\tisOver,\n\tposition,\n\ttext,\n\tshortcut,\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\tnoArrow={ true }\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( {\n\tchildren,\n\tposition,\n\ttext,\n\tshortcut,\n\tdelay = TOOLTIP_DELAY,\n} ) {\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\tconst createMouseDown = ( event ) => {\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\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 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 = includes( [ 'focus', 'mouseenter' ], 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\tisOver,\n\t\tposition,\n\t\ttext,\n\t\tshortcut,\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} );\n}\n\nexport default Tooltip;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","children","getRegularElement","addPopoverToGrandchildren","grandchildren","isOver","position","text","shortcut","emitToChild","eventName","event","Children","count","only","props","disabled","Tooltip","delay","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","createMouseDown","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","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 * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce } 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 = ( { eventHandlers, child, childrenWithPopover } ) =>\n\tcloneElement(\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} ) }\n\t\t</span>,\n\t\teventHandlers\n\t);\n\nconst getRegularElement = ( { child, eventHandlers, childrenWithPopover } ) =>\n\tcloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t} );\n\nconst addPopoverToGrandchildren = ( {\n\tgrandchildren,\n\tisOver,\n\tposition,\n\ttext,\n\tshortcut,\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\tnoArrow={ true }\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 { children, position, text, shortcut, delay = TOOLTIP_DELAY } = 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\tconst createMouseDown = ( event ) => {\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\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 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 = includes( [ 'focus', 'mouseenter' ], 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\tisOver,\n\t\tposition,\n\t\ttext,\n\t\tshortcut,\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} );\n}\n\nexport default Tooltip;\n"]}
@@ -28,10 +28,10 @@ function Option(_ref) {
28
28
  } = _ref;
29
29
  const optionButton = createElement(Button, _extends({
30
30
  isPressed: isSelected,
31
- className: classnames(className, 'components-circular-option-picker__option')
31
+ className: "components-circular-option-picker__option"
32
32
  }, additionalProps));
33
33
  return createElement("div", {
34
- className: "components-circular-option-picker__option-wrapper"
34
+ className: classnames(className, 'components-circular-option-picker__option-wrapper')
35
35
  }, tooltipText ? createElement(Tooltip, {
36
36
  text: tooltipText
37
37
  }, optionButton) : optionButton, isSelected && createElement(Icon, _extends({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/circular-option-picker/index.js"],"names":["classnames","Icon","check","Button","Dropdown","Tooltip","Option","className","isSelected","selectedIconProps","tooltipText","additionalProps","optionButton","DropdownLinkAction","buttonProps","dropdownProps","linkText","isOpen","onToggle","ButtonAction","children","CircularOptionPicker","actions","options"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,EAAeC,KAAf,QAA4B,kBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,OAAP,MAAoB,YAApB;;AAEA,SAASC,MAAT,OAMI;AAAA,MANa;AAChBC,IAAAA,SADgB;AAEhBC,IAAAA,UAFgB;AAGhBC,IAAAA,iBAHgB;AAIhBC,IAAAA,WAJgB;AAKhB,OAAGC;AALa,GAMb;AACH,QAAMC,YAAY,GACjB,cAAC,MAAD;AACC,IAAA,SAAS,EAAGJ,UADb;AAEC,IAAA,SAAS,EAAGR,UAAU,CACrBO,SADqB,EAErB,2CAFqB;AAFvB,KAMMI,eANN,EADD;AAUA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGD,WAAW,GACZ,cAAC,OAAD;AAAS,IAAA,IAAI,EAAGA;AAAhB,KAAgCE,YAAhC,CADY,GAGZA,YAJF,EAMGJ,UAAU,IACX,cAAC,IAAD;AACC,IAAA,IAAI,EAAGN;AADR,KAEQO,iBAAiB,GAAGA,iBAAH,GAAuB,EAFhD,EAPF,CADD;AAeA;;AAED,SAASI,kBAAT,QAKI;AAAA,MALyB;AAC5BC,IAAAA,WAD4B;AAE5BP,IAAAA,SAF4B;AAG5BQ,IAAAA,aAH4B;AAI5BC,IAAAA;AAJ4B,GAKzB;AACH,SACC,cAAC,QAAD;AACC,IAAA,SAAS,EAAGhB,UAAU,CACrB,yDADqB,EAErBO,SAFqB,CADvB;AAKC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEU,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAF;AAAA,aACd,cAAC,MAAD;AACC,yBAAgBD,MADjB;AAEC,yBAAc,MAFf;AAGC,QAAA,OAAO,EAAGC,QAHX;AAIC,QAAA,OAAO,EAAC;AAJT,SAKMJ,WALN,GAOGE,QAPH,CADc;AAAA;AALhB,KAgBMD,aAhBN,EADD;AAoBA;;AAED,SAASI,YAAT,QAAqE;AAAA,MAA9C;AAAEZ,IAAAA,SAAF;AAAaa,IAAAA,QAAb;AAAuB,OAAGT;AAA1B,GAA8C;AACpE,SACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAGX,UAAU,CACrB,0CADqB,EAErBO,SAFqB,CADvB;AAKC,IAAA,OAAO,MALR;AAMC,IAAA,OAAO,EAAC;AANT,KAOMI,eAPN,GASGS,QATH,CADD;AAaA;;AAED,eAAe,SAASC,oBAAT,QAKX;AAAA,MAL0C;AAC7CC,IAAAA,OAD6C;AAE7Cf,IAAAA,SAF6C;AAG7CgB,IAAAA,OAH6C;AAI7CH,IAAAA;AAJ6C,GAK1C;AACH,SACC;AACC,IAAA,SAAS,EAAGpB,UAAU,CACrB,mCADqB,EAErBO,SAFqB;AADvB,KAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGgB,OADH,CAND,EASGH,QATH,EAUGE,OAAO,IACR;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,OADH,CAXF,CADD;AAkBA;AAEDD,oBAAoB,CAACf,MAArB,GAA8BA,MAA9B;AACAe,oBAAoB,CAACF,YAArB,GAAoCA,YAApC;AACAE,oBAAoB,CAACR,kBAArB,GAA0CA,kBAA1C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport Tooltip from '../tooltip';\n\nfunction Option( {\n\tclassName,\n\tisSelected,\n\tselectedIconProps,\n\ttooltipText,\n\t...additionalProps\n} ) {\n\tconst optionButton = (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tclassName={ classnames(\n\t\t\t\tclassName,\n\t\t\t\t'components-circular-option-picker__option'\n\t\t\t) }\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n\treturn (\n\t\t<div className=\"components-circular-option-picker__option-wrapper\">\n\t\t\t{ tooltipText ? (\n\t\t\t\t<Tooltip text={ tooltipText }>{ optionButton }</Tooltip>\n\t\t\t) : (\n\t\t\t\toptionButton\n\t\t\t) }\n\t\t\t{ isSelected && (\n\t\t\t\t<Icon\n\t\t\t\t\ticon={ check }\n\t\t\t\t\t{ ...( selectedIconProps ? selectedIconProps : {} ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction DropdownLinkAction( {\n\tbuttonProps,\n\tclassName,\n\tdropdownProps,\n\tlinkText,\n} ) {\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-circular-option-picker__dropdown-link-action',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t{ ...buttonProps }\n\t\t\t\t>\n\t\t\t\t\t{ linkText }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t{ ...dropdownProps }\n\t\t/>\n\t);\n}\n\nfunction ButtonAction( { className, children, ...additionalProps } ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-circular-option-picker__clear',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tisSmall\n\t\t\tvariant=\"secondary\"\n\t\t\t{ ...additionalProps }\n\t\t>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nexport default function CircularOptionPicker( {\n\tactions,\n\tclassName,\n\toptions,\n\tchildren,\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-circular-option-picker',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<div className=\"components-circular-option-picker__swatches\">\n\t\t\t\t{ options }\n\t\t\t</div>\n\t\t\t{ children }\n\t\t\t{ actions && (\n\t\t\t\t<div className=\"components-circular-option-picker__custom-clear-wrapper\">\n\t\t\t\t\t{ actions }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nCircularOptionPicker.Option = Option;\nCircularOptionPicker.ButtonAction = ButtonAction;\nCircularOptionPicker.DropdownLinkAction = DropdownLinkAction;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/circular-option-picker/index.js"],"names":["classnames","Icon","check","Button","Dropdown","Tooltip","Option","className","isSelected","selectedIconProps","tooltipText","additionalProps","optionButton","DropdownLinkAction","buttonProps","dropdownProps","linkText","isOpen","onToggle","ButtonAction","children","CircularOptionPicker","actions","options"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,EAAeC,KAAf,QAA4B,kBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,OAAP,MAAoB,YAApB;;AAEA,SAASC,MAAT,OAMI;AAAA,MANa;AAChBC,IAAAA,SADgB;AAEhBC,IAAAA,UAFgB;AAGhBC,IAAAA,iBAHgB;AAIhBC,IAAAA,WAJgB;AAKhB,OAAGC;AALa,GAMb;AACH,QAAMC,YAAY,GACjB,cAAC,MAAD;AACC,IAAA,SAAS,EAAGJ,UADb;AAEC,IAAA,SAAS,EAAC;AAFX,KAGMG,eAHN,EADD;AAOA,SACC;AACC,IAAA,SAAS,EAAGX,UAAU,CACrBO,SADqB,EAErB,mDAFqB;AADvB,KAMGG,WAAW,GACZ,cAAC,OAAD;AAAS,IAAA,IAAI,EAAGA;AAAhB,KAAgCE,YAAhC,CADY,GAGZA,YATF,EAWGJ,UAAU,IACX,cAAC,IAAD;AACC,IAAA,IAAI,EAAGN;AADR,KAEQO,iBAAiB,GAAGA,iBAAH,GAAuB,EAFhD,EAZF,CADD;AAoBA;;AAED,SAASI,kBAAT,QAKI;AAAA,MALyB;AAC5BC,IAAAA,WAD4B;AAE5BP,IAAAA,SAF4B;AAG5BQ,IAAAA,aAH4B;AAI5BC,IAAAA;AAJ4B,GAKzB;AACH,SACC,cAAC,QAAD;AACC,IAAA,SAAS,EAAGhB,UAAU,CACrB,yDADqB,EAErBO,SAFqB,CADvB;AAKC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEU,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAF;AAAA,aACd,cAAC,MAAD;AACC,yBAAgBD,MADjB;AAEC,yBAAc,MAFf;AAGC,QAAA,OAAO,EAAGC,QAHX;AAIC,QAAA,OAAO,EAAC;AAJT,SAKMJ,WALN,GAOGE,QAPH,CADc;AAAA;AALhB,KAgBMD,aAhBN,EADD;AAoBA;;AAED,SAASI,YAAT,QAAqE;AAAA,MAA9C;AAAEZ,IAAAA,SAAF;AAAaa,IAAAA,QAAb;AAAuB,OAAGT;AAA1B,GAA8C;AACpE,SACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAGX,UAAU,CACrB,0CADqB,EAErBO,SAFqB,CADvB;AAKC,IAAA,OAAO,MALR;AAMC,IAAA,OAAO,EAAC;AANT,KAOMI,eAPN,GASGS,QATH,CADD;AAaA;;AAED,eAAe,SAASC,oBAAT,QAKX;AAAA,MAL0C;AAC7CC,IAAAA,OAD6C;AAE7Cf,IAAAA,SAF6C;AAG7CgB,IAAAA,OAH6C;AAI7CH,IAAAA;AAJ6C,GAK1C;AACH,SACC;AACC,IAAA,SAAS,EAAGpB,UAAU,CACrB,mCADqB,EAErBO,SAFqB;AADvB,KAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGgB,OADH,CAND,EASGH,QATH,EAUGE,OAAO,IACR;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,OADH,CAXF,CADD;AAkBA;AAEDD,oBAAoB,CAACf,MAArB,GAA8BA,MAA9B;AACAe,oBAAoB,CAACF,YAArB,GAAoCA,YAApC;AACAE,oBAAoB,CAACR,kBAArB,GAA0CA,kBAA1C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport Tooltip from '../tooltip';\n\nfunction Option( {\n\tclassName,\n\tisSelected,\n\tselectedIconProps,\n\ttooltipText,\n\t...additionalProps\n} ) {\n\tconst optionButton = (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tclassName=\"components-circular-option-picker__option\"\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\tclassName,\n\t\t\t\t'components-circular-option-picker__option-wrapper'\n\t\t\t) }\n\t\t>\n\t\t\t{ tooltipText ? (\n\t\t\t\t<Tooltip text={ tooltipText }>{ optionButton }</Tooltip>\n\t\t\t) : (\n\t\t\t\toptionButton\n\t\t\t) }\n\t\t\t{ isSelected && (\n\t\t\t\t<Icon\n\t\t\t\t\ticon={ check }\n\t\t\t\t\t{ ...( selectedIconProps ? selectedIconProps : {} ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction DropdownLinkAction( {\n\tbuttonProps,\n\tclassName,\n\tdropdownProps,\n\tlinkText,\n} ) {\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-circular-option-picker__dropdown-link-action',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t{ ...buttonProps }\n\t\t\t\t>\n\t\t\t\t\t{ linkText }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t{ ...dropdownProps }\n\t\t/>\n\t);\n}\n\nfunction ButtonAction( { className, children, ...additionalProps } ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-circular-option-picker__clear',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tisSmall\n\t\t\tvariant=\"secondary\"\n\t\t\t{ ...additionalProps }\n\t\t>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nexport default function CircularOptionPicker( {\n\tactions,\n\tclassName,\n\toptions,\n\tchildren,\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-circular-option-picker',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<div className=\"components-circular-option-picker__swatches\">\n\t\t\t\t{ options }\n\t\t\t</div>\n\t\t\t{ children }\n\t\t\t{ actions && (\n\t\t\t\t<div className=\"components-circular-option-picker__custom-clear-wrapper\">\n\t\t\t\t\t{ actions }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nCircularOptionPicker.Option = Option;\nCircularOptionPicker.ButtonAction = ButtonAction;\nCircularOptionPicker.DropdownLinkAction = DropdownLinkAction;\n"]}
@@ -120,6 +120,7 @@ export default function ColorPalette(_ref5) {
120
120
  spacing: 3,
121
121
  className: className
122
122
  }, !disableCustomColors && createElement(Dropdown, {
123
+ contentClassName: "components-color-palette__custom-color-dropdown-content",
123
124
  renderContent: renderCustomColorPicker,
124
125
  renderToggle: _ref6 => {
125
126
  let {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/color-palette/index.js"],"names":["map","colord","extend","namesPlugin","a11yPlugin","__","sprintf","useCallback","useMemo","Dropdown","ColorPicker","CircularOptionPicker","VStack","ColorHeading","SinglePalette","className","clearColor","colors","onChange","value","actions","colorOptions","color","name","colordColor","fill","contrast","backgroundColor","MultiplePalettes","index","colorPalette","length","ColorPalette","clearable","disableCustomColors","enableAlpha","__experimentalHasMultipleOrigins","undefined","Component","renderCustomColorPicker","isOpen","onToggle","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dropdown from '../dropdown';\nimport { ColorPicker } from '../color-picker';\nimport CircularOptionPicker from '../circular-option-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from './styles';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction SinglePalette( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\tactions,\n} ) {\n\tconst colorOptions = useMemo( () => {\n\t\treturn map( colors, ( { color, name } ) => {\n\t\t\tconst colordColor = colord( color );\n\t\t\treturn (\n\t\t\t\t<CircularOptionPicker.Option\n\t\t\t\t\tkey={ color }\n\t\t\t\t\tisSelected={ value === color }\n\t\t\t\t\tselectedIconProps={\n\t\t\t\t\t\tvalue === color\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tfill:\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast() >\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast( '#000' )\n\t\t\t\t\t\t\t\t\t\t\t? '#fff'\n\t\t\t\t\t\t\t\t\t\t\t: '#000',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttooltipText={\n\t\t\t\t\t\tname ||\n\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t}\n\t\t\t\t\tstyle={ { backgroundColor: color, color } }\n\t\t\t\t\tonClick={\n\t\t\t\t\t\tvalue === color ? clearColor : () => onChange( color )\n\t\t\t\t\t}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t? // translators: %s: The name of the color e.g: \"vivid red\".\n\t\t\t\t\t\t\t sprintf( __( 'Color: %s' ), name )\n\t\t\t\t\t\t\t: // translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t sprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ colors, value, onChange, clearColor ] );\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\tclassName={ className }\n\t\t\toptions={ colorOptions }\n\t\t\tactions={ actions }\n\t\t/>\n\t);\n}\n\nfunction MultiplePalettes( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\tactions,\n} ) {\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ colors.map( ( { name, colors: colorPalette }, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading>{ name }</ColorHeading>\n\t\t\t\t\t\t<SinglePalette\n\t\t\t\t\t\t\tclearColor={ clearColor }\n\t\t\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\tcolors.length === index + 1 ? actions : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ColorPalette( {\n\tclearable = true,\n\tclassName,\n\tcolors,\n\tdisableCustomColors = false,\n\tenableAlpha,\n\tonChange,\n\tvalue,\n\t__experimentalHasMultipleOrigins = false,\n} ) {\n\tconst clearColor = useCallback( () => onChange( undefined ), [ onChange ] );\n\tconst Component = __experimentalHasMultipleOrigins\n\t\t? MultiplePalettes\n\t\t: SinglePalette;\n\n\tconst renderCustomColorPicker = () => (\n\t\t<ColorPicker\n\t\t\tcolor={ value }\n\t\t\tonChange={ ( color ) => onChange( color ) }\n\t\t\tenableAlpha={ enableAlpha }\n\t\t/>\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ ! disableCustomColors && (\n\t\t\t\t<Dropdown\n\t\t\t\t\trenderContent={ renderCustomColorPicker }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\taria-label={ __( 'Custom color picker' ) }\n\t\t\t\t\t\t\tstyle={ { background: value } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ value }\n\t\t\t\t\t\t</button>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Component\n\t\t\t\tclearable={ clearable }\n\t\t\t\tclearColor={ clearColor }\n\t\t\t\tcolors={ colors }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ value }\n\t\t\t\tactions={\n\t\t\t\t\t!! clearable && (\n\t\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\t\tonClick={ clearColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/color-palette/index.js"],"names":["map","colord","extend","namesPlugin","a11yPlugin","__","sprintf","useCallback","useMemo","Dropdown","ColorPicker","CircularOptionPicker","VStack","ColorHeading","SinglePalette","className","clearColor","colors","onChange","value","actions","colorOptions","color","name","colordColor","fill","contrast","backgroundColor","MultiplePalettes","index","colorPalette","length","ColorPalette","clearable","disableCustomColors","enableAlpha","__experimentalHasMultipleOrigins","undefined","Component","renderCustomColorPicker","isOpen","onToggle","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dropdown from '../dropdown';\nimport { ColorPicker } from '../color-picker';\nimport CircularOptionPicker from '../circular-option-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from './styles';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction SinglePalette( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\tactions,\n} ) {\n\tconst colorOptions = useMemo( () => {\n\t\treturn map( colors, ( { color, name } ) => {\n\t\t\tconst colordColor = colord( color );\n\t\t\treturn (\n\t\t\t\t<CircularOptionPicker.Option\n\t\t\t\t\tkey={ color }\n\t\t\t\t\tisSelected={ value === color }\n\t\t\t\t\tselectedIconProps={\n\t\t\t\t\t\tvalue === color\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tfill:\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast() >\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast( '#000' )\n\t\t\t\t\t\t\t\t\t\t\t? '#fff'\n\t\t\t\t\t\t\t\t\t\t\t: '#000',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttooltipText={\n\t\t\t\t\t\tname ||\n\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t}\n\t\t\t\t\tstyle={ { backgroundColor: color, color } }\n\t\t\t\t\tonClick={\n\t\t\t\t\t\tvalue === color ? clearColor : () => onChange( color )\n\t\t\t\t\t}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tname\n\t\t\t\t\t\t\t? // translators: %s: The name of the color e.g: \"vivid red\".\n\t\t\t\t\t\t\t sprintf( __( 'Color: %s' ), name )\n\t\t\t\t\t\t\t: // translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t sprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ colors, value, onChange, clearColor ] );\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\tclassName={ className }\n\t\t\toptions={ colorOptions }\n\t\t\tactions={ actions }\n\t\t/>\n\t);\n}\n\nfunction MultiplePalettes( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\tactions,\n} ) {\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ colors.map( ( { name, colors: colorPalette }, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading>{ name }</ColorHeading>\n\t\t\t\t\t\t<SinglePalette\n\t\t\t\t\t\t\tclearColor={ clearColor }\n\t\t\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\tcolors.length === index + 1 ? actions : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ColorPalette( {\n\tclearable = true,\n\tclassName,\n\tcolors,\n\tdisableCustomColors = false,\n\tenableAlpha,\n\tonChange,\n\tvalue,\n\t__experimentalHasMultipleOrigins = false,\n} ) {\n\tconst clearColor = useCallback( () => onChange( undefined ), [ onChange ] );\n\tconst Component = __experimentalHasMultipleOrigins\n\t\t? MultiplePalettes\n\t\t: SinglePalette;\n\n\tconst renderCustomColorPicker = () => (\n\t\t<ColorPicker\n\t\t\tcolor={ value }\n\t\t\tonChange={ ( color ) => onChange( color ) }\n\t\t\tenableAlpha={ enableAlpha }\n\t\t/>\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ ! disableCustomColors && (\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"components-color-palette__custom-color-dropdown-content\"\n\t\t\t\t\trenderContent={ renderCustomColorPicker }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\taria-label={ __( 'Custom color picker' ) }\n\t\t\t\t\t\t\tstyle={ { background: value } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ value }\n\t\t\t\t\t\t</button>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Component\n\t\t\t\tclearable={ clearable }\n\t\t\t\tclearColor={ clearColor }\n\t\t\t\tcolors={ colors }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ value }\n\t\t\t\tactions={\n\t\t\t\t\t!! clearable && (\n\t\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\t\tonClick={ clearColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n"]}
@@ -24,6 +24,10 @@ import TimeZone from './timezone';
24
24
  */
25
25
 
26
26
  const TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';
27
+
28
+ function from12hTo24h(hours, isPm) {
29
+ return isPm ? (hours % 12 + 12) % 24 : hours % 12;
30
+ }
27
31
  /**
28
32
  * <UpdateOnBlurAsIntegerField>
29
33
  * A shared component to parse, validate, and handle remounting of the underlying form field element like <input> and <select>.
@@ -34,6 +38,7 @@ const TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';
34
38
  * @param {Function} props.onUpdate Call back when blurred and validated.
35
39
  */
36
40
 
41
+
37
42
  function UpdateOnBlurAsIntegerField(_ref) {
38
43
  let {
39
44
  as,
@@ -122,8 +127,17 @@ export function TimePicker(_ref2) {
122
127
  }
123
128
 
124
129
  function update(name, value) {
125
- // Clone the date and call the specific setter function according to `name`.
126
- const newDate = date.clone()[name](value);
130
+ // If the 12-hour format is being used and the 'PM' period is selected, then
131
+ // the incoming value (which ranges 1-12) should be increased by 12 to match
132
+ // the expected 24-hour format.
133
+ let adjustedValue = value;
134
+
135
+ if (name === 'hours' && is12Hour) {
136
+ adjustedValue = from12hTo24h(value, am === 'PM');
137
+ } // Clone the date and call the specific setter function according to `name`.
138
+
139
+
140
+ const newDate = date.clone()[name](adjustedValue);
127
141
  changeDate(newDate);
128
142
  }
129
143
 
@@ -134,7 +148,7 @@ export function TimePicker(_ref2) {
134
148
  }
135
149
 
136
150
  const parsedHours = parseInt(hours, 10);
137
- const newDate = date.clone().hours(value === 'PM' ? (parsedHours % 12 + 12) % 24 : parsedHours % 12);
151
+ const newDate = date.clone().hours(from12hTo24h(parsedHours, value === 'PM'));
138
152
  changeDate(newDate);
139
153
  };
140
154
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/date-time/time.js"],"names":["classnames","isInteger","moment","createElement","useState","useMemo","useEffect","__","Button","ButtonGroup","TimeZone","TIMEZONELESS_FORMAT","UpdateOnBlurAsIntegerField","as","value","onUpdate","props","handleBlur","event","target","parsedValue","parseInt","max","min","name","key","defaultValue","onBlur","TimePicker","is12Hour","currentTime","onChange","date","setDate","startOf","day","month","year","minutes","hours","am","format","changeDate","newDate","update","clone","updateAmPm","parsedHours","dayFormat","monthFormat","dayMonthFormat"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isInteger } from 'lodash';\nimport moment from 'moment';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateElement,\n\tuseState,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ButtonGroup from '../button-group';\nimport TimeZone from './timezone';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\n/**\n * <UpdateOnBlurAsIntegerField>\n * A shared component to parse, validate, and handle remounting of the underlying form field element like <input> and <select>.\n *\n * @param {Object} props Component props.\n * @param {string} props.as Render the component as specific element tag, defaults to \"input\".\n * @param {number|string} props.value The default value of the component which will be parsed to integer.\n * @param {Function} props.onUpdate Call back when blurred and validated.\n */\nfunction UpdateOnBlurAsIntegerField( { as, value, onUpdate, ...props } ) {\n\tfunction handleBlur( event ) {\n\t\tconst { target } = event;\n\n\t\tif ( value === target.value ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst parsedValue = parseInt( target.value, 10 );\n\n\t\t// Run basic number validation on the input.\n\t\tif (\n\t\t\t! isInteger( parsedValue ) ||\n\t\t\t( typeof props.max !== 'undefined' && parsedValue > props.max ) ||\n\t\t\t( typeof props.min !== 'undefined' && parsedValue < props.min )\n\t\t) {\n\t\t\t// If validation failed, reset the value to the previous valid value.\n\t\t\ttarget.value = value;\n\t\t} else {\n\t\t\t// Otherwise, it's valid, call onUpdate.\n\t\t\tonUpdate( target.name, parsedValue );\n\t\t}\n\t}\n\n\treturn createElement( as || 'input', {\n\t\t// Re-mount the input value to accept the latest value as the defaultValue.\n\t\tkey: value,\n\t\tdefaultValue: value,\n\t\tonBlur: handleBlur,\n\t\t...props,\n\t} );\n}\n\n/**\n * <TimePicker>\n *\n * @typedef {Date|string|number} WPValidDateTimeFormat\n *\n * @param {Object} props Component props.\n * @param {boolean} props.is12Hour Should the time picker showed in 12 hour format or 24 hour format.\n * @param {WPValidDateTimeFormat} props.currentTime The initial current time the time picker should render.\n * @param {Function} props.onChange Callback function when the date changed.\n */\nexport function TimePicker( { is12Hour, currentTime, onChange } ) {\n\tconst [ date, setDate ] = useState( () =>\n\t\t// Truncate the date at the minutes, see: #15495.\n\t\tmoment( currentTime ).startOf( 'minutes' )\n\t);\n\n\t// Reset the state when currentTime changed.\n\tuseEffect( () => {\n\t\tsetDate(\n\t\t\tcurrentTime ? moment( currentTime ).startOf( 'minutes' ) : moment()\n\t\t);\n\t}, [ currentTime ] );\n\n\tconst { day, month, year, minutes, hours, am } = useMemo(\n\t\t() => ( {\n\t\t\tday: date.format( 'DD' ),\n\t\t\tmonth: date.format( 'MM' ),\n\t\t\tyear: date.format( 'YYYY' ),\n\t\t\tminutes: date.format( 'mm' ),\n\t\t\thours: date.format( is12Hour ? 'hh' : 'HH' ),\n\t\t\tam: date.format( 'H' ) <= 11 ? 'AM' : 'PM',\n\t\t} ),\n\t\t[ date, is12Hour ]\n\t);\n\n\t/**\n\t * Function that sets the date state and calls the onChange with a new date.\n\t * The date is truncated at the minutes.\n\t *\n\t * @param {Object} newDate The date object.\n\t */\n\tfunction changeDate( newDate ) {\n\t\tsetDate( newDate );\n\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\tfunction update( name, value ) {\n\t\t// Clone the date and call the specific setter function according to `name`.\n\t\tconst newDate = date.clone()[ name ]( value );\n\t\tchangeDate( newDate );\n\t}\n\n\tfunction updateAmPm( value ) {\n\t\treturn () => {\n\t\t\tif ( am === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst parsedHours = parseInt( hours, 10 );\n\n\t\t\tconst newDate = date\n\t\t\t\t.clone()\n\t\t\t\t.hours(\n\t\t\t\t\tvalue === 'PM'\n\t\t\t\t\t\t? ( ( parsedHours % 12 ) + 12 ) % 24\n\t\t\t\t\t\t: parsedHours % 12\n\t\t\t\t);\n\n\t\t\tchangeDate( newDate );\n\t\t};\n\t}\n\n\tconst dayFormat = (\n\t\t<div className=\"components-datetime__time-field components-datetime__time-field-day\">\n\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\taria-label={ __( 'Day' ) }\n\t\t\t\tclassName=\"components-datetime__time-field-day-input\"\n\t\t\t\ttype=\"number\"\n\t\t\t\t// The correct function to call in moment.js is \"date\" not \"day\".\n\t\t\t\tname=\"date\"\n\t\t\t\tvalue={ day }\n\t\t\t\tstep={ 1 }\n\t\t\t\tmin={ 1 }\n\t\t\t\tmax={ 31 }\n\t\t\t\tonUpdate={ update }\n\t\t\t/>\n\t\t</div>\n\t);\n\n\tconst monthFormat = (\n\t\t<div className=\"components-datetime__time-field components-datetime__time-field-month\">\n\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\tas=\"select\"\n\t\t\t\taria-label={ __( 'Month' ) }\n\t\t\t\tclassName=\"components-datetime__time-field-month-select\"\n\t\t\t\tname=\"month\"\n\t\t\t\tvalue={ month }\n\t\t\t\t// The value starts from 0, so we have to -1 when setting month.\n\t\t\t\tonUpdate={ ( key, value ) => update( key, value - 1 ) }\n\t\t\t>\n\t\t\t\t<option value=\"01\">{ __( 'January' ) }</option>\n\t\t\t\t<option value=\"02\">{ __( 'February' ) }</option>\n\t\t\t\t<option value=\"03\">{ __( 'March' ) }</option>\n\t\t\t\t<option value=\"04\">{ __( 'April' ) }</option>\n\t\t\t\t<option value=\"05\">{ __( 'May' ) }</option>\n\t\t\t\t<option value=\"06\">{ __( 'June' ) }</option>\n\t\t\t\t<option value=\"07\">{ __( 'July' ) }</option>\n\t\t\t\t<option value=\"08\">{ __( 'August' ) }</option>\n\t\t\t\t<option value=\"09\">{ __( 'September' ) }</option>\n\t\t\t\t<option value=\"10\">{ __( 'October' ) }</option>\n\t\t\t\t<option value=\"11\">{ __( 'November' ) }</option>\n\t\t\t\t<option value=\"12\">{ __( 'December' ) }</option>\n\t\t\t</UpdateOnBlurAsIntegerField>\n\t\t</div>\n\t);\n\n\tconst dayMonthFormat = is12Hour ? (\n\t\t<>\n\t\t\t{ dayFormat }\n\t\t\t{ monthFormat }\n\t\t</>\n\t) : (\n\t\t<>\n\t\t\t{ monthFormat }\n\t\t\t{ dayFormat }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<div className={ classnames( 'components-datetime__time' ) }>\n\t\t\t<fieldset>\n\t\t\t\t<legend className=\"components-datetime__time-legend invisible\">\n\t\t\t\t\t{ __( 'Date' ) }\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"components-datetime__time-wrapper\">\n\t\t\t\t\t{ dayMonthFormat }\n\n\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-year\">\n\t\t\t\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\t\t\t\taria-label={ __( 'Year' ) }\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-year-input\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tname=\"year\"\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 9999 }\n\t\t\t\t\t\t\tvalue={ year }\n\t\t\t\t\t\t\tonUpdate={ update }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend className=\"components-datetime__time-legend invisible\">\n\t\t\t\t\t{ __( 'Time' ) }\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"components-datetime__time-wrapper\">\n\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-time\">\n\t\t\t\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\t\t\t\taria-label={ __( 'Hours' ) }\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-hours-input\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tname=\"hours\"\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ is12Hour ? 1 : 0 }\n\t\t\t\t\t\t\tmax={ is12Hour ? 12 : 23 }\n\t\t\t\t\t\t\tvalue={ hours }\n\t\t\t\t\t\t\tonUpdate={ update }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-separator\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\t\t\t\taria-label={ __( 'Minutes' ) }\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-minutes-input\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tname=\"minutes\"\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 59 }\n\t\t\t\t\t\t\tvalue={ minutes }\n\t\t\t\t\t\t\tonUpdate={ update }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ is12Hour && (\n\t\t\t\t\t\t<ButtonGroup className=\"components-datetime__time-field components-datetime__time-field-am-pm\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'AM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ updateAmPm( 'AM' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-am-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'PM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ updateAmPm( 'PM' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-pm-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<TimeZone />\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</div>\n\t);\n}\n\nexport default TimePicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/date-time/time.js"],"names":["classnames","isInteger","moment","createElement","useState","useMemo","useEffect","__","Button","ButtonGroup","TimeZone","TIMEZONELESS_FORMAT","from12hTo24h","hours","isPm","UpdateOnBlurAsIntegerField","as","value","onUpdate","props","handleBlur","event","target","parsedValue","parseInt","max","min","name","key","defaultValue","onBlur","TimePicker","is12Hour","currentTime","onChange","date","setDate","startOf","day","month","year","minutes","am","format","changeDate","newDate","update","adjustedValue","clone","updateAmPm","parsedHours","dayFormat","monthFormat","dayMonthFormat"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isInteger } from 'lodash';\nimport moment from 'moment';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateElement,\n\tuseState,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ButtonGroup from '../button-group';\nimport TimeZone from './timezone';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nfunction from12hTo24h( hours, isPm ) {\n\treturn isPm ? ( ( hours % 12 ) + 12 ) % 24 : hours % 12;\n}\n\n/**\n * <UpdateOnBlurAsIntegerField>\n * A shared component to parse, validate, and handle remounting of the underlying form field element like <input> and <select>.\n *\n * @param {Object} props Component props.\n * @param {string} props.as Render the component as specific element tag, defaults to \"input\".\n * @param {number|string} props.value The default value of the component which will be parsed to integer.\n * @param {Function} props.onUpdate Call back when blurred and validated.\n */\nfunction UpdateOnBlurAsIntegerField( { as, value, onUpdate, ...props } ) {\n\tfunction handleBlur( event ) {\n\t\tconst { target } = event;\n\n\t\tif ( value === target.value ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst parsedValue = parseInt( target.value, 10 );\n\n\t\t// Run basic number validation on the input.\n\t\tif (\n\t\t\t! isInteger( parsedValue ) ||\n\t\t\t( typeof props.max !== 'undefined' && parsedValue > props.max ) ||\n\t\t\t( typeof props.min !== 'undefined' && parsedValue < props.min )\n\t\t) {\n\t\t\t// If validation failed, reset the value to the previous valid value.\n\t\t\ttarget.value = value;\n\t\t} else {\n\t\t\t// Otherwise, it's valid, call onUpdate.\n\t\t\tonUpdate( target.name, parsedValue );\n\t\t}\n\t}\n\n\treturn createElement( as || 'input', {\n\t\t// Re-mount the input value to accept the latest value as the defaultValue.\n\t\tkey: value,\n\t\tdefaultValue: value,\n\t\tonBlur: handleBlur,\n\t\t...props,\n\t} );\n}\n\n/**\n * <TimePicker>\n *\n * @typedef {Date|string|number} WPValidDateTimeFormat\n *\n * @param {Object} props Component props.\n * @param {boolean} props.is12Hour Should the time picker showed in 12 hour format or 24 hour format.\n * @param {WPValidDateTimeFormat} props.currentTime The initial current time the time picker should render.\n * @param {Function} props.onChange Callback function when the date changed.\n */\nexport function TimePicker( { is12Hour, currentTime, onChange } ) {\n\tconst [ date, setDate ] = useState( () =>\n\t\t// Truncate the date at the minutes, see: #15495.\n\t\tmoment( currentTime ).startOf( 'minutes' )\n\t);\n\n\t// Reset the state when currentTime changed.\n\tuseEffect( () => {\n\t\tsetDate(\n\t\t\tcurrentTime ? moment( currentTime ).startOf( 'minutes' ) : moment()\n\t\t);\n\t}, [ currentTime ] );\n\n\tconst { day, month, year, minutes, hours, am } = useMemo(\n\t\t() => ( {\n\t\t\tday: date.format( 'DD' ),\n\t\t\tmonth: date.format( 'MM' ),\n\t\t\tyear: date.format( 'YYYY' ),\n\t\t\tminutes: date.format( 'mm' ),\n\t\t\thours: date.format( is12Hour ? 'hh' : 'HH' ),\n\t\t\tam: date.format( 'H' ) <= 11 ? 'AM' : 'PM',\n\t\t} ),\n\t\t[ date, is12Hour ]\n\t);\n\n\t/**\n\t * Function that sets the date state and calls the onChange with a new date.\n\t * The date is truncated at the minutes.\n\t *\n\t * @param {Object} newDate The date object.\n\t */\n\tfunction changeDate( newDate ) {\n\t\tsetDate( newDate );\n\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\tfunction update( name, value ) {\n\t\t// If the 12-hour format is being used and the 'PM' period is selected, then\n\t\t// the incoming value (which ranges 1-12) should be increased by 12 to match\n\t\t// the expected 24-hour format.\n\t\tlet adjustedValue = value;\n\t\tif ( name === 'hours' && is12Hour ) {\n\t\t\tadjustedValue = from12hTo24h( value, am === 'PM' );\n\t\t}\n\n\t\t// Clone the date and call the specific setter function according to `name`.\n\t\tconst newDate = date.clone()[ name ]( adjustedValue );\n\t\tchangeDate( newDate );\n\t}\n\n\tfunction updateAmPm( value ) {\n\t\treturn () => {\n\t\t\tif ( am === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst parsedHours = parseInt( hours, 10 );\n\n\t\t\tconst newDate = date\n\t\t\t\t.clone()\n\t\t\t\t.hours( from12hTo24h( parsedHours, value === 'PM' ) );\n\n\t\t\tchangeDate( newDate );\n\t\t};\n\t}\n\n\tconst dayFormat = (\n\t\t<div className=\"components-datetime__time-field components-datetime__time-field-day\">\n\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\taria-label={ __( 'Day' ) }\n\t\t\t\tclassName=\"components-datetime__time-field-day-input\"\n\t\t\t\ttype=\"number\"\n\t\t\t\t// The correct function to call in moment.js is \"date\" not \"day\".\n\t\t\t\tname=\"date\"\n\t\t\t\tvalue={ day }\n\t\t\t\tstep={ 1 }\n\t\t\t\tmin={ 1 }\n\t\t\t\tmax={ 31 }\n\t\t\t\tonUpdate={ update }\n\t\t\t/>\n\t\t</div>\n\t);\n\n\tconst monthFormat = (\n\t\t<div className=\"components-datetime__time-field components-datetime__time-field-month\">\n\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\tas=\"select\"\n\t\t\t\taria-label={ __( 'Month' ) }\n\t\t\t\tclassName=\"components-datetime__time-field-month-select\"\n\t\t\t\tname=\"month\"\n\t\t\t\tvalue={ month }\n\t\t\t\t// The value starts from 0, so we have to -1 when setting month.\n\t\t\t\tonUpdate={ ( key, value ) => update( key, value - 1 ) }\n\t\t\t>\n\t\t\t\t<option value=\"01\">{ __( 'January' ) }</option>\n\t\t\t\t<option value=\"02\">{ __( 'February' ) }</option>\n\t\t\t\t<option value=\"03\">{ __( 'March' ) }</option>\n\t\t\t\t<option value=\"04\">{ __( 'April' ) }</option>\n\t\t\t\t<option value=\"05\">{ __( 'May' ) }</option>\n\t\t\t\t<option value=\"06\">{ __( 'June' ) }</option>\n\t\t\t\t<option value=\"07\">{ __( 'July' ) }</option>\n\t\t\t\t<option value=\"08\">{ __( 'August' ) }</option>\n\t\t\t\t<option value=\"09\">{ __( 'September' ) }</option>\n\t\t\t\t<option value=\"10\">{ __( 'October' ) }</option>\n\t\t\t\t<option value=\"11\">{ __( 'November' ) }</option>\n\t\t\t\t<option value=\"12\">{ __( 'December' ) }</option>\n\t\t\t</UpdateOnBlurAsIntegerField>\n\t\t</div>\n\t);\n\n\tconst dayMonthFormat = is12Hour ? (\n\t\t<>\n\t\t\t{ dayFormat }\n\t\t\t{ monthFormat }\n\t\t</>\n\t) : (\n\t\t<>\n\t\t\t{ monthFormat }\n\t\t\t{ dayFormat }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<div className={ classnames( 'components-datetime__time' ) }>\n\t\t\t<fieldset>\n\t\t\t\t<legend className=\"components-datetime__time-legend invisible\">\n\t\t\t\t\t{ __( 'Date' ) }\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"components-datetime__time-wrapper\">\n\t\t\t\t\t{ dayMonthFormat }\n\n\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-year\">\n\t\t\t\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\t\t\t\taria-label={ __( 'Year' ) }\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-year-input\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tname=\"year\"\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 9999 }\n\t\t\t\t\t\t\tvalue={ year }\n\t\t\t\t\t\t\tonUpdate={ update }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend className=\"components-datetime__time-legend invisible\">\n\t\t\t\t\t{ __( 'Time' ) }\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"components-datetime__time-wrapper\">\n\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-time\">\n\t\t\t\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\t\t\t\taria-label={ __( 'Hours' ) }\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-hours-input\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tname=\"hours\"\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ is12Hour ? 1 : 0 }\n\t\t\t\t\t\t\tmax={ is12Hour ? 12 : 23 }\n\t\t\t\t\t\t\tvalue={ hours }\n\t\t\t\t\t\t\tonUpdate={ update }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-separator\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<UpdateOnBlurAsIntegerField\n\t\t\t\t\t\t\taria-label={ __( 'Minutes' ) }\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-minutes-input\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tname=\"minutes\"\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 59 }\n\t\t\t\t\t\t\tvalue={ minutes }\n\t\t\t\t\t\t\tonUpdate={ update }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ is12Hour && (\n\t\t\t\t\t\t<ButtonGroup className=\"components-datetime__time-field components-datetime__time-field-am-pm\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'AM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ updateAmPm( 'AM' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-am-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'PM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ updateAmPm( 'PM' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-pm-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<TimeZone />\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</div>\n\t);\n}\n\nexport default TimePicker;\n"]}