@wordpress/block-editor 14.14.0 → 14.15.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 (31) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-popover/use-popover-scroll.js +2 -1
  3. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  4. package/build/components/block-variation-transforms/index.js +5 -8
  5. package/build/components/block-variation-transforms/index.js.map +1 -1
  6. package/build/components/global-styles/filters-panel.js +1 -1
  7. package/build/components/global-styles/filters-panel.js.map +1 -1
  8. package/build/components/global-styles/shadow-panel-components.js +1 -1
  9. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  10. package/build/components/media-replace-flow/index.js +2 -1
  11. package/build/components/media-replace-flow/index.js.map +1 -1
  12. package/build-module/components/block-popover/use-popover-scroll.js +2 -1
  13. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
  14. package/build-module/components/block-variation-transforms/index.js +5 -8
  15. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  16. package/build-module/components/global-styles/filters-panel.js +1 -1
  17. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  18. package/build-module/components/global-styles/shadow-panel-components.js +1 -1
  19. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  20. package/build-module/components/media-replace-flow/index.js +2 -1
  21. package/build-module/components/media-replace-flow/index.js.map +1 -1
  22. package/build-style/style-rtl.css +5 -4
  23. package/build-style/style.css +5 -4
  24. package/package.json +34 -34
  25. package/src/components/block-popover/use-popover-scroll.js +2 -1
  26. package/src/components/block-variation-transforms/index.js +7 -9
  27. package/src/components/global-styles/filters-panel.js +4 -1
  28. package/src/components/global-styles/shadow-panel-components.js +4 -1
  29. package/src/components/global-styles/style.scss +7 -6
  30. package/src/components/media-replace-flow/index.js +3 -0
  31. package/src/components/media-replace-flow/test/index.js +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 14.15.0 (2025-03-13)
6
+
5
7
  ## 14.14.0 (2025-02-28)
6
8
 
7
9
  ## 14.13.0 (2025-02-12)
@@ -20,7 +20,7 @@ const scrollContainerCache = new WeakMap();
20
20
  * @param {Object} contentRef
21
21
  */
