@wordpress/block-editor 13.0.3 → 13.0.4

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 (79) hide show
  1. package/build/components/global-styles/background-panel.js +2 -1
  2. package/build/components/global-styles/background-panel.js.map +1 -1
  3. package/build/components/global-styles/border-panel.js +2 -1
  4. package/build/components/global-styles/border-panel.js.map +1 -1
  5. package/build/components/global-styles/color-panel.js +2 -1
  6. package/build/components/global-styles/color-panel.js.map +1 -1
  7. package/build/components/global-styles/dimensions-panel.js +2 -1
  8. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  9. package/build/components/global-styles/filters-panel.js +2 -1
  10. package/build/components/global-styles/filters-panel.js.map +1 -1
  11. package/build/components/global-styles/image-settings-panel.js +2 -1
  12. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  13. package/build/components/global-styles/typography-panel.js +2 -1
  14. package/build/components/global-styles/typography-panel.js.map +1 -1
  15. package/build/components/global-styles/utils.js +17 -7
  16. package/build/components/global-styles/utils.js.map +1 -1
  17. package/build/components/inspector-controls/block-support-tools-panel.js +2 -1
  18. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  19. package/build/hooks/block-style-variation.js +108 -2
  20. package/build/hooks/block-style-variation.js.map +1 -1
  21. package/build/hooks/duotone.js +16 -11
  22. package/build/hooks/duotone.js.map +1 -1
  23. package/build/hooks/index.js +7 -1
  24. package/build/hooks/index.js.map +1 -1
  25. package/build/hooks/use-bindings-attributes.js +11 -6
  26. package/build/hooks/use-bindings-attributes.js.map +1 -1
  27. package/build/hooks/utils.js +2 -0
  28. package/build/hooks/utils.js.map +1 -1
  29. package/build/private-apis.js +2 -1
  30. package/build/private-apis.js.map +1 -1
  31. package/build-module/components/global-styles/background-panel.js +3 -2
  32. package/build-module/components/global-styles/background-panel.js.map +1 -1
  33. package/build-module/components/global-styles/border-panel.js +3 -2
  34. package/build-module/components/global-styles/border-panel.js.map +1 -1
  35. package/build-module/components/global-styles/color-panel.js +3 -2
  36. package/build-module/components/global-styles/color-panel.js.map +1 -1
  37. package/build-module/components/global-styles/dimensions-panel.js +3 -2
  38. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  39. package/build-module/components/global-styles/filters-panel.js +3 -2
  40. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  41. package/build-module/components/global-styles/image-settings-panel.js +3 -2
  42. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  43. package/build-module/components/global-styles/typography-panel.js +3 -2
  44. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  45. package/build-module/components/global-styles/utils.js +15 -6
  46. package/build-module/components/global-styles/utils.js.map +1 -1
  47. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -2
  48. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  49. package/build-module/hooks/block-style-variation.js +108 -2
  50. package/build-module/hooks/block-style-variation.js.map +1 -1
  51. package/build-module/hooks/duotone.js +16 -11
  52. package/build-module/hooks/duotone.js.map +1 -1
  53. package/build-module/hooks/index.js +1 -0
  54. package/build-module/hooks/index.js.map +1 -1
  55. package/build-module/hooks/use-bindings-attributes.js +11 -6
  56. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  57. package/build-module/hooks/utils.js +2 -0
  58. package/build-module/hooks/utils.js.map +1 -1
  59. package/build-module/private-apis.js +3 -2
  60. package/build-module/private-apis.js.map +1 -1
  61. package/build-style/content-rtl.css +1 -0
  62. package/build-style/content.css +1 -0
  63. package/package.json +2 -2
  64. package/src/components/global-styles/background-panel.js +3 -2
  65. package/src/components/global-styles/border-panel.js +3 -2
  66. package/src/components/global-styles/color-panel.js +3 -2
  67. package/src/components/global-styles/dimensions-panel.js +3 -2
  68. package/src/components/global-styles/filters-panel.js +3 -2
  69. package/src/components/global-styles/image-settings-panel.js +3 -2
  70. package/src/components/global-styles/typography-panel.js +3 -2
  71. package/src/components/global-styles/utils.js +17 -6
  72. package/src/components/iframe/content.scss +1 -0
  73. package/src/components/inspector-controls/block-support-tools-panel.js +3 -3
  74. package/src/hooks/block-style-variation.js +124 -2
  75. package/src/hooks/duotone.js +16 -12
  76. package/src/hooks/index.js +1 -0
  77. package/src/hooks/use-bindings-attributes.js +13 -4
  78. package/src/hooks/utils.js +2 -0
  79. package/src/private-apis.js +6 -1
