@wordpress/components 28.11.0 → 28.12.0

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 (142) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/build/border-control/border-control-dropdown/component.js +1 -1
  3. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  4. package/build/form-file-upload/index.js +5 -1
  5. package/build/form-file-upload/index.js.map +1 -1
  6. package/build/form-token-field/token.js +1 -0
  7. package/build/form-token-field/token.js.map +1 -1
  8. package/build/guide/page-control.js +1 -0
  9. package/build/guide/page-control.js.map +1 -1
  10. package/build/menu-item/index.js +1 -0
  11. package/build/menu-item/index.js.map +1 -1
  12. package/build/notice/index.js +2 -0
  13. package/build/notice/index.js.map +1 -1
  14. package/build/palette-edit/index.js +5 -0
  15. package/build/palette-edit/index.js.map +1 -1
  16. package/build/panel/body.js +1 -0
  17. package/build/panel/body.js.map +1 -1
  18. package/build/popover/index.js +4 -1
  19. package/build/popover/index.js.map +1 -1
  20. package/build/radio-group/radio.js +6 -0
  21. package/build/radio-group/radio.js.map +1 -1
  22. package/build/radio-group/types.js.map +1 -1
  23. package/build/snackbar/index.js +2 -1
  24. package/build/snackbar/index.js.map +1 -1
  25. package/build/tabs/tablist.js +13 -2
  26. package/build/tabs/tablist.js.map +1 -1
  27. package/build/toggle-group-control/toggle-group-control/component.js +1 -1
  28. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  29. package/build/utils/deprecated-36px-size.js +1 -1
  30. package/build/utils/deprecated-36px-size.js.map +1 -1
  31. package/build-module/border-control/border-control-dropdown/component.js +1 -1
  32. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  33. package/build-module/form-file-upload/index.js +5 -1
  34. package/build-module/form-file-upload/index.js.map +1 -1
  35. package/build-module/form-token-field/token.js +1 -0
  36. package/build-module/form-token-field/token.js.map +1 -1
  37. package/build-module/guide/page-control.js +1 -0
  38. package/build-module/guide/page-control.js.map +1 -1
  39. package/build-module/menu-item/index.js +1 -0
  40. package/build-module/menu-item/index.js.map +1 -1
  41. package/build-module/notice/index.js +2 -0
  42. package/build-module/notice/index.js.map +1 -1
  43. package/build-module/palette-edit/index.js +5 -0
  44. package/build-module/palette-edit/index.js.map +1 -1
  45. package/build-module/panel/body.js +1 -0
  46. package/build-module/panel/body.js.map +1 -1
  47. package/build-module/popover/index.js +4 -1
  48. package/build-module/popover/index.js.map +1 -1
  49. package/build-module/radio-group/radio.js +6 -0
  50. package/build-module/radio-group/radio.js.map +1 -1
  51. package/build-module/radio-group/types.js.map +1 -1
  52. package/build-module/snackbar/index.js +2 -1
  53. package/build-module/snackbar/index.js.map +1 -1
  54. package/build-module/tabs/tablist.js +13 -2
  55. package/build-module/tabs/tablist.js.map +1 -1
  56. package/build-module/toggle-group-control/toggle-group-control/component.js +1 -1
  57. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  58. package/build-module/utils/deprecated-36px-size.js +1 -1
  59. package/build-module/utils/deprecated-36px-size.js.map +1 -1
  60. package/build-style/style-rtl.css +15 -29
  61. package/build-style/style.css +15 -29
  62. package/build-types/confirm-dialog/stories/index.story.d.ts.map +1 -1
  63. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  64. package/build-types/external-link/stories/index.story.d.ts.map +1 -1
  65. package/build-types/form-file-upload/index.d.ts.map +1 -1
  66. package/build-types/form-token-field/token.d.ts.map +1 -1
  67. package/build-types/guide/page-control.d.ts.map +1 -1
  68. package/build-types/heading/stories/index.story.d.ts.map +1 -1
  69. package/build-types/lock-unlock.d.ts +2 -2
  70. package/build-types/menu/stories/index.story.d.ts.map +1 -1
  71. package/build-types/menu-item/index.d.ts.map +1 -1
  72. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  73. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  74. package/build-types/notice/index.d.ts.map +1 -1
  75. package/build-types/notice/stories/index.story.d.ts.map +1 -1
  76. package/build-types/palette-edit/index.d.ts.map +1 -1
  77. package/build-types/panel/body.d.ts.map +1 -1
  78. package/build-types/popover/index.d.ts.map +1 -1
  79. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  80. package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
  81. package/build-types/radio-group/radio.d.ts +4 -2
  82. package/build-types/radio-group/radio.d.ts.map +1 -1
  83. package/build-types/radio-group/stories/index.story.d.ts.map +1 -1
  84. package/build-types/radio-group/types.d.ts +5 -1
  85. package/build-types/radio-group/types.d.ts.map +1 -1
  86. package/build-types/snackbar/index.d.ts.map +1 -1
  87. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  88. package/build-types/snackbar/stories/list.story.d.ts.map +1 -1
  89. package/build-types/spinner/stories/index.story.d.ts.map +1 -1
  90. package/build-types/tabs/tablist.d.ts.map +1 -1
  91. package/build-types/text/stories/index.story.d.ts.map +1 -1
  92. package/build-types/text-highlight/stories/index.story.d.ts.map +1 -1
  93. package/build-types/tip/stories/index.story.d.ts.map +1 -1
  94. package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
  95. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  96. package/build-types/truncate/stories/index.story.d.ts.map +1 -1
  97. package/build-types/utils/deprecated-36px-size.d.ts +1 -1
  98. package/build-types/utils/deprecated-36px-size.d.ts.map +1 -1
  99. package/package.json +4 -4
  100. package/src/border-control/border-control-dropdown/component.tsx +1 -1
  101. package/src/confirm-dialog/stories/index.story.tsx +2 -1
  102. package/src/dropdown/stories/index.story.tsx +2 -1
  103. package/src/external-link/stories/index.story.tsx +2 -1
  104. package/src/form-file-upload/index.tsx +7 -1
  105. package/src/form-token-field/style.scss +8 -12
  106. package/src/form-token-field/token.tsx +1 -0
  107. package/src/guide/page-control.tsx +1 -0
  108. package/src/guide/style.scss +4 -6
  109. package/src/heading/stories/index.story.tsx +2 -1
  110. package/src/menu/stories/index.story.tsx +2 -1
  111. package/src/menu-item/index.tsx +1 -0
  112. package/src/menu-item/test/__snapshots__/index.js.snap +4 -4
  113. package/src/modal/stories/index.story.tsx +2 -1
  114. package/src/navigator/stories/index.story.tsx +2 -1
  115. package/src/notice/index.tsx +2 -0
  116. package/src/notice/stories/index.story.tsx +7 -2
  117. package/src/notice/test/__snapshots__/index.tsx.snap +4 -4
  118. package/src/palette-edit/index.tsx +5 -0
  119. package/src/panel/body.tsx +1 -0
  120. package/src/popover/index.tsx +3 -0
  121. package/src/popover/stories/index.story.tsx +2 -1
  122. package/src/progress-bar/stories/index.story.tsx +2 -1
  123. package/src/radio-group/README.md +8 -8
  124. package/src/radio-group/radio.tsx +7 -0
  125. package/src/radio-group/stories/index.story.tsx +16 -4
  126. package/src/radio-group/types.ts +6 -1
  127. package/src/snackbar/index.tsx +2 -1
  128. package/src/snackbar/stories/index.story.tsx +2 -1
  129. package/src/snackbar/stories/list.story.tsx +2 -1
  130. package/src/snackbar/style.scss +7 -16
  131. package/src/spinner/stories/index.story.tsx +2 -1
  132. package/src/tabs/tablist.tsx +13 -2
  133. package/src/text/stories/index.story.tsx +2 -1
  134. package/src/text-highlight/stories/index.story.tsx +2 -1
  135. package/src/tip/stories/index.story.tsx +2 -1
  136. package/src/toggle-group-control/toggle-group-control/component.tsx +1 -1
  137. package/src/tooltip/stories/index.story.tsx +2 -1
  138. package/src/tree-grid/stories/index.story.tsx +2 -1
  139. package/src/truncate/stories/index.story.tsx +2 -1
  140. package/src/utils/deprecated-36px-size.ts +5 -2
  141. package/src/visually-hidden/stories/index.story.tsx +1 -1
  142. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_element","_icons","_button","_icon","_utils","_jsxRuntime","noop","UnforwardedPanelBody","props","ref","buttonProps","children","className","icon","initialOpen","onToggle","opened","title","scrollAfterOpen","isOpened","setIsOpened","useControlledState","initial","undefined","fallback","nodeRef","useRef","scrollBehavior","useReducedMotion","handleOnToggle","event","preventDefault","next","scrollAfterOpenRef","current","useUpdateEffect","scrollIntoView","inline","block","behavior","classes","clsx","jsxs","useMergeRefs","jsx","PanelBodyTitle","Boolean","onClick","forwardRef","default","chevronUp","chevronDown","size","PanelBody","exports","_default"],"sources":["@wordpress/components/src/panel/body.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useReducedMotion, useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useRef } from '@wordpress/element';\nimport { chevronUp, chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { PanelBodyProps, PanelBodyTitleProps } from './types';\nimport type { WordPressComponentProps } from '../context';\nimport Button from '../button';\nimport Icon from '../icon';\nimport { useControlledState, useUpdateEffect } from '../utils';\n\nconst noop = () => {};\n\nexport function UnforwardedPanelBody(\n\tprops: PanelBodyProps,\n\tref: React.ForwardedRef< HTMLDivElement >\n) {\n\tconst {\n\t\tbuttonProps = {},\n\t\tchildren,\n\t\tclassName,\n\t\ticon,\n\t\tinitialOpen,\n\t\tonToggle = noop,\n\t\topened,\n\t\ttitle,\n\t\tscrollAfterOpen = true,\n\t} = props;\n\tconst [ isOpened, setIsOpened ] = useControlledState< boolean | undefined >(\n\t\topened,\n\t\t{\n\t\t\tinitial: initialOpen === undefined ? true : initialOpen,\n\t\t\tfallback: false,\n\t\t}\n\t);\n\tconst nodeRef = useRef< HTMLElement >( null );\n\n\t// Defaults to 'smooth' scrolling\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView\n\tconst scrollBehavior = useReducedMotion() ? 'auto' : 'smooth';\n\n\tconst handleOnToggle = ( event: React.MouseEvent ) => {\n\t\tevent.preventDefault();\n\t\tconst next = ! isOpened;\n\t\tsetIsOpened( next );\n\t\tonToggle( next );\n\t};\n\n\t// Ref is used so that the effect does not re-run upon scrollAfterOpen changing value.\n\tconst scrollAfterOpenRef = useRef< boolean | undefined >();\n\tscrollAfterOpenRef.current = scrollAfterOpen;\n\t// Runs after initial render.\n\tuseUpdateEffect( () => {\n\t\tif (\n\t\t\tisOpened &&\n\t\t\tscrollAfterOpenRef.current &&\n\t\t\tnodeRef.current?.scrollIntoView\n\t\t) {\n\t\t\t/*\n\t\t\t * Scrolls the content into view when visible.\n\t\t\t * This improves the UX when there are multiple stacking <PanelBody />\n\t\t\t * components in a scrollable container.\n\t\t\t */\n\t\t\tnodeRef.current.scrollIntoView( {\n\t\t\t\tinline: 'nearest',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: scrollBehavior,\n\t\t\t} );\n\t\t}\n\t}, [ isOpened, scrollBehavior ] );\n\n\tconst classes = clsx( 'components-panel__body', className, {\n\t\t'is-opened': isOpened,\n\t} );\n\n\treturn (\n\t\t<div className={ classes } ref={ useMergeRefs( [ nodeRef, ref ] ) }>\n\t\t\t<PanelBodyTitle\n\t\t\t\ticon={ icon }\n\t\t\t\tisOpened={ Boolean( isOpened ) }\n\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\ttitle={ title }\n\t\t\t\t{ ...buttonProps }\n\t\t\t/>\n\t\t\t{ typeof children === 'function'\n\t\t\t\t? children( { opened: Boolean( isOpened ) } )\n\t\t\t\t: isOpened && children }\n\t\t</div>\n\t);\n}\n\nconst PanelBodyTitle = forwardRef(\n\t(\n\t\t{\n\t\t\tisOpened,\n\t\t\ticon,\n\t\t\ttitle,\n\t\t\t...props\n\t\t}: WordPressComponentProps< PanelBodyTitleProps, 'button' >,\n\t\tref: React.ForwardedRef< any >\n\t) => {\n\t\tif ( ! title ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<h2 className=\"components-panel__body-title\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"components-panel__body-toggle\"\n\t\t\t\t\taria-expanded={ isOpened }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ /*\n\t\t\t\t\tFirefox + NVDA don't announce aria-expanded because the browser\n\t\t\t\t\trepaints the whole element, so this wrapping span hides that.\n\t\t\t\t*/ }\n\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"components-panel__arrow\"\n\t\t\t\t\t\t\ticon={ isOpened ? chevronUp : chevronDown }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t\t{ title }\n\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tclassName=\"components-panel__icon\"\n\t\t\t\t\t\t\tsize={ 20 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t</h2>\n\t\t);\n\t}\n);\n\nexport const PanelBody = forwardRef( UnforwardedPanelBody );\n\nexport default PanelBody;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_element","_icons","_button","_icon","_utils","_jsxRuntime","noop","UnforwardedPanelBody","props","ref","buttonProps","children","className","icon","initialOpen","onToggle","opened","title","scrollAfterOpen","isOpened","setIsOpened","useControlledState","initial","undefined","fallback","nodeRef","useRef","scrollBehavior","useReducedMotion","handleOnToggle","event","preventDefault","next","scrollAfterOpenRef","current","useUpdateEffect","scrollIntoView","inline","block","behavior","classes","clsx","jsxs","useMergeRefs","jsx","PanelBodyTitle","Boolean","onClick","forwardRef","default","__next40pxDefaultSize","chevronUp","chevronDown","size","PanelBody","exports","_default"],"sources":["@wordpress/components/src/panel/body.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useReducedMotion, useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useRef } from '@wordpress/element';\nimport { chevronUp, chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { PanelBodyProps, PanelBodyTitleProps } from './types';\nimport type { WordPressComponentProps } from '../context';\nimport Button from '../button';\nimport Icon from '../icon';\nimport { useControlledState, useUpdateEffect } from '../utils';\n\nconst noop = () => {};\n\nexport function UnforwardedPanelBody(\n\tprops: PanelBodyProps,\n\tref: React.ForwardedRef< HTMLDivElement >\n) {\n\tconst {\n\t\tbuttonProps = {},\n\t\tchildren,\n\t\tclassName,\n\t\ticon,\n\t\tinitialOpen,\n\t\tonToggle = noop,\n\t\topened,\n\t\ttitle,\n\t\tscrollAfterOpen = true,\n\t} = props;\n\tconst [ isOpened, setIsOpened ] = useControlledState< boolean | undefined >(\n\t\topened,\n\t\t{\n\t\t\tinitial: initialOpen === undefined ? true : initialOpen,\n\t\t\tfallback: false,\n\t\t}\n\t);\n\tconst nodeRef = useRef< HTMLElement >( null );\n\n\t// Defaults to 'smooth' scrolling\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView\n\tconst scrollBehavior = useReducedMotion() ? 'auto' : 'smooth';\n\n\tconst handleOnToggle = ( event: React.MouseEvent ) => {\n\t\tevent.preventDefault();\n\t\tconst next = ! isOpened;\n\t\tsetIsOpened( next );\n\t\tonToggle( next );\n\t};\n\n\t// Ref is used so that the effect does not re-run upon scrollAfterOpen changing value.\n\tconst scrollAfterOpenRef = useRef< boolean | undefined >();\n\tscrollAfterOpenRef.current = scrollAfterOpen;\n\t// Runs after initial render.\n\tuseUpdateEffect( () => {\n\t\tif (\n\t\t\tisOpened &&\n\t\t\tscrollAfterOpenRef.current &&\n\t\t\tnodeRef.current?.scrollIntoView\n\t\t) {\n\t\t\t/*\n\t\t\t * Scrolls the content into view when visible.\n\t\t\t * This improves the UX when there are multiple stacking <PanelBody />\n\t\t\t * components in a scrollable container.\n\t\t\t */\n\t\t\tnodeRef.current.scrollIntoView( {\n\t\t\t\tinline: 'nearest',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: scrollBehavior,\n\t\t\t} );\n\t\t}\n\t}, [ isOpened, scrollBehavior ] );\n\n\tconst classes = clsx( 'components-panel__body', className, {\n\t\t'is-opened': isOpened,\n\t} );\n\n\treturn (\n\t\t<div className={ classes } ref={ useMergeRefs( [ nodeRef, ref ] ) }>\n\t\t\t<PanelBodyTitle\n\t\t\t\ticon={ icon }\n\t\t\t\tisOpened={ Boolean( isOpened ) }\n\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\ttitle={ title }\n\t\t\t\t{ ...buttonProps }\n\t\t\t/>\n\t\t\t{ typeof children === 'function'\n\t\t\t\t? children( { opened: Boolean( isOpened ) } )\n\t\t\t\t: isOpened && children }\n\t\t</div>\n\t);\n}\n\nconst PanelBodyTitle = forwardRef(\n\t(\n\t\t{\n\t\t\tisOpened,\n\t\t\ticon,\n\t\t\ttitle,\n\t\t\t...props\n\t\t}: WordPressComponentProps< PanelBodyTitleProps, 'button' >,\n\t\tref: React.ForwardedRef< any >\n\t) => {\n\t\tif ( ! title ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<h2 className=\"components-panel__body-title\">\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"components-panel__body-toggle\"\n\t\t\t\t\taria-expanded={ isOpened }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ /*\n\t\t\t\t\tFirefox + NVDA don't announce aria-expanded because the browser\n\t\t\t\t\trepaints the whole element, so this wrapping span hides that.\n\t\t\t\t*/ }\n\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"components-panel__arrow\"\n\t\t\t\t\t\t\ticon={ isOpened ? chevronUp : chevronDown }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t\t{ title }\n\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tclassName=\"components-panel__icon\"\n\t\t\t\t\t\t\tsize={ 20 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t</h2>\n\t\t);\n\t}\n);\n\nexport const PanelBody = forwardRef( UnforwardedPanelBody );\n\nexport default PanelBody;\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ var _compose = require("@wordpress/compose");
13
13
  var _icons = require("@wordpress/icons");
14
14
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
15
15
  var _primitives = require("@wordpress/primitives");
16
+ var _i18n = require("@wordpress/i18n");
16
17
  var _button = _interopRequireDefault(require("../button"));
17
18
  var _scrollLock = _interopRequireDefault(require("../scroll-lock"));
18
19
  var _slotFill = require("../slot-fill");
@@ -296,8 +297,10 @@ const UnforwardedPopover = (props, forwardedRef) => {
296
297
  children: headerTitle
297
298
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.default, {
298
299
  className: "components-popover__close",
300
+ size: "small",
299
301
  icon: _icons.close,
300
- onClick: onClose
302
+ onClick: onClose,
303
+ label: (0, _i18n.__)('Close')
301
304
  })]
302
305
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
303
306
  className: "components-popover__content",
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_reactDom","_framerMotion","_element","_compose","_icons","_deprecated","_primitives","_button","_scrollLock","_slotFill","_utils","_context","_overlayMiddlewares","_styleProvider","_jsxRuntime","SLOT_NAME","exports","ArrowTriangle","jsxs","SVG","xmlns","viewBox","className","role","children","jsx","Path","d","vectorEffect","slotNameContext","createContext","undefined","fallbackContainerClassname","getPopoverFallbackContainer","container","document","body","querySelector","createElement","append","UnforwardedPopover","props","forwardedRef","animate","headerTitle","constrainTabbing","onClose","noArrow","position","placement","placementProp","offset","offsetProp","focusOnMount","anchor","expandOnMobile","onFocusOutside","__unstableSlotName","flip","resize","shift","inline","variant","style","contentStyle","__unstableForcePosition","anchorRef","anchorRect","getAnchorRect","isAlternate","contentProps","useContextSystem","computedFlipProp","computedResizeProp","deprecated","since","version","alternative","computedVariant","arrowRef","useRef","fallbackReferenceElement","setFallbackReferenceElement","useState","anchorRefFallback","useCallback","node","isMobileViewport","useViewportMatch","isExpanded","hasArrow","normalizedPlacementFromProps","positionToPlacement","middleware","overlayMiddlewares","offsetMiddleware","flipMiddleware","size","apply","sizeProps","_refs$floating$curren","firstElementChild","refs","floating","current","HTMLElement","Object","assign","maxHeight","availableHeight","overflow","shiftMiddleware","crossAxis","limiter","limitShift","padding","arrow","element","slotName","useContext","slot","useSlot","onDialogClose","type","event","dialogRef","dialogProps","useDialog","__unstableOnClose","x","y","strategy","update","computedPlacement","middlewareData","arrowData","useFloating","whileElementsMounted","referenceParam","floatingParam","updateParam","autoUpdate","layoutShift","animationFrame","arrowCallbackRef","anchorRefTop","top","anchorRefBottom","bottom","anchorRefStartContainer","startContainer","anchorRefCurrent","useLayoutEffect","resultingReferenceElement","getReferenceElement","setReference","mergedFloatingRef","useMergeRefs","setFloating","left","computePopoverPosition","shouldReduceMotion","useReducedMotion","shouldAnimate","animationFinished","setAnimationFinished","motionInlineStyles","otherMotionProps","useMemo","placementToMotionAnimationProps","animationProps","onAnimationComplete","isPositioned","content","motion","div","clsx","ref","tabIndex","default","icon","close","onClick","split","join","Number","isFinite","shouldRenderWithinSlot","hasAnchor","Fill","name","createPortal","StyleProvider","Fragment","Popover","contextConnect","PopoverSlot","Slot","bubblesVirtually","forwardRef","__unstableSlotNameProvider","Provider","_default"],"sources":["@wordpress/components/src/popover/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, SyntheticEvent, RefCallback } from 'react';\nimport clsx from 'clsx';\nimport {\n\tuseFloating,\n\tflip as flipMiddleware,\n\tshift as shiftMiddleware,\n\tlimitShift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tsize,\n} from '@floating-ui/react-dom';\nimport type { HTMLMotionProps, MotionProps } from 'framer-motion';\nimport { motion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tcreatePortal,\n} from '@wordpress/element';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tcomputePopoverPosition,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceElement,\n} from './utils';\nimport { contextConnect, useContextSystem } from '../context';\nimport type { WordPressComponentProps } from '../context';\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\nimport { overlayMiddlewares } from './overlay-middlewares';\nimport { StyleProvider } from '../style-provider';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nexport const SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 100 100\"\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\n\nconst fallbackContainerClassname = 'components-popover__fallback-container';\nconst getPopoverFallbackContainer = () => {\n\tlet container = document.body.querySelector(\n\t\t'.' + fallbackContainerClassname\n\t);\n\tif ( ! container ) {\n\t\tcontainer = document.createElement( 'div' );\n\t\tcontainer.className = fallbackContainerClassname;\n\t\tdocument.body.append( container );\n\t}\n\n\treturn container;\n};\n\nconst UnforwardedPopover = (\n\tprops: Omit<\n\t\tWordPressComponentProps< PopoverProps, 'div', false >,\n\t\t// To avoid overlaps between the standard HTML attributes and the props\n\t\t// expected by `framer-motion`, omit all framer motion props from popover\n\t\t// props (except for `animate` and `children` which are re-defined in\n\t\t// `PopoverProps`, and `style` which is merged safely).\n\t\tkeyof Omit< MotionProps, 'animate' | 'children' | 'style' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tconstrainTabbing,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchor,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\tflip = true,\n\t\tresize = true,\n\t\tshift = false,\n\t\tinline = false,\n\t\tvariant,\n\t\tstyle: contentStyle,\n\n\t\t// Deprecated props\n\t\t__unstableForcePosition,\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tisAlternate,\n\n\t\t// Rest\n\t\t...contentProps\n\t} = useContextSystem( props, 'Popover' );\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '`__unstableForcePosition` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`flip={ false }` and `resize={ false }`',\n\t\t} );\n\n\t\t// Back-compat, set the `flip` and `resize` props\n\t\t// to `false` to replicate `__unstableForcePosition`.\n\t\tcomputedFlipProp = ! __unstableForcePosition;\n\t\tcomputedResizeProp = ! __unstableForcePosition;\n\t}\n\n\tif ( anchorRef !== undefined ) {\n\t\tdeprecated( '`anchorRef` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( anchorRect !== undefined ) {\n\t\tdeprecated( '`anchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( getAnchorRect !== undefined ) {\n\t\tdeprecated( '`getAnchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tconst computedVariant = isAlternate ? 'toolbar' : variant;\n\tif ( isAlternate !== undefined ) {\n\t\tdeprecated( '`isAlternate` prop in wp.components.Popover', {\n\t\t\tsince: '6.2',\n\t\t\talternative: \"`variant` prop with the `'toolbar'` value\",\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef< HTMLElement | null >( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\n\tconst anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(\n\t\t( node ) => {\n\t\t\tsetFallbackReferenceElement( node );\n\t\t},\n\t\t[]\n\t);\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst middleware = [\n\t\t...( placementProp === 'overlay' ? overlayMiddlewares() : [] ),\n\t\toffsetMiddleware( offsetProp ),\n\t\tcomputedFlipProp && flipMiddleware(),\n\t\tcomputedResizeProp &&\n\t\t\tsize( {\n\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\tconst { firstElementChild } = refs.floating.current ?? {};\n\n\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t} ),\n\t\tshift &&\n\t\t\tshiftMiddleware( {\n\t\t\t\tcrossAxis: true,\n\t\t\t\tlimiter: limitShift(),\n\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t} ),\n\t\tarrow( { element: arrowRef } ),\n\t];\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type: string | undefined, event: SyntheticEvent ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tconstrainTabbing,\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\t// @ts-expect-error The __unstableOnClose property needs to be deprecated first (see https://github.com/WordPress/gutenberg/pull/27675)\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData },\n\t} = useFloating( {\n\t\tplacement:\n\t\t\tnormalizedPlacementFromProps === 'overlay'\n\t\t\t\t? undefined\n\t\t\t\t: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tlayoutShift: false,\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tarrowRef.current = node;\n\t\t\tupdate();\n\t\t},\n\t\t[ update ]\n\t);\n\n\t// When any of the possible anchor \"sources\" change,\n\t// recompute the reference element (real or virtual) and its owner document.\n\n\tconst anchorRefTop = ( anchorRef as PopoverAnchorRefTopBottom | undefined )\n\t\t?.top;\n\tconst anchorRefBottom = (\n\t\tanchorRef as PopoverAnchorRefTopBottom | undefined\n\t )?.bottom;\n\tconst anchorRefStartContainer = ( anchorRef as Range | undefined )\n\t\t?.startContainer;\n\tconst anchorRefCurrent = ( anchorRef as PopoverAnchorRefReference )\n\t\t?.current;\n\n\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchor,\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\trefs.setReference( resultingReferenceElement );\n\t}, [\n\t\tanchor,\n\t\tanchorRef,\n\t\tanchorRefTop,\n\t\tanchorRefBottom,\n\t\tanchorRefStartContainer,\n\t\tanchorRefCurrent,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\trefs,\n\t] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\trefs.setFloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\tconst style = isExpanded\n\t\t? undefined\n\t\t: {\n\t\t\t\tposition: strategy,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\t// `x` and `y` are framer-motion specific props and are shorthands\n\t\t\t\t// for `translateX` and `translateY`. Currently it is not possible\n\t\t\t\t// to use `translateX` and `translateY` because those values would\n\t\t\t\t// be overridden by the return value of the\n\t\t\t\t// `placementToMotionAnimationProps` function.\n\t\t\t\tx: computePopoverPosition( x ),\n\t\t\t\ty: computePopoverPosition( y ),\n\t\t };\n\n\tconst shouldReduceMotion = useReducedMotion();\n\tconst shouldAnimate = animate && ! isExpanded && ! shouldReduceMotion;\n\n\tconst [ animationFinished, setAnimationFinished ] = useState( false );\n\n\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t() => placementToMotionAnimationProps( computedPlacement ),\n\t\t[ computedPlacement ]\n\t);\n\n\tconst animationProps: HTMLMotionProps< 'div' > = shouldAnimate\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t...contentStyle,\n\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t\t\tonAnimationComplete: () => setAnimationFinished( true ),\n\t\t\t\t...otherMotionProps,\n\t\t }\n\t\t: {\n\t\t\t\tanimate: false,\n\t\t\t\tstyle: {\n\t\t\t\t\t...contentStyle,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t };\n\n\t// When Floating UI has finished positioning and Framer Motion has finished animating\n\t// the popover, add the `is-positioned` class to signal that all transitions have finished.\n\tconst isPositioned =\n\t\t( ! shouldAnimate || animationFinished ) && x !== null && y !== null;\n\n\tlet content = (\n\t\t<motion.div\n\t\t\tclassName={ clsx( className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-positioned': isPositioned,\n\t\t\t\t// Use the 'alternate' classname for 'toolbar' variant for back compat.\n\t\t\t\t[ `is-${\n\t\t\t\t\tcomputedVariant === 'toolbar'\n\t\t\t\t\t\t? 'alternate'\n\t\t\t\t\t\t: computedVariant\n\t\t\t\t}` ]: computedVariant,\n\t\t\t} ) }\n\t\t\t{ ...animationProps }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowCallbackRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\ttypeof arrowData?.x !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.x )\n\t\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\ttypeof arrowData?.y !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.y )\n\t\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</motion.div>\n\t);\n\n\tconst shouldRenderWithinSlot = slot.ref && ! inline;\n\tconst hasAnchor = anchorRef || anchorRect || anchor;\n\n\tif ( shouldRenderWithinSlot ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t} else if ( ! inline ) {\n\t\tcontent = createPortal(\n\t\t\t<StyleProvider document={ document }>{ content }</StyleProvider>,\n\t\t\tgetPopoverFallbackContainer()\n\t\t);\n\t}\n\n\tif ( hasAnchor ) {\n\t\treturn content;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<span ref={ anchorRefFallback } />\n\t\t\t{ content }\n\t\t</>\n\t);\n};\n\n/**\n * `Popover` renders its content in a floating modal. If no explicit anchor is passed via props, it anchors to its parent element by default.\n *\n * ```jsx\n * import { Button, Popover } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyPopover = () => {\n * \tconst [ isVisible, setIsVisible ] = useState( false );\n * \tconst toggleVisible = () => {\n * \t\tsetIsVisible( ( state ) => ! state );\n * \t};\n *\n * \treturn (\n * \t\t<Button variant=\"secondary\" onClick={ toggleVisible }>\n * \t\t\tToggle Popover!\n * \t\t\t{ isVisible && <Popover>Popover is toggled!</Popover> }\n * \t\t</Button>\n * \t);\n * };\n * ```\n *\n */\nexport const Popover = contextConnect( UnforwardedPopover, 'Popover' );\n\nfunction PopoverSlot(\n\t{ name = SLOT_NAME }: { name?: string },\n\tref: ForwardedRef< any >\n) {\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\n// @ts-expect-error For Legacy Reasons\nPopover.Slot = forwardRef( PopoverSlot );\n// @ts-expect-error For Legacy Reasons\nPopover.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default Popover;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_reactDom","_framerMotion","_element","_compose","_icons","_deprecated","_primitives","_i18n","_button","_scrollLock","_slotFill","_utils","_context","_overlayMiddlewares","_styleProvider","_jsxRuntime","SLOT_NAME","exports","ArrowTriangle","jsxs","SVG","xmlns","viewBox","className","role","children","jsx","Path","d","vectorEffect","slotNameContext","createContext","undefined","fallbackContainerClassname","getPopoverFallbackContainer","container","document","body","querySelector","createElement","append","UnforwardedPopover","props","forwardedRef","animate","headerTitle","constrainTabbing","onClose","noArrow","position","placement","placementProp","offset","offsetProp","focusOnMount","anchor","expandOnMobile","onFocusOutside","__unstableSlotName","flip","resize","shift","inline","variant","style","contentStyle","__unstableForcePosition","anchorRef","anchorRect","getAnchorRect","isAlternate","contentProps","useContextSystem","computedFlipProp","computedResizeProp","deprecated","since","version","alternative","computedVariant","arrowRef","useRef","fallbackReferenceElement","setFallbackReferenceElement","useState","anchorRefFallback","useCallback","node","isMobileViewport","useViewportMatch","isExpanded","hasArrow","normalizedPlacementFromProps","positionToPlacement","middleware","overlayMiddlewares","offsetMiddleware","flipMiddleware","size","apply","sizeProps","_refs$floating$curren","firstElementChild","refs","floating","current","HTMLElement","Object","assign","maxHeight","availableHeight","overflow","shiftMiddleware","crossAxis","limiter","limitShift","padding","arrow","element","slotName","useContext","slot","useSlot","onDialogClose","type","event","dialogRef","dialogProps","useDialog","__unstableOnClose","x","y","strategy","update","computedPlacement","middlewareData","arrowData","useFloating","whileElementsMounted","referenceParam","floatingParam","updateParam","autoUpdate","layoutShift","animationFrame","arrowCallbackRef","anchorRefTop","top","anchorRefBottom","bottom","anchorRefStartContainer","startContainer","anchorRefCurrent","useLayoutEffect","resultingReferenceElement","getReferenceElement","setReference","mergedFloatingRef","useMergeRefs","setFloating","left","computePopoverPosition","shouldReduceMotion","useReducedMotion","shouldAnimate","animationFinished","setAnimationFinished","motionInlineStyles","otherMotionProps","useMemo","placementToMotionAnimationProps","animationProps","onAnimationComplete","isPositioned","content","motion","div","clsx","ref","tabIndex","default","icon","close","onClick","label","__","split","join","Number","isFinite","shouldRenderWithinSlot","hasAnchor","Fill","name","createPortal","StyleProvider","Fragment","Popover","contextConnect","PopoverSlot","Slot","bubblesVirtually","forwardRef","__unstableSlotNameProvider","Provider","_default"],"sources":["@wordpress/components/src/popover/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, SyntheticEvent, RefCallback } from 'react';\nimport clsx from 'clsx';\nimport {\n\tuseFloating,\n\tflip as flipMiddleware,\n\tshift as shiftMiddleware,\n\tlimitShift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tsize,\n} from '@floating-ui/react-dom';\nimport type { HTMLMotionProps, MotionProps } from 'framer-motion';\nimport { motion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tcreatePortal,\n} from '@wordpress/element';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tcomputePopoverPosition,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n\tgetReferenceElement,\n} from './utils';\nimport { contextConnect, useContextSystem } from '../context';\nimport type { WordPressComponentProps } from '../context';\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\nimport { overlayMiddlewares } from './overlay-middlewares';\nimport { StyleProvider } from '../style-provider';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nexport const SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 100 100\"\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst slotNameContext = createContext< string | undefined >( undefined );\n\nconst fallbackContainerClassname = 'components-popover__fallback-container';\nconst getPopoverFallbackContainer = () => {\n\tlet container = document.body.querySelector(\n\t\t'.' + fallbackContainerClassname\n\t);\n\tif ( ! container ) {\n\t\tcontainer = document.createElement( 'div' );\n\t\tcontainer.className = fallbackContainerClassname;\n\t\tdocument.body.append( container );\n\t}\n\n\treturn container;\n};\n\nconst UnforwardedPopover = (\n\tprops: Omit<\n\t\tWordPressComponentProps< PopoverProps, 'div', false >,\n\t\t// To avoid overlaps between the standard HTML attributes and the props\n\t\t// expected by `framer-motion`, omit all framer motion props from popover\n\t\t// props (except for `animate` and `children` which are re-defined in\n\t\t// `PopoverProps`, and `style` which is merged safely).\n\t\tkeyof Omit< MotionProps, 'animate' | 'children' | 'style' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tconstrainTabbing,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchor,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\tflip = true,\n\t\tresize = true,\n\t\tshift = false,\n\t\tinline = false,\n\t\tvariant,\n\t\tstyle: contentStyle,\n\n\t\t// Deprecated props\n\t\t__unstableForcePosition,\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tisAlternate,\n\n\t\t// Rest\n\t\t...contentProps\n\t} = useContextSystem( props, 'Popover' );\n\n\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '`__unstableForcePosition` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`flip={ false }` and `resize={ false }`',\n\t\t} );\n\n\t\t// Back-compat, set the `flip` and `resize` props\n\t\t// to `false` to replicate `__unstableForcePosition`.\n\t\tcomputedFlipProp = ! __unstableForcePosition;\n\t\tcomputedResizeProp = ! __unstableForcePosition;\n\t}\n\n\tif ( anchorRef !== undefined ) {\n\t\tdeprecated( '`anchorRef` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( anchorRect !== undefined ) {\n\t\tdeprecated( '`anchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tif ( getAnchorRect !== undefined ) {\n\t\tdeprecated( '`getAnchorRect` prop in wp.components.Popover', {\n\t\t\tsince: '6.1',\n\t\t\talternative: '`anchor` prop',\n\t\t} );\n\t}\n\n\tconst computedVariant = isAlternate ? 'toolbar' : variant;\n\tif ( isAlternate !== undefined ) {\n\t\tdeprecated( '`isAlternate` prop in wp.components.Popover', {\n\t\t\tsince: '6.2',\n\t\t\talternative: \"`variant` prop with the `'toolbar'` value\",\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef< HTMLElement | null >( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\n\tconst anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(\n\t\t( node ) => {\n\t\t\tsetFallbackReferenceElement( node );\n\t\t},\n\t\t[]\n\t);\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst middleware = [\n\t\t...( placementProp === 'overlay' ? overlayMiddlewares() : [] ),\n\t\toffsetMiddleware( offsetProp ),\n\t\tcomputedFlipProp && flipMiddleware(),\n\t\tcomputedResizeProp &&\n\t\t\tsize( {\n\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\tconst { firstElementChild } = refs.floating.current ?? {};\n\n\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\tObject.assign( firstElementChild.style, {\n\t\t\t\t\t\tmaxHeight: `${ sizeProps.availableHeight }px`,\n\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t} ),\n\t\tshift &&\n\t\t\tshiftMiddleware( {\n\t\t\t\tcrossAxis: true,\n\t\t\t\tlimiter: limitShift(),\n\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t} ),\n\t\tarrow( { element: arrowRef } ),\n\t];\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type: string | undefined, event: SyntheticEvent ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tconstrainTabbing,\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\t// @ts-expect-error The __unstableOnClose property needs to be deprecated first (see https://github.com/WordPress/gutenberg/pull/27675)\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData },\n\t} = useFloating( {\n\t\tplacement:\n\t\t\tnormalizedPlacementFromProps === 'overlay'\n\t\t\t\t? undefined\n\t\t\t\t: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tlayoutShift: false,\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tarrowRef.current = node;\n\t\t\tupdate();\n\t\t},\n\t\t[ update ]\n\t);\n\n\t// When any of the possible anchor \"sources\" change,\n\t// recompute the reference element (real or virtual) and its owner document.\n\n\tconst anchorRefTop = ( anchorRef as PopoverAnchorRefTopBottom | undefined )\n\t\t?.top;\n\tconst anchorRefBottom = (\n\t\tanchorRef as PopoverAnchorRefTopBottom | undefined\n\t )?.bottom;\n\tconst anchorRefStartContainer = ( anchorRef as Range | undefined )\n\t\t?.startContainer;\n\tconst anchorRefCurrent = ( anchorRef as PopoverAnchorRefReference )\n\t\t?.current;\n\n\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchor,\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\trefs.setReference( resultingReferenceElement );\n\t}, [\n\t\tanchor,\n\t\tanchorRef,\n\t\tanchorRefTop,\n\t\tanchorRefBottom,\n\t\tanchorRefStartContainer,\n\t\tanchorRefCurrent,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\trefs,\n\t] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\trefs.setFloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\tconst style = isExpanded\n\t\t? undefined\n\t\t: {\n\t\t\t\tposition: strategy,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\t// `x` and `y` are framer-motion specific props and are shorthands\n\t\t\t\t// for `translateX` and `translateY`. Currently it is not possible\n\t\t\t\t// to use `translateX` and `translateY` because those values would\n\t\t\t\t// be overridden by the return value of the\n\t\t\t\t// `placementToMotionAnimationProps` function.\n\t\t\t\tx: computePopoverPosition( x ),\n\t\t\t\ty: computePopoverPosition( y ),\n\t\t };\n\n\tconst shouldReduceMotion = useReducedMotion();\n\tconst shouldAnimate = animate && ! isExpanded && ! shouldReduceMotion;\n\n\tconst [ animationFinished, setAnimationFinished ] = useState( false );\n\n\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t() => placementToMotionAnimationProps( computedPlacement ),\n\t\t[ computedPlacement ]\n\t);\n\n\tconst animationProps: HTMLMotionProps< 'div' > = shouldAnimate\n\t\t? {\n\t\t\t\tstyle: {\n\t\t\t\t\t...contentStyle,\n\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t\t\tonAnimationComplete: () => setAnimationFinished( true ),\n\t\t\t\t...otherMotionProps,\n\t\t }\n\t\t: {\n\t\t\t\tanimate: false,\n\t\t\t\tstyle: {\n\t\t\t\t\t...contentStyle,\n\t\t\t\t\t...style,\n\t\t\t\t},\n\t\t };\n\n\t// When Floating UI has finished positioning and Framer Motion has finished animating\n\t// the popover, add the `is-positioned` class to signal that all transitions have finished.\n\tconst isPositioned =\n\t\t( ! shouldAnimate || animationFinished ) && x !== null && y !== null;\n\n\tlet content = (\n\t\t<motion.div\n\t\t\tclassName={ clsx( className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-positioned': isPositioned,\n\t\t\t\t// Use the 'alternate' classname for 'toolbar' variant for back compat.\n\t\t\t\t[ `is-${\n\t\t\t\t\tcomputedVariant === 'toolbar'\n\t\t\t\t\t\t? 'alternate'\n\t\t\t\t\t\t: computedVariant\n\t\t\t\t}` ]: computedVariant,\n\t\t\t} ) }\n\t\t\t{ ...animationProps }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex={ -1 }\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowCallbackRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\ttypeof arrowData?.x !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.x )\n\t\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\ttypeof arrowData?.y !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.y )\n\t\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</motion.div>\n\t);\n\n\tconst shouldRenderWithinSlot = slot.ref && ! inline;\n\tconst hasAnchor = anchorRef || anchorRect || anchor;\n\n\tif ( shouldRenderWithinSlot ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t} else if ( ! inline ) {\n\t\tcontent = createPortal(\n\t\t\t<StyleProvider document={ document }>{ content }</StyleProvider>,\n\t\t\tgetPopoverFallbackContainer()\n\t\t);\n\t}\n\n\tif ( hasAnchor ) {\n\t\treturn content;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<span ref={ anchorRefFallback } />\n\t\t\t{ content }\n\t\t</>\n\t);\n};\n\n/**\n * `Popover` renders its content in a floating modal. If no explicit anchor is passed via props, it anchors to its parent element by default.\n *\n * ```jsx\n * import { Button, Popover } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyPopover = () => {\n * \tconst [ isVisible, setIsVisible ] = useState( false );\n * \tconst toggleVisible = () => {\n * \t\tsetIsVisible( ( state ) => ! state );\n * \t};\n *\n * \treturn (\n * \t\t<Button variant=\"secondary\" onClick={ toggleVisible }>\n * \t\t\tToggle Popover!\n * \t\t\t{ isVisible && <Popover>Popover is toggled!</Popover> }\n * \t\t</Button>\n * \t);\n * };\n * ```\n *\n */\nexport const Popover = contextConnect( UnforwardedPopover, 'Popover' );\n\nfunction PopoverSlot(\n\t{ name = SLOT_NAME }: { name?: string },\n\tref: ForwardedRef< any >\n) {\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\n// @ts-expect-error For Legacy Reasons\nPopover.Slot = forwardRef( PopoverSlot );\n// @ts-expect-error For Legacy Reasons\nPopover.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default Popover;\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("@ariakit/react"));
10
10
  var Ariakit = _react;
11
11
  var _button = _interopRequireDefault(require("../button"));
12
12
  var _context = require("./context");
13
+ var _deprecated36pxSize = require("../utils/deprecated-36px-size");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -36,6 +37,11 @@ function UnforwardedRadio({
36
37
  } = (0, _element.useContext)(_context.RadioGroupContext);
37
38
  const selectedValue = (0, _react.useStoreState)(store, 'value');
38
39
  const isChecked = selectedValue !== undefined && selectedValue === value;
40
+ (0, _deprecated36pxSize.maybeWarnDeprecated36pxSize)({
41
+ componentName: 'Radio',
42
+ size: undefined,
43
+ __next40pxDefaultSize: props.__next40pxDefaultSize
44
+ });
39
45
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Ariakit.Radio, {
40
46
  disabled: disabled,
41
47
  store: store,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_react","_interopRequireWildcard","Ariakit","_button","_interopRequireDefault","_context","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","UnforwardedRadio","value","children","props","ref","store","disabled","useContext","RadioGroupContext","selectedValue","useStoreState","isChecked","undefined","jsx","Radio","render","variant","exports","forwardRef","_default"],"sources":["@wordpress/components/src/radio-group/radio.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\nimport { useStoreState } from '@ariakit/react';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { RadioGroupContext } from './context';\nimport type { WordPressComponentProps } from '../context';\nimport type { RadioProps } from './types';\n\nfunction UnforwardedRadio(\n\t{\n\t\tvalue,\n\t\tchildren,\n\t\t...props\n\t}: WordPressComponentProps< RadioProps, 'button', false >,\n\tref: React.ForwardedRef< any >\n) {\n\tconst { store, disabled } = useContext( RadioGroupContext );\n\n\tconst selectedValue = useStoreState( store, 'value' );\n\tconst isChecked = selectedValue !== undefined && selectedValue === value;\n\n\treturn (\n\t\t<Ariakit.Radio\n\t\t\tdisabled={ disabled }\n\t\t\tstore={ store }\n\t\t\tref={ ref }\n\t\t\tvalue={ value }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ isChecked ? 'primary' : 'secondary' }\n\t\t\t\t\t{ ...props }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ children || value }\n\t\t</Ariakit.Radio>\n\t);\n}\n\n/**\n * @deprecated Use `RadioControl` or `ToggleGroupControl` instead.\n */\nexport const Radio = forwardRef( UnforwardedRadio );\nexport default Radio;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA0C,IAAAG,OAAA,GAAAF,MAAA;AAM1C,IAAAG,OAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAA8C,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAf9C;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAMA,SAASW,gBAAgBA,CACxB;EACCC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACoD,CAAC,EACzDC,GAA8B,EAC7B;EACD,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,mBAAU,EAAEC,0BAAkB,CAAC;EAE3D,MAAMC,aAAa,GAAG,IAAAC,oBAAa,EAAEL,KAAK,EAAE,OAAQ,CAAC;EACrD,MAAMM,SAAS,GAAGF,aAAa,KAAKG,SAAS,IAAIH,aAAa,KAAKR,KAAK;EAExE,oBACC,IAAAtB,WAAA,CAAAkC,GAAA,EAACtC,OAAO,CAACuC,KAAK;IACbR,QAAQ,EAAGA,QAAU;IACrBD,KAAK,EAAGA,KAAO;IACfD,GAAG,EAAGA,GAAK;IACXH,KAAK,EAAGA,KAAO;IACfc,MAAM,eACL,IAAApC,WAAA,CAAAkC,GAAA,EAACrC,OAAA,CAAAU,OAAM;MACN8B,OAAO,EAAGL,SAAS,GAAG,SAAS,GAAG,WAAa;MAAA,GAC1CR;IAAK,CACV,CACD;IAAAD,QAAA,EAECA,QAAQ,IAAID;EAAK,CACL,CAAC;AAElB;;AAEA;AACA;AACA;AACO,MAAMa,KAAK,GAAAG,OAAA,CAAAH,KAAA,GAAG,IAAAI,mBAAU,EAAElB,gBAAiB,CAAC;AAAC,IAAAmB,QAAA,GAAAF,OAAA,CAAA/B,OAAA,GACrC4B,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_react","_interopRequireWildcard","Ariakit","_button","_interopRequireDefault","_context","_deprecated36pxSize","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","UnforwardedRadio","value","children","props","ref","store","disabled","useContext","RadioGroupContext","selectedValue","useStoreState","isChecked","undefined","maybeWarnDeprecated36pxSize","componentName","size","__next40pxDefaultSize","jsx","Radio","render","variant","exports","forwardRef","_default"],"sources":["@wordpress/components/src/radio-group/radio.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\nimport { useStoreState } from '@ariakit/react';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { RadioGroupContext } from './context';\nimport type { WordPressComponentProps } from '../context';\nimport type { RadioProps } from './types';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nfunction UnforwardedRadio(\n\t{\n\t\tvalue,\n\t\tchildren,\n\t\t...props\n\t}: WordPressComponentProps< RadioProps, 'button', false >,\n\tref: React.ForwardedRef< any >\n) {\n\tconst { store, disabled } = useContext( RadioGroupContext );\n\n\tconst selectedValue = useStoreState( store, 'value' );\n\tconst isChecked = selectedValue !== undefined && selectedValue === value;\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'Radio',\n\t\tsize: undefined,\n\t\t__next40pxDefaultSize: props.__next40pxDefaultSize,\n\t} );\n\n\treturn (\n\t\t<Ariakit.Radio\n\t\t\tdisabled={ disabled }\n\t\t\tstore={ store }\n\t\t\tref={ ref }\n\t\t\tvalue={ value }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ isChecked ? 'primary' : 'secondary' }\n\t\t\t\t\t{ ...props }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ children || value }\n\t\t</Ariakit.Radio>\n\t);\n}\n\n/**\n * @deprecated Use `RadioControl` or `ToggleGroupControl` instead.\n */\nexport const Radio = forwardRef( UnforwardedRadio );\nexport default Radio;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/radio-group/types.ts"],"sourcesContent":["export type RadioGroupProps = {\n\t/**\n\t * Accessible label for the radio group\n\t */\n\tlabel: string;\n\t/**\n\t * The `value` of the `Radio` element which should be selected.\n\t * Indicates controlled usage of the component.\n\t */\n\tchecked?: string | number;\n\t/**\n\t * The value of the radio element which is initially selected.\n\t */\n\tdefaultChecked?: string | number;\n\t/**\n\t * Whether the `RadioGroup` should be disabled.\n\t */\n\tdisabled?: boolean;\n\t/**\n\t * Called when a `Radio` element has been selected.\n\t * Receives the `value` of the selected element as an argument.\n\t */\n\tonChange?: ( value: string | number | undefined ) => void;\n\t/**\n\t * The children elements, which should be a series of `Radio` components.\n\t */\n\tchildren: React.ReactNode;\n};\n\nexport type RadioProps = {\n\t/**\n\t * The actual value of the radio element.\n\t */\n\tvalue: string | number;\n\t/**\n\t * Content displayed on the Radio element. If there aren't any children, `value` is displayed.\n\t */\n\tchildren?: React.ReactNode;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/radio-group/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { ButtonProps } from '../button/types';\n\nexport type RadioGroupProps = {\n\t/**\n\t * Accessible label for the radio group\n\t */\n\tlabel: string;\n\t/**\n\t * The `value` of the `Radio` element which should be selected.\n\t * Indicates controlled usage of the component.\n\t */\n\tchecked?: string | number;\n\t/**\n\t * The value of the radio element which is initially selected.\n\t */\n\tdefaultChecked?: string | number;\n\t/**\n\t * Whether the `RadioGroup` should be disabled.\n\t */\n\tdisabled?: boolean;\n\t/**\n\t * Called when a `Radio` element has been selected.\n\t * Receives the `value` of the selected element as an argument.\n\t */\n\tonChange?: ( value: string | number | undefined ) => void;\n\t/**\n\t * The children elements, which should be a series of `Radio` components.\n\t */\n\tchildren: React.ReactNode;\n};\n\nexport type RadioProps = Pick< ButtonProps, '__next40pxDefaultSize' > & {\n\t/**\n\t * The actual value of the radio element.\n\t */\n\tvalue: string | number;\n\t/**\n\t * Content displayed on the Radio element. If there aren't any children, `value` is displayed.\n\t */\n\tchildren?: React.ReactNode;\n};\n"],"mappings":"","ignoreList":[]}
@@ -129,8 +129,9 @@ function UnforwardedSnackbar({
129
129
  url
130
130
  }, index) => {
131
131
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.default, {
132
+ __next40pxDefaultSize: true,
132
133
  href: url,
133
- variant: "tertiary",
134
+ variant: "link",
134
135
  onClick: event => onActionClick(event, onClick),
135
136
  className: "components-snackbar__action",
136
137
  children: label
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_a11y","_element","_i18n","_warning","_button","_jsxRuntime","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","renderToString","useEffect","speak","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","callbacksRef","useRef","useLayoutEffect","timeoutHandle","setTimeout","clearTimeout","classes","clsx","length","globalThis","SCRIPT_DEBUG","warning","snackbarContentClassnames","jsx","undefined","tabIndex","role","onKeyPress","__","jsxs","map","label","url","index","default","href","variant","Snackbar","exports","forwardRef","_default"],"sources":["@wordpress/components/src/snackbar/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport {\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tforwardRef,\n\trenderToString,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport type { SnackbarProps } from './types';\nimport type { NoticeAction } from '../notice/types';\nimport type { WordPressComponentProps } from '../context';\n\nconst NOTICE_TIMEOUT = 10000;\n\n/**\n * Custom hook which announces the message with the given politeness, if a\n * valid message is provided.\n *\n * @param message Message to announce.\n * @param politeness Politeness to announce.\n */\nfunction useSpokenMessage(\n\tmessage: SnackbarProps[ 'spokenMessage' ],\n\tpoliteness: NonNullable< SnackbarProps[ 'politeness' ] >\n) {\n\tconst spokenMessage =\n\t\ttypeof message === 'string' ? message : renderToString( message );\n\n\tuseEffect( () => {\n\t\tif ( spokenMessage ) {\n\t\t\tspeak( spokenMessage, politeness );\n\t\t}\n\t}, [ spokenMessage, politeness ] );\n}\n\nfunction UnforwardedSnackbar(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tspokenMessage = children,\n\t\tpoliteness = 'polite',\n\t\tactions = [],\n\t\tonRemove,\n\t\ticon = null,\n\t\texplicitDismiss = false,\n\t\t// onDismiss is a callback executed when the snackbar is dismissed.\n\t\t// It is distinct from onRemove, which _looks_ like a callback but is\n\t\t// actually the function to call to remove the snackbar from the UI.\n\t\tonDismiss,\n\t\tlistRef,\n\t}: WordPressComponentProps< SnackbarProps, 'div' >,\n\tref: ForwardedRef< any >\n) {\n\tfunction dismissMe( event: KeyboardEvent | MouseEvent ) {\n\t\tif ( event && event.preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\t// Prevent focus loss by moving it to the list element.\n\t\tlistRef?.current?.focus();\n\n\t\tonDismiss?.();\n\t\tonRemove?.();\n\t}\n\n\tfunction onActionClick(\n\t\tevent: MouseEvent< HTMLButtonElement >,\n\t\tonClick: NoticeAction[ 'onClick' ]\n\t) {\n\t\tevent.stopPropagation();\n\n\t\tonRemove?.();\n\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\tuseSpokenMessage( spokenMessage, politeness );\n\n\t// The `onDismiss/onRemove` can have unstable references,\n\t// trigger side-effect cleanup, and reset timers.\n\tconst callbacksRef = useRef( { onDismiss, onRemove } );\n\tuseLayoutEffect( () => {\n\t\tcallbacksRef.current = { onDismiss, onRemove };\n\t} );\n\n\tuseEffect( () => {\n\t\t// Only set up the timeout dismiss if we're not explicitly dismissing.\n\t\tconst timeoutHandle = setTimeout( () => {\n\t\t\tif ( ! explicitDismiss ) {\n\t\t\t\tcallbacksRef.current.onDismiss?.();\n\t\t\t\tcallbacksRef.current.onRemove?.();\n\t\t\t}\n\t\t}, NOTICE_TIMEOUT );\n\n\t\treturn () => clearTimeout( timeoutHandle );\n\t}, [ explicitDismiss ] );\n\n\tconst classes = clsx( className, 'components-snackbar', {\n\t\t'components-snackbar-explicit-dismiss': !! explicitDismiss,\n\t} );\n\tif ( actions && actions.length > 1 ) {\n\t\t// We need to inform developers that snackbar only accepts 1 action.\n\t\twarning(\n\t\t\t'Snackbar can only have one action. Use Notice if your message requires many actions.'\n\t\t);\n\t\t// return first element only while keeping it inside an array\n\t\tactions = [ actions[ 0 ] ];\n\t}\n\n\tconst snackbarContentClassnames = clsx( 'components-snackbar__content', {\n\t\t'components-snackbar__content-with-icon': !! icon,\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ classes }\n\t\t\tonClick={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\ttabIndex={ 0 }\n\t\t\trole={ ! explicitDismiss ? 'button' : undefined }\n\t\t\tonKeyPress={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\taria-label={\n\t\t\t\t! explicitDismiss ? __( 'Dismiss this notice' ) : undefined\n\t\t\t}\n\t\t\tdata-testid=\"snackbar\"\n\t\t>\n\t\t\t<div className={ snackbarContentClassnames }>\n\t\t\t\t{ icon && (\n\t\t\t\t\t<div className=\"components-snackbar__icon\">{ icon }</div>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ actions.map( ( { label, onClick, url }, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ (\n\t\t\t\t\t\t\t\tevent: MouseEvent< HTMLButtonElement >\n\t\t\t\t\t\t\t) => onActionClick( event, onClick ) }\n\t\t\t\t\t\t\tclassName=\"components-snackbar__action\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ explicitDismiss && (\n\t\t\t\t\t<span\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label={ __( 'Dismiss this notice' ) }\n\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\tclassName=\"components-snackbar__dismiss-button\"\n\t\t\t\t\t\tonClick={ dismissMe }\n\t\t\t\t\t\tonKeyPress={ dismissMe }\n\t\t\t\t\t>\n\t\t\t\t\t\t&#x2715;\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * A Snackbar displays a succinct message that is cleared out after a small delay.\n *\n * It can also offer the user options, like viewing a published post.\n * But these options should also be available elsewhere in the UI.\n *\n * ```jsx\n * const MySnackbarNotice = () => (\n * <Snackbar>Post published successfully.</Snackbar>\n * );\n * ```\n */\nexport const Snackbar = forwardRef( UnforwardedSnackbar );\n\nexport default Snackbar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_a11y","_element","_i18n","_warning","_button","_jsxRuntime","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","renderToString","useEffect","speak","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","callbacksRef","useRef","useLayoutEffect","timeoutHandle","setTimeout","clearTimeout","classes","clsx","length","globalThis","SCRIPT_DEBUG","warning","snackbarContentClassnames","jsx","undefined","tabIndex","role","onKeyPress","__","jsxs","map","label","url","index","default","__next40pxDefaultSize","href","variant","Snackbar","exports","forwardRef","_default"],"sources":["@wordpress/components/src/snackbar/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport {\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tforwardRef,\n\trenderToString,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport type { SnackbarProps } from './types';\nimport type { NoticeAction } from '../notice/types';\nimport type { WordPressComponentProps } from '../context';\n\nconst NOTICE_TIMEOUT = 10000;\n\n/**\n * Custom hook which announces the message with the given politeness, if a\n * valid message is provided.\n *\n * @param message Message to announce.\n * @param politeness Politeness to announce.\n */\nfunction useSpokenMessage(\n\tmessage: SnackbarProps[ 'spokenMessage' ],\n\tpoliteness: NonNullable< SnackbarProps[ 'politeness' ] >\n) {\n\tconst spokenMessage =\n\t\ttypeof message === 'string' ? message : renderToString( message );\n\n\tuseEffect( () => {\n\t\tif ( spokenMessage ) {\n\t\t\tspeak( spokenMessage, politeness );\n\t\t}\n\t}, [ spokenMessage, politeness ] );\n}\n\nfunction UnforwardedSnackbar(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tspokenMessage = children,\n\t\tpoliteness = 'polite',\n\t\tactions = [],\n\t\tonRemove,\n\t\ticon = null,\n\t\texplicitDismiss = false,\n\t\t// onDismiss is a callback executed when the snackbar is dismissed.\n\t\t// It is distinct from onRemove, which _looks_ like a callback but is\n\t\t// actually the function to call to remove the snackbar from the UI.\n\t\tonDismiss,\n\t\tlistRef,\n\t}: WordPressComponentProps< SnackbarProps, 'div' >,\n\tref: ForwardedRef< any >\n) {\n\tfunction dismissMe( event: KeyboardEvent | MouseEvent ) {\n\t\tif ( event && event.preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\t// Prevent focus loss by moving it to the list element.\n\t\tlistRef?.current?.focus();\n\n\t\tonDismiss?.();\n\t\tonRemove?.();\n\t}\n\n\tfunction onActionClick(\n\t\tevent: MouseEvent< HTMLButtonElement >,\n\t\tonClick: NoticeAction[ 'onClick' ]\n\t) {\n\t\tevent.stopPropagation();\n\n\t\tonRemove?.();\n\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\tuseSpokenMessage( spokenMessage, politeness );\n\n\t// The `onDismiss/onRemove` can have unstable references,\n\t// trigger side-effect cleanup, and reset timers.\n\tconst callbacksRef = useRef( { onDismiss, onRemove } );\n\tuseLayoutEffect( () => {\n\t\tcallbacksRef.current = { onDismiss, onRemove };\n\t} );\n\n\tuseEffect( () => {\n\t\t// Only set up the timeout dismiss if we're not explicitly dismissing.\n\t\tconst timeoutHandle = setTimeout( () => {\n\t\t\tif ( ! explicitDismiss ) {\n\t\t\t\tcallbacksRef.current.onDismiss?.();\n\t\t\t\tcallbacksRef.current.onRemove?.();\n\t\t\t}\n\t\t}, NOTICE_TIMEOUT );\n\n\t\treturn () => clearTimeout( timeoutHandle );\n\t}, [ explicitDismiss ] );\n\n\tconst classes = clsx( className, 'components-snackbar', {\n\t\t'components-snackbar-explicit-dismiss': !! explicitDismiss,\n\t} );\n\tif ( actions && actions.length > 1 ) {\n\t\t// We need to inform developers that snackbar only accepts 1 action.\n\t\twarning(\n\t\t\t'Snackbar can only have one action. Use Notice if your message requires many actions.'\n\t\t);\n\t\t// return first element only while keeping it inside an array\n\t\tactions = [ actions[ 0 ] ];\n\t}\n\n\tconst snackbarContentClassnames = clsx( 'components-snackbar__content', {\n\t\t'components-snackbar__content-with-icon': !! icon,\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ classes }\n\t\t\tonClick={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\ttabIndex={ 0 }\n\t\t\trole={ ! explicitDismiss ? 'button' : undefined }\n\t\t\tonKeyPress={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\taria-label={\n\t\t\t\t! explicitDismiss ? __( 'Dismiss this notice' ) : undefined\n\t\t\t}\n\t\t\tdata-testid=\"snackbar\"\n\t\t>\n\t\t\t<div className={ snackbarContentClassnames }>\n\t\t\t\t{ icon && (\n\t\t\t\t\t<div className=\"components-snackbar__icon\">{ icon }</div>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ actions.map( ( { label, onClick, url }, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ (\n\t\t\t\t\t\t\t\tevent: MouseEvent< HTMLButtonElement >\n\t\t\t\t\t\t\t) => onActionClick( event, onClick ) }\n\t\t\t\t\t\t\tclassName=\"components-snackbar__action\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ explicitDismiss && (\n\t\t\t\t\t<span\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label={ __( 'Dismiss this notice' ) }\n\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\tclassName=\"components-snackbar__dismiss-button\"\n\t\t\t\t\t\tonClick={ dismissMe }\n\t\t\t\t\t\tonKeyPress={ dismissMe }\n\t\t\t\t\t>\n\t\t\t\t\t\t&#x2715;\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * A Snackbar displays a succinct message that is cleared out after a small delay.\n *\n * It can also offer the user options, like viewing a published post.\n * But these options should also be available elsewhere in the UI.\n *\n * ```jsx\n * const MySnackbarNotice = () => (\n * <Snackbar>Post published successfully.</Snackbar>\n * );\n * ```\n */\nexport const Snackbar = forwardRef( UnforwardedSnackbar );\n\nexport default Snackbar;\n"],"mappings":"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","ignoreList":[]}
@@ -56,10 +56,21 @@ function useScrollRectIntoView(parent, rect, {
56
56
  const childRightEdge = childLeft + childWidth;
57
57
  const rightOverflow = childRightEdge + margin - parentRightEdge;
58
58
  const leftOverflow = parentScroll - (childLeft - margin);
59
+ let scrollLeft = null;
59
60
  if (leftOverflow > 0) {
60
- parent.scrollLeft = parentScroll - leftOverflow;
61
+ scrollLeft = parentScroll - leftOverflow;
61
62
  } else if (rightOverflow > 0) {
62
- parent.scrollLeft = parentScroll + rightOverflow;
63
+ scrollLeft = parentScroll + rightOverflow;
64
+ }
65
+ if (scrollLeft !== null) {
66
+ /**
67
+ * The optional chaining is used here to avoid unit test failures.
68
+ * It can be removed when JSDOM supports `Element` scroll methods.
69
+ * See: https://github.com/WordPress/gutenberg/pull/66498#issuecomment-2441146096
70
+ */
71
+ parent.scroll?.({
72
+ left: scrollLeft
73
+ });
63
74
  }
64
75
  }, [margin, parent, rect]);
65
76
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Ariakit","_interopRequireWildcard","require","_clsx","_interopRequireDefault","_warning","_element","_compose","_context","_styles","_elementRect","_useTrackOverflow","_useAnimatedOffsetRect","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_SCROLL_MARGIN","useScrollRectIntoView","parent","rect","margin","useLayoutEffect","scrollLeft","parentScroll","parentWidth","getBoundingClientRect","width","left","childLeft","childWidth","parentRightEdge","childRightEdge","rightOverflow","leftOverflow","TabList","exports","forwardRef","children","otherProps","ref","_useTabsContext","store","useTabsContext","selectedId","useStoreState","activeId","selectOnMove","items","setParent","useState","refs","useMergeRefs","selectedItem","item","renderedItems","selectedItemIndex","indexOf","selectedRect","useTrackElementOffsetRect","element","overflow","useTrackOverflow","first","at","last","useAnimatedOffsetRect","prefix","dataAttribute","transitionEndFilter","event","pseudoElement","roundRect","onBlur","setActiveId","globalThis","SCRIPT_DEBUG","warning","jsx","StyledTabList","render","props","_props$tabIndex","tabIndex","className","clsx"],"sources":["@wordpress/components/src/tabs/tablist.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport warning from '@wordpress/warning';\nimport { forwardRef, useLayoutEffect, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { TabListProps } from './types';\nimport type { WordPressComponentProps } from '../context';\nimport type { ElementOffsetRect } from '../utils/element-rect';\nimport { useTabsContext } from './context';\nimport { StyledTabList } from './styles';\nimport { useTrackElementOffsetRect } from '../utils/element-rect';\nimport { useTrackOverflow } from './use-track-overflow';\nimport { useAnimatedOffsetRect } from '../utils/hooks/use-animated-offset-rect';\n\nconst DEFAULT_SCROLL_MARGIN = 24;\n\n/**\n * Scrolls a given parent element so that a given rect is visible.\n *\n * The scroll is updated initially and whenever the rect changes.\n */\nfunction useScrollRectIntoView(\n\tparent: HTMLElement | undefined,\n\trect: ElementOffsetRect,\n\t{ margin = DEFAULT_SCROLL_MARGIN } = {}\n) {\n\tuseLayoutEffect( () => {\n\t\tif ( ! parent || ! rect ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { scrollLeft: parentScroll } = parent;\n\t\tconst parentWidth = parent.getBoundingClientRect().width;\n\t\tconst { left: childLeft, width: childWidth } = rect;\n\n\t\tconst parentRightEdge = parentScroll + parentWidth;\n\t\tconst childRightEdge = childLeft + childWidth;\n\t\tconst rightOverflow = childRightEdge + margin - parentRightEdge;\n\t\tconst leftOverflow = parentScroll - ( childLeft - margin );\n\t\tif ( leftOverflow > 0 ) {\n\t\t\tparent.scrollLeft = parentScroll - leftOverflow;\n\t\t} else if ( rightOverflow > 0 ) {\n\t\t\tparent.scrollLeft = parentScroll + rightOverflow;\n\t\t}\n\t}, [ margin, parent, rect ] );\n}\n\nexport const TabList = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< TabListProps, 'div', false >\n>( function TabList( { children, ...otherProps }, ref ) {\n\tconst { store } = useTabsContext() ?? {};\n\n\tconst selectedId = Ariakit.useStoreState( store, 'selectedId' );\n\tconst activeId = Ariakit.useStoreState( store, 'activeId' );\n\tconst selectOnMove = Ariakit.useStoreState( store, 'selectOnMove' );\n\tconst items = Ariakit.useStoreState( store, 'items' );\n\tconst [ parent, setParent ] = useState< HTMLElement >();\n\tconst refs = useMergeRefs( [ ref, setParent ] );\n\n\tconst selectedItem = store?.item( selectedId );\n\tconst renderedItems = Ariakit.useStoreState( store, 'renderedItems' );\n\n\tconst selectedItemIndex =\n\t\trenderedItems && selectedItem\n\t\t\t? renderedItems.indexOf( selectedItem )\n\t\t\t: -1;\n\t// Use selectedItemIndex as a dependency to force recalculation when the\n\t// selected item index changes (elements are swapped / added / removed).\n\tconst selectedRect = useTrackElementOffsetRect( selectedItem?.element, [\n\t\tselectedItemIndex,\n\t] );\n\n\t// Track overflow to show scroll hints.\n\tconst overflow = useTrackOverflow( parent, {\n\t\tfirst: items?.at( 0 )?.element,\n\t\tlast: items?.at( -1 )?.element,\n\t} );\n\n\t// Size, position, and animate the indicator.\n\tuseAnimatedOffsetRect( parent, selectedRect, {\n\t\tprefix: 'selected',\n\t\tdataAttribute: 'indicator-animated',\n\t\ttransitionEndFilter: ( event ) => event.pseudoElement === '::before',\n\t\troundRect: true,\n\t} );\n\n\t// Make sure selected tab is scrolled into view.\n\tuseScrollRectIntoView( parent, selectedRect );\n\n\tconst onBlur = () => {\n\t\tif ( ! selectOnMove ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// When automatic tab selection is on, make sure that the active tab is up\n\t\t// to date with the selected tab when leaving the tablist. This makes sure\n\t\t// that the selected tab will receive keyboard focus when tabbing back into\n\t\t// the tablist.\n\t\tif ( selectedId !== activeId ) {\n\t\t\tstore?.setActiveId( selectedId );\n\t\t}\n\t};\n\n\tif ( ! store ) {\n\t\twarning( '`Tabs.TabList` must be wrapped in a `Tabs` component.' );\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyledTabList\n\t\t\tref={ refs }\n\t\t\tstore={ store }\n\t\t\trender={ ( props ) => (\n\t\t\t\t<div\n\t\t\t\t\t{ ...props }\n\t\t\t\t\t// Fallback to -1 to prevent browsers from making the tablist\n\t\t\t\t\t// tabbable when it is a scrolling container.\n\t\t\t\t\ttabIndex={ props.tabIndex ?? -1 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\tonBlur={ onBlur }\n\t\t\tdata-select-on-move={ selectOnMove ? 'true' : 'false' }\n\t\t\t{ ...otherProps }\n\t\t\tclassName={ clsx(\n\t\t\t\toverflow.first && 'is-overflowing-first',\n\t\t\t\toverflow.last && 'is-overflowing-last',\n\t\t\t\totherProps.className\n\t\t\t) }\n\t\t>\n\t\t\t{ children }\n\t\t</StyledTabList>\n\t);\n} );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Ariakit","_interopRequireWildcard","require","_clsx","_interopRequireDefault","_warning","_element","_compose","_context","_styles","_elementRect","_useTrackOverflow","_useAnimatedOffsetRect","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_SCROLL_MARGIN","useScrollRectIntoView","parent","rect","margin","useLayoutEffect","scrollLeft","parentScroll","parentWidth","getBoundingClientRect","width","left","childLeft","childWidth","parentRightEdge","childRightEdge","rightOverflow","leftOverflow","scroll","TabList","exports","forwardRef","children","otherProps","ref","_useTabsContext","store","useTabsContext","selectedId","useStoreState","activeId","selectOnMove","items","setParent","useState","refs","useMergeRefs","selectedItem","item","renderedItems","selectedItemIndex","indexOf","selectedRect","useTrackElementOffsetRect","element","overflow","useTrackOverflow","first","at","last","useAnimatedOffsetRect","prefix","dataAttribute","transitionEndFilter","event","pseudoElement","roundRect","onBlur","setActiveId","globalThis","SCRIPT_DEBUG","warning","jsx","StyledTabList","render","props","_props$tabIndex","tabIndex","className","clsx"],"sources":["@wordpress/components/src/tabs/tablist.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport warning from '@wordpress/warning';\nimport { forwardRef, useLayoutEffect, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { TabListProps } from './types';\nimport type { WordPressComponentProps } from '../context';\nimport type { ElementOffsetRect } from '../utils/element-rect';\nimport { useTabsContext } from './context';\nimport { StyledTabList } from './styles';\nimport { useTrackElementOffsetRect } from '../utils/element-rect';\nimport { useTrackOverflow } from './use-track-overflow';\nimport { useAnimatedOffsetRect } from '../utils/hooks/use-animated-offset-rect';\n\nconst DEFAULT_SCROLL_MARGIN = 24;\n\n/**\n * Scrolls a given parent element so that a given rect is visible.\n *\n * The scroll is updated initially and whenever the rect changes.\n */\nfunction useScrollRectIntoView(\n\tparent: HTMLElement | undefined,\n\trect: ElementOffsetRect,\n\t{ margin = DEFAULT_SCROLL_MARGIN } = {}\n) {\n\tuseLayoutEffect( () => {\n\t\tif ( ! parent || ! rect ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { scrollLeft: parentScroll } = parent;\n\t\tconst parentWidth = parent.getBoundingClientRect().width;\n\t\tconst { left: childLeft, width: childWidth } = rect;\n\n\t\tconst parentRightEdge = parentScroll + parentWidth;\n\t\tconst childRightEdge = childLeft + childWidth;\n\t\tconst rightOverflow = childRightEdge + margin - parentRightEdge;\n\t\tconst leftOverflow = parentScroll - ( childLeft - margin );\n\n\t\tlet scrollLeft = null;\n\t\tif ( leftOverflow > 0 ) {\n\t\t\tscrollLeft = parentScroll - leftOverflow;\n\t\t} else if ( rightOverflow > 0 ) {\n\t\t\tscrollLeft = parentScroll + rightOverflow;\n\t\t}\n\n\t\tif ( scrollLeft !== null ) {\n\t\t\t/**\n\t\t\t * The optional chaining is used here to avoid unit test failures.\n\t\t\t * It can be removed when JSDOM supports `Element` scroll methods.\n\t\t\t * See: https://github.com/WordPress/gutenberg/pull/66498#issuecomment-2441146096\n\t\t\t */\n\t\t\tparent.scroll?.( { left: scrollLeft } );\n\t\t}\n\t}, [ margin, parent, rect ] );\n}\n\nexport const TabList = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< TabListProps, 'div', false >\n>( function TabList( { children, ...otherProps }, ref ) {\n\tconst { store } = useTabsContext() ?? {};\n\n\tconst selectedId = Ariakit.useStoreState( store, 'selectedId' );\n\tconst activeId = Ariakit.useStoreState( store, 'activeId' );\n\tconst selectOnMove = Ariakit.useStoreState( store, 'selectOnMove' );\n\tconst items = Ariakit.useStoreState( store, 'items' );\n\tconst [ parent, setParent ] = useState< HTMLElement >();\n\tconst refs = useMergeRefs( [ ref, setParent ] );\n\n\tconst selectedItem = store?.item( selectedId );\n\tconst renderedItems = Ariakit.useStoreState( store, 'renderedItems' );\n\n\tconst selectedItemIndex =\n\t\trenderedItems && selectedItem\n\t\t\t? renderedItems.indexOf( selectedItem )\n\t\t\t: -1;\n\t// Use selectedItemIndex as a dependency to force recalculation when the\n\t// selected item index changes (elements are swapped / added / removed).\n\tconst selectedRect = useTrackElementOffsetRect( selectedItem?.element, [\n\t\tselectedItemIndex,\n\t] );\n\n\t// Track overflow to show scroll hints.\n\tconst overflow = useTrackOverflow( parent, {\n\t\tfirst: items?.at( 0 )?.element,\n\t\tlast: items?.at( -1 )?.element,\n\t} );\n\n\t// Size, position, and animate the indicator.\n\tuseAnimatedOffsetRect( parent, selectedRect, {\n\t\tprefix: 'selected',\n\t\tdataAttribute: 'indicator-animated',\n\t\ttransitionEndFilter: ( event ) => event.pseudoElement === '::before',\n\t\troundRect: true,\n\t} );\n\n\t// Make sure selected tab is scrolled into view.\n\tuseScrollRectIntoView( parent, selectedRect );\n\n\tconst onBlur = () => {\n\t\tif ( ! selectOnMove ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// When automatic tab selection is on, make sure that the active tab is up\n\t\t// to date with the selected tab when leaving the tablist. This makes sure\n\t\t// that the selected tab will receive keyboard focus when tabbing back into\n\t\t// the tablist.\n\t\tif ( selectedId !== activeId ) {\n\t\t\tstore?.setActiveId( selectedId );\n\t\t}\n\t};\n\n\tif ( ! store ) {\n\t\twarning( '`Tabs.TabList` must be wrapped in a `Tabs` component.' );\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyledTabList\n\t\t\tref={ refs }\n\t\t\tstore={ store }\n\t\t\trender={ ( props ) => (\n\t\t\t\t<div\n\t\t\t\t\t{ ...props }\n\t\t\t\t\t// Fallback to -1 to prevent browsers from making the tablist\n\t\t\t\t\t// tabbable when it is a scrolling container.\n\t\t\t\t\ttabIndex={ props.tabIndex ?? -1 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\tonBlur={ onBlur }\n\t\t\tdata-select-on-move={ selectOnMove ? 'true' : 'false' }\n\t\t\t{ ...otherProps }\n\t\t\tclassName={ clsx(\n\t\t\t\toverflow.first && 'is-overflowing-first',\n\t\t\t\toverflow.last && 'is-overflowing-last',\n\t\t\t\totherProps.className\n\t\t\t) }\n\t\t>\n\t\t\t{ children }\n\t\t</StyledTabList>\n\t);\n} );\n"],"mappings":"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","ignoreList":[]}
@@ -52,7 +52,7 @@ function UnconnectedToggleGroupControl(props, forwardedRef) {
52
52
  const [selectedElement, setSelectedElement] = (0, _element.useState)();
53
53
  const [controlElement, setControlElement] = (0, _element.useState)();
54
54
  const refs = (0, _compose.useMergeRefs)([setControlElement, forwardedRef]);
55
- const selectedRect = (0, _elementRect.useTrackElementOffsetRect)(value ? selectedElement : undefined);
55
+ const selectedRect = (0, _elementRect.useTrackElementOffsetRect)(value || value === 0 ? selectedElement : undefined);
56
56
  (0, _useAnimatedOffsetRect.useAnimatedOffsetRect)(controlElement, selectedRect, {
57
57
  prefix: 'selected',
58
58
  dataAttribute: 'indicator-animated',
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_context","_hooks","_baseControl","_interopRequireDefault","_styles","_interopRequireWildcard","styles","_asRadioGroup","_asButtonGroup","_elementRect","_compose","_useAnimatedOffsetRect","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","UnconnectedToggleGroupControl","props","forwardedRef","__nextHasNoMarginBottom","__next40pxDefaultSize","className","isAdaptiveWidth","isBlock","isDeselectable","label","hideLabelFromVision","help","onChange","size","value","children","otherProps","useContextSystem","normalizedSize","selectedElement","setSelectedElement","useState","controlElement","setControlElement","refs","useMergeRefs","selectedRect","useTrackElementOffsetRect","undefined","useAnimatedOffsetRect","prefix","dataAttribute","transitionEndFilter","event","pseudoElement","roundRect","cx","useCx","classes","useMemo","toggleGroupControl","block","MainControl","ToggleGroupControlAsButtonGroup","ToggleGroupControlAsRadioGroup","jsxs","__associatedWPComponentName","jsx","VisualLabelWrapper","VisualLabel","ref","ToggleGroupControl","exports","contextConnect","_default"],"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect, useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks';\nimport BaseControl from '../../base-control';\nimport type { ToggleGroupControlProps } from '../types';\nimport { VisualLabelWrapper } from './styles';\nimport * as styles from './styles';\nimport { ToggleGroupControlAsRadioGroup } from './as-radio-group';\nimport { ToggleGroupControlAsButtonGroup } from './as-button-group';\nimport { useTrackElementOffsetRect } from '../../utils/element-rect';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useAnimatedOffsetRect } from '../../utils/hooks/use-animated-offset-rect';\n\nfunction UnconnectedToggleGroupControl(\n\tprops: WordPressComponentProps< ToggleGroupControlProps, 'div', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\t__next40pxDefaultSize = false,\n\t\tclassName,\n\t\tisAdaptiveWidth = false,\n\t\tisBlock = false,\n\t\tisDeselectable = false,\n\t\tlabel,\n\t\thideLabelFromVision = false,\n\t\thelp,\n\t\tonChange,\n\t\tsize = 'default',\n\t\tvalue,\n\t\tchildren,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToggleGroupControl' );\n\n\tconst normalizedSize =\n\t\t__next40pxDefaultSize && size === 'default' ? '__unstable-large' : size;\n\n\tconst [ selectedElement, setSelectedElement ] = useState< HTMLElement >();\n\tconst [ controlElement, setControlElement ] = useState< HTMLElement >();\n\tconst refs = useMergeRefs( [ setControlElement, forwardedRef ] );\n\tconst selectedRect = useTrackElementOffsetRect(\n\t\tvalue ? selectedElement : undefined\n\t);\n\tuseAnimatedOffsetRect( controlElement, selectedRect, {\n\t\tprefix: 'selected',\n\t\tdataAttribute: 'indicator-animated',\n\t\ttransitionEndFilter: ( event ) => event.pseudoElement === '::before',\n\t\troundRect: true,\n\t} );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.toggleGroupControl( {\n\t\t\t\t\tisBlock,\n\t\t\t\t\tisDeselectable,\n\t\t\t\t\tsize: normalizedSize,\n\t\t\t\t} ),\n\t\t\t\tisBlock && styles.block,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, cx, isBlock, isDeselectable, normalizedSize ]\n\t);\n\n\tconst MainControl = isDeselectable\n\t\t? ToggleGroupControlAsButtonGroup\n\t\t: ToggleGroupControlAsRadioGroup;\n\n\treturn (\n\t\t<BaseControl\n\t\t\thelp={ help }\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t__associatedWPComponentName=\"ToggleGroupControl\"\n\t\t>\n\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t<VisualLabelWrapper>\n\t\t\t\t\t<BaseControl.VisualLabel>{ label }</BaseControl.VisualLabel>\n\t\t\t\t</VisualLabelWrapper>\n\t\t\t) }\n\t\t\t<MainControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tsetSelectedElement={ setSelectedElement }\n\t\t\t\tclassName={ classes }\n\t\t\t\tisAdaptiveWidth={ isAdaptiveWidth }\n\t\t\t\tlabel={ label }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tref={ refs }\n\t\t\t\tsize={ normalizedSize }\n\t\t\t\tvalue={ value }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</MainControl>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * `ToggleGroupControl` is a form component that lets users choose options\n * represented in horizontal segments. To render options for this control use\n * `ToggleGroupControlOption` component.\n *\n * This component is intended for selecting a single persistent value from a set of options,\n * similar to a how a radio button group would work. If you simply want a toggle to switch between views,\n * use a `TabPanel` instead.\n *\n * Only use this control when you know for sure the labels of items inside won't\n * wrap. For items with longer labels, you can consider a `SelectControl` or a\n * `CustomSelectControl` component instead.\n *\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl\n * label=\"my label\"\n * value=\"vertical\"\n * isBlock\n * __nextHasNoMarginBottom\n * >\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nexport const ToggleGroupControl = contextConnect(\n\tUnconnectedToggleGroupControl,\n\t'ToggleGroupControl'\n);\n\nexport default ToggleGroupControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_context","_hooks","_baseControl","_interopRequireDefault","_styles","_interopRequireWildcard","styles","_asRadioGroup","_asButtonGroup","_elementRect","_compose","_useAnimatedOffsetRect","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","UnconnectedToggleGroupControl","props","forwardedRef","__nextHasNoMarginBottom","__next40pxDefaultSize","className","isAdaptiveWidth","isBlock","isDeselectable","label","hideLabelFromVision","help","onChange","size","value","children","otherProps","useContextSystem","normalizedSize","selectedElement","setSelectedElement","useState","controlElement","setControlElement","refs","useMergeRefs","selectedRect","useTrackElementOffsetRect","undefined","useAnimatedOffsetRect","prefix","dataAttribute","transitionEndFilter","event","pseudoElement","roundRect","cx","useCx","classes","useMemo","toggleGroupControl","block","MainControl","ToggleGroupControlAsButtonGroup","ToggleGroupControlAsRadioGroup","jsxs","__associatedWPComponentName","jsx","VisualLabelWrapper","VisualLabel","ref","ToggleGroupControl","exports","contextConnect","_default"],"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect, useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks';\nimport BaseControl from '../../base-control';\nimport type { ToggleGroupControlProps } from '../types';\nimport { VisualLabelWrapper } from './styles';\nimport * as styles from './styles';\nimport { ToggleGroupControlAsRadioGroup } from './as-radio-group';\nimport { ToggleGroupControlAsButtonGroup } from './as-button-group';\nimport { useTrackElementOffsetRect } from '../../utils/element-rect';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useAnimatedOffsetRect } from '../../utils/hooks/use-animated-offset-rect';\n\nfunction UnconnectedToggleGroupControl(\n\tprops: WordPressComponentProps< ToggleGroupControlProps, 'div', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\t__next40pxDefaultSize = false,\n\t\tclassName,\n\t\tisAdaptiveWidth = false,\n\t\tisBlock = false,\n\t\tisDeselectable = false,\n\t\tlabel,\n\t\thideLabelFromVision = false,\n\t\thelp,\n\t\tonChange,\n\t\tsize = 'default',\n\t\tvalue,\n\t\tchildren,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToggleGroupControl' );\n\n\tconst normalizedSize =\n\t\t__next40pxDefaultSize && size === 'default' ? '__unstable-large' : size;\n\n\tconst [ selectedElement, setSelectedElement ] = useState< HTMLElement >();\n\tconst [ controlElement, setControlElement ] = useState< HTMLElement >();\n\tconst refs = useMergeRefs( [ setControlElement, forwardedRef ] );\n\tconst selectedRect = useTrackElementOffsetRect(\n\t\tvalue || value === 0 ? selectedElement : undefined\n\t);\n\tuseAnimatedOffsetRect( controlElement, selectedRect, {\n\t\tprefix: 'selected',\n\t\tdataAttribute: 'indicator-animated',\n\t\ttransitionEndFilter: ( event ) => event.pseudoElement === '::before',\n\t\troundRect: true,\n\t} );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.toggleGroupControl( {\n\t\t\t\t\tisBlock,\n\t\t\t\t\tisDeselectable,\n\t\t\t\t\tsize: normalizedSize,\n\t\t\t\t} ),\n\t\t\t\tisBlock && styles.block,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, cx, isBlock, isDeselectable, normalizedSize ]\n\t);\n\n\tconst MainControl = isDeselectable\n\t\t? ToggleGroupControlAsButtonGroup\n\t\t: ToggleGroupControlAsRadioGroup;\n\n\treturn (\n\t\t<BaseControl\n\t\t\thelp={ help }\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t__associatedWPComponentName=\"ToggleGroupControl\"\n\t\t>\n\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t<VisualLabelWrapper>\n\t\t\t\t\t<BaseControl.VisualLabel>{ label }</BaseControl.VisualLabel>\n\t\t\t\t</VisualLabelWrapper>\n\t\t\t) }\n\t\t\t<MainControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tsetSelectedElement={ setSelectedElement }\n\t\t\t\tclassName={ classes }\n\t\t\t\tisAdaptiveWidth={ isAdaptiveWidth }\n\t\t\t\tlabel={ label }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tref={ refs }\n\t\t\t\tsize={ normalizedSize }\n\t\t\t\tvalue={ value }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</MainControl>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * `ToggleGroupControl` is a form component that lets users choose options\n * represented in horizontal segments. To render options for this control use\n * `ToggleGroupControlOption` component.\n *\n * This component is intended for selecting a single persistent value from a set of options,\n * similar to a how a radio button group would work. If you simply want a toggle to switch between views,\n * use a `TabPanel` instead.\n *\n * Only use this control when you know for sure the labels of items inside won't\n * wrap. For items with longer labels, you can consider a `SelectControl` or a\n * `CustomSelectControl` component instead.\n *\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl\n * label=\"my label\"\n * value=\"vertical\"\n * isBlock\n * __nextHasNoMarginBottom\n * >\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nexport const ToggleGroupControl = contextConnect(\n\tUnconnectedToggleGroupControl,\n\t'ToggleGroupControl'\n);\n\nexport default ToggleGroupControl;\n"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@ function maybeWarnDeprecated36pxSize({
15
15
  __next40pxDefaultSize,
16
16
  size
17
17
  }) {
18
- if (__next40pxDefaultSize || size !== 'default') {
18
+ if (__next40pxDefaultSize || size !== undefined && size !== 'default') {
19
19
  return;
20
20
  }
21
21
  (0, _deprecated.default)(`36px default size for wp.components.${componentName}`, {
@@ -1 +1 @@
1
- {"version":3,"names":["_deprecated","_interopRequireDefault","require","maybeWarnDeprecated36pxSize","componentName","__next40pxDefaultSize","size","deprecated","since","version","hint"],"sources":["@wordpress/components/src/utils/deprecated-36px-size.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\nexport function maybeWarnDeprecated36pxSize( {\n\tcomponentName,\n\t__next40pxDefaultSize,\n\tsize,\n}: {\n\tcomponentName: string;\n\t__next40pxDefaultSize: boolean | undefined;\n\tsize: string;\n} ) {\n\tif ( __next40pxDefaultSize || size !== 'default' ) {\n\t\treturn;\n\t}\n\n\tdeprecated( `36px default size for wp.components.${ componentName }`, {\n\t\tsince: '6.8',\n\t\tversion: '7.1',\n\t\thint: 'Set the `__next40pxDefaultSize` prop to true to start opting into the new default size, which will become the default in a future version.',\n\t} );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGO,SAASC,2BAA2BA,CAAE;EAC5CC,aAAa;EACbC,qBAAqB;EACrBC;AAKD,CAAC,EAAG;EACH,IAAKD,qBAAqB,IAAIC,IAAI,KAAK,SAAS,EAAG;IAClD;EACD;EAEA,IAAAC,mBAAU,EAAE,uCAAwCH,aAAa,EAAG,EAAE;IACrEI,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,KAAK;IACdC,IAAI,EAAE;EACP,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_deprecated","_interopRequireDefault","require","maybeWarnDeprecated36pxSize","componentName","__next40pxDefaultSize","size","undefined","deprecated","since","version","hint"],"sources":["@wordpress/components/src/utils/deprecated-36px-size.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\nexport function maybeWarnDeprecated36pxSize( {\n\tcomponentName,\n\t__next40pxDefaultSize,\n\tsize,\n}: {\n\tcomponentName: string;\n\t__next40pxDefaultSize: boolean | undefined;\n\tsize: string | undefined;\n} ) {\n\tif (\n\t\t__next40pxDefaultSize ||\n\t\t( size !== undefined && size !== 'default' )\n\t) {\n\t\treturn;\n\t}\n\n\tdeprecated( `36px default size for wp.components.${ componentName }`, {\n\t\tsince: '6.8',\n\t\tversion: '7.1',\n\t\thint: 'Set the `__next40pxDefaultSize` prop to true to start opting into the new default size, which will become the default in a future version.',\n\t} );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGO,SAASC,2BAA2BA,CAAE;EAC5CC,aAAa;EACbC,qBAAqB;EACrBC;AAKD,CAAC,EAAG;EACH,IACCD,qBAAqB,IACnBC,IAAI,KAAKC,SAAS,IAAID,IAAI,KAAK,SAAW,EAC3C;IACD;EACD;EAEA,IAAAE,mBAAU,EAAE,uCAAwCJ,aAAa,EAAG,EAAE;IACrEK,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,KAAK;IACdC,IAAI,EAAE;EACP,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -115,7 +115,7 @@ const BorderControlDropdown = (props, forwardedRef) => {
115
115
  tooltipPosition: dropdownPosition,
116
116
  label: __('Border color and style picker'),
117
117
  showTooltip: true,
118
- __next40pxDefaultSize: size === '__unstable-large' ? true : false,
118
+ __next40pxDefaultSize: size === '__unstable-large',
119
119
  children: /*#__PURE__*/_jsx("span", {
120
120
  className: indicatorWrapperClassName,
121
121
  children: /*#__PURE__*/_jsx(ColorIndicator, {