22
22
  function usePopoverScroll(contentRef) {
23
- return (0, _compose.useRefEffect)(node => {
23
+ const effect = (0, _compose.useRefEffect)(node => {
24
24
  function onWheel(event) {
25
25
  const {
26
26
  deltaX,
@@ -44,6 +44,7 @@ function usePopoverScroll(contentRef) {
44
44
  node.removeEventListener('wheel', onWheel, options);
45
45
  };
46
46
  }, [contentRef]);
47
+ return contentRef ? effect : null;
47
48
  }
48
49
  var _default = exports.default = usePopoverScroll;
49
50
  //# sourceMappingURL=use-popover-scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_dom","scrollContainerCache","WeakMap","usePopoverScroll","contentRef","useRefEffect","node","onWheel","event","deltaX","deltaY","contentEl","current","scrollContainer","get","getScrollContainer","set","scrollBy","options","passive","addEventListener","removeEventListener","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-popover/use-popover-scroll.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { getScrollContainer } from '@wordpress/dom';\n\nconst scrollContainerCache = new WeakMap();\n\n/**\n * Allow scrolling \"through\" popovers over the canvas. This is only called for\n * as long as the pointer is over a popover. Do not use React events because it\n * will bubble through portals.\n *\n * @param {Object} contentRef\n */\nfunction usePopoverScroll( contentRef ) {\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tfunction onWheel( event ) {\n\t\t\t\tconst { deltaX, deltaY } = event;\n\t\t\t\tconst contentEl = contentRef.current;\n\t\t\t\tlet scrollContainer = scrollContainerCache.get( contentEl );\n\t\t\t\tif ( ! scrollContainer ) {\n\t\t\t\t\tscrollContainer = getScrollContainer( contentEl );\n\t\t\t\t\tscrollContainerCache.set( contentEl, scrollContainer );\n\t\t\t\t}\n\t\t\t\tscrollContainer.scrollBy( deltaX, deltaY );\n\t\t\t}\n\t\t\t// Tell the browser that we do not call event.preventDefault\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners\n\t\t\tconst options = { passive: true };\n\t\t\tnode.addEventListener( 'wheel', onWheel, options );\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'wheel', onWheel, options );\n\t\t\t};\n\t\t},\n\t\t[ contentRef ]\n\t);\n}\n\nexport default usePopoverScroll;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,oBAAoB,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAEC,UAAU,EAAG;EACvC,OAAO,IAAAC,qBAAY,EAChBC,IAAI,IAAM;IACX,SAASC,OAAOA,CAAEC,KAAK,EAAG;MACzB,MAAM;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAGF,KAAK;MAChC,MAAMG,SAAS,GAAGP,UAAU,CAACQ,OAAO;MACpC,IAAIC,eAAe,GAAGZ,oBAAoB,CAACa,GAAG,CAAEH,SAAU,CAAC;MAC3D,IAAK,CAAEE,eAAe,EAAG;QACxBA,eAAe,GAAG,IAAAE,uBAAkB,EAAEJ,SAAU,CAAC;QACjDV,oBAAoB,CAACe,GAAG,CAAEL,SAAS,EAAEE,eAAgB,CAAC;MACvD;MACAA,eAAe,CAACI,QAAQ,CAAER,MAAM,EAAEC,MAAO,CAAC;IAC3C;IACA;IACA;IACA,MAAMQ,OAAO,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;IACjCb,IAAI,CAACc,gBAAgB,CAAE,OAAO,EAAEb,OAAO,EAAEW,OAAQ,CAAC;IAClD,OAAO,MAAM;MACZZ,IAAI,CAACe,mBAAmB,CAAE,OAAO,EAAEd,OAAO,EAAEW,OAAQ,CAAC;IACtD,CAAC;EACF,CAAC,EACD,CAAEd,UAAU,CACb,CAAC;AACF;AAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcrB,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_compose","require","_dom","scrollContainerCache","WeakMap","usePopoverScroll","contentRef","effect","useRefEffect","node","onWheel","event","deltaX","deltaY","contentEl","current","scrollContainer","get","getScrollContainer","set","scrollBy","options","passive","addEventListener","removeEventListener","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-popover/use-popover-scroll.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { getScrollContainer } from '@wordpress/dom';\n\nconst scrollContainerCache = new WeakMap();\n\n/**\n * Allow scrolling \"through\" popovers over the canvas. This is only called for\n * as long as the pointer is over a popover. Do not use React events because it\n * will bubble through portals.\n *\n * @param {Object} contentRef\n */\nfunction usePopoverScroll( contentRef ) {\n\tconst effect = useRefEffect(\n\t\t( node ) => {\n\t\t\tfunction onWheel( event ) {\n\t\t\t\tconst { deltaX, deltaY } = event;\n\t\t\t\tconst contentEl = contentRef.current;\n\t\t\t\tlet scrollContainer = scrollContainerCache.get( contentEl );\n\t\t\t\tif ( ! scrollContainer ) {\n\t\t\t\t\tscrollContainer = getScrollContainer( contentEl );\n\t\t\t\t\tscrollContainerCache.set( contentEl, scrollContainer );\n\t\t\t\t}\n\t\t\t\tscrollContainer.scrollBy( deltaX, deltaY );\n\t\t\t}\n\t\t\t// Tell the browser that we do not call event.preventDefault\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners\n\t\t\tconst options = { passive: true };\n\t\t\tnode.addEventListener( 'wheel', onWheel, options );\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'wheel', onWheel, options );\n\t\t\t};\n\t\t},\n\t\t[ contentRef ]\n\t);\n\treturn contentRef ? effect : null;\n}\n\nexport default usePopoverScroll;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,oBAAoB,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAEC,UAAU,EAAG;EACvC,MAAMC,MAAM,GAAG,IAAAC,qBAAY,EACxBC,IAAI,IAAM;IACX,SAASC,OAAOA,CAAEC,KAAK,EAAG;MACzB,MAAM;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAGF,KAAK;MAChC,MAAMG,SAAS,GAAGR,UAAU,CAACS,OAAO;MACpC,IAAIC,eAAe,GAAGb,oBAAoB,CAACc,GAAG,CAAEH,SAAU,CAAC;MAC3D,IAAK,CAAEE,eAAe,EAAG;QACxBA,eAAe,GAAG,IAAAE,uBAAkB,EAAEJ,SAAU,CAAC;QACjDX,oBAAoB,CAACgB,GAAG,CAAEL,SAAS,EAAEE,eAAgB,CAAC;MACvD;MACAA,eAAe,CAACI,QAAQ,CAAER,MAAM,EAAEC,MAAO,CAAC;IAC3C;IACA;IACA;IACA,MAAMQ,OAAO,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;IACjCb,IAAI,CAACc,gBAAgB,CAAE,OAAO,EAAEb,OAAO,EAAEW,OAAQ,CAAC;IAClD,OAAO,MAAM;MACZZ,IAAI,CAACe,mBAAmB,CAAE,OAAO,EAAEd,OAAO,EAAEW,OAAQ,CAAC;IACtD,CAAC;EACF,CAAC,EACD,CAAEf,UAAU,CACb,CAAC;EACD,OAAOA,UAAU,GAAGC,MAAM,GAAG,IAAI;AAClC;AAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEctB,gBAAgB","ignoreList":[]}
@@ -77,14 +77,11 @@ function VariationsDropdown({
77
77
  toggleProps: {
78
78
  iconPosition: 'right'
79
79
  },
80
- children: () => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
81
- className: `${className}__container`,
82
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
83
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItemsChoice, {
84
- choices: selectOptions,
85
- value: selectedValue,
86
- onSelect: onSelectVariation
87
- })
80
+ children: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItemsChoice, {
82
+ choices: selectOptions,
83
+ value: selectedValue,
84
+ onSelect: onSelectVariation
88
85
  })
89
86
  })
90
87
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_i18n","_components","_data","_element","_icons","_blockIcon","_interopRequireDefault","_store","_lockUnlock","_jsxRuntime","VariationsButtons","className","onSelectVariation","selectedValue","variations","jsxs","children","jsx","VisuallyHidden","as","__","map","variation","Button","__next40pxDefaultSize","size","icon","default","showColors","isPressed","name","label","title","sprintf","onClick","showTooltip","VariationsDropdown","selectOptions","description","value","info","DropdownMenu","text","popoverProps","position","chevronDown","toggleProps","iconPosition","MenuGroup","MenuItemsChoice","choices","onSelect","VariationsToggleGroupControl","__experimentalToggleGroupControl","hideLabelFromVision","onChange","__nextHasNoMarginBottom","__experimentalToggleGroupControlOptionIcon","__experimentalBlockVariationTransforms","blockClientId","updateBlockAttributes","useDispatch","blockEditorStore","activeBlockVariation","isContentOnly","useSelect","select","getActiveBlockVariation","getBlockVariations","blocksStore","getBlockName","getBlockAttributes","getBlockEditingMode","hasContentRoleAttribute","unlock","isContentBlock","hasUniqueIcons","useMemo","variationIcons","Set","forEach","add","src","length","variationName","find","attributes","baseClass","showButtons","ButtonComponent","Component","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-variation-transforms/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction VariationsButtons( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<fieldset className={ className }>\n\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t{ __( 'Transform to variation' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\ticon={ <BlockIcon icon={ variation.icon } showColors /> }\n\t\t\t\t\tisPressed={ selectedValue === variation.name }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tonClick={ () => onSelectVariation( variation.name ) }\n\t\t\t\t\taria-label={ variation.title }\n\t\t\t\t\tshowTooltip\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</fieldset>\n\t);\n}\n\nfunction VariationsDropdown( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\tconst selectOptions = variations.map(\n\t\t( { name, title, description } ) => ( {\n\t\t\tvalue: name,\n\t\t\tlabel: title,\n\t\t\tinfo: description,\n\t\t} )\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ className }\n\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\ttext={ __( 'Transform to variation' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tposition: 'bottom center',\n\t\t\t\tclassName: `${ className }__popover`,\n\t\t\t} }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ { iconPosition: 'right' } }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<div className={ `${ className }__container` }>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ selectOptions }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction VariationsToggleGroupControl( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\t\tvalue={ selectedValue }\n\t\t\t\thideLabelFromVision\n\t\t\t\tonChange={ onSelectVariation }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon icon={ variation.icon } showColors />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ variation.name }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ToggleGroupControl>\n\t\t</div>\n\t);\n}\n\nfunction __experimentalBlockVariationTransforms( { blockClientId } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { activeBlockVariation, variations, isContentOnly } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst { getBlockName, getBlockAttributes, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst name = blockClientId && getBlockName( blockClientId );\n\n\t\t\tconst { hasContentRoleAttribute } = unlock( select( blocksStore ) );\n\t\t\tconst isContentBlock = hasContentRoleAttribute( name );\n\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tname,\n\t\t\t\t\tgetBlockAttributes( blockClientId )\n\t\t\t\t),\n\t\t\t\tvariations: name && getBlockVariations( name, 'transform' ),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( blockClientId ) === 'contentOnly' &&\n\t\t\t\t\t! isContentBlock,\n\t\t\t};\n\t\t},\n\t\t[ blockClientId ]\n\t);\n\n\tconst selectedValue = activeBlockVariation?.name;\n\n\t// Check if each variation has a unique icon.\n\tconst hasUniqueIcons = useMemo( () => {\n\t\tconst variationIcons = new Set();\n\t\tif ( ! variations ) {\n\t\t\treturn false;\n\t\t}\n\t\tvariations.forEach( ( variation ) => {\n\t\t\tif ( variation.icon ) {\n\t\t\t\tvariationIcons.add( variation.icon?.src || variation.icon );\n\t\t\t}\n\t\t} );\n\t\treturn variationIcons.size === variations.length;\n\t}, [ variations ] );\n\n\tconst onSelectVariation = ( variationName ) => {\n\t\tupdateBlockAttributes( blockClientId, {\n\t\t\t...variations.find( ( { name } ) => name === variationName )\n\t\t\t\t.attributes,\n\t\t} );\n\t};\n\n\tif ( ! variations?.length || isContentOnly ) {\n\t\treturn null;\n\t}\n\n\tconst baseClass = 'block-editor-block-variation-transforms';\n\n\t// Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap\n\tconst showButtons = variations.length > 5;\n\n\tconst ButtonComponent = showButtons\n\t\t? VariationsButtons\n\t\t: VariationsToggleGroupControl;\n\n\tconst Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown;\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={ baseClass }\n\t\t\tonSelectVariation={ onSelectVariation }\n\t\t\tselectedValue={ selectedValue }\n\t\t\tvariations={ variations }\n\t\t/>\n\t);\n}\n\nexport default __experimentalBlockVariationTransforms;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_i18n","_components","_data","_element","_icons","_blockIcon","_interopRequireDefault","_store","_lockUnlock","_jsxRuntime","VariationsButtons","className","onSelectVariation","selectedValue","variations","jsxs","children","jsx","VisuallyHidden","as","__","map","variation","Button","__next40pxDefaultSize","size","icon","default","showColors","isPressed","name","label","title","sprintf","onClick","showTooltip","VariationsDropdown","selectOptions","description","value","info","DropdownMenu","text","popoverProps","position","chevronDown","toggleProps","iconPosition","MenuGroup","MenuItemsChoice","choices","onSelect","VariationsToggleGroupControl","__experimentalToggleGroupControl","hideLabelFromVision","onChange","__nextHasNoMarginBottom","__experimentalToggleGroupControlOptionIcon","__experimentalBlockVariationTransforms","blockClientId","updateBlockAttributes","useDispatch","blockEditorStore","activeBlockVariation","isContentOnly","useSelect","select","getActiveBlockVariation","getBlockVariations","blocksStore","getBlockName","getBlockAttributes","getBlockEditingMode","hasContentRoleAttribute","unlock","isContentBlock","hasUniqueIcons","useMemo","variationIcons","Set","forEach","add","src","length","variationName","find","attributes","baseClass","showButtons","ButtonComponent","Component","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-variation-transforms/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction VariationsButtons( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<fieldset className={ className }>\n\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t{ __( 'Transform to variation' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\ticon={ <BlockIcon icon={ variation.icon } showColors /> }\n\t\t\t\t\tisPressed={ selectedValue === variation.name }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tonClick={ () => onSelectVariation( variation.name ) }\n\t\t\t\t\taria-label={ variation.title }\n\t\t\t\t\tshowTooltip\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</fieldset>\n\t);\n}\n\nfunction VariationsDropdown( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\tconst selectOptions = variations.map(\n\t\t( { name, title, description } ) => ( {\n\t\t\tvalue: name,\n\t\t\tlabel: title,\n\t\t\tinfo: description,\n\t\t} )\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ className }\n\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\ttext={ __( 'Transform to variation' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tposition: 'bottom center',\n\t\t\t\tclassName: `${ className }__popover`,\n\t\t\t} }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ { iconPosition: 'right' } }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\tchoices={ selectOptions }\n\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t/>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction VariationsToggleGroupControl( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\t\tvalue={ selectedValue }\n\t\t\t\thideLabelFromVision\n\t\t\t\tonChange={ onSelectVariation }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon icon={ variation.icon } showColors />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ variation.name }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ToggleGroupControl>\n\t\t</div>\n\t);\n}\n\nfunction __experimentalBlockVariationTransforms( { blockClientId } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { activeBlockVariation, variations, isContentOnly } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst { getBlockName, getBlockAttributes, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst name = blockClientId && getBlockName( blockClientId );\n\n\t\t\tconst { hasContentRoleAttribute } = unlock( select( blocksStore ) );\n\t\t\tconst isContentBlock = hasContentRoleAttribute( name );\n\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tname,\n\t\t\t\t\tgetBlockAttributes( blockClientId )\n\t\t\t\t),\n\t\t\t\tvariations: name && getBlockVariations( name, 'transform' ),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( blockClientId ) === 'contentOnly' &&\n\t\t\t\t\t! isContentBlock,\n\t\t\t};\n\t\t},\n\t\t[ blockClientId ]\n\t);\n\n\tconst selectedValue = activeBlockVariation?.name;\n\n\t// Check if each variation has a unique icon.\n\tconst hasUniqueIcons = useMemo( () => {\n\t\tconst variationIcons = new Set();\n\t\tif ( ! variations ) {\n\t\t\treturn false;\n\t\t}\n\t\tvariations.forEach( ( variation ) => {\n\t\t\tif ( variation.icon ) {\n\t\t\t\tvariationIcons.add( variation.icon?.src || variation.icon );\n\t\t\t}\n\t\t} );\n\t\treturn variationIcons.size === variations.length;\n\t}, [ variations ] );\n\n\tconst onSelectVariation = ( variationName ) => {\n\t\tupdateBlockAttributes( blockClientId, {\n\t\t\t...variations.find( ( { name } ) => name === variationName )\n\t\t\t\t.attributes,\n\t\t} );\n\t};\n\n\tif ( ! variations?.length || isContentOnly ) {\n\t\treturn null;\n\t}\n\n\tconst baseClass = 'block-editor-block-variation-transforms';\n\n\t// Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap\n\tconst showButtons = variations.length > 5;\n\n\tconst ButtonComponent = showButtons\n\t\t? VariationsButtons\n\t\t: VariationsToggleGroupControl;\n\n\tconst Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown;\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={ baseClass }\n\t\t\tonSelectVariation={ onSelectVariation }\n\t\t\tselectedValue={ selectedValue }\n\t\t\tvariations={ variations }\n\t\t/>\n\t);\n}\n\nexport default __experimentalBlockVariationTransforms;\n"],"mappings":"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","ignoreList":[]}
@@ -101,7 +101,7 @@ const renderToggle = (duotone, resetDuotone) => ({
101
101
  const duotoneButtonRef = (0, _element.useRef)(undefined);
102
102
  const toggleProps = {
103
103
  onClick: onToggle,
104
- className: (0, _clsx.default)({
104
+ className: (0, _clsx.default)('block-editor-global-styles-filters-panel__dropdown-toggle', {
105
105
  'is-open': isOpen
106
106
  }),
107
107
  'aria-expanded': isOpen,
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_utils","_object","_jsxRuntime","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","renderToggle","resetDuotone","onToggle","isOpen","duotoneButtonRef","useRef","undefined","toggleProps","onClick","clsx","ref","removeButtonProps","current","focus","Fragment","Button","__next40pxDefaultSize","size","icon","resetIcon","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","duotoneValue","slug","setImmutably","hasDuotone","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderContent","__experimentalDropdownContentWrapper","paddingSize","MenuGroup","DuotonePicker","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo, useRef } from '@wordpress/element';\nimport { reset as resetIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nconst renderToggle =\n\t( duotone, resetDuotone ) =>\n\t( { onToggle, isOpen } ) => {\n\t\tconst duotoneButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: duotoneButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tresetDuotone();\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tduotoneButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: 'block-editor-panel-duotone-settings__reset',\n\t\t\tlabel: __( 'Reset' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t\t{ duotone && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ resetIcon }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst duotoneValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'filter', 'duotone' ], duotoneValue )\n\t\t);\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ renderToggle( duotone, resetDuotone ) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAeA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAAkD,IAAAO,WAAA,GAAAP,OAAA;AA/BlD;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;;AAIA,MAAMQ,WAAW,GAAG,EAAE;AACtB,SAASC,0BAA0BA,CAClCC,QAAQ,EACR;EAAEC,aAAa;EAAEC;AAAe,CAAC,EAChC;EACD,MAAMC,cAAc,GAAG,CAAEH,QAAQ,EAAEI,KAAK,GAAIF,cAAc,CAAE;EAC5D,MAAMG,WAAW,GAChBL,QAAQ,EAAEI,KAAK,GAAIH,aAAa,CAAE,EAAEK,MAAM,IAAIR,WAAW;EAC1D,MAAMS,YAAY,GACjBP,QAAQ,EAAEI,KAAK,GAAIH,aAAa,CAAE,EAAEO,KAAK,IAAIV,WAAW;EACzD,MAAMW,cAAc,GACnBT,QAAQ,EAAEI,KAAK,GAAIH,aAAa,CAAE,EAAES,OAAO,IAAIZ,WAAW;EAC3D,OAAO,IAAAa,gBAAO,EACb,MAAM,CACL,GAAGN,WAAW,EACd,GAAGE,YAAY,EACf,IAAKJ,cAAc,GAAGL,WAAW,GAAGW,cAAc,CAAE,CACpD,EACD,CAAEN,cAAc,EAAEE,WAAW,EAAEE,YAAY,EAAEE,cAAc,CAC5D,CAAC;AACF;AAEO,SAASG,kBAAkBA,CAAEZ,QAAQ,EAAG;EAC9C,OAAOa,oBAAoB,CAAEb,QAAS,CAAC;AACxC;AAEA,SAASa,oBAAoBA,CAAEb,QAAQ,EAAG;EACzC,OACCA,QAAQ,CAACI,KAAK,CAACU,aAAa,IAC5Bd,QAAQ,CAACI,KAAK,CAACW,cAAc,IAC7Bf,QAAQ,CAACI,KAAK,CAACY,OAAO,CAACC,MAAM,GAAG,CAAC;AAEnC;AAEA,SAASC,iBAAiBA,CAAE;EAC3BC,cAAc;EACdC,QAAQ;EACRC,KAAK;EACLC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAMC,iBAAiB,GAAG,IAAAC,qCAA8B,EAAC,CAAC;EAC1D,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACtB,MAAMC,YAAY,GAAGR,cAAc,CAAEE,KAAM,CAAC;IAC5CD,QAAQ,CAAEO,YAAa,CAAC;EACzB,CAAC;EAED,oBACC,IAAA9B,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAAsC,wBAAU;IACVC,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAS,EAAE,qCAAsC,CAAG;IAChEL,QAAQ,EAAGA,QAAU;IACrBJ,OAAO,EAAGA,OAAS;IACnBE,iBAAiB,EAAGA,iBAAmB;IAAAD,QAAA,EAErCA;EAAQ,CACC,CAAC;AAEf;AAEA,MAAMS,gBAAgB,GAAG;EACxBhB,OAAO,EAAE;AACV,CAAC;AAED,MAAMiB,YAAY,GAAG;EACpBC,SAAS,EAAE,YAAY;EACvBC,MAAM,EAAE,EAAE;EACVC,KAAK,EAAE,IAAI;EACXC,SAAS,EAAE,uCAAuC;EAClDC,WAAW,EAAE,IAAAC,QAAE,EAAE,SAAU;AAC5B,CAAC;AAED,MAAMC,qBAAqB,GAAGA,CAAE;EAAEC,SAAS;EAAEX;AAAM,CAAC,kBACnD,IAAAjC,WAAA,CAAA6C,IAAA,EAACnD,WAAA,CAAAoD,oBAAM;EAACC,OAAO,EAAC,YAAY;EAAArB,QAAA,gBAC3B,IAAA1B,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAAsD,oBAAM;IAACC,SAAS,EAAG,KAAO;IAACX,MAAM,EAAG,CAAC,CAAG;IAAAZ,QAAA,eACxC,IAAA1B,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAAwD,IAAI;MAACC,QAAQ,EAAG,KAAO;MAAAzB,QAAA,EACrBkB,SAAS,KAAK,OAAO,IAAI,CAAEA,SAAS,gBACrC,IAAA5C,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAA0D,cAAc;QAACZ,SAAS,EAAC;MAA+C,CAAE,CAAC,gBAE5E,IAAAxC,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAA2D,aAAa;QAACC,MAAM,EAAGV;MAAW,CAAE;IACrC,CACI;EAAC,CACA,CAAC,eACT,IAAA5C,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAA6D,QAAQ;IAACC,KAAK,EAAGvB,KAAO;IAAAP,QAAA,EAAGO;EAAK,CAAY,CAAC;AAAA,CACvC,CACR;AAED,MAAMwB,YAAY,GACjBA,CAAEtC,OAAO,EAAEuC,YAAY,KACvB,CAAE;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAM;EAC3B,MAAMC,gBAAgB,GAAG,IAAAC,eAAM,EAAEC,SAAU,CAAC;EAE5C,MAAMC,WAAW,GAAG;IACnBC,OAAO,EAAEN,QAAQ;IACjBnB,SAAS,EAAE,IAAA0B,aAAI,EAAE;MAAE,SAAS,EAAEN;IAAO,CAAE,CAAC;IACxC,eAAe,EAAEA,MAAM;IACvBO,GAAG,EAAEN;EACN,CAAC;EAED,MAAMO,iBAAiB,GAAG;IACzBH,OAAO,EAAEA,CAAA,KAAM;MACd,IAAKL,MAAM,EAAG;QACbD,QAAQ,CAAC,CAAC;MACX;MACAD,YAAY,CAAC,CAAC;MACd;MACAG,gBAAgB,CAACQ,OAAO,EAAEC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD9B,SAAS,EAAE,4CAA4C;IACvDP,KAAK,EAAE,IAAAS,QAAE,EAAE,OAAQ;EACpB,CAAC;EAED,oBACC,IAAA1C,WAAA,CAAA6C,IAAA,EAAA7C,WAAA,CAAAuE,QAAA;IAAA7C,QAAA,gBACC,IAAA1B,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAA8E,MAAM;MAACC,qBAAqB;MAAA,GAAMT,WAAW;MAAAtC,QAAA,eAC7C,IAAA1B,WAAA,CAAA+B,GAAA,EAACY,qBAAqB;QACrBC,SAAS,EAAGzB,OAAS;QACrBc,KAAK,EAAG,IAAAS,QAAE,EAAE,SAAU;MAAG,CACzB;IAAC,CACK,CAAC,EACPvB,OAAO,iBACR,IAAAnB,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAA8E,MAAM;MACNE,IAAI,EAAC,OAAO;MACZC,IAAI,EAAGC,YAAW;MAAA,GACbR;IAAiB,CACtB,CACD;EAAA,CACA,CAAC;AAEL,CAAC;AAEa,SAASS,YAAYA,CAAE;EACrCC,EAAE,EAAEC,OAAO,GAAG1D,iBAAiB;EAC/BG,KAAK;EACLD,QAAQ;EACRyD,cAAc,GAAGxD,KAAK;EACtBrB,QAAQ;EACRsB,OAAO;EACPwD,eAAe,GAAG9C;AACnB,CAAC,EAAG;EACH,MAAM+C,WAAW,GAAKC,QAAQ,IAC7B,IAAAC,2BAAoB,EAAE;IAAEjF;EAAS,CAAC,EAAE,EAAE,EAAEgF,QAAS,CAAC;;EAEnD;EACA,MAAME,iBAAiB,GAAGrE,oBAAoB,CAAEb,QAAS,CAAC;EAC1D,MAAMmF,cAAc,GAAGpF,0BAA0B,CAAEC,QAAQ,EAAE;IAC5DC,aAAa,EAAE,SAAS;IACxBC,cAAc,EAAE;EACjB,CAAE,CAAC;EACH,MAAMkF,YAAY,GAAGrF,0BAA0B,CAAEC,QAAQ,EAAE;IAC1DC,aAAa,EAAE,SAAS;IACxBC,cAAc,EAAE;EACjB,CAAE,CAAC;EACH,MAAMc,OAAO,GAAG+D,WAAW,CAAEF,cAAc,EAAEQ,MAAM,EAAErE,OAAQ,CAAC;EAC9D,MAAMsE,UAAU,GAAKC,QAAQ,IAAM;IAClC,MAAMC,aAAa,GAAGL,cAAc,CAACM,IAAI,CAAE,CAAE;MAAEC;IAAO,CAAC,KAAM;MAC5D,OAAOA,MAAM,KAAKH,QAAQ;IAC3B,CAAE,CAAC;IACH,MAAMI,YAAY,GAAGH,aAAa,GAC/B,sBAAuBA,aAAa,CAACI,IAAI,EAAG,GAC5CL,QAAQ;IACXnE,QAAQ,CACP,IAAAyE,oBAAY,EAAExE,KAAK,EAAE,CAAE,QAAQ,EAAE,SAAS,CAAE,EAAEsE,YAAa,CAC5D,CAAC;EACF,CAAC;EACD,MAAMG,UAAU,GAAGA,CAAA,KAAM,CAAC,CAAEzE,KAAK,EAAEgE,MAAM,EAAErE,OAAO;EAClD,MAAMuC,YAAY,GAAGA,CAAA,KAAM+B,UAAU,CAAE1B,SAAU,CAAC;EAElD,MAAMzC,cAAc,GAAG,IAAA4E,oBAAW,EAAIC,aAAa,IAAM;IACxD,OAAO;MACN,GAAGA,aAAa;MAChBX,MAAM,EAAE;QACP,GAAGW,aAAa,CAACX,MAAM;QACvBrE,OAAO,EAAE4C;MACV;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,oBACC,IAAA/D,WAAA,CAAA+B,GAAA,EAACgD,OAAO;IACPzD,cAAc,EAAGA,cAAgB;IACjCE,KAAK,EAAGA,KAAO;IACfD,QAAQ,EAAGA,QAAU;IACrBE,OAAO,EAAGA,OAAS;IAAAC,QAAA,EAEjB2D,iBAAiB,iBAClB,IAAArF,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAA0G,4BAAc;MACdnE,KAAK,EAAG,IAAAS,QAAE,EAAE,SAAU,CAAG;MACzB2D,QAAQ,EAAGJ,UAAY;MACvBK,UAAU,EAAG5C,YAAc;MAC3B6C,gBAAgB,EAAGtB,eAAe,CAAC9D,OAAS;MAC5CM,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAA1B,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAA8G,QAAQ;QACRpE,YAAY,EAAGA,YAAc;QAC7BI,SAAS,EAAC,oDAAoD;QAC9DiB,YAAY,EAAGA,YAAY,CAAEtC,OAAO,EAAEuC,YAAa,CAAG;QACtD+C,aAAa,EAAGA,CAAA,kBACf,IAAAzG,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAAgH,oCAAsB;UAACC,WAAW,EAAC,OAAO;UAAAjF,QAAA,eAC1C,IAAA1B,WAAA,CAAA6C,IAAA,EAACnD,WAAA,CAAAkH,SAAS;YAAC3E,KAAK,EAAG,IAAAS,QAAE,EAAE,SAAU,CAAG;YAAAhB,QAAA,gBACnC,IAAA1B,WAAA,CAAA+B,GAAA;cAAAL,QAAA,EACG,IAAAgB,QAAE,EACH,oEACD;YAAC,CACC,CAAC,eACJ,IAAA1C,WAAA,CAAA+B,GAAA,EAACrC,WAAA,CAAAmH,aAAa;cACbtB,YAAY,EAAGA,YAAc;cAC7BD,cAAc,EAAGA;cACjB;cAAA;cACAwB,mBAAmB;cACnBC,oBAAoB;cACpBvF,KAAK,EAAGL,OAAS;cACjBI,QAAQ,EAAGkE;YAAY,CACvB,CAAC;UAAA,CACQ;QAAC,CACW;MACtB,CACH;IAAC,CACa;EAChB,CACO,CAAC;AAEZ","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_utils","_object","_jsxRuntime","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","renderToggle","resetDuotone","onToggle","isOpen","duotoneButtonRef","useRef","undefined","toggleProps","onClick","clsx","ref","removeButtonProps","current","focus","Fragment","Button","__next40pxDefaultSize","size","icon","resetIcon","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","duotoneValue","slug","setImmutably","hasDuotone","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderContent","__experimentalDropdownContentWrapper","paddingSize","MenuGroup","DuotonePicker","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo, useRef } from '@wordpress/element';\nimport { reset as resetIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nconst renderToggle =\n\t( duotone, resetDuotone ) =>\n\t( { onToggle, isOpen } ) => {\n\t\tconst duotoneButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles-filters-panel__dropdown-toggle',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: duotoneButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tresetDuotone();\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tduotoneButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: 'block-editor-panel-duotone-settings__reset',\n\t\t\tlabel: __( 'Reset' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t\t{ duotone && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ resetIcon }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst duotoneValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'filter', 'duotone' ], duotoneValue )\n\t\t);\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ renderToggle( duotone, resetDuotone ) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -146,7 +146,7 @@ function renderShadowToggle(shadow, onShadowChange) {
146
146
  const shadowButtonRef = (0, _element.useRef)(undefined);
147
147
  const toggleProps = {
148
148
  onClick: onToggle,
149
- className: (0, _clsx.default)({
149
+ className: (0, _clsx.default)('block-editor-global-styles__shadow-dropdown-toggle', {
150
150
  'is-open': isOpen
151
151
  }),
152
152
  'aria-expanded': isOpen,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_element","_icons","_clsx","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","jsx","className","children","jsxs","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","__next40pxDefaultSize","variant","onClick","undefined","disabled","accessibleWhenDisabled","Composite","role","map","name","slug","ShadowIndicator","label","isActive","type","Tooltip","text","Item","clsx","render","unset","style","boxShadow","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","shadowButtonRef","useRef","toggleProps","ref","removeButtonProps","current","focus","Fragment","__experimentalHStack","justify","shadowIcon","size","FlexItem","reset","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n\tTooltip,\n} from '@wordpress/components';\nimport { useMemo, useRef } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check, reset } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t\tdisabled={ ! shadow }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Composite.Item\n\t\t\t\trole=\"option\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-selected={ isActive }\n\t\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t} ) }\n\t\t\t\trender={\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle( shadow, onShadowChange ) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle( shadow, onShadowChange ) {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst shadowButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: shadowButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tonShadowChange( undefined );\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tshadowButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles__shadow-editor__remove-button',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\tlabel: __( 'Remove' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Button>\n\t\t\t\t{ !! shadow && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_element","_icons","_clsx","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","jsx","className","children","jsxs","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","__next40pxDefaultSize","variant","onClick","undefined","disabled","accessibleWhenDisabled","Composite","role","map","name","slug","ShadowIndicator","label","isActive","type","Tooltip","text","Item","clsx","render","unset","style","boxShadow","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","shadowButtonRef","useRef","toggleProps","ref","removeButtonProps","current","focus","Fragment","__experimentalHStack","justify","shadowIcon","size","FlexItem","reset","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n\tTooltip,\n} from '@wordpress/components';\nimport { useMemo, useRef } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check, reset } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t\tdisabled={ ! shadow }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Composite.Item\n\t\t\t\trole=\"option\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-selected={ isActive }\n\t\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t} ) }\n\t\t\t\trender={\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle( shadow, onShadowChange ) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle( shadow, onShadowChange ) {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst shadowButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles__shadow-dropdown-toggle',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: shadowButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tonShadowChange( undefined );\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tshadowButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles__shadow-editor__remove-button',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\tlabel: __( 'Remove' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Button>\n\t\t\t\t{ !! shadow && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -209,7 +209,8 @@ const MediaReplaceFlow = ({
209
209
  url
210
210
  }) => {
211
211
  onSelectURL(url);
212
- }
212
+ },
213
+ searchInputPlaceholder: (0, _i18n.__)('Paste or type URL')
213
214
  })]
