@wordpress/block-editor 14.7.1-next.082ed6819.0 → 14.8.1-next.a9f418477.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/autocompleters/block.js +2 -4
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js +2 -4
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/block-canvas/index.js +3 -6
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-list/block.js +6 -5
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/index.js +0 -1
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +6 -2
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +87 -0
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -0
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +98 -5
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-lock/modal.js +4 -4
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-parent-selector/index.js +2 -15
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +13 -4
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/inbetween.js +4 -0
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +7 -4
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -1
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/index.js +12 -22
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +0 -1
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +0 -1
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-toolbar/index.js +17 -9
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +0 -1
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +0 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +1 -0
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +10 -0
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +17 -16
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +0 -1
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/iframe/index.js +12 -216
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-scale-canvas.js +398 -0
- package/build/components/iframe/use-scale-canvas.js.map +1 -0
- package/build/components/image-editor/use-save-image.js +22 -3
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +0 -10
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/menu.js +2 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +19 -10
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +2 -13
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +10 -0
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +1 -0
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +18 -18
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +9 -25
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/observe-typing/index.js +0 -1
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +0 -1
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/rich-text/index.js +5 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/native/use-format-types.js +0 -1
- package/build/components/rich-text/native/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +0 -1
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +0 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/typewriter/index.js +0 -1
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +11 -2
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +15 -2
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +1 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/warning/index.js +2 -3
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +11 -0
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +6 -2
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/block-bindings.js +4 -3
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/gap.js +1 -1
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/generated-class-name.js +0 -1
- package/build/hooks/generated-class-name.js.map +1 -1
- package/build/hooks/use-zoom-out.js +47 -14
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/store/private-selectors.js +1 -7
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +478 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +12 -55
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +0 -1
- package/build/utils/object.js.map +1 -1
- package/build-module/autocompleters/block.js +2 -4
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/autocompleters/link.js +2 -4
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/block-canvas/index.js +3 -6
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-list/block.js +8 -7
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/index.js +0 -1
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +6 -2
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +80 -0
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -0
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +97 -5
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-lock/modal.js +4 -4
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +2 -15
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +13 -4
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +4 -0
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -4
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +1 -1
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +13 -23
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +0 -1
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +17 -9
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +0 -1
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +0 -1
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +1 -0
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +10 -0
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +17 -16
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +0 -1
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/iframe/index.js +14 -218
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-scale-canvas.js +392 -0
- package/build-module/components/iframe/use-scale-canvas.js.map +1 -0
- package/build-module/components/image-editor/use-save-image.js +22 -3
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +1 -11
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +2 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +20 -11
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +3 -14
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +9 -0
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +1 -0
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +18 -18
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +9 -25
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +0 -1
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/recursion-provider/index.js +0 -1
- package/build-module/components/recursion-provider/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +5 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/native/use-format-types.js +0 -1
- package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +0 -1
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +0 -1
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/typewriter/index.js +0 -1
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +11 -2
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +15 -2
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +1 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/warning/index.js +2 -3
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +11 -0
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +6 -2
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/block-bindings.js +4 -3
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/gap.js +1 -1
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/generated-class-name.js +0 -1
- package/build-module/hooks/generated-class-name.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +48 -15
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/store/private-selectors.js +1 -6
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +479 -3
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +12 -55
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +0 -1
- package/build-module/utils/object.js.map +1 -1
- package/build-style/content-rtl.css +25 -27
- package/build-style/content.css +25 -27
- package/build-style/style-rtl.css +55 -64
- package/build-style/style.css +55 -64
- package/package.json +32 -32
- package/src/autocompleters/block.js +2 -4
- package/src/autocompleters/link.js +2 -4
- package/src/components/alignment-control/stories/aliginment-toolbar.story.js +47 -0
- package/src/components/alignment-control/stories/index.story.js +51 -0
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +5 -5
- package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +4 -4
- package/src/components/block-canvas/index.js +3 -5
- package/src/components/block-canvas/style.scss +2 -1
- package/src/components/block-draggable/content.scss +11 -5
- package/src/components/block-list/block.js +7 -13
- package/src/components/block-list/content.scss +6 -0
- package/src/components/block-list/use-block-props/index.js +5 -0
- package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +83 -0
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +112 -8
- package/src/components/block-lock/modal.js +4 -6
- package/src/components/block-parent-selector/index.js +1 -19
- package/src/components/block-patterns-list/index.js +12 -1
- package/src/components/block-patterns-list/stories/fixtures.js +1 -0
- package/src/components/block-patterns-list/style.scss +16 -5
- package/src/components/block-popover/inbetween.js +4 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +6 -1
- package/src/components/block-settings-menu-controls/index.js +2 -1
- package/src/components/block-switcher/index.js +19 -21
- package/src/components/block-switcher/style.scss +0 -9
- package/src/components/block-title/test/index.js +2 -0
- package/src/components/block-toolbar/index.js +17 -6
- package/src/components/block-tools/style.scss +44 -0
- package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
- package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
- package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.js +1 -1
- package/src/components/dimensions-tool/stories/index.story.js +1 -1
- package/src/components/dimensions-tool/stories/scale-tool.story.js +1 -1
- package/src/components/dimensions-tool/stories/width-height-tool.story.js +1 -1
- package/src/components/font-appearance-control/index.js +1 -0
- package/src/components/font-family/index.js +10 -0
- package/src/components/font-family/style.scss +5 -0
- package/src/components/global-styles/dimensions-panel.js +16 -16
- package/src/components/iframe/content.scss +40 -42
- package/src/components/iframe/index.js +13 -313
- package/src/components/iframe/use-scale-canvas.js +490 -0
- package/src/components/image-editor/use-save-image.js +27 -2
- package/src/components/inserter/block-patterns-tab/index.js +1 -17
- package/src/components/inserter/menu.js +8 -1
- package/src/components/inserter-draggable-blocks/index.js +19 -29
- package/src/components/inspector-controls/slot.js +3 -22
- package/src/components/letter-spacing-control/README.md +2 -1
- package/src/components/letter-spacing-control/index.js +17 -0
- package/src/components/line-height-control/index.js +1 -0
- package/src/components/media-placeholder/index.js +25 -28
- package/src/components/multi-selection-inspector/index.js +17 -27
- package/src/components/multi-selection-inspector/style.scss +0 -12
- package/src/components/resolution-tool/stories/index.story.js +1 -1
- package/src/components/rich-text/index.js +5 -0
- package/src/components/spacing-sizes-control/style.scss +0 -29
- package/src/components/text-alignment-control/stories/index.story.js +1 -1
- package/src/components/use-block-drop-zone/index.js +18 -1
- package/src/components/use-moving-animation/index.js +15 -0
- package/src/components/use-resize-canvas/index.js +1 -1
- package/src/components/warning/index.js +3 -4
- package/src/components/warning/test/index.js +3 -1
- package/src/components/writing-flow/use-drag-selection.js +11 -0
- package/src/components/writing-flow/use-tab-nav.js +9 -6
- package/src/hooks/block-bindings.js +8 -4
- package/src/hooks/gap.js +1 -1
- package/src/hooks/use-zoom-out.js +48 -16
- package/src/store/private-selectors.js +2 -17
- package/src/store/reducer.js +639 -2
- package/src/store/selectors.js +19 -69
- package/src/store/test/private-selectors.js +1 -0
- package/src/store/test/reducer.js +849 -0
- package/src/store/test/selectors.js +4 -110
- package/src/style.scss +1 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_deprecated","_i18n","_useSettings","_jsxRuntime","FontFamilyControl","__next40pxDefaultSize","__nextHasNoMarginBottom","value","onChange","fontFamilies","className","props","blockLevelFontFamilies","useSettings","length","options","key","name","__","map","fontFamily","style","deprecated","since","version","hint","jsx","CustomSelectControl","__shouldNotWarnDeprecated36pxSize","label","selectedItem","clsx"],"sources":["@wordpress/block-editor/src/components/font-family/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../use-settings';\n\nexport default function FontFamilyControl( {\n\t/** Start opting into the larger default height that will become the default size in a future version. */\n\t__next40pxDefaultSize = false,\n\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t__nextHasNoMarginBottom = false,\n\tvalue = '',\n\tonChange,\n\tfontFamilies,\n\tclassName,\n\t...props\n} ) {\n\tconst [ blockLevelFontFamilies ] = useSettings( 'typography.fontFamilies' );\n\tif ( ! fontFamilies ) {\n\t\tfontFamilies = blockLevelFontFamilies;\n\t}\n\n\tif ( ! fontFamilies || fontFamilies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst options = [\n\t\t{\n\t\t\tkey: '',\n\t\t\tname: __( 'Default' ),\n\t\t},\n\t\t...fontFamilies.map( ( { fontFamily, name } ) => ( {\n\t\t\tkey: fontFamily,\n\t\t\tname: name || fontFamily,\n\t\t\tstyle: { fontFamily },\n\t\t} ) ),\n\t];\n\n\tif ( ! __nextHasNoMarginBottom ) {\n\t\tdeprecated(\n\t\t\t'Bottom margin styles for wp.blockEditor.FontFamilyControl',\n\t\t\t{\n\t\t\t\tsince: '6.7',\n\t\t\t\tversion: '7.0',\n\t\t\t\thint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version',\n\t\t\t}\n\t\t);\n\t}\n\n\treturn (\n\t\t<CustomSelectControl\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t__shouldNotWarnDeprecated36pxSize\n\t\t\tlabel={ __( 'Font' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( { selectedItem } ) => onChange( selectedItem.key ) }\n\t\t\toptions={ options }\n\t\t\tclassName={ clsx( 'block-editor-font-family-control', className, {\n\t\t\t\t'is-next-has-no-margin-bottom': __nextHasNoMarginBottom,\n\t\t\t} ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,YAAA,GAAAJ,OAAA;AAA8C,IAAAK,WAAA,GAAAL,OAAA;AAf9C;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASM,iBAAiBA,CAAE;EAC1C;EACAC,qBAAqB,GAAG,KAAK;EAC7B;EACAC,uBAAuB,GAAG,KAAK;EAC/BC,KAAK,GAAG,EAAE;EACVC,QAAQ;EACRC,YAAY;EACZC,SAAS;EACT,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM,CAAEC,sBAAsB,CAAE,GAAG,IAAAC,wBAAW,EAAE,yBAA0B,CAAC;EAC3E,IAAK,CAAEJ,YAAY,EAAG;IACrBA,YAAY,GAAGG,sBAAsB;EACtC;EAEA,IAAK,CAAEH,YAAY,IAAIA,YAAY,CAACK,MAAM,KAAK,CAAC,EAAG;IAClD,OAAO,IAAI;EACZ;EAEA,MAAMC,OAAO,GAAG,CACf;IACCC,GAAG,EAAE,EAAE;IACPC,IAAI,EAAE,IAAAC,QAAE,EAAE,SAAU;EACrB,CAAC,EACD,GAAGT,YAAY,CAACU,GAAG,CAAE,CAAE;IAAEC,UAAU;IAAEH;EAAK,CAAC,MAAQ;IAClDD,GAAG,EAAEI,UAAU;IACfH,IAAI,EAAEA,IAAI,IAAIG,UAAU;IACxBC,KAAK,EAAE;MAAED;IAAW;EACrB,CAAC,CAAG,CAAC,CACL;EAED,IAAK,CAAEd,uBAAuB,EAAG;IAChC,IAAAgB,mBAAU,EACT,2DAA2D,EAC3D;MACCC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;IACP,CACD,CAAC;EACF;EAEA,oBACC,IAAAtB,WAAA,CAAAuB,GAAA,EAAC3B,WAAA,CAAA4B,mBAAmB;IACnBtB,qBAAqB,EAAGA,qBAAuB;IAC/CuB,iCAAiC;IACjCC,KAAK,EAAG,IAAAX,QAAE,EAAE,MAAO,CAAG;IACtBX,KAAK,EAAGA,KAAO;IACfC,QAAQ,EAAGA,CAAE;MAAEsB;IAAa,CAAC,KAAMtB,QAAQ,CAAEsB,YAAY,CAACd,GAAI,CAAG;IACjED,OAAO,EAAGA,OAAS;IACnBL,SAAS,EAAG,IAAAqB,aAAI,EAAE,kCAAkC,EAAErB,SAAS,EAAE;MAChE,8BAA8B,EAAEJ;IACjC,CAAE,CAAG;IAAA,GACAK;EAAK,CACV,CAAC;AAEJ","ignoreList":[]}
|
|
@@ -357,16 +357,6 @@ function DimensionsPanel({
|
|
|
357
357
|
};
|
|
358
358
|
}, []);
|
|
359
359
|
const onMouseLeaveControls = () => onVisualize(false);
|
|
360
|
-
const inputProps = {
|
|
361
|
-
min: minMarginValue,
|
|
362
|
-
onDragStart: () => {
|
|
363
|
-
//Reset to 0 in case the value was negative.
|
|
364
|
-
setMinMarginValue(0);
|
|
365
|
-
},
|
|
366
|
-
onDragEnd: () => {
|
|
367
|
-
setMinMarginValue(minimumMargin);
|
|
368
|
-
}
|
|
369
|
-
};
|
|
370
360
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
|
|
371
361
|
resetAllFilter: resetAllFilter,
|
|
372
362
|
value: value,
|
|
@@ -437,8 +427,10 @@ function DimensionsPanel({
|
|
|
437
427
|
units: units,
|
|
438
428
|
allowReset: false,
|
|
439
429
|
splitOnAxis: isAxialPadding,
|
|
440
|
-
|
|
441
|
-
|
|
430
|
+
inputProps: {
|
|
431
|
+
onMouseOver: onMouseOverPadding,
|
|
432
|
+
onMouseOut: onMouseLeaveControls
|
|
433
|
+
}
|
|
442
434
|
}), showSpacingPresetsControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_spacingSizesControl.default, {
|
|
443
435
|
values: paddingValues,
|
|
444
436
|
onChange: setPaddingValues,
|
|
@@ -462,14 +454,23 @@ function DimensionsPanel({
|
|
|
462
454
|
__next40pxDefaultSize: true,
|
|
463
455
|
values: marginValues,
|
|
464
456
|
onChange: setMarginValues,
|
|
465
|
-
inputProps:
|
|
457
|
+
inputProps: {
|
|
458
|
+
min: minMarginValue,
|
|
459
|
+
onDragStart: () => {
|
|
460
|
+
// Reset to 0 in case the value was negative.
|
|
461
|
+
setMinMarginValue(0);
|
|
462
|
+
},
|
|
463
|
+
onDragEnd: () => {
|
|
464
|
+
setMinMarginValue(minimumMargin);
|
|
465
|
+
},
|
|
466
|
+
onMouseOver: onMouseOverMargin,
|
|
467
|
+
onMouseOut: onMouseLeaveControls
|
|
468
|
+
},
|
|
466
469
|
label: (0, _i18n.__)('Margin'),
|
|
467
470
|
sides: marginSides,
|
|
468
471
|
units: units,
|
|
469
472
|
allowReset: false,
|
|
470
|
-
splitOnAxis: isAxialMargin
|
|
471
|
-
onMouseOver: onMouseOverMargin,
|
|
472
|
-
onMouseOut: onMouseLeaveControls
|
|
473
|
+
splitOnAxis: isAxialMargin
|
|
473
474
|
}), showSpacingPresetsControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_spacingSizesControl.default, {
|
|
474
475
|
values: marginValues,
|
|
475
476
|
onChange: setMarginValues,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_icons","_element","_utils","_spacingSizesControl","_heightControl","_childLayoutControl","_aspectRatioTool","_utils2","_object","_jsxRuntime","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","Platform","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","defaultSpacingSizes","spacingSizes","length","theme","custom","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","isAxialGap","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$chil","_defaultControls$minH","_defaultControls$aspe","decodeValue","rawValue","Object","keys","reduce","acc","key","getValueFromVariable","showSpacingPresetsControl","units","useCustomUnits","availableUnits","minimumMargin","Infinity","minMarginValue","setMinMarginValue","useState","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","setImmutably","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","gapSides","gapValue","gapValues","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","setChildLayout","newChildLayout","useCallback","previousValue","cleanEmptyObject","selfStretch","flexSize","columnStart","rowStart","columnSpan","rowSpan","onMouseLeaveControls","inputProps","min","onDragStart","onDragEnd","jsxs","className","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalUnitControl","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","__experimentalInputControlPrefixWrapper","variant","Icon","icon","alignNone","nextWideSize","stretchWide","clsx","BoxControl","allowReset","splitOnAxis","onMouseOver","onMouseOut","minimumCustomValue","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { Icon, alignNone, stretchWide } from '@wordpress/icons';\nimport { useCallback, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport HeightControl from '../height-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( settings ) {\n\tconst hasContentSize = useHasContentSize( settings );\n\tconst hasWideSize = useHasWideSize( settings );\n\tconst hasPadding = useHasPadding( settings );\n\tconst hasMargin = useHasMargin( settings );\n\tconst hasGap = useHasGap( settings );\n\tconst hasMinHeight = useHasMinHeight( settings );\n\tconst hasAspectRatio = useHasAspectRatio( settings );\n\tconst hasChildLayout = useHasChildLayout( settings );\n\n\treturn (\n\t\tPlatform.OS === 'web' &&\n\t\t( hasContentSize ||\n\t\t\thasWideSize ||\n\t\t\thasPadding ||\n\t\t\thasMargin ||\n\t\t\thasGap ||\n\t\t\thasMinHeight ||\n\t\t\thasAspectRatio ||\n\t\t\thasChildLayout )\n\t);\n}\n\nfunction useHasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction useHasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction useHasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction useHasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction useHasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction useHasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction useHasAspectRatio( settings ) {\n\treturn settings?.dimensions?.aspectRatio;\n}\n\nfunction useHasChildLayout( settings ) {\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' ||\n\t\t\tparentLayoutType === 'flex' ||\n\t\t\tdefaultParentLayoutType === 'grid' ||\n\t\t\tparentLayoutType === 'grid' ) &&\n\t\tallowSizingOnChildren;\n\treturn !! settings?.layout && support;\n}\n\nfunction useHasSpacingPresets( settings ) {\n\tconst { defaultSpacingSizes, spacingSizes } = settings?.spacing || {};\n\treturn (\n\t\t( defaultSpacingSizes !== false &&\n\t\t\tspacingSizes?.default?.length > 0 ) ||\n\t\tspacingSizes?.theme?.length > 0 ||\n\t\tspacingSizes?.custom?.length > 0\n\t);\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values?.[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction splitGapValue( value, isAxialGap ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\t// Check for shorthand value (a string value).\n\tif ( typeof value === 'string' ) {\n\t\t/*\n\t\t * Map the string value to appropriate sides for the spacing control depending\n\t\t * on whether the current block has axial gap support or not.\n\t\t *\n\t\t * Note: The axial value pairs must match for the spacing control to display\n\t\t * the appropriate horizontal/vertical sliders.\n\t\t */\n\t\treturn isAxialGap\n\t\t\t? { top: value, right: value, bottom: value, left: value }\n\t\t\t: { top: value };\n\t}\n\n\treturn {\n\t\t...value,\n\t\tright: value?.left,\n\t\tbottom: value?.top,\n\t};\n}\n\nfunction DimensionsToolsPanel( {\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={ __( 'Dimensions' ) }\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\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = useHasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\t//Minimum Margin Value\n\tconst minimumMargin = -Infinity;\n\tconst [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );\n\n\t// Content Width\n\tconst showContentSizeControl =\n\t\tuseHasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Width\n\tconst showWideSizeControl =\n\t\tuseHasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = useHasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = useHasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = useHasGap( settings );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue, isAxialGap );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\t// If axial gap is not enabled, treat the 'top' value as the shorthand gap value.\n\t\tif ( ! isAxialGap && nextBoxGapValue?.hasOwnProperty( 'top' ) ) {\n\t\t\tsetGapValue( nextBoxGapValue.top );\n\t\t} else {\n\t\t\tsetGapValue( {\n\t\t\t\ttop: nextBoxGapValue?.top,\n\t\t\t\tleft: nextBoxGapValue?.left,\n\t\t\t} );\n\t\t}\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = useHasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = useHasAspectRatio( settings );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = useHasChildLayout( settings );\n\tconst childLayout = inheritedValue?.layout;\n\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t\tcolumnStart: undefined,\n\t\t\t\trowStart: undefined,\n\t\t\t\tcolumnSpan: undefined,\n\t\t\t\trowSpan: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\tminHeight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\n\n\tconst inputProps = {\n\t\tmin: minMarginValue,\n\t\tonDragStart: () => {\n\t\t\t//Reset to 0 in case the value was negative.\n\t\t\tsetMinMarginValue( 0 );\n\t\t},\n\t\tonDragEnd: () => {\n\t\t\tsetMinMarginValue( minimumMargin );\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{ ( showContentSizeControl || showWideSizeControl ) && (\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __( 'Set the width of the main content area.' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showContentSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tinputProps={ inputProps }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tminimumCustomValue={ -Infinity }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t\t'single-column':\n\t\t\t\t\t\t\t// If UnitControl is used, should be single-column.\n\t\t\t\t\t\t\t! showSpacingPresetsControl && ! isAxialGap,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl &&\n\t\t\t\t\t\t( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tsides={ gapSides }\n\t\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t\t\tsides={ isAxialGap ? gapSides : [ 'top' ] } // Use 'top' as the shorthand property in non-axial configurations.\n\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\tallowReset={ false }\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{ showChildLayoutControl && (\n\t\t\t\t<ChildLayoutControl\n\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showMinHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinHeightValue }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HeightControl\n\t\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\t\tvalue={ minHeightValue }\n\t\t\t\t\t\tonChange={ setMinHeightValue }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\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","_i18n","_components","_icons","_element","_utils","_spacingSizesControl","_heightControl","_childLayoutControl","_aspectRatioTool","_utils2","_object","_jsxRuntime","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","Platform","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","defaultSpacingSizes","spacingSizes","length","theme","custom","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","isAxialGap","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$chil","_defaultControls$minH","_defaultControls$aspe","decodeValue","rawValue","Object","keys","reduce","acc","key","getValueFromVariable","showSpacingPresetsControl","units","useCustomUnits","availableUnits","minimumMargin","Infinity","minMarginValue","setMinMarginValue","useState","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","setImmutably","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","gapSides","gapValue","gapValues","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","setChildLayout","newChildLayout","useCallback","previousValue","cleanEmptyObject","selfStretch","flexSize","columnStart","rowStart","columnSpan","rowSpan","onMouseLeaveControls","jsxs","className","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalUnitControl","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","__experimentalInputControlPrefixWrapper","variant","Icon","icon","alignNone","nextWideSize","stretchWide","clsx","BoxControl","allowReset","splitOnAxis","inputProps","onMouseOver","onMouseOut","min","onDragStart","onDragEnd","minimumCustomValue","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { Icon, alignNone, stretchWide } from '@wordpress/icons';\nimport { useCallback, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport HeightControl from '../height-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( settings ) {\n\tconst hasContentSize = useHasContentSize( settings );\n\tconst hasWideSize = useHasWideSize( settings );\n\tconst hasPadding = useHasPadding( settings );\n\tconst hasMargin = useHasMargin( settings );\n\tconst hasGap = useHasGap( settings );\n\tconst hasMinHeight = useHasMinHeight( settings );\n\tconst hasAspectRatio = useHasAspectRatio( settings );\n\tconst hasChildLayout = useHasChildLayout( settings );\n\n\treturn (\n\t\tPlatform.OS === 'web' &&\n\t\t( hasContentSize ||\n\t\t\thasWideSize ||\n\t\t\thasPadding ||\n\t\t\thasMargin ||\n\t\t\thasGap ||\n\t\t\thasMinHeight ||\n\t\t\thasAspectRatio ||\n\t\t\thasChildLayout )\n\t);\n}\n\nfunction useHasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction useHasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction useHasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction useHasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction useHasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction useHasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction useHasAspectRatio( settings ) {\n\treturn settings?.dimensions?.aspectRatio;\n}\n\nfunction useHasChildLayout( settings ) {\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' ||\n\t\t\tparentLayoutType === 'flex' ||\n\t\t\tdefaultParentLayoutType === 'grid' ||\n\t\t\tparentLayoutType === 'grid' ) &&\n\t\tallowSizingOnChildren;\n\treturn !! settings?.layout && support;\n}\n\nfunction useHasSpacingPresets( settings ) {\n\tconst { defaultSpacingSizes, spacingSizes } = settings?.spacing || {};\n\treturn (\n\t\t( defaultSpacingSizes !== false &&\n\t\t\tspacingSizes?.default?.length > 0 ) ||\n\t\tspacingSizes?.theme?.length > 0 ||\n\t\tspacingSizes?.custom?.length > 0\n\t);\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values?.[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction splitGapValue( value, isAxialGap ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\t// Check for shorthand value (a string value).\n\tif ( typeof value === 'string' ) {\n\t\t/*\n\t\t * Map the string value to appropriate sides for the spacing control depending\n\t\t * on whether the current block has axial gap support or not.\n\t\t *\n\t\t * Note: The axial value pairs must match for the spacing control to display\n\t\t * the appropriate horizontal/vertical sliders.\n\t\t */\n\t\treturn isAxialGap\n\t\t\t? { top: value, right: value, bottom: value, left: value }\n\t\t\t: { top: value };\n\t}\n\n\treturn {\n\t\t...value,\n\t\tright: value?.left,\n\t\tbottom: value?.top,\n\t};\n}\n\nfunction DimensionsToolsPanel( {\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={ __( 'Dimensions' ) }\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\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = useHasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\t//Minimum Margin Value\n\tconst minimumMargin = -Infinity;\n\tconst [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );\n\n\t// Content Width\n\tconst showContentSizeControl =\n\t\tuseHasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Width\n\tconst showWideSizeControl =\n\t\tuseHasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = useHasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = useHasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = useHasGap( settings );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue, isAxialGap );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\t// If axial gap is not enabled, treat the 'top' value as the shorthand gap value.\n\t\tif ( ! isAxialGap && nextBoxGapValue?.hasOwnProperty( 'top' ) ) {\n\t\t\tsetGapValue( nextBoxGapValue.top );\n\t\t} else {\n\t\t\tsetGapValue( {\n\t\t\t\ttop: nextBoxGapValue?.top,\n\t\t\t\tleft: nextBoxGapValue?.left,\n\t\t\t} );\n\t\t}\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = useHasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = useHasAspectRatio( settings );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = useHasChildLayout( settings );\n\tconst childLayout = inheritedValue?.layout;\n\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t\tcolumnStart: undefined,\n\t\t\t\trowStart: undefined,\n\t\t\t\tcolumnSpan: undefined,\n\t\t\t\trowSpan: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\tminHeight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\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{ ( showContentSizeControl || showWideSizeControl ) && (\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __( 'Set the width of the main content area.' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showContentSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t\tinputProps={ {\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverPadding,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\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\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tinputProps={ {\n\t\t\t\t\t\t\t\tmin: minMarginValue,\n\t\t\t\t\t\t\t\tonDragStart: () => {\n\t\t\t\t\t\t\t\t\t// Reset to 0 in case the value was negative.\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( 0 );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonDragEnd: () => {\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( minimumMargin );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverMargin,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tminimumCustomValue={ -Infinity }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t\t'single-column':\n\t\t\t\t\t\t\t// If UnitControl is used, should be single-column.\n\t\t\t\t\t\t\t! showSpacingPresetsControl && ! isAxialGap,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl &&\n\t\t\t\t\t\t( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tsides={ gapSides }\n\t\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t\t\tsides={ isAxialGap ? gapSides : [ 'top' ] } // Use 'top' as the shorthand property in non-axial configurations.\n\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\tallowReset={ false }\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{ showChildLayoutControl && (\n\t\t\t\t<ChildLayoutControl\n\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showMinHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinHeightValue }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HeightControl\n\t\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\t\tvalue={ minHeightValue }\n\t\t\t\t\t\tonChange={ setMinHeightValue }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_memize","_interopRequireDefault","require","_i18n","_blocks","globalStylesChangesCache","Map","EMPTY_ARRAY","translationMap","caption","__","link","button","heading","h1","h2","h3","h4","h5","h6","getBlockNames","memoize","getBlockTypes","reduce","accumulator","name","title","isObject","obj","getTranslation","key","keyArray","split","blockName","undefined","deepCompare","changedObject","originalObject","parentPath","slice","join","allKeys","Set","Object","keys","diffs","path","changedPath","concat","getGlobalStylesChangelist","next","previous","cacheKey","JSON","stringify","has","get","changedValueTree","styles","background","color","typography","spacing","blocks","elements","settings","length","set","result","acc","curr","translation","push","getGlobalStylesChanges","options","changeList","changesLength","maxResults","entries","group","includes","map","changeValues","changeValuesLength","joinedChangesValue","sprintf","_n"],"sources":["@wordpress/block-editor/src/components/global-styles/get-global-styles-changes.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { getBlockTypes } from '@wordpress/blocks';\n\nconst globalStylesChangesCache = new Map();\nconst EMPTY_ARRAY = [];\nconst translationMap = {\n\tcaption: __( 'Caption' ),\n\tlink: __( 'Link' ),\n\tbutton: __( 'Button' ),\n\theading: __( 'Heading' ),\n\th1: __( 'H1' ),\n\th2: __( 'H2' ),\n\th3: __( 'H3' ),\n\th4: __( 'H4' ),\n\th5: __( 'H5' ),\n\th6: __( 'H6' ),\n\t'settings.color': __( 'Color' ),\n\t'settings.typography': __( 'Typography' ),\n\t'styles.color': __( 'Colors' ),\n\t'styles.spacing': __( 'Spacing' ),\n\t'styles.background': __( 'Background' ),\n\t'styles.typography': __( 'Typography' ),\n};\nconst getBlockNames = memoize( () =>\n\tgetBlockTypes().reduce( ( accumulator, { name, title } ) => {\n\t\taccumulator[ name ] = title;\n\t\treturn accumulator;\n\t}, {} )\n);\nconst isObject = ( obj ) => obj !== null && typeof obj === 'object';\n\n/**\n * Get the translation for a given global styles key.\n * @param {string} key A key representing a path to a global style property or setting.\n * @return {string|undefined} A translated key or undefined if no translation exists.\n */\nfunction getTranslation( key ) {\n\tif ( translationMap[ key ] ) {\n\t\treturn translationMap[ key ];\n\t}\n\n\tconst keyArray = key.split( '.' );\n\n\tif ( keyArray?.[ 0 ] === 'blocks' ) {\n\t\tconst blockName = getBlockNames()?.[ keyArray[ 1 ] ];\n\t\treturn blockName || keyArray[ 1 ];\n\t}\n\n\tif ( keyArray?.[ 0 ] === 'elements' ) {\n\t\treturn translationMap[ keyArray[ 1 ] ] || keyArray[ 1 ];\n\t}\n\n\treturn undefined;\n}\n\n/**\n * A deep comparison of two objects, optimized for comparing global styles.\n * @param {Object} changedObject The changed object to compare.\n * @param {Object} originalObject The original object to compare against.\n * @param {string} parentPath A key/value pair object of block names and their rendered titles.\n * @return {string[]} An array of paths whose values have changed.\n */\nfunction deepCompare( changedObject, originalObject, parentPath = '' ) {\n\t// We have two non-object values to compare.\n\tif ( ! isObject( changedObject ) && ! isObject( originalObject ) ) {\n\t\t/*\n\t\t * Only return a path if the value has changed.\n\t\t * And then only the path name up to 2 levels deep.\n\t\t */\n\t\treturn changedObject !== originalObject\n\t\t\t? parentPath.split( '.' ).slice( 0, 2 ).join( '.' )\n\t\t\t: undefined;\n\t}\n\n\t// Enable comparison when an object doesn't have a corresponding property to compare.\n\tchangedObject = isObject( changedObject ) ? changedObject : {};\n\toriginalObject = isObject( originalObject ) ? originalObject : {};\n\n\tconst allKeys = new Set( [\n\t\t...Object.keys( changedObject ),\n\t\t...Object.keys( originalObject ),\n\t] );\n\n\tlet diffs = [];\n\tfor ( const key of allKeys ) {\n\t\tconst path = parentPath ? parentPath + '.' + key : key;\n\t\tconst changedPath = deepCompare(\n\t\t\tchangedObject[ key ],\n\t\t\toriginalObject[ key ],\n\t\t\tpath\n\t\t);\n\t\tif ( changedPath ) {\n\t\t\tdiffs = diffs.concat( changedPath );\n\t\t}\n\t}\n\treturn diffs;\n}\n\n/**\n * Returns an array of translated summarized global styles changes.\n * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @return {Array[]} A 2-dimensional array of tuples: [ \"group\", \"translated change\" ].\n */\nexport function getGlobalStylesChangelist( next, previous ) {\n\tconst cacheKey = JSON.stringify( { next, previous } );\n\n\tif ( globalStylesChangesCache.has( cacheKey ) ) {\n\t\treturn globalStylesChangesCache.get( cacheKey );\n\t}\n\n\t/*\n\t * Compare the two changesets with normalized keys.\n\t * The order of these keys determines the order in which\n\t * they'll appear in the results.\n\t */\n\tconst changedValueTree = deepCompare(\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: next?.styles?.background,\n\t\t\t\tcolor: next?.styles?.color,\n\t\t\t\ttypography: next?.styles?.typography,\n\t\t\t\tspacing: next?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: next?.styles?.blocks,\n\t\t\telements: next?.styles?.elements,\n\t\t\tsettings: next?.settings,\n\t\t},\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: previous?.styles?.background,\n\t\t\t\tcolor: previous?.styles?.color,\n\t\t\t\ttypography: previous?.styles?.typography,\n\t\t\t\tspacing: previous?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: previous?.styles?.blocks,\n\t\t\telements: previous?.styles?.elements,\n\t\t\tsettings: previous?.settings,\n\t\t}\n\t);\n\n\tif ( ! changedValueTree.length ) {\n\t\tglobalStylesChangesCache.set( cacheKey, EMPTY_ARRAY );\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\t// Remove duplicate results.\n\tconst result = [ ...new Set( changedValueTree ) ]\n\t\t/*\n\t\t * Translate the keys.\n\t\t * Remove empty translations.\n\t\t */\n\t\t.reduce( ( acc, curr ) => {\n\t\t\tconst translation = getTranslation( curr );\n\t\t\tif ( translation ) {\n\t\t\t\tacc.push( [ curr.split( '.' )[ 0 ], translation ] );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\tglobalStylesChangesCache.set( cacheKey, result );\n\n\treturn result;\n}\n\n/**\n * From a getGlobalStylesChangelist() result, returns an array of translated global styles changes, grouped by type.\n * The types are 'blocks', 'elements', 'settings', and 'styles'.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @param {{maxResults:number}} options Options. maxResults: results to return before truncating.\n * @return {string[]} An array of translated changes.\n */\nexport default function getGlobalStylesChanges( next, previous, options = {} ) {\n\tlet changeList = getGlobalStylesChangelist( next, previous );\n\tconst changesLength = changeList.length;\n\tconst { maxResults } = options;\n\n\tif ( changesLength ) {\n\t\t// Truncate to `n` results if necessary.\n\t\tif ( !! maxResults && changesLength > maxResults ) {\n\t\t\tchangeList = changeList.slice( 0, maxResults );\n\t\t}\n\t\treturn Object.entries(\n\t\t\tchangeList.reduce( ( acc, curr ) => {\n\t\t\t\tconst group = acc[ curr[ 0 ] ] || [];\n\t\t\t\tif ( ! group.includes( curr[ 1 ] ) ) {\n\t\t\t\t\tacc[ curr[ 0 ] ] = [ ...group, curr[ 1 ] ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} )\n\t\t).map( ( [ key, changeValues ] ) => {\n\t\t\tconst changeValuesLength = changeValues.length;\n\t\t\tconst joinedChangesValue = changeValues.join(\n\t\t\t\t/* translators: Used between list items, there is a space after the comma. */\n\t\t\t\t__( ', ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t);\n\t\t\tswitch ( key ) {\n\t\t\t\tcase 'blocks': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of block names separated by a comma.\n\t\t\t\t\t\t_n( '%s block.', '%s blocks.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'elements': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of element names separated by a comma.\n\t\t\t\t\t\t_n( '%s element.', '%s elements.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'settings': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json setting labels separated by a comma.\n\t\t\t\t\t\t__( '%s settings.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'styles': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json top-level styles labels separated by a comma.\n\t\t\t\t\t\t__( '%s styles.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of global styles changes separated by a comma.\n\t\t\t\t\t\t__( '%s.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn EMPTY_ARRAY;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_memize","_interopRequireDefault","require","_i18n","_blocks","globalStylesChangesCache","Map","EMPTY_ARRAY","translationMap","caption","__","link","button","heading","h1","h2","h3","h4","h5","h6","getBlockNames","memoize","getBlockTypes","reduce","accumulator","name","title","isObject","obj","getTranslation","key","keyArray","split","blockName","undefined","deepCompare","changedObject","originalObject","parentPath","slice","join","allKeys","Set","Object","keys","diffs","path","changedPath","concat","getGlobalStylesChangelist","next","previous","cacheKey","JSON","stringify","has","get","changedValueTree","styles","background","color","typography","spacing","blocks","elements","settings","length","set","result","acc","curr","translation","push","getGlobalStylesChanges","options","changeList","changesLength","maxResults","entries","group","includes","map","changeValues","changeValuesLength","joinedChangesValue","sprintf","_n"],"sources":["@wordpress/block-editor/src/components/global-styles/get-global-styles-changes.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { getBlockTypes } from '@wordpress/blocks';\n\nconst globalStylesChangesCache = new Map();\nconst EMPTY_ARRAY = [];\nconst translationMap = {\n\tcaption: __( 'Caption' ),\n\tlink: __( 'Link' ),\n\tbutton: __( 'Button' ),\n\theading: __( 'Heading' ),\n\th1: __( 'H1' ),\n\th2: __( 'H2' ),\n\th3: __( 'H3' ),\n\th4: __( 'H4' ),\n\th5: __( 'H5' ),\n\th6: __( 'H6' ),\n\t'settings.color': __( 'Color' ),\n\t'settings.typography': __( 'Typography' ),\n\t'styles.color': __( 'Colors' ),\n\t'styles.spacing': __( 'Spacing' ),\n\t'styles.background': __( 'Background' ),\n\t'styles.typography': __( 'Typography' ),\n};\nconst getBlockNames = memoize( () =>\n\tgetBlockTypes().reduce( ( accumulator, { name, title } ) => {\n\t\taccumulator[ name ] = title;\n\t\treturn accumulator;\n\t}, {} )\n);\nconst isObject = ( obj ) => obj !== null && typeof obj === 'object';\n\n/**\n * Get the translation for a given global styles key.\n * @param {string} key A key representing a path to a global style property or setting.\n * @return {string|undefined} A translated key or undefined if no translation exists.\n */\nfunction getTranslation( key ) {\n\tif ( translationMap[ key ] ) {\n\t\treturn translationMap[ key ];\n\t}\n\n\tconst keyArray = key.split( '.' );\n\n\tif ( keyArray?.[ 0 ] === 'blocks' ) {\n\t\tconst blockName = getBlockNames()?.[ keyArray[ 1 ] ];\n\t\treturn blockName || keyArray[ 1 ];\n\t}\n\n\tif ( keyArray?.[ 0 ] === 'elements' ) {\n\t\treturn translationMap[ keyArray[ 1 ] ] || keyArray[ 1 ];\n\t}\n\n\treturn undefined;\n}\n\n/**\n * A deep comparison of two objects, optimized for comparing global styles.\n * @param {Object} changedObject The changed object to compare.\n * @param {Object} originalObject The original object to compare against.\n * @param {string} parentPath A key/value pair object of block names and their rendered titles.\n * @return {string[]} An array of paths whose values have changed.\n */\nfunction deepCompare( changedObject, originalObject, parentPath = '' ) {\n\t// We have two non-object values to compare.\n\tif ( ! isObject( changedObject ) && ! isObject( originalObject ) ) {\n\t\t/*\n\t\t * Only return a path if the value has changed.\n\t\t * And then only the path name up to 2 levels deep.\n\t\t */\n\t\treturn changedObject !== originalObject\n\t\t\t? parentPath.split( '.' ).slice( 0, 2 ).join( '.' )\n\t\t\t: undefined;\n\t}\n\n\t// Enable comparison when an object doesn't have a corresponding property to compare.\n\tchangedObject = isObject( changedObject ) ? changedObject : {};\n\toriginalObject = isObject( originalObject ) ? originalObject : {};\n\n\tconst allKeys = new Set( [\n\t\t...Object.keys( changedObject ),\n\t\t...Object.keys( originalObject ),\n\t] );\n\n\tlet diffs = [];\n\tfor ( const key of allKeys ) {\n\t\tconst path = parentPath ? parentPath + '.' + key : key;\n\t\tconst changedPath = deepCompare(\n\t\t\tchangedObject[ key ],\n\t\t\toriginalObject[ key ],\n\t\t\tpath\n\t\t);\n\t\tif ( changedPath ) {\n\t\t\tdiffs = diffs.concat( changedPath );\n\t\t}\n\t}\n\treturn diffs;\n}\n\n/**\n * Returns an array of translated summarized global styles changes.\n * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @return {Array[]} A 2-dimensional array of tuples: [ \"group\", \"translated change\" ].\n */\nexport function getGlobalStylesChangelist( next, previous ) {\n\tconst cacheKey = JSON.stringify( { next, previous } );\n\n\tif ( globalStylesChangesCache.has( cacheKey ) ) {\n\t\treturn globalStylesChangesCache.get( cacheKey );\n\t}\n\n\t/*\n\t * Compare the two changesets with normalized keys.\n\t * The order of these keys determines the order in which\n\t * they'll appear in the results.\n\t */\n\tconst changedValueTree = deepCompare(\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: next?.styles?.background,\n\t\t\t\tcolor: next?.styles?.color,\n\t\t\t\ttypography: next?.styles?.typography,\n\t\t\t\tspacing: next?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: next?.styles?.blocks,\n\t\t\telements: next?.styles?.elements,\n\t\t\tsettings: next?.settings,\n\t\t},\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: previous?.styles?.background,\n\t\t\t\tcolor: previous?.styles?.color,\n\t\t\t\ttypography: previous?.styles?.typography,\n\t\t\t\tspacing: previous?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: previous?.styles?.blocks,\n\t\t\telements: previous?.styles?.elements,\n\t\t\tsettings: previous?.settings,\n\t\t}\n\t);\n\n\tif ( ! changedValueTree.length ) {\n\t\tglobalStylesChangesCache.set( cacheKey, EMPTY_ARRAY );\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\t// Remove duplicate results.\n\tconst result = [ ...new Set( changedValueTree ) ]\n\t\t/*\n\t\t * Translate the keys.\n\t\t * Remove empty translations.\n\t\t */\n\t\t.reduce( ( acc, curr ) => {\n\t\t\tconst translation = getTranslation( curr );\n\t\t\tif ( translation ) {\n\t\t\t\tacc.push( [ curr.split( '.' )[ 0 ], translation ] );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\tglobalStylesChangesCache.set( cacheKey, result );\n\n\treturn result;\n}\n\n/**\n * From a getGlobalStylesChangelist() result, returns an array of translated global styles changes, grouped by type.\n * The types are 'blocks', 'elements', 'settings', and 'styles'.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @param {{maxResults:number}} options Options. maxResults: results to return before truncating.\n * @return {string[]} An array of translated changes.\n */\nexport default function getGlobalStylesChanges( next, previous, options = {} ) {\n\tlet changeList = getGlobalStylesChangelist( next, previous );\n\tconst changesLength = changeList.length;\n\tconst { maxResults } = options;\n\n\tif ( changesLength ) {\n\t\t// Truncate to `n` results if necessary.\n\t\tif ( !! maxResults && changesLength > maxResults ) {\n\t\t\tchangeList = changeList.slice( 0, maxResults );\n\t\t}\n\t\treturn Object.entries(\n\t\t\tchangeList.reduce( ( acc, curr ) => {\n\t\t\t\tconst group = acc[ curr[ 0 ] ] || [];\n\t\t\t\tif ( ! group.includes( curr[ 1 ] ) ) {\n\t\t\t\t\tacc[ curr[ 0 ] ] = [ ...group, curr[ 1 ] ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} )\n\t\t).map( ( [ key, changeValues ] ) => {\n\t\t\tconst changeValuesLength = changeValues.length;\n\t\t\tconst joinedChangesValue = changeValues.join(\n\t\t\t\t/* translators: Used between list items, there is a space after the comma. */\n\t\t\t\t__( ', ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t);\n\t\t\tswitch ( key ) {\n\t\t\t\tcase 'blocks': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of block names separated by a comma.\n\t\t\t\t\t\t_n( '%s block.', '%s blocks.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'elements': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of element names separated by a comma.\n\t\t\t\t\t\t_n( '%s element.', '%s elements.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'settings': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json setting labels separated by a comma.\n\t\t\t\t\t\t__( '%s settings.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'styles': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json top-level styles labels separated by a comma.\n\t\t\t\t\t\t__( '%s styles.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of global styles changes separated by a comma.\n\t\t\t\t\t\t__( '%s.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn EMPTY_ARRAY;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA,MAAMG,wBAAwB,GAAG,IAAIC,GAAG,CAAC,CAAC;AAC1C,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,cAAc,GAAG;EACtBC,OAAO,EAAE,IAAAC,QAAE,EAAE,SAAU,CAAC;EACxBC,IAAI,EAAE,IAAAD,QAAE,EAAE,MAAO,CAAC;EAClBE,MAAM,EAAE,IAAAF,QAAE,EAAE,QAAS,CAAC;EACtBG,OAAO,EAAE,IAAAH,QAAE,EAAE,SAAU,CAAC;EACxBI,EAAE,EAAE,IAAAJ,QAAE,EAAE,IAAK,CAAC;EACdK,EAAE,EAAE,IAAAL,QAAE,EAAE,IAAK,CAAC;EACdM,EAAE,EAAE,IAAAN,QAAE,EAAE,IAAK,CAAC;EACdO,EAAE,EAAE,IAAAP,QAAE,EAAE,IAAK,CAAC;EACdQ,EAAE,EAAE,IAAAR,QAAE,EAAE,IAAK,CAAC;EACdS,EAAE,EAAE,IAAAT,QAAE,EAAE,IAAK,CAAC;EACd,gBAAgB,EAAE,IAAAA,QAAE,EAAE,OAAQ,CAAC;EAC/B,qBAAqB,EAAE,IAAAA,QAAE,EAAE,YAAa,CAAC;EACzC,cAAc,EAAE,IAAAA,QAAE,EAAE,QAAS,CAAC;EAC9B,gBAAgB,EAAE,IAAAA,QAAE,EAAE,SAAU,CAAC;EACjC,mBAAmB,EAAE,IAAAA,QAAE,EAAE,YAAa,CAAC;EACvC,mBAAmB,EAAE,IAAAA,QAAE,EAAE,YAAa;AACvC,CAAC;AACD,MAAMU,aAAa,GAAG,IAAAC,eAAO,EAAE,MAC9B,IAAAC,qBAAa,EAAC,CAAC,CAACC,MAAM,CAAE,CAAEC,WAAW,EAAE;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAM;EAC3DF,WAAW,CAAEC,IAAI,CAAE,GAAGC,KAAK;EAC3B,OAAOF,WAAW;AACnB,CAAC,EAAE,CAAC,CAAE,CACP,CAAC;AACD,MAAMG,QAAQ,GAAKC,GAAG,IAAMA,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ;;AAEnE;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAAEC,GAAG,EAAG;EAC9B,IAAKtB,cAAc,CAAEsB,GAAG,CAAE,EAAG;IAC5B,OAAOtB,cAAc,CAAEsB,GAAG,CAAE;EAC7B;EAEA,MAAMC,QAAQ,GAAGD,GAAG,CAACE,KAAK,CAAE,GAAI,CAAC;EAEjC,IAAKD,QAAQ,GAAI,CAAC,CAAE,KAAK,QAAQ,EAAG;IACnC,MAAME,SAAS,GAAGb,aAAa,CAAC,CAAC,GAAIW,QAAQ,CAAE,CAAC,CAAE,CAAE;IACpD,OAAOE,SAAS,IAAIF,QAAQ,CAAE,CAAC,CAAE;EAClC;EAEA,IAAKA,QAAQ,GAAI,CAAC,CAAE,KAAK,UAAU,EAAG;IACrC,OAAOvB,cAAc,CAAEuB,QAAQ,CAAE,CAAC,CAAE,CAAE,IAAIA,QAAQ,CAAE,CAAC,CAAE;EACxD;EAEA,OAAOG,SAAS;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAAEC,aAAa,EAAEC,cAAc,EAAEC,UAAU,GAAG,EAAE,EAAG;EACtE;EACA,IAAK,CAAEX,QAAQ,CAAES,aAAc,CAAC,IAAI,CAAET,QAAQ,CAAEU,cAAe,CAAC,EAAG;IAClE;AACF;AACA;AACA;IACE,OAAOD,aAAa,KAAKC,cAAc,GACpCC,UAAU,CAACN,KAAK,CAAE,GAAI,CAAC,CAACO,KAAK,CAAE,CAAC,EAAE,CAAE,CAAC,CAACC,IAAI,CAAE,GAAI,CAAC,GACjDN,SAAS;EACb;;EAEA;EACAE,aAAa,GAAGT,QAAQ,CAAES,aAAc,CAAC,GAAGA,aAAa,GAAG,CAAC,CAAC;EAC9DC,cAAc,GAAGV,QAAQ,CAAEU,cAAe,CAAC,GAAGA,cAAc,GAAG,CAAC,CAAC;EAEjE,MAAMI,OAAO,GAAG,IAAIC,GAAG,CAAE,CACxB,GAAGC,MAAM,CAACC,IAAI,CAAER,aAAc,CAAC,EAC/B,GAAGO,MAAM,CAACC,IAAI,CAAEP,cAAe,CAAC,CAC/B,CAAC;EAEH,IAAIQ,KAAK,GAAG,EAAE;EACd,KAAM,MAAMf,GAAG,IAAIW,OAAO,EAAG;IAC5B,MAAMK,IAAI,GAAGR,UAAU,GAAGA,UAAU,GAAG,GAAG,GAAGR,GAAG,GAAGA,GAAG;IACtD,MAAMiB,WAAW,GAAGZ,WAAW,CAC9BC,aAAa,CAAEN,GAAG,CAAE,EACpBO,cAAc,CAAEP,GAAG,CAAE,EACrBgB,IACD,CAAC;IACD,IAAKC,WAAW,EAAG;MAClBF,KAAK,GAAGA,KAAK,CAACG,MAAM,CAAED,WAAY,CAAC;IACpC;EACD;EACA,OAAOF,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,yBAAyBA,CAAEC,IAAI,EAAEC,QAAQ,EAAG;EAC3D,MAAMC,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAE;IAAEJ,IAAI;IAAEC;EAAS,CAAE,CAAC;EAErD,IAAK9C,wBAAwB,CAACkD,GAAG,CAAEH,QAAS,CAAC,EAAG;IAC/C,OAAO/C,wBAAwB,CAACmD,GAAG,CAAEJ,QAAS,CAAC;EAChD;;EAEA;AACD;AACA;AACA;AACA;EACC,MAAMK,gBAAgB,GAAGtB,WAAW,CACnC;IACCuB,MAAM,EAAE;MACPC,UAAU,EAAET,IAAI,EAAEQ,MAAM,EAAEC,UAAU;MACpCC,KAAK,EAAEV,IAAI,EAAEQ,MAAM,EAAEE,KAAK;MAC1BC,UAAU,EAAEX,IAAI,EAAEQ,MAAM,EAAEG,UAAU;MACpCC,OAAO,EAAEZ,IAAI,EAAEQ,MAAM,EAAEI;IACxB,CAAC;IACDC,MAAM,EAAEb,IAAI,EAAEQ,MAAM,EAAEK,MAAM;IAC5BC,QAAQ,EAAEd,IAAI,EAAEQ,MAAM,EAAEM,QAAQ;IAChCC,QAAQ,EAAEf,IAAI,EAAEe;EACjB,CAAC,EACD;IACCP,MAAM,EAAE;MACPC,UAAU,EAAER,QAAQ,EAAEO,MAAM,EAAEC,UAAU;MACxCC,KAAK,EAAET,QAAQ,EAAEO,MAAM,EAAEE,KAAK;MAC9BC,UAAU,EAAEV,QAAQ,EAAEO,MAAM,EAAEG,UAAU;MACxCC,OAAO,EAAEX,QAAQ,EAAEO,MAAM,EAAEI;IAC5B,CAAC;IACDC,MAAM,EAAEZ,QAAQ,EAAEO,MAAM,EAAEK,MAAM;IAChCC,QAAQ,EAAEb,QAAQ,EAAEO,MAAM,EAAEM,QAAQ;IACpCC,QAAQ,EAAEd,QAAQ,EAAEc;EACrB,CACD,CAAC;EAED,IAAK,CAAER,gBAAgB,CAACS,MAAM,EAAG;IAChC7D,wBAAwB,CAAC8D,GAAG,CAAEf,QAAQ,EAAE7C,WAAY,CAAC;IACrD,OAAOA,WAAW;EACnB;;EAEA;EACA,MAAM6D,MAAM,GAAG,CAAE,GAAG,IAAI1B,GAAG,CAAEe,gBAAiB,CAAC;EAC9C;AACF;AACA;AACA,KAHE,CAIClC,MAAM,CAAE,CAAE8C,GAAG,EAAEC,IAAI,KAAM;IACzB,MAAMC,WAAW,GAAG1C,cAAc,CAAEyC,IAAK,CAAC;IAC1C,IAAKC,WAAW,EAAG;MAClBF,GAAG,CAACG,IAAI,CAAE,CAAEF,IAAI,CAACtC,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE,EAAEuC,WAAW,CAAG,CAAC;IACpD;IACA,OAAOF,GAAG;EACX,CAAC,EAAE,EAAG,CAAC;EAERhE,wBAAwB,CAAC8D,GAAG,CAAEf,QAAQ,EAAEgB,MAAO,CAAC;EAEhD,OAAOA,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASK,sBAAsBA,CAAEvB,IAAI,EAAEC,QAAQ,EAAEuB,OAAO,GAAG,CAAC,CAAC,EAAG;EAC9E,IAAIC,UAAU,GAAG1B,yBAAyB,CAAEC,IAAI,EAAEC,QAAS,CAAC;EAC5D,MAAMyB,aAAa,GAAGD,UAAU,CAACT,MAAM;EACvC,MAAM;IAAEW;EAAW,CAAC,GAAGH,OAAO;EAE9B,IAAKE,aAAa,EAAG;IACpB;IACA,IAAK,CAAC,CAAEC,UAAU,IAAID,aAAa,GAAGC,UAAU,EAAG;MAClDF,UAAU,GAAGA,UAAU,CAACpC,KAAK,CAAE,CAAC,EAAEsC,UAAW,CAAC;IAC/C;IACA,OAAOlC,MAAM,CAACmC,OAAO,CACpBH,UAAU,CAACpD,MAAM,CAAE,CAAE8C,GAAG,EAAEC,IAAI,KAAM;MACnC,MAAMS,KAAK,GAAGV,GAAG,CAAEC,IAAI,CAAE,CAAC,CAAE,CAAE,IAAI,EAAE;MACpC,IAAK,CAAES,KAAK,CAACC,QAAQ,CAAEV,IAAI,CAAE,CAAC,CAAG,CAAC,EAAG;QACpCD,GAAG,CAAEC,IAAI,CAAE,CAAC,CAAE,CAAE,GAAG,CAAE,GAAGS,KAAK,EAAET,IAAI,CAAE,CAAC,CAAE,CAAE;MAC3C;MACA,OAAOD,GAAG;IACX,CAAC,EAAE,CAAC,CAAE,CACP,CAAC,CAACY,GAAG,CAAE,CAAE,CAAEnD,GAAG,EAAEoD,YAAY,CAAE,KAAM;MACnC,MAAMC,kBAAkB,GAAGD,YAAY,CAAChB,MAAM;MAC9C,MAAMkB,kBAAkB,GAAGF,YAAY,CAAC1C,IAAI,CAC3C;MACA,IAAA9B,QAAE,EAAE,IAAK,CAAC,CAAC;MACZ,CAAC;MACD,QAASoB,GAAG;QACX,KAAK,QAAQ;UAAE;YACd,OAAO,IAAAuD,aAAO;YACb;YACA,IAAAC,QAAE,EAAE,WAAW,EAAE,YAAY,EAAEH,kBAAmB,CAAC,EACnDC,kBACD,CAAC;UACF;QACA,KAAK,UAAU;UAAE;YAChB,OAAO,IAAAC,aAAO;YACb;YACA,IAAAC,QAAE,EAAE,aAAa,EAAE,cAAc,EAAEH,kBAAmB,CAAC,EACvDC,kBACD,CAAC;UACF;QACA,KAAK,UAAU;UAAE;YAChB,OAAO,IAAAC,aAAO;YACb;YACA,IAAA3E,QAAE,EAAE,cAAe,CAAC,EACpB0E,kBACD,CAAC;UACF;QACA,KAAK,QAAQ;UAAE;YACd,OAAO,IAAAC,aAAO;YACb;YACA,IAAA3E,QAAE,EAAE,YAAa,CAAC,EAClB0E,kBACD,CAAC;UACF;QACA;UAAS;YACR,OAAO,IAAAC,aAAO;YACb;YACA,IAAA3E,QAAE,EAAE,KAAM,CAAC,EACX0E,kBACD,CAAC;UACF;MACD;IACD,CAAE,CAAC;EACJ;EAEA,OAAO7E,WAAW;AACnB","ignoreList":[]}
|