@@ -453,6 +453,7 @@ function BackgroundToolsPanel({
453
453
  children,
454
454
  headerLabel
455
455
  }) {
456
+ const dropdownMenuProps = (0, _utils.useToolsPanelDropdownMenuProps)();
456
457
  const resetAll = () => {
457
458
  const updatedValue = resetAllFilter(value);
458
459
  onChange(updatedValue);
@@ -463,7 +464,7 @@ function BackgroundToolsPanel({
463
464
  label: headerLabel,
464
465
  resetAll: resetAll,
465
466
  panelId: panelId,
466
- dropdownMenuProps: _utils.TOOLSPANEL_DROPDOWNMENU_PROPS,
467
+ dropdownMenuProps: dropdownMenuProps,
467
468
  children: children
468
469
  });
469
470
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_notices","_url","_element","_data","_dom","_blob","_utils","_object","_mediaReplaceFlow","_store","_themeFileUriUtils","_jsxRuntime","IMAGE_BACKGROUND_TYPE","DEFAULT_CONTROLS","backgroundImage","backgroundSize","useHasBackgroundPanel","settings","Platform","OS","background","hasBackgroundSizeValue","style","backgroundPosition","undefined","hasBackgroundImageValue","id","url","backgroundSizeHelpText","value","__","coordsToBackgroundPosition","isNaN","x","y","exports","backgroundPositionToCoords","split","map","v","parseFloat","InspectorImagePreview","label","filename","imgUrl","imgLabel","getFilename","jsx","__experimentalItemGroup","as","children","jsxs","__experimentalHStack","justify","className","clsx","FlexItem","__experimentalTruncate","numberOfLines","VisuallyHidden","sprintf","BackgroundImageToolsPanelItem","panelId","isShownByDefault","onChange","inheritedValue","themeFileURIs","mediaUpload","useSelect","select","blockEditorStore","getSettings","title","replaceContainerRef","useRef","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","resetBackgroundImage","setImmutably","onSelectMedia","media","isBlobURL","media_type","sizeValue","positionValue","source","onFilesDrop","filesList","allowedTypes","onFileChange","image","onError","resetAllFilter","useCallback","previousValue","hasValue","closeAndFocus","toggleButton","focus","tabbable","find","current","click","onRemove","canRemove","__experimentalToolsPanelItem","onDeselect","ref","default","mediaId","mediaURL","accept","onSelect","name","getResolvedThemeFilePath","variant","MenuItem","onClick","DropZone","BackgroundSizeToolsPanelItem","defaultValues","repeatValue","backgroundRepeat","imageValue","currentValueForToggle","repeatCheckedValue","updateBackgroundSize","next","nextRepeat","nextPosition","updateBackgroundPosition","toggleIsRepeated","resetBackgroundSize","__experimentalVStack","ToolsPanelItem","spacing","FocalPointPicker","__next40pxDefaultSize","__experimentalToggleGroupControl","size","isBlock","help","__experimentalToggleGroupControlOption","_x","__experimentalUnitControl","__unstableInputWidth","min","placeholder","ToggleControl","checked","BackgroundToolsPanel","headerLabel","resetAll","updatedValue","ToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","BackgroundPanel","Wrapper","defaultControls","shouldShowBackgroundSizeControls"],"sources":["@wordpress/block-editor/src/components/global-styles/background-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\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalVStack as VStack,\n\tDropZone,\n\tFlexItem,\n\tFocalPointPicker,\n\tMenuItem,\n\tVisuallyHidden,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getFilename } from '@wordpress/url';\nimport { useCallback, Platform, useRef } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport MediaReplaceFlow from '../media-replace-flow';\nimport { store as blockEditorStore } from '../../store';\nimport { getResolvedThemeFilePath } from './theme-file-uri-utils';\n\nconst IMAGE_BACKGROUND_TYPE = 'image';\nconst DEFAULT_CONTROLS = {\n\tbackgroundImage: true,\n\tbackgroundSize: false,\n};\n\n/**\n * Checks site settings to see if the background panel may be used.\n * `settings.background.backgroundSize` exists also,\n * but can only be used if settings?.background?.backgroundImage is `true`.\n *\n * @param {Object} settings Site settings\n * @return {boolean} Whether site settings has activated background panel.\n */\nexport function useHasBackgroundPanel( settings ) {\n\treturn Platform.OS === 'web' && settings?.background?.backgroundImage;\n}\n\n/**\n * Checks if there is a current value in the background size block support\n * attributes. Background size values include background size as well\n * as background position.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background size value set.\n */\nexport function hasBackgroundSizeValue( style ) {\n\treturn (\n\t\tstyle?.background?.backgroundPosition !== undefined ||\n\t\tstyle?.background?.backgroundSize !== undefined\n\t);\n}\n\n/**\n * Checks if there is a current value in the background image block support\n * attributes.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background image value set.\n */\nexport function hasBackgroundImageValue( style ) {\n\treturn (\n\t\t!! style?.background?.backgroundImage?.id ||\n\t\t// Supports url() string values in theme.json.\n\t\t'string' === typeof style?.background?.backgroundImage ||\n\t\t!! style?.background?.backgroundImage?.url\n\t);\n}\n\n/**\n * Get the help text for the background size control.\n *\n * @param {string} value backgroundSize value.\n * @return {string} Translated help text.\n */\nfunction backgroundSizeHelpText( value ) {\n\tif ( value === 'cover' || value === undefined ) {\n\t\treturn __( 'Image covers the space evenly.' );\n\t}\n\tif ( value === 'contain' ) {\n\t\treturn __( 'Image is contained without distortion.' );\n\t}\n\treturn __( 'Image has a fixed width.' );\n}\n\n/**\n * Converts decimal x and y coords from FocalPointPicker to percentage-based values\n * to use as backgroundPosition value.\n *\n * @param {{x?:number, y?:number}} value FocalPointPicker coords.\n * @return {string} \t\t\t\t backgroundPosition value.\n */\nexport const coordsToBackgroundPosition = ( value ) => {\n\tif ( ! value || ( isNaN( value.x ) && isNaN( value.y ) ) ) {\n\t\treturn undefined;\n\t}\n\n\tconst x = isNaN( value.x ) ? 0.5 : value.x;\n\tconst y = isNaN( value.y ) ? 0.5 : value.y;\n\n\treturn `${ x * 100 }% ${ y * 100 }%`;\n};\n\n/**\n * Converts backgroundPosition value to x and y coords for FocalPointPicker.\n *\n * @param {string} value backgroundPosition value.\n * @return {{x?:number, y?:number}} FocalPointPicker coords.\n */\nexport const backgroundPositionToCoords = ( value ) => {\n\tif ( ! value ) {\n\t\treturn { x: undefined, y: undefined };\n\t}\n\n\tlet [ x, y ] = value.split( ' ' ).map( ( v ) => parseFloat( v ) / 100 );\n\tx = isNaN( x ) ? undefined : x;\n\ty = isNaN( y ) ? x : y;\n\n\treturn { x, y };\n};\n\nfunction InspectorImagePreview( { label, filename, url: imgUrl } ) {\n\tconst imgLabel =\n\t\tlabel || getFilename( imgUrl ) || __( 'Add background image' );\n\n\treturn (\n\t\t<ItemGroup as=\"span\">\n\t\t\t<HStack justify={ imgUrl ? 'flex-start' : 'center' } as=\"span\">\n\t\t\t\t{ imgUrl && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles-background-panel__inspector-image-indicator-wrapper',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-image': imgUrl,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-image-indicator\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tbackgroundImage: `url(${ imgUrl })`,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ imgLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{ imgUrl\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: file name */\n\t\t\t\t\t\t\t\t\t__( 'Background image: %s' ),\n\t\t\t\t\t\t\t\t\tfilename || imgLabel\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'No background image selected' ) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n}\n\nfunction BackgroundImageToolsPanelItem( {\n\tpanelId,\n\tisShownByDefault,\n\tonChange,\n\tstyle,\n\tinheritedValue,\n\tthemeFileURIs,\n} ) {\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tconst { id, title, url } = style?.background?.backgroundImage || {\n\t\t...inheritedValue?.background?.backgroundImage,\n\t};\n\n\tconst replaceContainerRef = useRef();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst resetBackgroundImage = () =>\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundImage' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\n\tconst onSelectMedia = ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tresetBackgroundImage();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// For media selections originated from a file upload.\n\t\tif (\n\t\t\t( media.media_type &&\n\t\t\t\tmedia.media_type !== IMAGE_BACKGROUND_TYPE ) ||\n\t\t\t( ! media.media_type &&\n\t\t\t\tmedia.type &&\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE )\n\t\t) {\n\t\t\tonUploadError(\n\t\t\t\t__( 'Only images can be used as a background image.' )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst sizeValue = style?.background?.backgroundSize;\n\t\tconst positionValue = style?.background?.backgroundPosition;\n\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundImage: {\n\t\t\t\t\turl: media.url,\n\t\t\t\t\tid: media.id,\n\t\t\t\t\tsource: 'file',\n\t\t\t\t\ttitle: media.title || undefined,\n\t\t\t\t},\n\t\t\t\tbackgroundPosition:\n\t\t\t\t\t! positionValue && ( 'auto' === sizeValue || ! sizeValue )\n\t\t\t\t\t\t? '50% 0'\n\t\t\t\t\t\t: positionValue,\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ IMAGE_BACKGROUND_TYPE ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonSelectMedia( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tstyle: {\n\t\t\t\t...previousValue.style,\n\t\t\t\tbackground: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst hasValue = hasBackgroundImageValue( style );\n\n\tconst closeAndFocus = () => {\n\t\tconst [ toggleButton ] = focus.tabbable.find(\n\t\t\treplaceContainerRef.current\n\t\t);\n\t\t// Focus the toggle button and close the dropdown menu.\n\t\t// This ensures similar behaviour as to selecting an image, where the dropdown is\n\t\t// closed and focus is redirected to the dropdown toggle button.\n\t\ttoggleButton?.focus();\n\t\ttoggleButton?.click();\n\t};\n\n\tconst onRemove = () =>\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background', 'backgroundImage' ], 'none' )\n\t\t);\n\tconst canRemove = ! hasValue && hasBackgroundImageValue( inheritedValue );\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"single-column\"\n\t\t\thasValue={ () => hasValue }\n\t\t\tlabel={ __( 'Background image' ) }\n\t\t\tonDeselect={ resetBackgroundImage }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-media-replace-container\"\n\t\t\t\tref={ replaceContainerRef }\n\t\t\t>\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ [ IMAGE_BACKGROUND_TYPE ] }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={\n\t\t\t\t\t\t<InspectorImagePreview\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tfilename={ title }\n\t\t\t\t\t\t\turl={ getResolvedThemeFilePath(\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\tthemeFileURIs\n\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\tvariant=\"secondary\"\n\t\t\t\t>\n\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseAndFocus();\n\t\t\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasValue && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseAndFocus();\n\t\t\t\t\t\t\t\tresetBackgroundImage();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset ' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t<DropZone\n\t\t\t\t\tonFilesDrop={ onFilesDrop }\n\t\t\t\t\tlabel={ __( 'Drop to upload' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nfunction BackgroundSizeToolsPanelItem( {\n\tpanelId,\n\tisShownByDefault,\n\tonChange,\n\tstyle,\n\tinheritedValue,\n\tdefaultValues,\n\tthemeFileURIs,\n} ) {\n\tconst sizeValue =\n\t\tstyle?.background?.backgroundSize ||\n\t\tinheritedValue?.background?.backgroundSize;\n\tconst repeatValue =\n\t\tstyle?.background?.backgroundRepeat ||\n\t\tinheritedValue?.background?.backgroundRepeat;\n\tconst imageValue =\n\t\tstyle?.background?.backgroundImage?.url ||\n\t\tinheritedValue?.background?.backgroundImage?.url;\n\tconst positionValue =\n\t\tstyle?.background?.backgroundPosition ||\n\t\tinheritedValue?.background?.backgroundPosition;\n\n\t/*\n\t * An `undefined` value is replaced with any supplied\n\t * default control value for the toggle group control.\n\t * An empty string is treated as `auto` - this allows a user\n\t * to select \"Size\" and then enter a custom value, with an\n\t * empty value being treated as `auto`.\n\t */\n\tconst currentValueForToggle =\n\t\t( sizeValue !== undefined &&\n\t\t\tsizeValue !== 'cover' &&\n\t\t\tsizeValue !== 'contain' ) ||\n\t\tsizeValue === ''\n\t\t\t? 'auto'\n\t\t\t: sizeValue || defaultValues?.backgroundSize;\n\n\t/*\n\t * If the current value is `cover` and the repeat value is `undefined`, then\n\t * the toggle should be unchecked as the default state. Otherwise, the toggle\n\t * should reflect the current repeat value.\n\t */\n\tconst repeatCheckedValue = ! (\n\t\trepeatValue === 'no-repeat' ||\n\t\t( currentValueForToggle === 'cover' && repeatValue === undefined )\n\t);\n\n\tconst hasValue = hasBackgroundSizeValue( style );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tstyle: {\n\t\t\t\t...previousValue.style,\n\t\t\t\tbackground: {\n\t\t\t\t\t...previousValue.style?.background,\n\t\t\t\t\tbackgroundRepeat: undefined,\n\t\t\t\t\tbackgroundSize: undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst updateBackgroundSize = ( next ) => {\n\t\t// When switching to 'contain' toggle the repeat off.\n\t\tlet nextRepeat = repeatValue;\n\t\tlet nextPosition = positionValue;\n\n\t\tif ( next === 'contain' ) {\n\t\t\tnextRepeat = 'no-repeat';\n\t\t\tnextPosition = undefined;\n\t\t}\n\n\t\tif ( next === 'cover' ) {\n\t\t\tnextRepeat = undefined;\n\t\t\tnextPosition = undefined;\n\t\t}\n\n\t\tif (\n\t\t\t( currentValueForToggle === 'cover' ||\n\t\t\t\tcurrentValueForToggle === 'contain' ) &&\n\t\t\tnext === 'auto'\n\t\t) {\n\t\t\tnextRepeat = undefined;\n\t\t\t/*\n\t\t\t * A background image uploaded and set in the editor (an image with a record id),\n\t\t\t * receives a default background position of '50% 0',\n\t\t\t * when the toggle switches to \"Tile\". This is to increase the chance that\n\t\t\t * the image's focus point is visible.\n\t\t\t */\n\t\t\tif ( !! style?.background?.backgroundImage?.id ) {\n\t\t\t\tnextPosition = '50% 0';\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Next will be null when the input is cleared,\n\t\t * in which case the value should be 'auto'.\n\t\t */\n\t\tif ( ! next && currentValueForToggle === 'auto' ) {\n\t\t\tnext = 'auto';\n\t\t}\n\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundPosition: nextPosition,\n\t\t\t\tbackgroundRepeat: nextRepeat,\n\t\t\t\tbackgroundSize: next,\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst updateBackgroundPosition = ( next ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundPosition' ],\n\t\t\t\tcoordsToBackgroundPosition( next )\n\t\t\t)\n\t\t);\n\t};\n\n\tconst toggleIsRepeated = () =>\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundRepeat' ],\n\t\t\t\trepeatCheckedValue === true ? 'no-repeat' : 'repeat'\n\t\t\t)\n\t\t);\n\n\tconst resetBackgroundSize = () =>\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundPosition: undefined,\n\t\t\t\tbackgroundRepeat: undefined,\n\t\t\t\tbackgroundSize: undefined,\n\t\t\t} )\n\t\t);\n\n\treturn (\n\t\t<VStack\n\t\t\tas={ ToolsPanelItem }\n\t\t\tspacing={ 2 }\n\t\t\tclassName=\"single-column\"\n\t\t\thasValue={ () => hasValue }\n\t\t\tlabel={ __( 'Size' ) }\n\t\t\tonDeselect={ resetBackgroundSize }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<FocalPointPicker\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\turl={ getResolvedThemeFilePath( imageValue, themeFileURIs ) }\n\t\t\t\tvalue={ backgroundPositionToCoords( positionValue ) }\n\t\t\t\tonChange={ updateBackgroundPosition }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\tvalue={ currentValueForToggle }\n\t\t\t\tonChange={ updateBackgroundSize }\n\t\t\t\tisBlock\n\t\t\t\thelp={ backgroundSizeHelpText(\n\t\t\t\t\tsizeValue || defaultValues?.backgroundSize\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"cover\"\n\t\t\t\t\tvalue=\"cover\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Cover',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"contain\"\n\t\t\t\t\tvalue=\"contain\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Contain',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"tile\"\n\t\t\t\t\tvalue=\"auto\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Tile',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<HStack justify=\"flex-start\" spacing={ 2 } as=\"span\">\n\t\t\t\t{ currentValueForToggle !== undefined &&\n\t\t\t\tcurrentValueForToggle !== 'cover' &&\n\t\t\t\tcurrentValueForToggle !== 'contain' ? (\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\taria-label={ __( 'Background image width' ) }\n\t\t\t\t\t\tonChange={ updateBackgroundSize }\n\t\t\t\t\t\tvalue={ sizeValue }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"100px\"\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tplaceholder={ __( 'Auto' ) }\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t\t{ currentValueForToggle !== 'cover' && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Repeat' ) }\n\t\t\t\t\t\tchecked={ repeatCheckedValue }\n\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction BackgroundToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\theaderLabel,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<VStack\n\t\t\tas={ ToolsPanel }\n\t\t\tspacing={ 4 }\n\t\t\tlabel={ headerLabel }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</VStack>\n\t);\n}\n\nexport default function BackgroundPanel( {\n\tas: Wrapper = BackgroundToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tdefaultValues = {},\n\theaderLabel = __( 'Background image' ),\n\tthemeFileURIs,\n} ) {\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tbackground: {},\n\t\t};\n\t}, [] );\n\tconst shouldShowBackgroundSizeControls =\n\t\tsettings?.background?.backgroundSize;\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\theaderLabel={ headerLabel }\n\t\t>\n\t\t\t<BackgroundImageToolsPanelItem\n\t\t\t\tonChange={ onChange }\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tisShownByDefault={ defaultControls.backgroundImage }\n\t\t\t\tstyle={ value }\n\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t\tthemeFileURIs={ themeFileURIs }\n\t\t\t/>\n\t\t\t{ shouldShowBackgroundSizeControls && (\n\t\t\t\t<BackgroundSizeToolsPanelItem\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={ defaultControls.backgroundSize }\n\t\t\t\t\tstyle={ value }\n\t\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t\t\tdefaultValues={ defaultValues }\n\t\t\t\t\tthemeFileURIs={ themeFileURIs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_notices","_url","_element","_data","_dom","_blob","_utils","_object","_mediaReplaceFlow","_store","_themeFileUriUtils","_jsxRuntime","IMAGE_BACKGROUND_TYPE","DEFAULT_CONTROLS","backgroundImage","backgroundSize","useHasBackgroundPanel","settings","Platform","OS","background","hasBackgroundSizeValue","style","backgroundPosition","undefined","hasBackgroundImageValue","id","url","backgroundSizeHelpText","value","__","coordsToBackgroundPosition","isNaN","x","y","exports","backgroundPositionToCoords","split","map","v","parseFloat","InspectorImagePreview","label","filename","imgUrl","imgLabel","getFilename","jsx","__experimentalItemGroup","as","children","jsxs","__experimentalHStack","justify","className","clsx","FlexItem","__experimentalTruncate","numberOfLines","VisuallyHidden","sprintf","BackgroundImageToolsPanelItem","panelId","isShownByDefault","onChange","inheritedValue","themeFileURIs","mediaUpload","useSelect","select","blockEditorStore","getSettings","title","replaceContainerRef","useRef","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","resetBackgroundImage","setImmutably","onSelectMedia","media","isBlobURL","media_type","sizeValue","positionValue","source","onFilesDrop","filesList","allowedTypes","onFileChange","image","onError","resetAllFilter","useCallback","previousValue","hasValue","closeAndFocus","toggleButton","focus","tabbable","find","current","click","onRemove","canRemove","__experimentalToolsPanelItem","onDeselect","ref","default","mediaId","mediaURL","accept","onSelect","name","getResolvedThemeFilePath","variant","MenuItem","onClick","DropZone","BackgroundSizeToolsPanelItem","defaultValues","repeatValue","backgroundRepeat","imageValue","currentValueForToggle","repeatCheckedValue","updateBackgroundSize","next","nextRepeat","nextPosition","updateBackgroundPosition","toggleIsRepeated","resetBackgroundSize","__experimentalVStack","ToolsPanelItem","spacing","FocalPointPicker","__next40pxDefaultSize","__experimentalToggleGroupControl","size","isBlock","help","__experimentalToggleGroupControlOption","_x","__experimentalUnitControl","__unstableInputWidth","min","placeholder","ToggleControl","checked","BackgroundToolsPanel","headerLabel","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","ToolsPanel","BackgroundPanel","Wrapper","defaultControls","shouldShowBackgroundSizeControls"],"sources":["@wordpress/block-editor/src/components/global-styles/background-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\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalVStack as VStack,\n\tDropZone,\n\tFlexItem,\n\tFocalPointPicker,\n\tMenuItem,\n\tVisuallyHidden,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getFilename } from '@wordpress/url';\nimport { useCallback, Platform, useRef } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport MediaReplaceFlow from '../media-replace-flow';\nimport { store as blockEditorStore } from '../../store';\nimport { getResolvedThemeFilePath } from './theme-file-uri-utils';\n\nconst IMAGE_BACKGROUND_TYPE = 'image';\nconst DEFAULT_CONTROLS = {\n\tbackgroundImage: true,\n\tbackgroundSize: false,\n};\n\n/**\n * Checks site settings to see if the background panel may be used.\n * `settings.background.backgroundSize` exists also,\n * but can only be used if settings?.background?.backgroundImage is `true`.\n *\n * @param {Object} settings Site settings\n * @return {boolean} Whether site settings has activated background panel.\n */\nexport function useHasBackgroundPanel( settings ) {\n\treturn Platform.OS === 'web' && settings?.background?.backgroundImage;\n}\n\n/**\n * Checks if there is a current value in the background size block support\n * attributes. Background size values include background size as well\n * as background position.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background size value set.\n */\nexport function hasBackgroundSizeValue( style ) {\n\treturn (\n\t\tstyle?.background?.backgroundPosition !== undefined ||\n\t\tstyle?.background?.backgroundSize !== undefined\n\t);\n}\n\n/**\n * Checks if there is a current value in the background image block support\n * attributes.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background image value set.\n */\nexport function hasBackgroundImageValue( style ) {\n\treturn (\n\t\t!! style?.background?.backgroundImage?.id ||\n\t\t// Supports url() string values in theme.json.\n\t\t'string' === typeof style?.background?.backgroundImage ||\n\t\t!! style?.background?.backgroundImage?.url\n\t);\n}\n\n/**\n * Get the help text for the background size control.\n *\n * @param {string} value backgroundSize value.\n * @return {string} Translated help text.\n */\nfunction backgroundSizeHelpText( value ) {\n\tif ( value === 'cover' || value === undefined ) {\n\t\treturn __( 'Image covers the space evenly.' );\n\t}\n\tif ( value === 'contain' ) {\n\t\treturn __( 'Image is contained without distortion.' );\n\t}\n\treturn __( 'Image has a fixed width.' );\n}\n\n/**\n * Converts decimal x and y coords from FocalPointPicker to percentage-based values\n * to use as backgroundPosition value.\n *\n * @param {{x?:number, y?:number}} value FocalPointPicker coords.\n * @return {string} \t\t\t\t backgroundPosition value.\n */\nexport const coordsToBackgroundPosition = ( value ) => {\n\tif ( ! value || ( isNaN( value.x ) && isNaN( value.y ) ) ) {\n\t\treturn undefined;\n\t}\n\n\tconst x = isNaN( value.x ) ? 0.5 : value.x;\n\tconst y = isNaN( value.y ) ? 0.5 : value.y;\n\n\treturn `${ x * 100 }% ${ y * 100 }%`;\n};\n\n/**\n * Converts backgroundPosition value to x and y coords for FocalPointPicker.\n *\n * @param {string} value backgroundPosition value.\n * @return {{x?:number, y?:number}} FocalPointPicker coords.\n */\nexport const backgroundPositionToCoords = ( value ) => {\n\tif ( ! value ) {\n\t\treturn { x: undefined, y: undefined };\n\t}\n\n\tlet [ x, y ] = value.split( ' ' ).map( ( v ) => parseFloat( v ) / 100 );\n\tx = isNaN( x ) ? undefined : x;\n\ty = isNaN( y ) ? x : y;\n\n\treturn { x, y };\n};\n\nfunction InspectorImagePreview( { label, filename, url: imgUrl } ) {\n\tconst imgLabel =\n\t\tlabel || getFilename( imgUrl ) || __( 'Add background image' );\n\n\treturn (\n\t\t<ItemGroup as=\"span\">\n\t\t\t<HStack justify={ imgUrl ? 'flex-start' : 'center' } as=\"span\">\n\t\t\t\t{ imgUrl && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles-background-panel__inspector-image-indicator-wrapper',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-image': imgUrl,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-image-indicator\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tbackgroundImage: `url(${ imgUrl })`,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ imgLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{ imgUrl\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: file name */\n\t\t\t\t\t\t\t\t\t__( 'Background image: %s' ),\n\t\t\t\t\t\t\t\t\tfilename || imgLabel\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'No background image selected' ) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n}\n\nfunction BackgroundImageToolsPanelItem( {\n\tpanelId,\n\tisShownByDefault,\n\tonChange,\n\tstyle,\n\tinheritedValue,\n\tthemeFileURIs,\n} ) {\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tconst { id, title, url } = style?.background?.backgroundImage || {\n\t\t...inheritedValue?.background?.backgroundImage,\n\t};\n\n\tconst replaceContainerRef = useRef();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst resetBackgroundImage = () =>\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundImage' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\n\tconst onSelectMedia = ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tresetBackgroundImage();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// For media selections originated from a file upload.\n\t\tif (\n\t\t\t( media.media_type &&\n\t\t\t\tmedia.media_type !== IMAGE_BACKGROUND_TYPE ) ||\n\t\t\t( ! media.media_type &&\n\t\t\t\tmedia.type &&\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE )\n\t\t) {\n\t\t\tonUploadError(\n\t\t\t\t__( 'Only images can be used as a background image.' )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst sizeValue = style?.background?.backgroundSize;\n\t\tconst positionValue = style?.background?.backgroundPosition;\n\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundImage: {\n\t\t\t\t\turl: media.url,\n\t\t\t\t\tid: media.id,\n\t\t\t\t\tsource: 'file',\n\t\t\t\t\ttitle: media.title || undefined,\n\t\t\t\t},\n\t\t\t\tbackgroundPosition:\n\t\t\t\t\t! positionValue && ( 'auto' === sizeValue || ! sizeValue )\n\t\t\t\t\t\t? '50% 0'\n\t\t\t\t\t\t: positionValue,\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ IMAGE_BACKGROUND_TYPE ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonSelectMedia( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tstyle: {\n\t\t\t\t...previousValue.style,\n\t\t\t\tbackground: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst hasValue = hasBackgroundImageValue( style );\n\n\tconst closeAndFocus = () => {\n\t\tconst [ toggleButton ] = focus.tabbable.find(\n\t\t\treplaceContainerRef.current\n\t\t);\n\t\t// Focus the toggle button and close the dropdown menu.\n\t\t// This ensures similar behaviour as to selecting an image, where the dropdown is\n\t\t// closed and focus is redirected to the dropdown toggle button.\n\t\ttoggleButton?.focus();\n\t\ttoggleButton?.click();\n\t};\n\n\tconst onRemove = () =>\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background', 'backgroundImage' ], 'none' )\n\t\t);\n\tconst canRemove = ! hasValue && hasBackgroundImageValue( inheritedValue );\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"single-column\"\n\t\t\thasValue={ () => hasValue }\n\t\t\tlabel={ __( 'Background image' ) }\n\t\t\tonDeselect={ resetBackgroundImage }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-media-replace-container\"\n\t\t\t\tref={ replaceContainerRef }\n\t\t\t>\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ [ IMAGE_BACKGROUND_TYPE ] }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={\n\t\t\t\t\t\t<InspectorImagePreview\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tfilename={ title }\n\t\t\t\t\t\t\turl={ getResolvedThemeFilePath(\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\tthemeFileURIs\n\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\tvariant=\"secondary\"\n\t\t\t\t>\n\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseAndFocus();\n\t\t\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasValue && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseAndFocus();\n\t\t\t\t\t\t\t\tresetBackgroundImage();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset ' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t<DropZone\n\t\t\t\t\tonFilesDrop={ onFilesDrop }\n\t\t\t\t\tlabel={ __( 'Drop to upload' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nfunction BackgroundSizeToolsPanelItem( {\n\tpanelId,\n\tisShownByDefault,\n\tonChange,\n\tstyle,\n\tinheritedValue,\n\tdefaultValues,\n\tthemeFileURIs,\n} ) {\n\tconst sizeValue =\n\t\tstyle?.background?.backgroundSize ||\n\t\tinheritedValue?.background?.backgroundSize;\n\tconst repeatValue =\n\t\tstyle?.background?.backgroundRepeat ||\n\t\tinheritedValue?.background?.backgroundRepeat;\n\tconst imageValue =\n\t\tstyle?.background?.backgroundImage?.url ||\n\t\tinheritedValue?.background?.backgroundImage?.url;\n\tconst positionValue =\n\t\tstyle?.background?.backgroundPosition ||\n\t\tinheritedValue?.background?.backgroundPosition;\n\n\t/*\n\t * An `undefined` value is replaced with any supplied\n\t * default control value for the toggle group control.\n\t * An empty string is treated as `auto` - this allows a user\n\t * to select \"Size\" and then enter a custom value, with an\n\t * empty value being treated as `auto`.\n\t */\n\tconst currentValueForToggle =\n\t\t( sizeValue !== undefined &&\n\t\t\tsizeValue !== 'cover' &&\n\t\t\tsizeValue !== 'contain' ) ||\n\t\tsizeValue === ''\n\t\t\t? 'auto'\n\t\t\t: sizeValue || defaultValues?.backgroundSize;\n\n\t/*\n\t * If the current value is `cover` and the repeat value is `undefined`, then\n\t * the toggle should be unchecked as the default state. Otherwise, the toggle\n\t * should reflect the current repeat value.\n\t */\n\tconst repeatCheckedValue = ! (\n\t\trepeatValue === 'no-repeat' ||\n\t\t( currentValueForToggle === 'cover' && repeatValue === undefined )\n\t);\n\n\tconst hasValue = hasBackgroundSizeValue( style );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tstyle: {\n\t\t\t\t...previousValue.style,\n\t\t\t\tbackground: {\n\t\t\t\t\t...previousValue.style?.background,\n\t\t\t\t\tbackgroundRepeat: undefined,\n\t\t\t\t\tbackgroundSize: undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst updateBackgroundSize = ( next ) => {\n\t\t// When switching to 'contain' toggle the repeat off.\n\t\tlet nextRepeat = repeatValue;\n\t\tlet nextPosition = positionValue;\n\n\t\tif ( next === 'contain' ) {\n\t\t\tnextRepeat = 'no-repeat';\n\t\t\tnextPosition = undefined;\n\t\t}\n\n\t\tif ( next === 'cover' ) {\n\t\t\tnextRepeat = undefined;\n\t\t\tnextPosition = undefined;\n\t\t}\n\n\t\tif (\n\t\t\t( currentValueForToggle === 'cover' ||\n\t\t\t\tcurrentValueForToggle === 'contain' ) &&\n\t\t\tnext === 'auto'\n\t\t) {\n\t\t\tnextRepeat = undefined;\n\t\t\t/*\n\t\t\t * A background image uploaded and set in the editor (an image with a record id),\n\t\t\t * receives a default background position of '50% 0',\n\t\t\t * when the toggle switches to \"Tile\". This is to increase the chance that\n\t\t\t * the image's focus point is visible.\n\t\t\t */\n\t\t\tif ( !! style?.background?.backgroundImage?.id ) {\n\t\t\t\tnextPosition = '50% 0';\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Next will be null when the input is cleared,\n\t\t * in which case the value should be 'auto'.\n\t\t */\n\t\tif ( ! next && currentValueForToggle === 'auto' ) {\n\t\t\tnext = 'auto';\n\t\t}\n\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundPosition: nextPosition,\n\t\t\t\tbackgroundRepeat: nextRepeat,\n\t\t\t\tbackgroundSize: next,\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst updateBackgroundPosition = ( next ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundPosition' ],\n\t\t\t\tcoordsToBackgroundPosition( next )\n\t\t\t)\n\t\t);\n\t};\n\n\tconst toggleIsRepeated = () =>\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundRepeat' ],\n\t\t\t\trepeatCheckedValue === true ? 'no-repeat' : 'repeat'\n\t\t\t)\n\t\t);\n\n\tconst resetBackgroundSize = () =>\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundPosition: undefined,\n\t\t\t\tbackgroundRepeat: undefined,\n\t\t\t\tbackgroundSize: undefined,\n\t\t\t} )\n\t\t);\n\n\treturn (\n\t\t<VStack\n\t\t\tas={ ToolsPanelItem }\n\t\t\tspacing={ 2 }\n\t\t\tclassName=\"single-column\"\n\t\t\thasValue={ () => hasValue }\n\t\t\tlabel={ __( 'Size' ) }\n\t\t\tonDeselect={ resetBackgroundSize }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<FocalPointPicker\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\turl={ getResolvedThemeFilePath( imageValue, themeFileURIs ) }\n\t\t\t\tvalue={ backgroundPositionToCoords( positionValue ) }\n\t\t\t\tonChange={ updateBackgroundPosition }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\tvalue={ currentValueForToggle }\n\t\t\t\tonChange={ updateBackgroundSize }\n\t\t\t\tisBlock\n\t\t\t\thelp={ backgroundSizeHelpText(\n\t\t\t\t\tsizeValue || defaultValues?.backgroundSize\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"cover\"\n\t\t\t\t\tvalue=\"cover\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Cover',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"contain\"\n\t\t\t\t\tvalue=\"contain\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Contain',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"tile\"\n\t\t\t\t\tvalue=\"auto\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Tile',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<HStack justify=\"flex-start\" spacing={ 2 } as=\"span\">\n\t\t\t\t{ currentValueForToggle !== undefined &&\n\t\t\t\tcurrentValueForToggle !== 'cover' &&\n\t\t\t\tcurrentValueForToggle !== 'contain' ? (\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\taria-label={ __( 'Background image width' ) }\n\t\t\t\t\t\tonChange={ updateBackgroundSize }\n\t\t\t\t\t\tvalue={ sizeValue }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"100px\"\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tplaceholder={ __( 'Auto' ) }\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t\t{ currentValueForToggle !== 'cover' && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Repeat' ) }\n\t\t\t\t\t\tchecked={ repeatCheckedValue }\n\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction BackgroundToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\theaderLabel,\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<VStack\n\t\t\tas={ ToolsPanel }\n\t\t\tspacing={ 4 }\n\t\t\tlabel={ headerLabel }\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</VStack>\n\t);\n}\n\nexport default function BackgroundPanel( {\n\tas: Wrapper = BackgroundToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tdefaultValues = {},\n\theaderLabel = __( 'Background image' ),\n\tthemeFileURIs,\n} ) {\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tbackground: {},\n\t\t};\n\t}, [] );\n\tconst shouldShowBackgroundSizeControls =\n\t\tsettings?.background?.backgroundSize;\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\theaderLabel={ headerLabel }\n\t\t>\n\t\t\t<BackgroundImageToolsPanelItem\n\t\t\t\tonChange={ onChange }\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tisShownByDefault={ defaultControls.backgroundImage }\n\t\t\t\tstyle={ value }\n\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t\tthemeFileURIs={ themeFileURIs }\n\t\t\t/>\n\t\t\t{ shouldShowBackgroundSizeControls && (\n\t\t\t\t<BackgroundSizeToolsPanelItem\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={ defaultControls.backgroundSize }\n\t\t\t\t\tstyle={ value }\n\t\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t\t\tdefaultValues={ defaultValues }\n\t\t\t\t\tthemeFileURIs={ themeFileURIs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -63,6 +63,7 @@ function BorderToolsPanel({
63
63
  children,
64
64
  label
65
65
  }) {
66
+ const dropdownMenuProps = (0, _utils.useToolsPanelDropdownMenuProps)();
66
67
  const resetAll = () => {
67
68
  const updatedValue = resetAllFilter(value);
68
69
  onChange(updatedValue);
@@ -71,7 +72,7 @@ function BorderToolsPanel({
71
72
  label: label,
72
73
  resetAll: resetAll,
73
74
  panelId: panelId,
74
- dropdownMenuProps: _utils.TOOLSPANEL_DROPDOWNMENU_PROPS,
75
+ dropdownMenuProps: dropdownMenuProps,
75
76
  children: children
76
77
  });
77
78
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_object","_border","_shadowPanelComponents","_jsxRuntime","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","useShadowPresets","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","resetAll","updatedValue","jsx","__experimentalToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_ref","_ref2","_shadowPresets$custom","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","mergedShadowPresets","custom","theme","default","setShadow","newValue","shadowName","setImmutably","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","useBorderPanelLabel","blockName","jsxs","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","__experimentalBorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\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={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst mergedShadowPresets =\n\t\tshadowPresets.custom ??\n\t\tshadowPresets.theme ??\n\t\tshadowPresets.default ??\n\t\t[];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = mergedShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\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\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\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\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AASA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,oBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAT,OAAA;AAA4E,IAAAU,WAAA,GAAAV,OAAA;AAvB5E;AACA;AACA;;AAaA;AACA;AACA;;AAQO,SAASW,iBAAiBA,CAAEC,QAAQ,EAAG;EAC7C,MAAMC,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAEC,yBAAyB,CAAEJ,QAAS,CAAE,CAAC;EACvE,OAAOC,QAAQ,CAACI,IAAI,CAAEC,OAAQ,CAAC;AAChC;AAEO,SAASF,yBAAyBA,CAAEJ,QAAQ,EAAG;EACrD,MAAMC,QAAQ,GAAG;IAChBM,cAAc,EAAEC,wBAAwB,CAAER,QAAS,CAAC;IACpDS,eAAe,EAAEC,yBAAyB,CAAEV,QAAS,CAAC;IACtDW,cAAc,EAAEC,wBAAwB,CAAEZ,QAAS,CAAC;IACpDa,cAAc,EAAEC,wBAAwB,CAAEd,QAAS,CAAC;IACpDe,SAAS,EAAEC,mBAAmB,CAAEhB,QAAS;EAC1C,CAAC;EAED,OAAOC,QAAQ;AAChB;AAEA,SAASO,wBAAwBA,CAAER,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,EAAEiB,MAAM,EAAEC,KAAK;AAC/B;AAEA,SAASR,yBAAyBA,CAAEV,QAAQ,EAAG;EAC9C,OAAOA,QAAQ,EAAEiB,MAAM,EAAEE,MAAM;AAChC;AAEA,SAASP,wBAAwBA,CAAEZ,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,EAAEiB,MAAM,EAAEG,KAAK;AAC/B;AAEA,SAASN,wBAAwBA,CAAEd,QAAQ,EAAG;EAC7C,OAAOA,QAAQ,EAAEiB,MAAM,EAAEI,KAAK;AAC/B;AAEA,SAASL,mBAAmBA,CAAEhB,QAAQ,EAAG;EACxC,MAAMsB,OAAO,GAAG,IAAAC,uCAAgB,EAAEvB,QAAS,CAAC;EAC5C,OAAO,CAAC,CAAEA,QAAQ,EAAEwB,MAAM,IAAIF,OAAO,CAACG,MAAM,GAAG,CAAC;AACjD;AAEA,SAASC,gBAAgBA,CAAE;EAC1BC,cAAc;EACdC,QAAQ;EACRC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACtB,MAAMC,YAAY,GAAGP,cAAc,CAAEE,KAAM,CAAC;IAC5CD,QAAQ,CAAEM,YAAa,CAAC;EACzB,CAAC;EAED,oBACC,IAAApC,WAAA,CAAAqC,GAAA,EAAChD,WAAA,CAAAiD,wBAAU;IACVJ,KAAK,EAAGA,KAAO;IACfC,QAAQ,EAAGA,QAAU;IACrBH,OAAO,EAAGA,OAAS;IACnBO,iBAAiB,EAAGC,oCAA+B;IAAAP,QAAA,EAEjDA;EAAQ,CACC,CAAC;AAEf;AAEA,MAAMQ,gBAAgB,GAAG;EACxBpB,MAAM,EAAE,IAAI;EACZD,KAAK,EAAE,IAAI;EACXG,KAAK,EAAE,IAAI;EACXG,MAAM,EAAE;AACT,CAAC;AAEc,SAASgB,WAAWA,CAAE;EACpCC,EAAE,EAAEC,OAAO,GAAGhB,gBAAgB;EAC9BG,KAAK;EACLD,QAAQ;EACRe,cAAc,GAAGd,KAAK;EACtB7B,QAAQ;EACR8B,OAAO;EACPc,IAAI;EACJC,eAAe,GAAGN;AACnB,CAAC,EAAG;EAAA,IAAAO,qBAAA,EAAAC,IAAA,EAAAC,KAAA,EAAAC,qBAAA;EACH,MAAMC,MAAM,GAAG,IAAAC,yBAAkB,EAAEnD,QAAS,CAAC;EAC7C,MAAMoD,WAAW,GAAG,IAAAC,oBAAW,EAC5BC,QAAQ,IAAM,IAAAC,2BAAoB,EAAE;IAAEvD;EAAS,CAAC,EAAE,EAAE,EAAEsD,QAAS,CAAC,EAClE,CAAEtD,QAAQ,CACX,CAAC;EACD,MAAMwD,gBAAgB,GAAKC,UAAU,IAAM;IAC1C,MAAMC,SAAS,GAAGR,MAAM,CAACS,OAAO,CAC/B,CAAE;MAAET,MAAM,EAAEU;IAAa,CAAC,KAAMA,YACjC,CAAC;IACD,MAAMC,WAAW,GAAGH,SAAS,CAACI,IAAI,CACjC,CAAE;MAAE5C;IAAM,CAAC,KAAMA,KAAK,KAAKuC,UAC5B,CAAC;IACD,OAAOI,WAAW,GACf,mBAAmB,GAAGA,WAAW,CAACE,IAAI,GACtCN,UAAU;EACd,CAAC;EACD,MAAMxC,MAAM,GAAG,IAAA+C,gBAAO,EAAE,MAAM;IAC7B,IAAK,IAAAC,yCAAe,EAAEtB,cAAc,EAAE1B,MAAO,CAAC,EAAG;MAChD,MAAMiD,WAAW,GAAG;QAAE,GAAGvB,cAAc,EAAE1B;MAAO,CAAC;MACjD,CAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAE,CAACkD,OAAO,CAAIC,IAAI,IAAM;QACzDF,WAAW,CAAEE,IAAI,CAAE,GAAG;UACrB,GAAGF,WAAW,CAAEE,IAAI,CAAE;UACtBlD,KAAK,EAAEkC,WAAW,CAAEc,WAAW,CAAEE,IAAI,CAAE,EAAElD,KAAM;QAChD,CAAC;MACF,CAAE,CAAC;MACH,OAAOgD,WAAW;IACnB;IACA,OAAO;MACN,GAAGvB,cAAc,EAAE1B,MAAM;MACzBC,KAAK,EAAEyB,cAAc,EAAE1B,MAAM,EAAEC,KAAK,GACjCkC,WAAW,CAAET,cAAc,EAAE1B,MAAM,EAAEC,KAAM,CAAC,GAC5CmD;IACJ,CAAC;EACF,CAAC,EAAE,CAAE1B,cAAc,EAAE1B,MAAM,EAAEmC,WAAW,CAAG,CAAC;EAC5C,MAAMkB,SAAS,GAAKC,SAAS,IAC5B3C,QAAQ,CAAE;IAAE,GAAGC,KAAK;IAAEZ,MAAM,EAAEsD;EAAU,CAAE,CAAC;EAC5C,MAAMC,eAAe,GAAGhE,wBAAwB,CAAER,QAAS,CAAC;EAC5D,MAAMyE,eAAe,GAAG7D,wBAAwB,CAAEZ,QAAS,CAAC;EAC5D,MAAM0E,eAAe,GAAG5D,wBAAwB,CAAEd,QAAS,CAAC;;EAE5D;EACA,MAAM2E,gBAAgB,GAAGjE,yBAAyB,CAAEV,QAAS,CAAC;EAC9D,MAAM4E,kBAAkB,GAAGxB,WAAW,CAAEnC,MAAM,EAAEE,MAAO,CAAC;EACxD,MAAM0D,eAAe,GAAKC,eAAe,IACxCR,SAAS,CAAE;IAAE,GAAGrD,MAAM;IAAEE,MAAM,EAAE2D;EAAgB,CAAE,CAAC;EACpD,MAAMrE,eAAe,GAAGA,CAAA,KAAM;IAC7B,MAAMsE,YAAY,GAAGlD,KAAK,EAAEZ,MAAM,EAAEE,MAAM;IAC1C,IAAK,OAAO4D,YAAY,KAAK,QAAQ,EAAG;MACvC,OAAO7E,MAAM,CAAC8E,OAAO,CAAED,YAAa,CAAC,CAAC1E,IAAI,CAAEC,OAAQ,CAAC;IACtD;IACA,OAAO,CAAC,CAAEyE,YAAY;EACvB,CAAC;EACD,MAAME,gBAAgB,GAAGjE,mBAAmB,CAAEhB,QAAS,CAAC;;EAExD;EACA,MAAMwB,MAAM,GAAG4B,WAAW,CAAET,cAAc,EAAEnB,MAAO,CAAC;EACpD,MAAM0D,aAAa,IAAApC,qBAAA,GAAG9C,QAAQ,EAAEwB,MAAM,EAAE2D,OAAO,cAAArC,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EACrD,MAAMsC,mBAAmB,IAAArC,IAAA,IAAAC,KAAA,IAAAC,qBAAA,GACxBiC,aAAa,CAACG,MAAM,cAAApC,qBAAA,cAAAA,qBAAA,GACpBiC,aAAa,CAACI,KAAK,cAAAtC,KAAA,cAAAA,KAAA,GACnBkC,aAAa,CAACK,OAAO,cAAAxC,IAAA,cAAAA,IAAA,GACrB,EAAE;EACH,MAAMyC,SAAS,GAAKC,QAAQ,IAAM;IACjC,MAAM1B,IAAI,GAAGqB,mBAAmB,EAAEtB,IAAI,CACrC,CAAE;MAAEtC,MAAM,EAAEkE;IAAW,CAAC,KAAMA,UAAU,KAAKD,QAC9C,CAAC,EAAE1B,IAAI;IAEPnC,QAAQ,CACP,IAAA+D,oBAAY,EACX9D,KAAK,EACL,CAAE,QAAQ,CAAE,EACZkC,IAAI,GAAI,qBAAqBA,IAAM,EAAC,GAAG0B,QAAQ,IAAIpB,SACpD,CACD,CAAC;EACF,CAAC;EACD,MAAMtD,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAEc,KAAK,EAAEL,MAAM;EACxC,MAAMoE,WAAW,GAAGA,CAAA,KAAMJ,SAAS,CAAEnB,SAAU,CAAC;EAEhD,MAAMwB,WAAW,GAAGA,CAAA,KAAM;IACzB,IAAKpF,eAAe,CAAC,CAAC,EAAG;MACxB,OAAO6D,SAAS,CAAE;QAAEnD,MAAM,EAAEU,KAAK,EAAEZ,MAAM,EAAEE;MAAO,CAAE,CAAC;IACtD;IAEAmD,SAAS,CAAED,SAAU,CAAC;EACvB,CAAC;EAED,MAAMyB,cAAc,GAAKvB,SAAS,IAAM;IACvC;IACA;IACA,MAAMwB,aAAa,GAAG;MAAE,GAAGxB;IAAU,CAAC;IAEtC,IAAK,IAAAN,yCAAe,EAAE8B,aAAc,CAAC,EAAG;MACvC,CAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAE,CAAC5B,OAAO,CAAIC,IAAI,IAAM;QACzD,IAAK2B,aAAa,CAAE3B,IAAI,CAAE,EAAG;UAC5B2B,aAAa,CAAE3B,IAAI,CAAE,GAAG;YACvB,GAAG2B,aAAa,CAAE3B,IAAI,CAAE;YACxBlD,KAAK,EAAEsC,gBAAgB,CAAEuC,aAAa,CAAE3B,IAAI,CAAE,EAAElD,KAAM;UACvD,CAAC;QACF;MACD,CAAE,CAAC;IACJ,CAAC,MAAM,IAAK6E,aAAa,EAAG;MAC3BA,aAAa,CAAC7E,KAAK,GAAGsC,gBAAgB,CAAEuC,aAAa,CAAC7E,KAAM,CAAC;IAC9D;;IAEA;IACA;IACA;IACAoD,SAAS,CAAE;MAAEnD,MAAM,EAAEF,MAAM,EAAEE,MAAM;MAAE,GAAG4E;IAAc,CAAE,CAAC;EAC1D,CAAC;EAED,MAAMpE,cAAc,GAAG,IAAA0B,oBAAW,EAAI2C,aAAa,IAAM;IACxD,OAAO;MACN,GAAGA,aAAa;MAChB/E,MAAM,EAAEoD,SAAS;MACjB7C,MAAM,EAAE6C;IACT,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM4B,mBAAmB,GACxBpD,eAAe,EAAE3B,KAAK,IAAI2B,eAAe,EAAExB,KAAK;EAEjD,MAAM6E,gBAAgB,GACrB1B,eAAe,IACfC,eAAe,IACfC,eAAe,IACfC,gBAAgB;EAEjB,MAAM3C,KAAK,GAAG,IAAAmE,2BAAmB,EAAE;IAClCC,SAAS,EAAExD,IAAI;IACfqC,gBAAgB;IAChBiB;EACD,CAAE,CAAC;EAEH,oBACC,IAAApG,WAAA,CAAAuG,IAAA,EAAC3D,OAAO;IACPf,cAAc,EAAGA,cAAgB;IACjCE,KAAK,EAAGA,KAAO;IACfD,QAAQ,EAAGA,QAAU;IACrBE,OAAO,EAAGA,OAAS;IACnBE,KAAK,EAAGA,KAAO;IAAAD,QAAA,GAEb,CAAE2C,eAAe,IAAIF,eAAe,kBACrC,IAAA1E,WAAA,CAAAqC,GAAA,EAAChD,WAAA,CAAAmH,4BAAc;MACdC,QAAQ,EAAGA,CAAA,KAAM,IAAAC,yCAAe,EAAE3E,KAAK,EAAEZ,MAAO,CAAG;MACnDe,KAAK,EAAG,IAAAyE,QAAE,EAAE,QAAS,CAAG;MACxBC,UAAU,EAAGA,CAAA,KAAMb,WAAW,CAAC,CAAG;MAClCc,gBAAgB,EAAGV,mBAAqB;MACxCnE,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAjC,WAAA,CAAAqC,GAAA,EAAChD,WAAA,CAAAyH,8BAAgB;QAChB1D,MAAM,EAAGA,MAAQ;QACjB2D,WAAW;QACXC,WAAW,EAAGrC,eAAiB;QAC/B7C,QAAQ,EAAGkE,cAAgB;QAC3BiB,aAAa,EAAG,EAAI;QACpBC,gBAAgB,EAAC,YAAY;QAC7BnF,KAAK,EAAGZ,MAAQ;QAChBgG,iCAAiC;QACjCC,IAAI,EAAC,kBAAkB;QACvBC,mBAAmB,EAAG,CAAElC,gBAAkB;QAC1CjD,KAAK,EAAG,IAAAyE,QAAE,EAAE,QAAS;MAAG,CACxB;IAAC,CACa,CAChB,EACC9B,gBAAgB,iBACjB,IAAA7E,WAAA,CAAAqC,GAAA,EAAChD,WAAA,CAAAmH,4BAAc;MACdC,QAAQ,EAAG9F,eAAiB;MAC5BuB,KAAK,EAAG,IAAAyE,QAAE,EAAE,QAAS,CAAG;MACxBC,UAAU,EAAGA,CAAA,KAAM7B,eAAe,CAAER,SAAU,CAAG;MACjDsC,gBAAgB,EAAG9D,eAAe,CAAC1B,MAAQ;MAC3CW,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnB,IAAAjC,WAAA,CAAAqC,GAAA,EAAC5C,oBAAA,CAAAgG,OAAmB;QACnBpF,MAAM,EAAGyE,kBAAoB;QAC7BhD,QAAQ,EAAK6D,QAAQ,IAAM;UAC1BZ,eAAe,CAAEY,QAAQ,IAAIpB,SAAU,CAAC;QACzC;MAAG,CACH;IAAC,CACa,CAChB,EACCY,gBAAgB,iBACjB,IAAAnF,WAAA,CAAAuG,IAAA,EAAClH,WAAA,CAAAmH,4BAAc;MACdtE,KAAK,EAAG,IAAAyE,QAAE,EAAE,QAAS,CAAG;MACxBF,QAAQ,EAAGxF,SAAW;MACtB2F,UAAU,EAAGd,WAAa;MAC1Be,gBAAgB,EAAG9D,eAAe,CAACrB,MAAQ;MAC3CM,OAAO,EAAGA,OAAS;MAAAC,QAAA,GAEjBmE,gBAAgB,gBACjB,IAAApG,WAAA,CAAAqC,GAAA,EAAChD,WAAA,CAAAiI,WAAW,CAACC,WAAW;QAAC5E,EAAE,EAAC,QAAQ;QAAAV,QAAA,EACjC,IAAA0E,QAAE,EAAE,QAAS;MAAC,CACQ,CAAC,GACvB,IAAI,eAER,IAAA3G,WAAA,CAAAqC,GAAA,EAAChD,WAAA,CAAAmI,uBAAS;QAACC,UAAU;QAACC,WAAW;QAAAzF,QAAA,eAChC,IAAAjC,WAAA,CAAAqC,GAAA,EAACtC,sBAAA,CAAA4H,aAAa;UACbjG,MAAM,EAAGA,MAAQ;UACjBkG,cAAc,EAAGlC,SAAW;UAC5BxF,QAAQ,EAAGA;QAAU,CACrB;MAAC,CACQ,CAAC;IAAA,CACG,CAChB;EAAA,CACO,CAAC;AAEZ","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_object","_border","_shadowPanelComponents","_jsxRuntime","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","useShadowPresets","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_ref","_ref2","_shadowPresets$custom","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","mergedShadowPresets","custom","theme","default","setShadow","newValue","shadowName","setImmutably","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","useBorderPanelLabel","blockName","jsxs","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","__experimentalBorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\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={ label }\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\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: true,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst mergedShadowPresets =\n\t\tshadowPresets.custom ??\n\t\tshadowPresets.theme ??\n\t\tshadowPresets.default ??\n\t\t[];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = mergedShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\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\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\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\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -77,6 +77,7 @@ function ColorToolsPanel({
77
77
  panelId,
78
78
  children
79
79
  }) {
80
+ const dropdownMenuProps = (0, _utils.useToolsPanelDropdownMenuProps)();
80
81
  const resetAll = () => {
81
82
  const updatedValue = resetAllFilter(value);
82
83
  onChange(updatedValue);
@@ -90,7 +91,7 @@ function ColorToolsPanel({
90
91
  className: "color-block-support-panel",
91
92
  __experimentalFirstVisibleItemClass: "first",
92
93
  __experimentalLastVisibleItemClass: "last",
93
- dropdownMenuProps: _utils.TOOLSPANEL_DROPDOWNMENU_PROPS,
94
+ dropdownMenuProps: dropdownMenuProps,
94
95
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
95
96
  className: "color-block-support-panel__inner-wrapper",
96
97
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","_jsxRuntime","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","useColorsPerOrigin","color","text","length","custom","link","caption","gradients","useGradientsPerOrigin","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","hasInnerWrapper","headingLevel","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","Tabs","unlock","componentsPrivateApis","LabeledColorIndicators","indicators","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","expanded","ColorIndicator","colorValue","FlexItem","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","_tabs$","currentTab","find","tab","key","firstTabKey","firstTab","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","sprintf","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","defaultTabId","TabList","Tab","tabId","tabKey","restTabProps","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","getValueFromVariable","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setImmutably","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","useCallback","previousValue","reduce","acc","element","items","filter","Boolean","forEach","elementBackgroundColor","elementGradient","elementTextColor","elementBackgroundUserColor","elementGradientUserColor","elementTextUserColor","hasElement","resetElement","setElementTextColor","newTextColor","setElementBackgroundColor","newBackgroundColor","setElementGradient","supportsTextColor","supportsBackground","push","item","restItem","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-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\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { unlock } from '../../lock-unlock';\n\nexport function useHasColorPanel( settings ) {\n\tconst hasTextPanel = useHasTextPanel( settings );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasLinkPanel = useHasLinkPanel( settings );\n\tconst hasHeadingPanel = useHasHeadingPanel( settings );\n\tconst hasButtonPanel = useHasButtonPanel( settings );\n\tconst hasCaptionPanel = useHasCaptionPanel( settings );\n\n\treturn (\n\t\thasTextPanel ||\n\t\thasBackgroundPanel ||\n\t\thasLinkPanel ||\n\t\thasHeadingPanel ||\n\t\thasButtonPanel ||\n\t\thasCaptionPanel\n\t);\n}\n\nexport function useHasTextPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.text &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasLinkPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.link &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasCaptionPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.caption &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasHeadingPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.heading &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasButtonPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.button &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasBackgroundPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.background &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nfunction ColorToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\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={ __( 'Elements' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\theadingLevel={ 3 }\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t<div className=\"color-block-support-panel__inner-wrapper\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\ttext: true,\n\tbackground: true,\n\tlink: true,\n\theading: true,\n\tbutton: true,\n\tcaption: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n};\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst LabeledColorIndicators = ( { indicators, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t{ indicators.map( ( indicator, index ) => (\n\t\t\t\t<Flex key={ index } expanded={ false }>\n\t\t\t\t\t<ColorIndicator colorValue={ indicator } />\n\t\t\t\t</Flex>\n\t\t\t) ) }\n\t\t</ZStack>\n\t\t<FlexItem\n\t\t\tclassName=\"block-editor-panel-color-gradient-settings__color-name\"\n\t\t\ttitle={ label }\n\t\t>\n\t\t\t{ label }\n\t\t</FlexItem>\n\t</HStack>\n);\n\nfunction ColorPanelTab( {\n\tisGradient,\n\tinheritedValue,\n\tuserValue,\n\tsetValue,\n\tcolorGradientControlSettings,\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...colorGradientControlSettings }\n\t\t\tshowTitle={ false }\n\t\t\tenableAlpha\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\tcolorValue={ isGradient ? undefined : inheritedValue }\n\t\t\tgradientValue={ isGradient ? inheritedValue : undefined }\n\t\t\tonColorChange={ isGradient ? undefined : setValue }\n\t\t\tonGradientChange={ isGradient ? setValue : undefined }\n\t\t\tclearable={ inheritedValue === userValue }\n\t\t\theadingLevel={ 3 }\n\t\t/>\n\t);\n}\n\nfunction ColorPanelDropdown( {\n\tlabel,\n\thasValue,\n\tresetValue,\n\tisShownByDefault,\n\tindicators,\n\ttabs,\n\tcolorGradientControlSettings,\n\tpanelId,\n} ) {\n\tconst currentTab = tabs.find( ( tab ) => tab.userValue !== undefined );\n\tconst { key: firstTabKey, ...firstTab } = tabs[ 0 ] ?? {};\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__item\"\n\t\t\thasValue={ hasValue }\n\t\t\tlabel={ label }\n\t\t\tonDeselect={ resetValue }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__dropdown\"\n\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__dropdown',\n\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t/* translators: %s is the type of color property, e.g., \"background\" */\n\t\t\t\t\t\t\t__( 'Color %s styles' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t<LabeledColorIndicators\n\t\t\t\t\t\t\t\tindicators={ indicators }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t\t\t\t<div className=\"block-editor-panel-color-gradient-settings__dropdown-content\">\n\t\t\t\t\t\t\t{ tabs.length === 1 && (\n\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\tkey={ firstTabKey }\n\t\t\t\t\t\t\t\t\t{ ...firstTab }\n\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\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\t{ tabs.length > 1 && (\n\t\t\t\t\t\t\t\t<Tabs defaultTabId={ currentTab?.key }>\n\t\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ tab.label }\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</Tabs.TabList>\n\n\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\t\t\t\tconst { key: tabKey, ...restTabProps } =\n\t\t\t\t\t\t\t\t\t\t\ttab;\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...restTabProps }\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport default function ColorPanel( {\n\tas: Wrapper = ColorToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tchildren,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst areCustomGradientsEnabled = settings?.color?.customGradient;\n\tconst hasSolidColors = colors.length > 0 || areCustomSolidsEnabled;\n\tconst hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled;\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst encodeGradientValue = ( gradientValue ) => {\n\t\tconst allGradients = gradients.flatMap(\n\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t);\n\t\tconst gradientObject = allGradients.find(\n\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t);\n\t\treturn gradientObject\n\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t: gradientValue;\n\t};\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst userBackgroundColor = decodeValue( value?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst userGradient = decodeValue( value?.color?.gradient );\n\tconst hasBackground = () => !! userBackgroundColor || !! userGradient;\n\tconst setBackgroundColor = ( newColor ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst setGradient = ( newGradient ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'gradient' ],\n\t\t\tencodeGradientValue( newGradient )\n\t\t);\n\t\tnewValue.color.background = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst resetBackground = () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\n\t// Links\n\tconst showLinkPanel = useHasLinkPanel( settings );\n\tconst linkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.color?.text\n\t);\n\tconst userLinkColor = decodeValue( value?.elements?.link?.color?.text );\n\tconst setLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hoverLinkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst userHoverLinkColor = decodeValue(\n\t\tvalue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst setHoverLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLink = () => !! userLinkColor || !! userHoverLinkColor;\n\tconst resetLink = () => {\n\t\tlet newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue = setImmutably(\n\t\t\tnewValue,\n\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tonChange( newValue );\n\t};\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst userTextColor = decodeValue( value?.color?.text );\n\tconst hasTextColor = () => !! userTextColor;\n\tconst setTextColor = ( newColor ) => {\n\t\tlet changedObject = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'text' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tif ( textColor === linkColor ) {\n\t\t\tchangedObject = setImmutably(\n\t\t\t\tchangedObject,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t}\n\n\t\tonChange( changedObject );\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\n\n\t// Elements\n\tconst elements = [\n\t\t{\n\t\t\tname: 'caption',\n\t\t\tlabel: __( 'Captions' ),\n\t\t\tshowPanel: useHasCaptionPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'button',\n\t\t\tlabel: __( 'Button' ),\n\t\t\tshowPanel: useHasButtonPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'heading',\n\t\t\tlabel: __( 'Heading' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h1',\n\t\t\tlabel: __( 'H1' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h2',\n\t\t\tlabel: __( 'H2' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h3',\n\t\t\tlabel: __( 'H3' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h4',\n\t\t\tlabel: __( 'H4' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h5',\n\t\t\tlabel: __( 'H5' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h6',\n\t\t\tlabel: __( 'H6' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t];\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tcolor: undefined,\n\t\t\telements: {\n\t\t\t\t...previousValue?.elements,\n\t\t\t\tlink: {\n\t\t\t\t\t...previousValue?.elements?.link,\n\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t':hover': {\n\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t...elements.reduce( ( acc, element ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ element.name ]: {\n\t\t\t\t\t\t\t...previousValue?.elements?.[ element.name ],\n\t\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}, {} ),\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst items = [\n\t\tshowTextPanel && {\n\t\t\tkey: 'text',\n\t\t\tlabel: __( 'Text' ),\n\t\t\thasValue: hasTextColor,\n\t\t\tresetValue: resetTextColor,\n\t\t\tisShownByDefault: defaultControls.text,\n\t\t\tindicators: [ textColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'text',\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tinheritedValue: textColor,\n\t\t\t\t\tsetValue: setTextColor,\n\t\t\t\t\tuserValue: userTextColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tshowBackgroundPanel && {\n\t\t\tkey: 'background',\n\t\t\tlabel: __( 'Background' ),\n\t\t\thasValue: hasBackground,\n\t\t\tresetValue: resetBackground,\n\t\t\tisShownByDefault: defaultControls.background,\n\t\t\tindicators: [ gradient ?? backgroundColor ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors && {\n\t\t\t\t\tkey: 'background',\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\tinheritedValue: backgroundColor,\n\t\t\t\t\tsetValue: setBackgroundColor,\n\t\t\t\t\tuserValue: userBackgroundColor,\n\t\t\t\t},\n\t\t\t\thasGradientColors && {\n\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\tinheritedValue: gradient,\n\t\t\t\t\tsetValue: setGradient,\n\t\t\t\t\tuserValue: userGradient,\n\t\t\t\t\tisGradient: true,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t},\n\t\tshowLinkPanel && {\n\t\t\tkey: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\thasValue: hasLink,\n\t\t\tresetValue: resetLink,\n\t\t\tisShownByDefault: defaultControls.link,\n\t\t\tindicators: [ linkColor, hoverLinkColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'link',\n\t\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\t\tinheritedValue: linkColor,\n\t\t\t\t\tsetValue: setLinkColor,\n\t\t\t\t\tuserValue: userLinkColor,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tkey: 'hover',\n\t\t\t\t\tlabel: __( 'Hover' ),\n\t\t\t\t\tinheritedValue: hoverLinkColor,\n\t\t\t\t\tsetValue: setHoverLinkColor,\n\t\t\t\t\tuserValue: userHoverLinkColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t].filter( Boolean );\n\n\telements.forEach( ( { name, label, showPanel } ) => {\n\t\tif ( ! showPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementBackgroundColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradient = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst elementBackgroundUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradientUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst hasElement = () =>\n\t\t\t!! (\n\t\t\t\telementTextUserColor ||\n\t\t\t\telementBackgroundUserColor ||\n\t\t\t\telementGradientUserColor\n\t\t\t);\n\t\tconst resetElement = () => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tundefined\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tnewValue.elements[ name ].color.text = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\n\t\tconst setElementTextColor = ( newTextColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'elements', name, 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newTextColor )\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tconst setElementBackgroundColor = ( newBackgroundColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tencodeColorValue( newBackgroundColor )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst setElementGradient = ( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst supportsTextColor = true;\n\t\t// Background color is not supported for `caption`\n\t\t// as there isn't yet a way to set padding for the element.\n\t\tconst supportsBackground = name !== 'caption';\n\n\t\titems.push( {\n\t\t\tkey: name,\n\t\t\tlabel,\n\t\t\thasValue: hasElement,\n\t\t\tresetValue: resetElement,\n\t\t\tisShownByDefault: defaultControls[ name ],\n\t\t\tindicators:\n\t\t\t\tsupportsTextColor && supportsBackground\n\t\t\t\t\t? [\n\t\t\t\t\t\t\telementTextColor,\n\t\t\t\t\t\t\telementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\tsupportsTextColor\n\t\t\t\t\t\t\t\t? elementTextColor\n\t\t\t\t\t\t\t\t: elementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsTextColor && {\n\t\t\t\t\t\tkey: 'text',\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tinheritedValue: elementTextColor,\n\t\t\t\t\t\tsetValue: setElementTextColor,\n\t\t\t\t\t\tuserValue: elementTextUserColor,\n\t\t\t\t\t},\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'background',\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tinheritedValue: elementBackgroundColor,\n\t\t\t\t\t\tsetValue: setElementBackgroundColor,\n\t\t\t\t\t\tuserValue: elementBackgroundUserColor,\n\t\t\t\t\t},\n\t\t\t\thasGradientColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\t\tinheritedValue: elementGradient,\n\t\t\t\t\t\tsetValue: setElementGradient,\n\t\t\t\t\t\tuserValue: elementGradientUserColor,\n\t\t\t\t\t\tisGradient: true,\n\t\t\t\t\t},\n\t\t\t].filter( Boolean ),\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{ items.map( ( item ) => {\n\t\t\t\tconst { key, ...restItem } = item;\n\t\t\t\treturn (\n\t\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t{ ...restItem }\n\t\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\t\tgradients,\n\t\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ children }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_element","_i18n","_control","_hooks","_utils","_object","_lockUnlock","_jsxRuntime","useHasColorPanel","settings","hasTextPanel","useHasTextPanel","hasBackgroundPanel","useHasBackgroundPanel","hasLinkPanel","useHasLinkPanel","hasHeadingPanel","useHasHeadingPanel","hasButtonPanel","useHasButtonPanel","hasCaptionPanel","useHasCaptionPanel","colors","useColorsPerOrigin","color","text","length","custom","link","caption","gradients","useGradientsPerOrigin","heading","customGradient","button","background","ColorToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","hasInnerWrapper","headingLevel","className","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","Tabs","unlock","componentsPrivateApis","LabeledColorIndicators","indicators","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","map","indicator","index","Flex","expanded","ColorIndicator","colorValue","FlexItem","title","ColorPanelTab","isGradient","inheritedValue","userValue","setValue","colorGradientControlSettings","default","showTitle","enableAlpha","__experimentalIsRenderedInSidebar","undefined","gradientValue","onColorChange","onGradientChange","clearable","ColorPanelDropdown","hasValue","resetValue","isShownByDefault","tabs","_tabs$","currentTab","find","tab","key","firstTabKey","firstTab","__experimentalToolsPanelItem","onDeselect","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","sprintf","Button","renderContent","__experimentalDropdownContentWrapper","paddingSize","defaultTabId","TabList","Tab","tabId","tabKey","restTabProps","TabPanel","focusable","ColorPanel","as","Wrapper","defaultControls","areCustomSolidsEnabled","areCustomGradientsEnabled","hasSolidColors","hasGradientColors","decodeValue","rawValue","getValueFromVariable","encodeColorValue","allColors","flatMap","originColors","colorObject","slug","encodeGradientValue","allGradients","originGradients","gradientObject","gradient","showBackgroundPanel","backgroundColor","userBackgroundColor","userGradient","hasBackground","setBackgroundColor","newColor","newValue","setImmutably","setGradient","newGradient","resetBackground","showLinkPanel","linkColor","elements","userLinkColor","setLinkColor","hoverLinkColor","userHoverLinkColor","setHoverLinkColor","hasLink","resetLink","showTextPanel","textColor","userTextColor","hasTextColor","setTextColor","changedObject","resetTextColor","name","showPanel","useCallback","previousValue","reduce","acc","element","items","filter","Boolean","forEach","elementBackgroundColor","elementGradient","elementTextColor","elementBackgroundUserColor","elementGradientUserColor","elementTextUserColor","hasElement","resetElement","setElementTextColor","newTextColor","setElementBackgroundColor","newBackgroundColor","setElementGradient","supportsTextColor","supportsBackground","push","item","restItem","disableCustomColors","disableCustomGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/color-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\tColorIndicator,\n\tFlex,\n\tFlexItem,\n\tDropdown,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from '../colors-gradients/control';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { unlock } from '../../lock-unlock';\n\nexport function useHasColorPanel( settings ) {\n\tconst hasTextPanel = useHasTextPanel( settings );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasLinkPanel = useHasLinkPanel( settings );\n\tconst hasHeadingPanel = useHasHeadingPanel( settings );\n\tconst hasButtonPanel = useHasButtonPanel( settings );\n\tconst hasCaptionPanel = useHasCaptionPanel( settings );\n\n\treturn (\n\t\thasTextPanel ||\n\t\thasBackgroundPanel ||\n\t\thasLinkPanel ||\n\t\thasHeadingPanel ||\n\t\thasButtonPanel ||\n\t\thasCaptionPanel\n\t);\n}\n\nexport function useHasTextPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.text &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasLinkPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.link &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasCaptionPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.caption &&\n\t\t( colors?.length > 0 || settings?.color?.custom )\n\t);\n}\n\nexport function useHasHeadingPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.heading &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasButtonPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.button &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nexport function useHasBackgroundPanel( settings ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\treturn (\n\t\tsettings?.color?.background &&\n\t\t( colors?.length > 0 ||\n\t\t\tsettings?.color?.custom ||\n\t\t\tgradients?.length > 0 ||\n\t\t\tsettings?.color?.customGradient )\n\t);\n}\n\nfunction ColorToolsPanel( {\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={ __( 'Elements' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper\n\t\t\theadingLevel={ 3 }\n\t\t\tclassName=\"color-block-support-panel\"\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<div className=\"color-block-support-panel__inner-wrapper\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\ttext: true,\n\tbackground: true,\n\tlink: true,\n\theading: true,\n\tbutton: true,\n\tcaption: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n};\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst LabeledColorIndicators = ( { indicators, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t{ indicators.map( ( indicator, index ) => (\n\t\t\t\t<Flex key={ index } expanded={ false }>\n\t\t\t\t\t<ColorIndicator colorValue={ indicator } />\n\t\t\t\t</Flex>\n\t\t\t) ) }\n\t\t</ZStack>\n\t\t<FlexItem\n\t\t\tclassName=\"block-editor-panel-color-gradient-settings__color-name\"\n\t\t\ttitle={ label }\n\t\t>\n\t\t\t{ label }\n\t\t</FlexItem>\n\t</HStack>\n);\n\nfunction ColorPanelTab( {\n\tisGradient,\n\tinheritedValue,\n\tuserValue,\n\tsetValue,\n\tcolorGradientControlSettings,\n} ) {\n\treturn (\n\t\t<ColorGradientControl\n\t\t\t{ ...colorGradientControlSettings }\n\t\t\tshowTitle={ false }\n\t\t\tenableAlpha\n\t\t\t__experimentalIsRenderedInSidebar\n\t\t\tcolorValue={ isGradient ? undefined : inheritedValue }\n\t\t\tgradientValue={ isGradient ? inheritedValue : undefined }\n\t\t\tonColorChange={ isGradient ? undefined : setValue }\n\t\t\tonGradientChange={ isGradient ? setValue : undefined }\n\t\t\tclearable={ inheritedValue === userValue }\n\t\t\theadingLevel={ 3 }\n\t\t/>\n\t);\n}\n\nfunction ColorPanelDropdown( {\n\tlabel,\n\thasValue,\n\tresetValue,\n\tisShownByDefault,\n\tindicators,\n\ttabs,\n\tcolorGradientControlSettings,\n\tpanelId,\n} ) {\n\tconst currentTab = tabs.find( ( tab ) => tab.userValue !== undefined );\n\tconst { key: firstTabKey, ...firstTab } = tabs[ 0 ] ?? {};\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__item\"\n\t\t\thasValue={ hasValue }\n\t\t\tlabel={ label }\n\t\t\tonDeselect={ resetValue }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__dropdown\"\n\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__dropdown',\n\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t/* translators: %s is the type of color property, e.g., \"background\" */\n\t\t\t\t\t\t\t__( 'Color %s styles' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t<LabeledColorIndicators\n\t\t\t\t\t\t\t\tindicators={ indicators }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t\t\t\t<div className=\"block-editor-panel-color-gradient-settings__dropdown-content\">\n\t\t\t\t\t\t\t{ tabs.length === 1 && (\n\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\tkey={ firstTabKey }\n\t\t\t\t\t\t\t\t\t{ ...firstTab }\n\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\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\t{ tabs.length > 1 && (\n\t\t\t\t\t\t\t\t<Tabs defaultTabId={ currentTab?.key }>\n\t\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.key }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ tab.label }\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</Tabs.TabList>\n\n\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\t\t\t\tconst { key: tabKey, ...restTabProps } =\n\t\t\t\t\t\t\t\t\t\t\ttab;\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\ttabId={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ColorPanelTab\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ tabKey }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ ...restTabProps }\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorGradientControlSettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport default function ColorPanel( {\n\tas: Wrapper = ColorToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tchildren,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst areCustomSolidsEnabled = settings?.color?.custom;\n\tconst areCustomGradientsEnabled = settings?.color?.customGradient;\n\tconst hasSolidColors = colors.length > 0 || areCustomSolidsEnabled;\n\tconst hasGradientColors = gradients.length > 0 || areCustomGradientsEnabled;\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst encodeGradientValue = ( gradientValue ) => {\n\t\tconst allGradients = gradients.flatMap(\n\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t);\n\t\tconst gradientObject = allGradients.find(\n\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t);\n\t\treturn gradientObject\n\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t: gradientValue;\n\t};\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst userBackgroundColor = decodeValue( value?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst userGradient = decodeValue( value?.color?.gradient );\n\tconst hasBackground = () => !! userBackgroundColor || !! userGradient;\n\tconst setBackgroundColor = ( newColor ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst setGradient = ( newGradient ) => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'gradient' ],\n\t\t\tencodeGradientValue( newGradient )\n\t\t);\n\t\tnewValue.color.background = undefined;\n\t\tonChange( newValue );\n\t};\n\tconst resetBackground = () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t};\n\n\t// Links\n\tconst showLinkPanel = useHasLinkPanel( settings );\n\tconst linkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.color?.text\n\t);\n\tconst userLinkColor = decodeValue( value?.elements?.link?.color?.text );\n\tconst setLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hoverLinkColor = decodeValue(\n\t\tinheritedValue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst userHoverLinkColor = decodeValue(\n\t\tvalue?.elements?.link?.[ ':hover' ]?.color?.text\n\t);\n\tconst setHoverLinkColor = ( newColor ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLink = () => !! userLinkColor || !! userHoverLinkColor;\n\tconst resetLink = () => {\n\t\tlet newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'elements', 'link', ':hover', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue = setImmutably(\n\t\t\tnewValue,\n\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\tundefined\n\t\t);\n\t\tonChange( newValue );\n\t};\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst userTextColor = decodeValue( value?.color?.text );\n\tconst hasTextColor = () => !! userTextColor;\n\tconst setTextColor = ( newColor ) => {\n\t\tlet changedObject = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'text' ],\n\t\t\tencodeColorValue( newColor )\n\t\t);\n\t\tif ( textColor === linkColor ) {\n\t\t\tchangedObject = setImmutably(\n\t\t\t\tchangedObject,\n\t\t\t\t[ 'elements', 'link', 'color', 'text' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t}\n\n\t\tonChange( changedObject );\n\t};\n\tconst resetTextColor = () => setTextColor( undefined );\n\n\t// Elements\n\tconst elements = [\n\t\t{\n\t\t\tname: 'caption',\n\t\t\tlabel: __( 'Captions' ),\n\t\t\tshowPanel: useHasCaptionPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'button',\n\t\t\tlabel: __( 'Button' ),\n\t\t\tshowPanel: useHasButtonPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'heading',\n\t\t\tlabel: __( 'Heading' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h1',\n\t\t\tlabel: __( 'H1' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h2',\n\t\t\tlabel: __( 'H2' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h3',\n\t\t\tlabel: __( 'H3' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h4',\n\t\t\tlabel: __( 'H4' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h5',\n\t\t\tlabel: __( 'H5' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t\t{\n\t\t\tname: 'h6',\n\t\t\tlabel: __( 'H6' ),\n\t\t\tshowPanel: useHasHeadingPanel( settings ),\n\t\t},\n\t];\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tcolor: undefined,\n\t\t\telements: {\n\t\t\t\t...previousValue?.elements,\n\t\t\t\tlink: {\n\t\t\t\t\t...previousValue?.elements?.link,\n\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t':hover': {\n\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t...elements.reduce( ( acc, element ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ element.name ]: {\n\t\t\t\t\t\t\t...previousValue?.elements?.[ element.name ],\n\t\t\t\t\t\t\tcolor: undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}, {} ),\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst items = [\n\t\tshowTextPanel && {\n\t\t\tkey: 'text',\n\t\t\tlabel: __( 'Text' ),\n\t\t\thasValue: hasTextColor,\n\t\t\tresetValue: resetTextColor,\n\t\t\tisShownByDefault: defaultControls.text,\n\t\t\tindicators: [ textColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'text',\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tinheritedValue: textColor,\n\t\t\t\t\tsetValue: setTextColor,\n\t\t\t\t\tuserValue: userTextColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tshowBackgroundPanel && {\n\t\t\tkey: 'background',\n\t\t\tlabel: __( 'Background' ),\n\t\t\thasValue: hasBackground,\n\t\t\tresetValue: resetBackground,\n\t\t\tisShownByDefault: defaultControls.background,\n\t\t\tindicators: [ gradient ?? backgroundColor ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors && {\n\t\t\t\t\tkey: 'background',\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\tinheritedValue: backgroundColor,\n\t\t\t\t\tsetValue: setBackgroundColor,\n\t\t\t\t\tuserValue: userBackgroundColor,\n\t\t\t\t},\n\t\t\t\thasGradientColors && {\n\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\tinheritedValue: gradient,\n\t\t\t\t\tsetValue: setGradient,\n\t\t\t\t\tuserValue: userGradient,\n\t\t\t\t\tisGradient: true,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t},\n\t\tshowLinkPanel && {\n\t\t\tkey: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\thasValue: hasLink,\n\t\t\tresetValue: resetLink,\n\t\t\tisShownByDefault: defaultControls.link,\n\t\t\tindicators: [ linkColor, hoverLinkColor ],\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'link',\n\t\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\t\tinheritedValue: linkColor,\n\t\t\t\t\tsetValue: setLinkColor,\n\t\t\t\t\tuserValue: userLinkColor,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tkey: 'hover',\n\t\t\t\t\tlabel: __( 'Hover' ),\n\t\t\t\t\tinheritedValue: hoverLinkColor,\n\t\t\t\t\tsetValue: setHoverLinkColor,\n\t\t\t\t\tuserValue: userHoverLinkColor,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t].filter( Boolean );\n\n\telements.forEach( ( { name, label, showPanel } ) => {\n\t\tif ( ! showPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementBackgroundColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradient = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextColor = decodeValue(\n\t\t\tinheritedValue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst elementBackgroundUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.background\n\t\t);\n\t\tconst elementGradientUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.gradient\n\t\t);\n\t\tconst elementTextUserColor = decodeValue(\n\t\t\tvalue?.elements?.[ name ]?.color?.text\n\t\t);\n\t\tconst hasElement = () =>\n\t\t\t!! (\n\t\t\t\telementTextUserColor ||\n\t\t\t\telementBackgroundUserColor ||\n\t\t\t\telementGradientUserColor\n\t\t\t);\n\t\tconst resetElement = () => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tundefined\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tnewValue.elements[ name ].color.text = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\n\t\tconst setElementTextColor = ( newTextColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'elements', name, 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newTextColor )\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tconst setElementBackgroundColor = ( newBackgroundColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'background' ],\n\t\t\t\tencodeColorValue( newBackgroundColor )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst setElementGradient = ( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'elements', name, 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.elements[ name ].color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t};\n\t\tconst supportsTextColor = true;\n\t\t// Background color is not supported for `caption`\n\t\t// as there isn't yet a way to set padding for the element.\n\t\tconst supportsBackground = name !== 'caption';\n\n\t\titems.push( {\n\t\t\tkey: name,\n\t\t\tlabel,\n\t\t\thasValue: hasElement,\n\t\t\tresetValue: resetElement,\n\t\t\tisShownByDefault: defaultControls[ name ],\n\t\t\tindicators:\n\t\t\t\tsupportsTextColor && supportsBackground\n\t\t\t\t\t? [\n\t\t\t\t\t\t\telementTextColor,\n\t\t\t\t\t\t\telementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\tsupportsTextColor\n\t\t\t\t\t\t\t\t? elementTextColor\n\t\t\t\t\t\t\t\t: elementGradient ?? elementBackgroundColor,\n\t\t\t\t\t ],\n\t\t\ttabs: [\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsTextColor && {\n\t\t\t\t\t\tkey: 'text',\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tinheritedValue: elementTextColor,\n\t\t\t\t\t\tsetValue: setElementTextColor,\n\t\t\t\t\t\tuserValue: elementTextUserColor,\n\t\t\t\t\t},\n\t\t\t\thasSolidColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'background',\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tinheritedValue: elementBackgroundColor,\n\t\t\t\t\t\tsetValue: setElementBackgroundColor,\n\t\t\t\t\t\tuserValue: elementBackgroundUserColor,\n\t\t\t\t\t},\n\t\t\t\thasGradientColors &&\n\t\t\t\t\tsupportsBackground && {\n\t\t\t\t\t\tkey: 'gradient',\n\t\t\t\t\t\tlabel: __( 'Gradient' ),\n\t\t\t\t\t\tinheritedValue: elementGradient,\n\t\t\t\t\t\tsetValue: setElementGradient,\n\t\t\t\t\t\tuserValue: elementGradientUserColor,\n\t\t\t\t\t\tisGradient: true,\n\t\t\t\t\t},\n\t\t\t].filter( Boolean ),\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{ items.map( ( item ) => {\n\t\t\t\tconst { key, ...restItem } = item;\n\t\t\t\treturn (\n\t\t\t\t\t<ColorPanelDropdown\n\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t{ ...restItem }\n\t\t\t\t\t\tcolorGradientControlSettings={ {\n\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\tdisableCustomColors: ! areCustomSolidsEnabled,\n\t\t\t\t\t\t\tgradients,\n\t\t\t\t\t\t\tdisableCustomGradients: ! areCustomGradientsEnabled,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ children }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -142,6 +142,7 @@ function DimensionsToolsPanel({
142
142
  panelId,
143
143
  children
144
144
  }) {
145
+ const dropdownMenuProps = (0, _utils.useToolsPanelDropdownMenuProps)();
145
146
  const resetAll = () => {
146
147
  const updatedValue = resetAllFilter(value);
147
148
  onChange(updatedValue);
@@ -150,7 +151,7 @@ function DimensionsToolsPanel({
150
151
  label: (0, _i18n.__)('Dimensions'),
151
152
  resetAll: resetAll,
152
153
  panelId: panelId,
153
- dropdownMenuProps: _utils.TOOLSPANEL_DROPDOWNMENU_PROPS,
154
+ dropdownMenuProps: dropdownMenuProps,
154
155
  children: children
155
156
  });
156
157
  }