214
215
  })]
215
216
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_interopRequireDefault","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","renderToggle","getSettings","useSelect","blockEditorStore","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","mediaUpload","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","isOpen","onToggle","onClick","onKeyDown","ToolbarButton","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","_x","postFeaturedImage","isPressed","url","settings","showSuggestions","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n\trenderToggle,\n} ) => {\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_interopRequireDefault","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","renderToggle","getSettings","useSelect","blockEditorStore","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","mediaUpload","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","isOpen","onToggle","onClick","onKeyDown","ToolbarButton","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","_x","postFeaturedImage","isPressed","url","settings","showSuggestions","searchInputPlaceholder","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n\trenderToggle,\n} ) => {\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsearchInputPlaceholder={ __(\n\t\t\t\t\t\t\t\t\t'Paste or type URL'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ const scrollContainerCache = new WeakMap();
13
13
  * @param {Object} contentRef
14
14
  */
15
15
  function usePopoverScroll(contentRef) {
16
- return useRefEffect(node => {
16
+ const effect = useRefEffect(node => {
17
17
  function onWheel(event) {
18
18
  const {
19
19
  deltaX,
@@ -37,6 +37,7 @@ function usePopoverScroll(contentRef) {
37
37
  node.removeEventListener('wheel', onWheel, options);
38
38
  };
39
39
  }, [contentRef]);
40
+ return contentRef ? effect : null;
40
41
  }
41
42
  export default usePopoverScroll;
42
43
  //# sourceMappingURL=use-popover-scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useRefEffect","getScrollContainer","scrollContainerCache","WeakMap","usePopoverScroll","contentRef","node","onWheel","event","deltaX","deltaY","contentEl","current","scrollContainer","get","set","scrollBy","options","passive","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/block-popover/use-popover-scroll.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { getScrollContainer } from '@wordpress/dom';\n\nconst scrollContainerCache = new WeakMap();\n\n/**\n * Allow scrolling \"through\" popovers over the canvas. This is only called for\n * as long as the pointer is over a popover. Do not use React events because it\n * will bubble through portals.\n *\n * @param {Object} contentRef\n */\nfunction usePopoverScroll( contentRef ) {\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tfunction onWheel( event ) {\n\t\t\t\tconst { deltaX, deltaY } = event;\n\t\t\t\tconst contentEl = contentRef.current;\n\t\t\t\tlet scrollContainer = scrollContainerCache.get( contentEl );\n\t\t\t\tif ( ! scrollContainer ) {\n\t\t\t\t\tscrollContainer = getScrollContainer( contentEl );\n\t\t\t\t\tscrollContainerCache.set( contentEl, scrollContainer );\n\t\t\t\t}\n\t\t\t\tscrollContainer.scrollBy( deltaX, deltaY );\n\t\t\t}\n\t\t\t// Tell the browser that we do not call event.preventDefault\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners\n\t\t\tconst options = { passive: true };\n\t\t\tnode.addEventListener( 'wheel', onWheel, options );\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'wheel', onWheel, options );\n\t\t\t};\n\t\t},\n\t\t[ contentRef ]\n\t);\n}\n\nexport default usePopoverScroll;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,kBAAkB,QAAQ,gBAAgB;AAEnD,MAAMC,oBAAoB,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAEC,UAAU,EAAG;EACvC,OAAOL,YAAY,CAChBM,IAAI,IAAM;IACX,SAASC,OAAOA,CAAEC,KAAK,EAAG;MACzB,MAAM;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAGF,KAAK;MAChC,MAAMG,SAAS,GAAGN,UAAU,CAACO,OAAO;MACpC,IAAIC,eAAe,GAAGX,oBAAoB,CAACY,GAAG,CAAEH,SAAU,CAAC;MAC3D,IAAK,CAAEE,eAAe,EAAG;QACxBA,eAAe,GAAGZ,kBAAkB,CAAEU,SAAU,CAAC;QACjDT,oBAAoB,CAACa,GAAG,CAAEJ,SAAS,EAAEE,eAAgB,CAAC;MACvD;MACAA,eAAe,CAACG,QAAQ,CAAEP,MAAM,EAAEC,MAAO,CAAC;IAC3C;IACA;IACA;IACA,MAAMO,OAAO,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;IACjCZ,IAAI,CAACa,gBAAgB,CAAE,OAAO,EAAEZ,OAAO,EAAEU,OAAQ,CAAC;IAClD,OAAO,MAAM;MACZX,IAAI,CAACc,mBAAmB,CAAE,OAAO,EAAEb,OAAO,EAAEU,OAAQ,CAAC;IACtD,CAAC;EACF,CAAC,EACD,CAAEZ,UAAU,CACb,CAAC;AACF;AAEA,eAAeD,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["useRefEffect","getScrollContainer","scrollContainerCache","WeakMap","usePopoverScroll","contentRef","effect","node","onWheel","event","deltaX","deltaY","contentEl","current","scrollContainer","get","set","scrollBy","options","passive","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/block-popover/use-popover-scroll.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { getScrollContainer } from '@wordpress/dom';\n\nconst scrollContainerCache = new WeakMap();\n\n/**\n * Allow scrolling \"through\" popovers over the canvas. This is only called for\n * as long as the pointer is over a popover. Do not use React events because it\n * will bubble through portals.\n *\n * @param {Object} contentRef\n */\nfunction usePopoverScroll( contentRef ) {\n\tconst effect = useRefEffect(\n\t\t( node ) => {\n\t\t\tfunction onWheel( event ) {\n\t\t\t\tconst { deltaX, deltaY } = event;\n\t\t\t\tconst contentEl = contentRef.current;\n\t\t\t\tlet scrollContainer = scrollContainerCache.get( contentEl );\n\t\t\t\tif ( ! scrollContainer ) {\n\t\t\t\t\tscrollContainer = getScrollContainer( contentEl );\n\t\t\t\t\tscrollContainerCache.set( contentEl, scrollContainer );\n\t\t\t\t}\n\t\t\t\tscrollContainer.scrollBy( deltaX, deltaY );\n\t\t\t}\n\t\t\t// Tell the browser that we do not call event.preventDefault\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners\n\t\t\tconst options = { passive: true };\n\t\t\tnode.addEventListener( 'wheel', onWheel, options );\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'wheel', onWheel, options );\n\t\t\t};\n\t\t},\n\t\t[ contentRef ]\n\t);\n\treturn contentRef ? effect : null;\n}\n\nexport default usePopoverScroll;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,kBAAkB,QAAQ,gBAAgB;AAEnD,MAAMC,oBAAoB,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAEC,UAAU,EAAG;EACvC,MAAMC,MAAM,GAAGN,YAAY,CACxBO,IAAI,IAAM;IACX,SAASC,OAAOA,CAAEC,KAAK,EAAG;MACzB,MAAM;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAGF,KAAK;MAChC,MAAMG,SAAS,GAAGP,UAAU,CAACQ,OAAO;MACpC,IAAIC,eAAe,GAAGZ,oBAAoB,CAACa,GAAG,CAAEH,SAAU,CAAC;MAC3D,IAAK,CAAEE,eAAe,EAAG;QACxBA,eAAe,GAAGb,kBAAkB,CAAEW,SAAU,CAAC;QACjDV,oBAAoB,CAACc,GAAG,CAAEJ,SAAS,EAAEE,eAAgB,CAAC;MACvD;MACAA,eAAe,CAACG,QAAQ,CAAEP,MAAM,EAAEC,MAAO,CAAC;IAC3C;IACA;IACA;IACA,MAAMO,OAAO,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;IACjCZ,IAAI,CAACa,gBAAgB,CAAE,OAAO,EAAEZ,OAAO,EAAEU,OAAQ,CAAC;IAClD,OAAO,MAAM;MACZX,IAAI,CAACc,mBAAmB,CAAE,OAAO,EAAEb,OAAO,EAAEU,OAAQ,CAAC;IACtD,CAAC;EACF,CAAC,EACD,CAAEb,UAAU,CACb,CAAC;EACD,OAAOA,UAAU,GAAGC,MAAM,GAAG,IAAI;AAClC;AAEA,eAAeF,gBAAgB","ignoreList":[]}
@@ -69,14 +69,11 @@ function VariationsDropdown({
69
69
  toggleProps: {
70
70
  iconPosition: 'right'
71
71
  },
72
- children: () => /*#__PURE__*/_jsx("div", {
73
- className: `${className}__container`,
74
- children: /*#__PURE__*/_jsx(MenuGroup, {
75
- children: /*#__PURE__*/_jsx(MenuItemsChoice, {
76
- choices: selectOptions,
77
- value: selectedValue,
78
- onSelect: onSelectVariation
79
- })
72
+ children: () => /*#__PURE__*/_jsx(MenuGroup, {
73
+ children: /*#__PURE__*/_jsx(MenuItemsChoice, {
74
+ choices: selectOptions,
75
+ value: selectedValue,
76
+ onSelect: onSelectVariation
80
77
  })
81
78
  })
82
79
  });
@@ -1 +1 @@
1
- {"version":3,"names":["store","blocksStore","__","sprintf","Button","DropdownMenu","MenuGroup","MenuItemsChoice","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","VisuallyHidden","useSelect","useDispatch","useMemo","chevronDown","BlockIcon","blockEditorStore","unlock","jsx","_jsx","jsxs","_jsxs","VariationsButtons","className","onSelectVariation","selectedValue","variations","children","as","map","variation","__next40pxDefaultSize","size","icon","showColors","isPressed","name","label","title","onClick","showTooltip","VariationsDropdown","selectOptions","description","value","info","text","popoverProps","position","toggleProps","iconPosition","choices","onSelect","VariationsToggleGroupControl","hideLabelFromVision","onChange","__nextHasNoMarginBottom","__experimentalBlockVariationTransforms","blockClientId","updateBlockAttributes","activeBlockVariation","isContentOnly","select","getActiveBlockVariation","getBlockVariations","getBlockName","getBlockAttributes","getBlockEditingMode","hasContentRoleAttribute","isContentBlock","hasUniqueIcons","variationIcons","Set","forEach","add","src","length","variationName","find","attributes","baseClass","showButtons","ButtonComponent","Component"],"sources":["@wordpress/block-editor/src/components/block-variation-transforms/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction VariationsButtons( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<fieldset className={ className }>\n\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t{ __( 'Transform to variation' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\ticon={ <BlockIcon icon={ variation.icon } showColors /> }\n\t\t\t\t\tisPressed={ selectedValue === variation.name }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tonClick={ () => onSelectVariation( variation.name ) }\n\t\t\t\t\taria-label={ variation.title }\n\t\t\t\t\tshowTooltip\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</fieldset>\n\t);\n}\n\nfunction VariationsDropdown( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\tconst selectOptions = variations.map(\n\t\t( { name, title, description } ) => ( {\n\t\t\tvalue: name,\n\t\t\tlabel: title,\n\t\t\tinfo: description,\n\t\t} )\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ className }\n\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\ttext={ __( 'Transform to variation' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tposition: 'bottom center',\n\t\t\t\tclassName: `${ className }__popover`,\n\t\t\t} }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ { iconPosition: 'right' } }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<div className={ `${ className }__container` }>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ selectOptions }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction VariationsToggleGroupControl( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\t\tvalue={ selectedValue }\n\t\t\t\thideLabelFromVision\n\t\t\t\tonChange={ onSelectVariation }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon icon={ variation.icon } showColors />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ variation.name }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ToggleGroupControl>\n\t\t</div>\n\t);\n}\n\nfunction __experimentalBlockVariationTransforms( { blockClientId } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { activeBlockVariation, variations, isContentOnly } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst { getBlockName, getBlockAttributes, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst name = blockClientId && getBlockName( blockClientId );\n\n\t\t\tconst { hasContentRoleAttribute } = unlock( select( blocksStore ) );\n\t\t\tconst isContentBlock = hasContentRoleAttribute( name );\n\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tname,\n\t\t\t\t\tgetBlockAttributes( blockClientId )\n\t\t\t\t),\n\t\t\t\tvariations: name && getBlockVariations( name, 'transform' ),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( blockClientId ) === 'contentOnly' &&\n\t\t\t\t\t! isContentBlock,\n\t\t\t};\n\t\t},\n\t\t[ blockClientId ]\n\t);\n\n\tconst selectedValue = activeBlockVariation?.name;\n\n\t// Check if each variation has a unique icon.\n\tconst hasUniqueIcons = useMemo( () => {\n\t\tconst variationIcons = new Set();\n\t\tif ( ! variations ) {\n\t\t\treturn false;\n\t\t}\n\t\tvariations.forEach( ( variation ) => {\n\t\t\tif ( variation.icon ) {\n\t\t\t\tvariationIcons.add( variation.icon?.src || variation.icon );\n\t\t\t}\n\t\t} );\n\t\treturn variationIcons.size === variations.length;\n\t}, [ variations ] );\n\n\tconst onSelectVariation = ( variationName ) => {\n\t\tupdateBlockAttributes( blockClientId, {\n\t\t\t...variations.find( ( { name } ) => name === variationName )\n\t\t\t\t.attributes,\n\t\t} );\n\t};\n\n\tif ( ! variations?.length || isContentOnly ) {\n\t\treturn null;\n\t}\n\n\tconst baseClass = 'block-editor-block-variation-transforms';\n\n\t// Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap\n\tconst showButtons = variations.length > 5;\n\n\tconst ButtonComponent = showButtons\n\t\t? VariationsButtons\n\t\t: VariationsToggleGroupControl;\n\n\tconst Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown;\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={ baseClass }\n\t\t\tonSelectVariation={ onSelectVariation }\n\t\t\tselectedValue={ selectedValue }\n\t\t\tvariations={ variations }\n\t\t/>\n\t);\n}\n\nexport default __experimentalBlockVariationTransforms;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","blocksStore","__","sprintf","Button","DropdownMenu","MenuGroup","MenuItemsChoice","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","VisuallyHidden","useSelect","useDispatch","useMemo","chevronDown","BlockIcon","blockEditorStore","unlock","jsx","_jsx","jsxs","_jsxs","VariationsButtons","className","onSelectVariation","selectedValue","variations","children","as","map","variation","__next40pxDefaultSize","size","icon","showColors","isPressed","name","label","title","onClick","showTooltip","VariationsDropdown","selectOptions","description","value","info","text","popoverProps","position","toggleProps","iconPosition","choices","onSelect","VariationsToggleGroupControl","hideLabelFromVision","onChange","__nextHasNoMarginBottom","__experimentalBlockVariationTransforms","blockClientId","updateBlockAttributes","activeBlockVariation","isContentOnly","select","getActiveBlockVariation","getBlockVariations","getBlockName","getBlockAttributes","getBlockEditingMode","hasContentRoleAttribute","isContentBlock","hasUniqueIcons","variationIcons","Set","forEach","add","src","length","variationName","find","attributes","baseClass","showButtons","ButtonComponent","Component"],"sources":["@wordpress/block-editor/src/components/block-variation-transforms/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction VariationsButtons( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<fieldset className={ className }>\n\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t{ __( 'Transform to variation' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\ticon={ <BlockIcon icon={ variation.icon } showColors /> }\n\t\t\t\t\tisPressed={ selectedValue === variation.name }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tonClick={ () => onSelectVariation( variation.name ) }\n\t\t\t\t\taria-label={ variation.title }\n\t\t\t\t\tshowTooltip\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</fieldset>\n\t);\n}\n\nfunction VariationsDropdown( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\tconst selectOptions = variations.map(\n\t\t( { name, title, description } ) => ( {\n\t\t\tvalue: name,\n\t\t\tlabel: title,\n\t\t\tinfo: description,\n\t\t} )\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ className }\n\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\ttext={ __( 'Transform to variation' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tposition: 'bottom center',\n\t\t\t\tclassName: `${ className }__popover`,\n\t\t\t} }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ { iconPosition: 'right' } }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\tchoices={ selectOptions }\n\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t/>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction VariationsToggleGroupControl( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\t\tvalue={ selectedValue }\n\t\t\t\thideLabelFromVision\n\t\t\t\tonChange={ onSelectVariation }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon icon={ variation.icon } showColors />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ variation.name }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: Block or block variation name. */\n\t\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ToggleGroupControl>\n\t\t</div>\n\t);\n}\n\nfunction __experimentalBlockVariationTransforms( { blockClientId } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { activeBlockVariation, variations, isContentOnly } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst { getBlockName, getBlockAttributes, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst name = blockClientId && getBlockName( blockClientId );\n\n\t\t\tconst { hasContentRoleAttribute } = unlock( select( blocksStore ) );\n\t\t\tconst isContentBlock = hasContentRoleAttribute( name );\n\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tname,\n\t\t\t\t\tgetBlockAttributes( blockClientId )\n\t\t\t\t),\n\t\t\t\tvariations: name && getBlockVariations( name, 'transform' ),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( blockClientId ) === 'contentOnly' &&\n\t\t\t\t\t! isContentBlock,\n\t\t\t};\n\t\t},\n\t\t[ blockClientId ]\n\t);\n\n\tconst selectedValue = activeBlockVariation?.name;\n\n\t// Check if each variation has a unique icon.\n\tconst hasUniqueIcons = useMemo( () => {\n\t\tconst variationIcons = new Set();\n\t\tif ( ! variations ) {\n\t\t\treturn false;\n\t\t}\n\t\tvariations.forEach( ( variation ) => {\n\t\t\tif ( variation.icon ) {\n\t\t\t\tvariationIcons.add( variation.icon?.src || variation.icon );\n\t\t\t}\n\t\t} );\n\t\treturn variationIcons.size === variations.length;\n\t}, [ variations ] );\n\n\tconst onSelectVariation = ( variationName ) => {\n\t\tupdateBlockAttributes( blockClientId, {\n\t\t\t...variations.find( ( { name } ) => name === variationName )\n\t\t\t\t.attributes,\n\t\t} );\n\t};\n\n\tif ( ! variations?.length || isContentOnly ) {\n\t\treturn null;\n\t}\n\n\tconst baseClass = 'block-editor-block-variation-transforms';\n\n\t// Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap\n\tconst showButtons = variations.length > 5;\n\n\tconst ButtonComponent = showButtons\n\t\t? VariationsButtons\n\t\t: VariationsToggleGroupControl;\n\n\tconst Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown;\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={ baseClass }\n\t\t\tonSelectVariation={ onSelectVariation }\n\t\t\tselectedValue={ selectedValue }\n\t\t\tvariations={ variations }\n\t\t/>\n\t);\n}\n\nexport default __experimentalBlockVariationTransforms;\n"],"mappings":"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","ignoreList":[]}
@@ -92,7 +92,7 @@ const renderToggle = (duotone, resetDuotone) => ({
92
92
  const duotoneButtonRef = useRef(undefined);
93
93
  const toggleProps = {
94
94
  onClick: onToggle,
95
- className: clsx({
95
+ className: clsx('block-editor-global-styles-filters-panel__dropdown-toggle', {
96
96
  'is-open': isOpen
97
97
  }),
98
98
  'aria-expanded': isOpen,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","MenuGroup","ColorIndicator","DuotonePicker","DuotoneSwatch","Dropdown","Flex","FlexItem","Button","__","_x","useCallback","useMemo","useRef","reset","resetIcon","getValueFromVariable","useToolsPanelDropdownMenuProps","setImmutably","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","resetAll","updatedValue","label","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","justify","isLayered","expanded","values","title","renderToggle","resetDuotone","onToggle","isOpen","duotoneButtonRef","undefined","toggleProps","onClick","ref","removeButtonProps","current","focus","__next40pxDefaultSize","size","icon","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","duotoneValue","slug","hasDuotone","previousValue","hasValue","onDeselect","isShownByDefault","renderContent","paddingSize","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo, useRef } from '@wordpress/element';\nimport { reset as resetIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nconst renderToggle =\n\t( duotone, resetDuotone ) =>\n\t( { onToggle, isOpen } ) => {\n\t\tconst duotoneButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: duotoneButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tresetDuotone();\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tduotoneButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: 'block-editor-panel-duotone-settings__reset',\n\t\t\tlabel: __( 'Reset' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t\t{ duotone && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ resetIcon }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst duotoneValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'filter', 'duotone' ], duotoneValue )\n\t\t);\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ renderToggle( duotone, resetDuotone ) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","MenuGroup","ColorIndicator","DuotonePicker","DuotoneSwatch","Dropdown","Flex","FlexItem","Button","__","_x","useCallback","useMemo","useRef","reset","resetIcon","getValueFromVariable","useToolsPanelDropdownMenuProps","setImmutably","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","resetAll","updatedValue","label","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","justify","isLayered","expanded","values","title","renderToggle","resetDuotone","onToggle","isOpen","duotoneButtonRef","undefined","toggleProps","onClick","ref","removeButtonProps","current","focus","__next40pxDefaultSize","size","icon","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","duotoneValue","slug","hasDuotone","previousValue","hasValue","onDeselect","isShownByDefault","renderContent","paddingSize","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo, useRef } from '@wordpress/element';\nimport { reset as resetIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nconst renderToggle =\n\t( duotone, resetDuotone ) =>\n\t( { onToggle, isOpen } ) => {\n\t\tconst duotoneButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles-filters-panel__dropdown-toggle',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: duotoneButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tresetDuotone();\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tduotoneButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: 'block-editor-panel-duotone-settings__reset',\n\t\t\tlabel: __( 'Reset' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t\t{ duotone && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ resetIcon }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst duotoneValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'filter', 'duotone' ], duotoneValue )\n\t\t);\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ renderToggle( duotone, resetDuotone ) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -136,7 +136,7 @@ function renderShadowToggle(shadow, onShadowChange) {
136
136
  const shadowButtonRef = useRef(undefined);
137
137
  const toggleProps = {
138
138
  onClick: onToggle,
139
- className: clsx({
139
+ className: clsx('block-editor-global-styles__shadow-dropdown-toggle', {
140
140
  'is-open': isOpen
141
141
  }),
142
142
  'aria-expanded': isOpen,
@@ -1 +1 @@
1
- {"version":3,"names":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","Composite","Tooltip","useMemo","useRef","shadow","shadowIcon","Icon","check","reset","clsx","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_ARRAY","ShadowPopoverContainer","onShadowChange","settings","shadows","useShadowPresets","className","children","spacing","level","ShadowPresets","presets","activeShadow","onSelect","__next40pxDefaultSize","variant","onClick","undefined","disabled","accessibleWhenDisabled","role","map","name","slug","ShadowIndicator","label","isActive","type","text","Item","render","unset","style","boxShadow","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","shadowButtonRef","toggleProps","ref","removeButtonProps","current","focus","justify","size","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n\tTooltip,\n} from '@wordpress/components';\nimport { useMemo, useRef } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check, reset } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t\tdisabled={ ! shadow }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Composite.Item\n\t\t\t\trole=\"option\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-selected={ isActive }\n\t\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t} ) }\n\t\t\t\trender={\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle( shadow, onShadowChange ) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle( shadow, onShadowChange ) {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst shadowButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: shadowButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tonShadowChange( undefined );\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tshadowButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles__shadow-editor__remove-button',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\tlabel: __( 'Remove' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Button>\n\t\t\t\t{ !! shadow && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","Composite","Tooltip","useMemo","useRef","shadow","shadowIcon","Icon","check","reset","clsx","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_ARRAY","ShadowPopoverContainer","onShadowChange","settings","shadows","useShadowPresets","className","children","spacing","level","ShadowPresets","presets","activeShadow","onSelect","__next40pxDefaultSize","variant","onClick","undefined","disabled","accessibleWhenDisabled","role","map","name","slug","ShadowIndicator","label","isActive","type","text","Item","render","unset","style","boxShadow","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","shadowButtonRef","toggleProps","ref","removeButtonProps","current","focus","justify","size","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n\tTooltip,\n} from '@wordpress/components';\nimport { useMemo, useRef } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check, reset } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t\tdisabled={ ! shadow }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Composite.Item\n\t\t\t\trole=\"option\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-selected={ isActive }\n\t\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t} ) }\n\t\t\t\trender={\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle( shadow, onShadowChange ) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle( shadow, onShadowChange ) {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst shadowButtonRef = useRef( undefined );\n\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles__shadow-dropdown-toggle',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\t'aria-expanded': isOpen,\n\t\t\tref: shadowButtonRef,\n\t\t};\n\n\t\tconst removeButtonProps = {\n\t\t\tonClick: () => {\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t\tonShadowChange( undefined );\n\t\t\t\t// Return focus to parent button.\n\t\t\t\tshadowButtonRef.current?.focus();\n\t\t\t},\n\t\t\tclassName: clsx(\n\t\t\t\t'block-editor-global-styles__shadow-editor__remove-button',\n\t\t\t\t{ 'is-open': isOpen }\n\t\t\t),\n\t\t\tlabel: __( 'Remove' ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Button>\n\t\t\t\t{ !! shadow && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,oBAAoB,IAAIC,MAAM,EAC9BC,qBAAqB,IAAIC,OAAO,EAChCC,oBAAoB,IAAIC,MAAM,EAC9BC,oCAAoC,IAAIC,sBAAsB,EAC9DC,MAAM,EACNC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,OAAO,QACD,uBAAuB;AAC9B,SAASC,OAAO,EAAEC,MAAM,QAAQ,oBAAoB;AACpD,SAASC,MAAM,IAAIC,UAAU,EAAEC,IAAI,EAAEC,KAAK,EAAEC,KAAK,QAAQ,kBAAkB;;AAE3E;AACA;AACA;AACA,OAAOC,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAMA,MAAMC,WAAW,GAAG,EAAE;AAEtB,OAAO,SAASC,sBAAsBA,CAAE;EAAEb,MAAM;EAAEc,cAAc;EAAEC;AAAS,CAAC,EAAG;EAC9E,MAAMC,OAAO,GAAGC,gBAAgB,CAAEF,QAAS,CAAC;EAE5C,oBACCR,IAAA;IAAKW,SAAS,EAAC,sDAAsD;IAAAC,QAAA,eACpEV,KAAA,CAACvB,MAAM;MAACkC,OAAO,EAAG,CAAG;MAAAD,QAAA,gBACpBZ,IAAA,CAACnB,OAAO;QAACiC,KAAK,EAAG,CAAG;QAAAF,QAAA,EAAGnC,EAAE,CAAE,aAAc;MAAC,CAAW,CAAC,eACtDuB,IAAA,CAACe,aAAa;QACbC,OAAO,EAAGP,OAAS;QACnBQ,YAAY,EAAGxB,MAAQ;QACvByB,QAAQ,EAAGX;MAAgB,CAC3B,CAAC,eACFP,IAAA;QAAKW,SAAS,EAAC,0CAA0C;QAAAC,QAAA,eACxDZ,IAAA,CAACd,MAAM;UACNiC,qBAAqB;UACrBC,OAAO,EAAC,UAAU;UAClBC,OAAO,EAAGA,CAAA,KAAMd,cAAc,CAAEe,SAAU,CAAG;UAC7CC,QAAQ,EAAG,CAAE9B,MAAQ;UACrB+B,sBAAsB;UAAAZ,QAAA,EAEpBnC,EAAE,CAAE,OAAQ;QAAC,CACR;MAAC,CACL,CAAC;IAAA,CACC;EAAC,CACL,CAAC;AAER;AAEA,OAAO,SAASsC,aAAaA,CAAE;EAAEC,OAAO;EAAEC,YAAY;EAAEC;AAAS,CAAC,EAAG;EACpE,OAAO,CAAEF,OAAO,GAAG,IAAI,gBACtBhB,IAAA,CAACX,SAAS;IACToC,IAAI,EAAC,SAAS;IACdd,SAAS,EAAC,0CAA0C;IACpD,cAAalC,EAAE,CAAE,cAAe,CAAG;IAAAmC,QAAA,EAEjCI,OAAO,CAACU,GAAG,CAAE,CAAE;MAAEC,IAAI;MAAEC,IAAI;MAAEnC;IAAO,CAAC,kBACtCO,IAAA,CAAC6B,eAAe;MAEfC,KAAK,EAAGH,IAAM;MACdI,QAAQ,EAAGtC,MAAM,KAAKwB,YAAc;MACpCe,IAAI,EAAGJ,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,QAAU;MAC9CV,QAAQ,EAAGA,CAAA,KACVA,QAAQ,CAAEzB,MAAM,KAAKwB,YAAY,GAAGK,SAAS,GAAG7B,MAAO,CACvD;MACDA,MAAM,EAAGA;IAAQ,GAPXmC,IAQN,CACA;EAAC,CACO,CACX;AACF;AAEA,OAAO,SAASC,eAAeA,CAAE;EAAEG,IAAI;EAAEF,KAAK;EAAEC,QAAQ;EAAEb,QAAQ;EAAEzB;AAAO,CAAC,EAAG;EAC9E,oBACCO,IAAA,CAACV,OAAO;IAAC2C,IAAI,EAAGH,KAAO;IAAAlB,QAAA,eACtBZ,IAAA,CAACX,SAAS,CAAC6C,IAAI;MACdT,IAAI,EAAC,QAAQ;MACb,cAAaK,KAAO;MACpB,iBAAgBC,QAAU;MAC1BpB,SAAS,EAAGb,IAAI,CAAE,0CAA0C,EAAE;QAC7D,WAAW,EAAEiC;MACd,CAAE,CAAG;MACLI,MAAM,eACLnC,IAAA;QACCW,SAAS,EAAGb,IAAI,CACf,8CAA8C,EAC9C;UACCsC,KAAK,EAAEJ,IAAI,KAAK;QACjB,CACD,CAAG;QACHX,OAAO,EAAGH,QAAU;QACpBmB,KAAK,EAAG;UAAEC,SAAS,EAAE7C;QAAO,CAAG;QAC/B,cAAaqC,KAAO;QAAAlB,QAAA,EAElBmB,QAAQ,iBAAI/B,IAAA,CAACL,IAAI;UAAC4C,IAAI,EAAG3C;QAAO,CAAE;MAAC,CAC9B;IACR,CACD;EAAC,CACM,CAAC;AAEZ;AAEA,OAAO,SAAS4C,aAAaA,CAAE;EAAE/C,MAAM;EAAEc,cAAc;EAAEC;AAAS,CAAC,EAAG;EACrE,MAAMiC,YAAY,GAAG;IACpBC,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC;EAED,oBACC5C,IAAA,CAACZ,QAAQ;IACRqD,YAAY,EAAGA,YAAc;IAC7B9B,SAAS,EAAC,6CAA6C;IACvDkC,YAAY,EAAGC,kBAAkB,CAAErD,MAAM,EAAEc,cAAe,CAAG;IAC7DwC,aAAa,EAAGA,CAAA,kBACf/C,IAAA,CAACf,sBAAsB;MAAC+D,WAAW,EAAC,QAAQ;MAAApC,QAAA,eAC3CZ,IAAA,CAACM,sBAAsB;QACtBb,MAAM,EAAGA,MAAQ;QACjBc,cAAc,EAAGA,cAAgB;QACjCC,QAAQ,EAAGA;MAAU,CACrB;IAAC,CACqB;EACtB,CACH,CAAC;AAEJ;AAEA,SAASsC,kBAAkBA,CAAErD,MAAM,EAAEc,cAAc,EAAG;EACrD,OAAO,CAAE;IAAE0C,QAAQ;IAAEC;EAAO,CAAC,KAAM;IAClC,MAAMC,eAAe,GAAG3D,MAAM,CAAE8B,SAAU,CAAC;IAE3C,MAAM8B,WAAW,GAAG;MACnB/B,OAAO,EAAE4B,QAAQ;MACjBtC,SAAS,EAAEb,IAAI,CACd,oDAAoD,EACpD;QAAE,SAAS,EAAEoD;MAAO,CACrB,CAAC;MACD,eAAe,EAAEA,MAAM;MACvBG,GAAG,EAAEF;IACN,CAAC;IAED,MAAMG,iBAAiB,GAAG;MACzBjC,OAAO,EAAEA,CAAA,KAAM;QACd,IAAK6B,MAAM,EAAG;UACbD,QAAQ,CAAC,CAAC;QACX;QACA1C,cAAc,CAAEe,SAAU,CAAC;QAC3B;QACA6B,eAAe,CAACI,OAAO,EAAEC,KAAK,CAAC,CAAC;MACjC,CAAC;MACD7C,SAAS,EAAEb,IAAI,CACd,0DAA0D,EAC1D;QAAE,SAAS,EAAEoD;MAAO,CACrB,CAAC;MACDpB,KAAK,EAAErD,EAAE,CAAE,QAAS;IACrB,CAAC;IAED,oBACCyB,KAAA,CAAAE,SAAA;MAAAQ,QAAA,gBACCZ,IAAA,CAACd,MAAM;QAACiC,qBAAqB;QAAA,GAAMiC,WAAW;QAAAxC,QAAA,eAC7CV,KAAA,CAACnB,MAAM;UAAC0E,OAAO,EAAC,YAAY;UAAA7C,QAAA,gBAC3BZ,IAAA,CAACL,IAAI;YACJgB,SAAS,EAAC,yCAAyC;YACnD4B,IAAI,EAAG7C,UAAY;YACnBgE,IAAI,EAAG;UAAI,CACX,CAAC,eACF1D,IAAA,CAACb,QAAQ;YAAAyB,QAAA,EAAGnC,EAAE,CAAE,aAAc;UAAC,CAAY,CAAC;QAAA,CACrC;MAAC,CACF,CAAC,EACP,CAAC,CAAEgB,MAAM,iBACVO,IAAA,CAACd,MAAM;QACNiC,qBAAqB;QACrBuC,IAAI,EAAC,OAAO;QACZnB,IAAI,EAAG1C,KAAO;QAAA,GACTyD;MAAiB,CACtB,CACD;IAAA,CACA,CAAC;EAEL,CAAC;AACF;AAEA,OAAO,SAAS5C,gBAAgBA,CAAEF,QAAQ,EAAG;EAC5C,OAAOjB,OAAO,CAAE,MAAM;IAAA,IAAAoE,qBAAA;IACrB,IAAK,CAAEnD,QAAQ,EAAEf,MAAM,EAAG;MACzB,OAAOY,WAAW;IACnB;IAEA,MAAMuD,qBAAqB,GAAGpD,QAAQ,EAAEf,MAAM,EAAEoE,cAAc;IAC9D,MAAM;MACLC,OAAO,EAAEC,cAAc;MACvBC,KAAK,EAAEC,YAAY;MACnBC,MAAM,EAAEC;IACT,CAAC,IAAAR,qBAAA,GAAGnD,QAAQ,EAAEf,MAAM,EAAEuB,OAAO,cAAA2C,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;IACnC,MAAMS,WAAW,GAAG;MACnBzC,IAAI,EAAElD,EAAE,CAAE,OAAQ,CAAC;MACnBmD,IAAI,EAAE,OAAO;MACbnC,MAAM,EAAE;IACT,CAAC;IAED,MAAM4E,aAAa,GAAG,CACrB,IAAOT,qBAAqB,IAAIG,cAAc,IAAM1D,WAAW,CAAE,EACjE,IAAK4D,YAAY,IAAI5D,WAAW,CAAE,EAClC,IAAK8D,aAAa,IAAI9D,WAAW,CAAE,CACnC;IACD,IAAKgE,aAAa,CAACC,MAAM,EAAG;MAC3BD,aAAa,CAACE,OAAO,CAAEH,WAAY,CAAC;IACrC;IAEA,OAAOC,aAAa;EACrB,CAAC,EAAE,CAAE7D,QAAQ,CAAG,CAAC;AAClB","ignoreList":[]}
@@ -201,7 +201,8 @@ const MediaReplaceFlow = ({
201
201
  url
202
202
  }) => {
203
203
  onSelectURL(url);
204
- }
204
+ },
205
+ searchInputPlaceholder: __('Paste or type URL')
205
206
  })]
206
207
  })]
207
208
  })
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","speak","FormFileUpload","NavigableMenu","MenuItem","Dropdown","withFilters","ToolbarButton","useSelect","withDispatch","DOWN","postFeaturedImage","upload","media","mediaIcon","compose","__unstableStripHTML","stripHTML","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","renderToggle","getSettings","errorNoticeID","onUploadError","message","safeMessage","setTimeout","id","isDismissible","selectMedia","closeMenu","uploadFiles","event","files","target","mediaUpload","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","contentClassName","isOpen","onToggle","onClick","onKeyDown","renderContent","onClose","className","value","render","open","icon","onChange","openFileDialog","isPressed","url","settings","showSuggestions","dispatch"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n\trenderToggle,\n} ) => {\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","speak","FormFileUpload","NavigableMenu","MenuItem","Dropdown","withFilters","ToolbarButton","useSelect","withDispatch","DOWN","postFeaturedImage","upload","media","mediaIcon","compose","__unstableStripHTML","stripHTML","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","renderToggle","getSettings","errorNoticeID","onUploadError","message","safeMessage","setTimeout","id","isDismissible","selectMedia","closeMenu","uploadFiles","event","files","target","mediaUpload","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","contentClassName","isOpen","onToggle","onClick","onKeyDown","renderContent","onClose","className","value","render","open","icon","onChange","openFileDialog","isPressed","url","settings","showSuggestions","searchInputPlaceholder","dispatch"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n\trenderToggle,\n} ) => {\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsearchInputPlaceholder={ __(\n\t\t\t\t\t\t\t\t\t'Paste or type URL'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],"mappings":"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","ignoreList":[]}
@@ -1740,13 +1740,14 @@ iframe[name=editor-canvas] {
1740
1740
  padding: 0;
1741
1741
  position: relative;
1742
1742
  }
1743
- .block-editor-global-styles-filters-panel__dropdown button,
1744
- .block-editor-global-styles__shadow-dropdown button {
1743
+
1744
+ .block-editor-global-styles-filters-panel__dropdown-toggle,
1745
+ .block-editor-global-styles__shadow-dropdown-toggle {
1745
1746
  width: 100%;
1746
1747
  padding: 8px;
1747
1748
  }
1748
- .block-editor-global-styles-filters-panel__dropdown button.is-open,
1749
- .block-editor-global-styles__shadow-dropdown button.is-open {
1749
+ .block-editor-global-styles-filters-panel__dropdown-toggle.is-open,
1750
+ .block-editor-global-styles__shadow-dropdown-toggle.is-open {
1750
1751
  background-color: #f0f0f0;
1751
1752
  }
1752
1753
 
@@ -1740,13 +1740,14 @@ iframe[name=editor-canvas] {
1740
1740
  padding: 0;
1741
1741
  position: relative;
1742
1742
  }
1743
- .block-editor-global-styles-filters-panel__dropdown button,
1744
- .block-editor-global-styles__shadow-dropdown button {
1743
+
1744
+ .block-editor-global-styles-filters-panel__dropdown-toggle,
1745
+ .block-editor-global-styles__shadow-dropdown-toggle {
1745
1746
  width: 100%;
1746
1747
  padding: 8px;
1747
1748
  }
1748
- .block-editor-global-styles-filters-panel__dropdown button.is-open,
1749
- .block-editor-global-styles__shadow-dropdown button.is-open {
1749
+ .block-editor-global-styles-filters-panel__dropdown-toggle.is-open,
1750
+ .block-editor-global-styles__shadow-dropdown-toggle.is-open {
1750
1751
  background-color: #f0f0f0;
1751
1752
  }
1752
1753
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "14.14.0",
3
+ "version": "14.15.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -37,38 +37,38 @@
37
37
  "@emotion/react": "^11.7.1",
38
38
  "@emotion/styled": "^11.6.0",
39
39
  "@react-spring/web": "^9.4.5",
40
- "@wordpress/a11y": "^4.19.0",
41
- "@wordpress/api-fetch": "^7.19.0",
42
- "@wordpress/blob": "^4.19.0",
43
- "@wordpress/block-serialization-default-parser": "^5.19.0",
44
- "@wordpress/blocks": "^14.8.0",
45
- "@wordpress/commands": "^1.19.0",
46
- "@wordpress/components": "^29.5.0",
47
- "@wordpress/compose": "^7.19.0",
48
- "@wordpress/data": "^10.19.0",
49
- "@wordpress/date": "^5.19.0",
50
- "@wordpress/deprecated": "^4.19.0",
51
- "@wordpress/dom": "^4.19.0",
52
- "@wordpress/element": "^6.19.0",
53
- "@wordpress/escape-html": "^3.19.0",
54
- "@wordpress/hooks": "^4.19.0",
55
- "@wordpress/html-entities": "^4.19.0",
56
- "@wordpress/i18n": "^5.19.0",
57
- "@wordpress/icons": "^10.19.0",
58
- "@wordpress/is-shallow-equal": "^5.19.0",
59
- "@wordpress/keyboard-shortcuts": "^5.19.0",
60
- "@wordpress/keycodes": "^4.19.0",
61
- "@wordpress/notices": "^5.19.0",
62
- "@wordpress/preferences": "^4.19.0",
63
- "@wordpress/priority-queue": "^3.19.0",
64
- "@wordpress/private-apis": "^1.19.0",
65
- "@wordpress/rich-text": "^7.19.0",
66
- "@wordpress/style-engine": "^2.19.0",
67
- "@wordpress/token-list": "^3.19.0",
68
- "@wordpress/upload-media": "^0.4.0",
69
- "@wordpress/url": "^4.19.0",
70
- "@wordpress/warning": "^3.19.0",
71
- "@wordpress/wordcount": "^4.19.0",
40
+ "@wordpress/a11y": "^4.20.0",
41
+ "@wordpress/api-fetch": "^7.20.0",
42
+ "@wordpress/blob": "^4.20.0",
43
+ "@wordpress/block-serialization-default-parser": "^5.20.0",
44
+ "@wordpress/blocks": "^14.9.0",
45
+ "@wordpress/commands": "^1.20.0",
46
+ "@wordpress/components": "^29.6.0",
47
+ "@wordpress/compose": "^7.20.0",
48
+ "@wordpress/data": "^10.20.0",
49
+ "@wordpress/date": "^5.20.0",
50
+ "@wordpress/deprecated": "^4.20.0",
51
+ "@wordpress/dom": "^4.20.0",
52
+ "@wordpress/element": "^6.20.0",
53
+ "@wordpress/escape-html": "^3.20.0",
54
+ "@wordpress/hooks": "^4.20.0",
55
+ "@wordpress/html-entities": "^4.20.0",
56
+ "@wordpress/i18n": "^5.20.0",
57
+ "@wordpress/icons": "^10.20.0",
58
+ "@wordpress/is-shallow-equal": "^5.20.0",
59
+ "@wordpress/keyboard-shortcuts": "^5.20.0",
60
+ "@wordpress/keycodes": "^4.20.0",
61
+ "@wordpress/notices": "^5.20.0",
62
+ "@wordpress/preferences": "^4.20.0",
63
+ "@wordpress/priority-queue": "^3.20.0",
64
+ "@wordpress/private-apis": "^1.20.0",
65
+ "@wordpress/rich-text": "^7.20.0",
66
+ "@wordpress/style-engine": "^2.20.0",
67
+ "@wordpress/token-list": "^3.20.0",
68
+ "@wordpress/upload-media": "^0.5.0",
69
+ "@wordpress/url": "^4.20.0",
70
+ "@wordpress/warning": "^3.20.0",
71
+ "@wordpress/wordcount": "^4.20.0",
72
72
  "change-case": "^4.1.2",
73
73
  "clsx": "^2.1.1",
74
74
  "colord": "^2.7.0",
@@ -91,5 +91,5 @@
91
91
  "publishConfig": {
92
92
  "access": "public"
93
93
  },
94
- "gitHead": "d6b0b20fa927b110140dc7fdd906a7e0bf662004"
94
+ "gitHead": "72476970386146d450c375e5c71a96dda7c9aaa8"
95
95
  }
@@ -14,7 +14,7 @@ const scrollContainerCache = new WeakMap();
14
14
  * @param {Object} contentRef
15
15
  */
16
16
  function usePopoverScroll( contentRef ) {
17
- return useRefEffect(
17
+ const effect = useRefEffect(
18
18
  ( node ) => {
19
19
  function onWheel( event ) {
20
20
  const { deltaX, deltaY } = event;
@@ -36,6 +36,7 @@ function usePopoverScroll( contentRef ) {
36
36
  },
37
37
  [ contentRef ]
38
38
  );
39
+ return contentRef ? effect : null;
39
40
  }
40
41
 
41
42
  export default usePopoverScroll;
@@ -86,15 +86,13 @@ function VariationsDropdown( {
86
86
  toggleProps={ { iconPosition: 'right' } }
87
87
  >
88
88
  { () => (
89
- <div className={ `${ className }__container` }>
90
- <MenuGroup>
91
- <MenuItemsChoice
92
- choices={ selectOptions }
93
- value={ selectedValue }
94
- onSelect={ onSelectVariation }
95
- />
96
- </MenuGroup>
97
- </div>
89
+ <MenuGroup>
90
+ <MenuItemsChoice
91
+ choices={ selectOptions }
92
+ value={ selectedValue }
93
+ onSelect={ onSelectVariation }
94
+ />
95
+ </MenuGroup>
98
96
  ) }
99
97
  </DropdownMenu>
100
98
  );
@@ -124,7 +124,10 @@ const renderToggle =
124
124
 
125
125
  const toggleProps = {
126
126
  onClick: onToggle,
127
- className: clsx( { 'is-open': isOpen } ),
127
+ className: clsx(
128
+ 'block-editor-global-styles-filters-panel__dropdown-toggle',
129
+ { 'is-open': isOpen }
130
+ ),
128
131
  'aria-expanded': isOpen,
129
132
  ref: duotoneButtonRef,
130
133
  };
@@ -141,7 +141,10 @@ function renderShadowToggle( shadow, onShadowChange ) {
141
141
 
142
142
  const toggleProps = {
143
143
  onClick: onToggle,
144
- className: clsx( { 'is-open': isOpen } ),
144
+ className: clsx(
145
+ 'block-editor-global-styles__shadow-dropdown-toggle',
146
+ { 'is-open': isOpen }
147
+ ),
145
148
  'aria-expanded': isOpen,
146
149
  ref: shadowButtonRef,
147
150
  };
@@ -25,14 +25,15 @@
25
25
  display: block;
26
26
  padding: 0;
27
27
  position: relative;
28
+ }
28
29
 
29
- button {
30
- width: 100%;
31
- padding: $grid-unit-10;
30
+ .block-editor-global-styles-filters-panel__dropdown-toggle,
31
+ .block-editor-global-styles__shadow-dropdown-toggle {
32
+ width: 100%;
33
+ padding: $grid-unit-10;
32
34
 
33
- &.is-open {
34
- background-color: $gray-100;
35
- }
35
+ &.is-open {
36
+ background-color: $gray-100;
36
37
  }
37
38
  }
38
39
 
@@ -232,6 +232,9 @@ const MediaReplaceFlow = ( {
232
232
  onChange={ ( { url } ) => {
233
233
  onSelectURL( url );
234
234
  } }
235
+ searchInputPlaceholder={ __(
236
+ 'Paste or type URL'
237
+ ) }
235
238
  />
236
239
  </form>
237
240
  ) }
@@ -110,7 +110,7 @@ describe( 'General media replace flow', () => {
110
110
  );
111
111
 
112
112
  const mediaURLInput = screen.getByRole( 'combobox', {
113
- name: 'Search or type URL',
113
+ name: 'Paste or type URL',
114
114
  expanded: false,
115
115
  } );
116
116