@wordpress/block-editor 12.19.3 → 12.20.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/components/block-canvas/index.js +2 -0
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js +14 -17
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-inspector/index.js +0 -3
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/index.js +9 -9
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-preview/index.js +4 -0
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/child-layout-control/index.js +37 -5
- package/build/components/child-layout-control/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 -2
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +30 -19
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/observe-typing/index.js +5 -10
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +1 -31
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +1 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +7 -14
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +5 -8
- package/build/components/url-input/index.js.map +1 -1
- package/build/hooks/layout-child.js +50 -1
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/position.js +0 -1
- package/build/hooks/position.js.map +1 -1
- package/build/layouts/grid.js +105 -12
- package/build/layouts/grid.js.map +1 -1
- package/build/store/actions.js +2 -30
- package/build/store/actions.js.map +1 -1
- package/build-module/components/block-canvas/index.js +2 -0
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +14 -17
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -4
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/index.js +9 -9
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +4 -0
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +38 -6
- package/build-module/components/child-layout-control/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 -2
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +30 -19
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/observe-typing/index.js +5 -10
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +1 -31
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -2
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +8 -14
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +5 -8
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/hooks/layout-child.js +50 -1
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/position.js +0 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/layouts/grid.js +107 -14
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/store/actions.js +2 -30
- package/build-module/store/actions.js.map +1 -1
- package/build-style/style-rtl.css +12 -17
- package/build-style/style.css +12 -17
- package/package.json +31 -32
- package/src/components/block-canvas/index.js +2 -0
- package/src/components/block-heading-level-dropdown/index.js +17 -25
- package/src/components/block-inspector/index.js +0 -11
- package/src/components/block-list/index.js +55 -55
- package/src/components/block-preview/index.js +6 -1
- package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
- package/src/components/block-styles/style.scss +0 -4
- package/src/components/block-toolbar/style.scss +11 -6
- package/src/components/child-layout-control/index.js +85 -44
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/font-appearance-control/index.js +0 -1
- package/src/components/global-styles/dimensions-panel.js +36 -24
- package/src/components/global-styles/test/use-global-styles-output.js +3 -2
- package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
- package/src/components/observe-typing/index.js +7 -10
- package/src/components/rich-text/format-toolbar-container.js +1 -48
- package/src/components/rich-text/index.js +0 -1
- package/src/components/skip-to-selected-block/index.js +10 -13
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/src/components/url-input/index.js +6 -15
- package/src/hooks/anchor.scss +1 -1
- package/src/hooks/layout-child.js +53 -1
- package/src/hooks/position.js +0 -1
- package/src/layouts/grid.js +131 -52
- package/src/layouts/test/grid.js +16 -2
- package/src/store/actions.js +2 -38
- package/src/store/test/actions.js +0 -101
- package/src/style.scss +0 -1
- package/build/components/default-style-picker/index.js +0 -70
- package/build/components/default-style-picker/index.js.map +0 -1
- package/build-module/components/default-style-picker/index.js +0 -63
- package/build-module/components/default-style-picker/index.js.map +0 -1
- package/src/components/block-settings-menu/style.scss +0 -3
- package/src/components/default-style-picker/index.js +0 -70
|
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUnitControl as UnitControl } from '@wordpress/components';
|
|
5
|
+
import { __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUnitControl as UnitControl, __experimentalInputControl as InputControl, __experimentalHStack as HStack } from '@wordpress/components';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
import { useEffect } from '@wordpress/element';
|
|
8
8
|
function helpText(selfStretch, parentLayout) {
|
|
@@ -37,8 +37,17 @@ export default function ChildLayoutControl({
|
|
|
37
37
|
}) {
|
|
38
38
|
const {
|
|
39
39
|
selfStretch,
|
|
40
|
-
flexSize
|
|
40
|
+
flexSize,
|
|
41
|
+
columnSpan,
|
|
42
|
+
rowSpan
|
|
41
43
|
} = childLayout;
|
|
44
|
+
const {
|
|
45
|
+
type: parentType,
|
|
46
|
+
default: {
|
|
47
|
+
type: defaultParentType = 'default'
|
|
48
|
+
} = {}
|
|
49
|
+
} = parentLayout !== null && parentLayout !== void 0 ? parentLayout : {};
|
|
50
|
+
const parentLayoutType = parentType || defaultParentType;
|
|
42
51
|
useEffect(() => {
|
|
43
52
|
if (selfStretch === 'fixed' && !flexSize) {
|
|
44
53
|
onChange({
|
|
@@ -47,7 +56,7 @@ export default function ChildLayoutControl({
|
|
|
47
56
|
});
|
|
48
57
|
}
|
|
49
58
|
}, []);
|
|
50
|
-
return createElement(Fragment, null, createElement(ToggleGroupControl, {
|
|
59
|
+
return createElement(Fragment, null, parentLayoutType === 'flex' && createElement(Fragment, null, createElement(ToggleGroupControl, {
|
|
51
60
|
__nextHasNoMarginBottom: true,
|
|
52
61
|
size: '__unstable-large',
|
|
53
62
|
label: childLayoutOrientation(parentLayout),
|
|
@@ -56,7 +65,6 @@ export default function ChildLayoutControl({
|
|
|
56
65
|
onChange: value => {
|
|
57
66
|
const newFlexSize = value !== 'fixed' ? null : flexSize;
|
|
58
67
|
onChange({
|
|
59
|
-
...childLayout,
|
|
60
68
|
selfStretch: value,
|
|
61
69
|
flexSize: newFlexSize
|
|
62
70
|
});
|
|
@@ -78,12 +86,36 @@ export default function ChildLayoutControl({
|
|
|
78
86
|
size: '__unstable-large',
|
|
79
87
|
onChange: value => {
|
|
80
88
|
onChange({
|
|
81
|
-
|
|
89
|
+
selfStretch,
|
|
82
90
|
flexSize: value
|
|
83
91
|
});
|
|
84
92
|
},
|
|
85
93
|
value: flexSize
|
|
86
|
-
}))
|
|
94
|
+
})), parentLayoutType === 'grid' && createElement(HStack, null, createElement(InputControl, {
|
|
95
|
+
size: '__unstable-large',
|
|
96
|
+
label: __('Column Span'),
|
|
97
|
+
type: "number",
|
|
98
|
+
onChange: value => {
|
|
99
|
+
onChange({
|
|
100
|
+
rowSpan,
|
|
101
|
+
columnSpan: value
|
|
102
|
+
});
|
|
103
|
+
},
|
|
104
|
+
value: columnSpan,
|
|
105
|
+
min: 1
|
|
106
|
+
}), createElement(InputControl, {
|
|
107
|
+
size: '__unstable-large',
|
|
108
|
+
label: __('Row Span'),
|
|
109
|
+
type: "number",
|
|
110
|
+
onChange: value => {
|
|
111
|
+
onChange({
|
|
112
|
+
columnSpan,
|
|
113
|
+
rowSpan: value
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
value: rowSpan,
|
|
117
|
+
min: 1
|
|
118
|
+
})));
|
|
87
119
|
}
|
|
88
120
|
export function childLayoutOrientation(parentLayout) {
|
|
89
121
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__","useEffect","helpText","selfStretch","parentLayout","orientation","ChildLayoutControl","value","childLayout","onChange","flexSize","createElement","Fragment","__nextHasNoMarginBottom","size","label","childLayoutOrientation","help","newFlexSize","isBlock","key"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst { selfStretch, flexSize } = childLayout;\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst newFlexSize
|
|
1
|
+
{"version":3,"names":["__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalInputControl","InputControl","__experimentalHStack","HStack","__","useEffect","helpText","selfStretch","parentLayout","orientation","ChildLayoutControl","value","childLayout","onChange","flexSize","columnSpan","rowSpan","type","parentType","default","defaultParentType","parentLayoutType","createElement","Fragment","__nextHasNoMarginBottom","size","label","childLayoutOrientation","help","newFlexSize","isBlock","key","min"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst { selfStretch, flexSize, columnSpan, rowSpan } = childLayout;\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ parentLayoutType === 'flex' && (\n\t\t\t\t<>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst newFlexSize =\n\t\t\t\t\t\t\t\tvalue !== 'fixed' ? null : flexSize;\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock={ true }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fit' }\n\t\t\t\t\t\t\tvalue={ 'fit' }\n\t\t\t\t\t\t\tlabel={ __( 'Fit' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fill' }\n\t\t\t\t\t\t\tvalue={ 'fill' }\n\t\t\t\t\t\t\tlabel={ __( 'Fill' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fixed' }\n\t\t\t\t\t\t\tvalue={ 'fixed' }\n\t\t\t\t\t\t\tlabel={ __( 'Fixed' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\tselfStretch,\n\t\t\t\t\t\t\t\t\tflexSize: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ flexSize }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ parentLayoutType === 'grid' && (\n\t\t\t\t<HStack>\n\t\t\t\t\t<InputControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ __( 'Column Span' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\tcolumnSpan: value,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ columnSpan }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t\t<InputControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ __( 'Row Span' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\trowSpan: value,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ rowSpan }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n"],"mappings":"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"}
|
|
@@ -88,7 +88,6 @@ function NonDefaultControls({
|
|
|
88
88
|
};
|
|
89
89
|
const [isCustom, setIsCustom] = useState(() => !!format && !suggestedFormats.includes(format));
|
|
90
90
|
return createElement(VStack, null, createElement(CustomSelectControl, {
|
|
91
|
-
__nextUnconstrainedWidth: true,
|
|
92
91
|
label: __('Choose a format'),
|
|
93
92
|
options: [...suggestedOptions, customOption],
|
|
94
93
|
value: isCustom ? customOption : (_suggestedOptions$fin = suggestedOptions.find(option => option.format === format)) !== null && _suggestedOptions$fin !== void 0 ? _suggestedOptions$fin : customOption,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_x","__","dateI18n","useState","createInterpolateElement","TextControl","ExternalLink","VisuallyHidden","CustomSelectControl","ToggleControl","__experimentalVStack","VStack","EXAMPLE_DATE","Date","DateFormatPicker","format","defaultFormat","onChange","createElement","className","as","__nextHasNoMarginBottom","label","help","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","suggestedOptions","map","suggestedFormat","index","key","name","customOption","__experimentalHint","isCustom","setIsCustom","includes","
|
|
1
|
+
{"version":3,"names":["_x","__","dateI18n","useState","createInterpolateElement","TextControl","ExternalLink","VisuallyHidden","CustomSelectControl","ToggleControl","__experimentalVStack","VStack","EXAMPLE_DATE","Date","DateFormatPicker","format","defaultFormat","onChange","createElement","className","as","__nextHasNoMarginBottom","label","help","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","suggestedOptions","map","suggestedFormat","index","key","name","customOption","__experimentalHint","isCustom","setIsCustom","includes","options","value","find","option","selectedItem","hideLabelFromVision","Link","href"],"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tCustomSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n// So that we can illustrate the different formats in the dropdown properly,\n// show a date that has a day greater than 12 and a month with more than three\n// letters. Here we're using 2022-01-25 which is when WordPress 5.9 was\n// released.\nconst EXAMPLE_DATE = new Date( 2022, 0, 25 );\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\tEXAMPLE_DATE\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t'Y-m-d',\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = suggestedFormats.map(\n\t\t( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, EXAMPLE_DATE ),\n\t\t\tformat: suggestedFormat,\n\t\t} )\n\t);\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\t__experimentalHint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() => !! format && ! suggestedFormats.includes( format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -192,8 +192,7 @@ export default function FontAppearanceControl(props) {
|
|
|
192
192
|
value: currentSelection,
|
|
193
193
|
onChange: ({
|
|
194
194
|
selectedItem
|
|
195
|
-
}) => onChange(selectedItem.style)
|
|
196
|
-
__nextUnconstrainedWidth: true
|
|
195
|
+
}) => onChange(selectedItem.style)
|
|
197
196
|
});
|
|
198
197
|
}
|
|
199
198
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CustomSelectControl","useMemo","__","_x","sprintf","FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","createElement","className","describedBy","selectedItem","__nextUnconstrainedWidth"],"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {Element} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t/>\n\t\t)\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["CustomSelectControl","useMemo","__","_x","sprintf","FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","createElement","className","describedBy","selectedItem"],"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {Element} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t/>\n\t\t)\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ function useHasChildLayout(settings) {
|
|
|
64
64
|
} = {},
|
|
65
65
|
allowSizingOnChildren = false
|
|
66
66
|
} = (_settings$parentLayou = settings?.parentLayout) !== null && _settings$parentLayou !== void 0 ? _settings$parentLayou : {};
|
|
67
|
-
const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex') && allowSizingOnChildren;
|
|
67
|
+
const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex' || defaultParentLayoutType === 'grid' || parentLayoutType === 'grid') && allowSizingOnChildren;
|
|
68
68
|
return !!settings?.layout && support;
|
|
69
69
|
}
|
|
70
70
|
function useHasSpacingPresets(settings) {
|
|
@@ -170,7 +170,7 @@ export default function DimensionsPanel({
|
|
|
170
170
|
// in global styles but not in block inspector.
|
|
171
171
|
includeLayoutControls = false
|
|
172
172
|
}) {
|
|
173
|
-
var _settings$parentLayou2, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$
|
|
173
|
+
var _settings$parentLayou2, _settings$parentLayou3, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$chil, _defaultControls$minH, _defaultControls$aspe;
|
|
174
174
|
const {
|
|
175
175
|
dimensions,
|
|
176
176
|
spacing
|
|
@@ -300,12 +300,19 @@ export default function DimensionsPanel({
|
|
|
300
300
|
const {
|
|
301
301
|
orientation = 'horizontal'
|
|
302
302
|
} = (_settings$parentLayou2 = settings?.parentLayout) !== null && _settings$parentLayou2 !== void 0 ? _settings$parentLayou2 : {};
|
|
303
|
-
const
|
|
303
|
+
const {
|
|
304
|
+
type: parentType,
|
|
305
|
+
default: {
|
|
306
|
+
type: defaultParentType = 'default'
|
|
307
|
+
} = {}
|
|
308
|
+
} = (_settings$parentLayou3 = settings?.parentLayout) !== null && _settings$parentLayou3 !== void 0 ? _settings$parentLayou3 : {};
|
|
309
|
+
const parentLayoutType = parentType || defaultParentType;
|
|
310
|
+
const flexResetLabel = orientation === 'horizontal' ? __('Width') : __('Height');
|
|
311
|
+
const childLayoutResetLabel = parentLayoutType === 'flex' ? flexResetLabel : __('Grid spans');
|
|
304
312
|
const setChildLayout = newChildLayout => {
|
|
305
313
|
onChange({
|
|
306
314
|
...value,
|
|
307
315
|
layout: {
|
|
308
|
-
...value?.layout,
|
|
309
316
|
...newChildLayout
|
|
310
317
|
}
|
|
311
318
|
});
|
|
@@ -313,7 +320,9 @@ export default function DimensionsPanel({
|
|
|
313
320
|
const resetChildLayoutValue = () => {
|
|
314
321
|
setChildLayout({
|
|
315
322
|
selfStretch: undefined,
|
|
316
|
-
flexSize: undefined
|
|
323
|
+
flexSize: undefined,
|
|
324
|
+
columnSpan: undefined,
|
|
325
|
+
rowSpan: undefined
|
|
317
326
|
});
|
|
318
327
|
};
|
|
319
328
|
const hasChildLayoutValue = () => !!value?.layout;
|
|
@@ -325,7 +334,9 @@ export default function DimensionsPanel({
|
|
|
325
334
|
contentSize: undefined,
|
|
326
335
|
wideSize: undefined,
|
|
327
336
|
selfStretch: undefined,
|
|
328
|
-
flexSize: undefined
|
|
337
|
+
flexSize: undefined,
|
|
338
|
+
columnSpan: undefined,
|
|
339
|
+
rowSpan: undefined
|
|
329
340
|
}),
|
|
330
341
|
spacing: {
|
|
331
342
|
...previousValue?.spacing,
|
|
@@ -480,6 +491,18 @@ export default function DimensionsPanel({
|
|
|
480
491
|
,
|
|
481
492
|
values: gapValues,
|
|
482
493
|
allowReset: false
|
|
494
|
+
})), showChildLayoutControl && createElement(VStack, {
|
|
495
|
+
as: ToolsPanelItem,
|
|
496
|
+
spacing: 2,
|
|
497
|
+
hasValue: hasChildLayoutValue,
|
|
498
|
+
label: childLayoutResetLabel,
|
|
499
|
+
onDeselect: resetChildLayoutValue,
|
|
500
|
+
isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : DEFAULT_CONTROLS.childLayout,
|
|
501
|
+
panelId: panelId
|
|
502
|
+
}, createElement(ChildLayoutControl, {
|
|
503
|
+
value: childLayout,
|
|
504
|
+
onChange: setChildLayout,
|
|
505
|
+
parentLayout: settings?.parentLayout
|
|
483
506
|
})), showMinHeightControl && createElement(ToolsPanelItem, {
|
|
484
507
|
hasValue: hasMinHeightValue,
|
|
485
508
|
label: __('Minimum height'),
|
|
@@ -496,18 +519,6 @@ export default function DimensionsPanel({
|
|
|
496
519
|
onChange: setAspectRatioValue,
|
|
497
520
|
panelId: panelId,
|
|
498
521
|
isShownByDefault: (_defaultControls$aspe = defaultControls.aspectRatio) !== null && _defaultControls$aspe !== void 0 ? _defaultControls$aspe : DEFAULT_CONTROLS.aspectRatio
|
|
499
|
-
})
|
|
500
|
-
as: ToolsPanelItem,
|
|
501
|
-
spacing: 2,
|
|
502
|
-
hasValue: hasChildLayoutValue,
|
|
503
|
-
label: childLayoutOrientationLabel,
|
|
504
|
-
onDeselect: resetChildLayoutValue,
|
|
505
|
-
isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : DEFAULT_CONTROLS.childLayout,
|
|
506
|
-
panelId: panelId
|
|
507
|
-
}, createElement(ChildLayoutControl, {
|
|
508
|
-
value: childLayout,
|
|
509
|
-
onChange: setChildLayout,
|
|
510
|
-
parentLayout: settings?.parentLayout
|
|
511
|
-
})));
|
|
522
|
+
}));
|
|
512
523
|
}
|
|
513
524
|
//# sourceMappingURL=dimensions-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","BoxControl","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalView","View","Icon","positionCenter","stretchWide","useCallback","Platform","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","SpacingSizesControl","HeightControl","ChildLayoutControl","AspectRatioTool","cleanEmptyObject","setImmutably","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","_ref","_ref2","custom","theme","defaultPresets","spacingSizes","presets","length","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_settings$parentLayou2","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$minH","_defaultControls$aspe","_defaultControls$chil","decodeValue","rawValue","Object","keys","reduce","acc","key","showSpacingPresetsControl","units","availableUnits","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","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","gapValue","gapValues","gapSides","isAxialGap","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","orientation","childLayoutOrientationLabel","setChildLayout","newChildLayout","resetChildLayoutValue","selfStretch","flexSize","hasChildLayoutValue","previousValue","onMouseLeaveControls","className","hasValue","onDeselect","isShownByDefault","alignment","justify","labelPosition","__unstableInputWidth","nextContentSize","icon","nextWideSize","allowReset","splitOnAxis","onMouseOver","onMouseOut","min","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalView as View,\n} from '@wordpress/components';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\nimport { useCallback, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } 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' || parentLayoutType === 'flex' ) &&\n\t\tallowSizingOnChildren;\n\n\treturn !! settings?.layout && support;\n}\n\nfunction useHasSpacingPresets( settings ) {\n\tconst {\n\t\tcustom,\n\t\ttheme,\n\t\tdefault: defaultPresets,\n\t} = settings?.spacing?.spacingSizes || {};\n\tconst presets = custom ?? theme ?? defaultPresets ?? [];\n\n\treturn presets.length > 0;\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 ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// If the value is a string, treat it as a single side (top) for the spacing controls.\n\t\treturn {\n\t\t\ttop: value,\n\t\t};\n\t}\n\n\tif ( value ) {\n\t\treturn {\n\t\t\t...value,\n\t\t\tright: value?.left,\n\t\t\tbottom: value?.top,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\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// Content Size\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 Size\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 gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue );\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 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\tconst { orientation = 'horizontal' } = settings?.parentLayout ?? {};\n\tconst childLayoutOrientationLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...value?.layout,\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\tconst resetChildLayoutValue = () => {\n\t\tsetChildLayout( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t} );\n\t};\n\tconst hasChildLayoutValue = () => !! value?.layout;\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} ),\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\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Content size' ) }\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<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\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\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Wide size' ) }\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<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\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={ classnames( {\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\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={ classnames( {\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\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\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\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={ classnames( {\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( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\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\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\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{ 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\t{ showChildLayoutControl && (\n\t\t\t\t<VStack\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\thasValue={ hasChildLayoutValue }\n\t\t\t\t\tlabel={ childLayoutOrientationLabel }\n\t\t\t\t\tonDeselect={ resetChildLayoutValue }\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\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ChildLayoutControl\n\t\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","BoxControl","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalView","View","Icon","positionCenter","stretchWide","useCallback","Platform","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","SpacingSizesControl","HeightControl","ChildLayoutControl","AspectRatioTool","cleanEmptyObject","setImmutably","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","_ref","_ref2","custom","theme","defaultPresets","spacingSizes","presets","length","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_settings$parentLayou2","_settings$parentLayou3","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$chil","_defaultControls$minH","_defaultControls$aspe","decodeValue","rawValue","Object","keys","reduce","acc","key","showSpacingPresetsControl","units","availableUnits","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","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","gapValue","gapValues","gapSides","isAxialGap","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","orientation","parentType","defaultParentType","flexResetLabel","childLayoutResetLabel","setChildLayout","newChildLayout","resetChildLayoutValue","selfStretch","flexSize","columnSpan","rowSpan","hasChildLayoutValue","previousValue","onMouseLeaveControls","className","hasValue","onDeselect","isShownByDefault","alignment","justify","labelPosition","__unstableInputWidth","nextContentSize","icon","nextWideSize","allowReset","splitOnAxis","onMouseOver","onMouseOut","min","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalView as View,\n} from '@wordpress/components';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\nimport { useCallback, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } 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 {\n\t\tcustom,\n\t\ttheme,\n\t\tdefault: defaultPresets,\n\t} = settings?.spacing?.spacingSizes || {};\n\tconst presets = custom ?? theme ?? defaultPresets ?? [];\n\n\treturn presets.length > 0;\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 ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// If the value is a string, treat it as a single side (top) for the spacing controls.\n\t\treturn {\n\t\t\ttop: value,\n\t\t};\n\t}\n\n\tif ( value ) {\n\t\treturn {\n\t\t\t...value,\n\t\t\tright: value?.left,\n\t\t\tbottom: value?.top,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\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// Content Size\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 Size\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 gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue );\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 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\tconst { orientation = 'horizontal' } = settings?.parentLayout ?? {};\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = settings?.parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\tconst flexResetLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst childLayoutResetLabel =\n\t\tparentLayoutType === 'flex' ? flexResetLabel : __( 'Grid spans' );\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\tconst resetChildLayoutValue = () => {\n\t\tsetChildLayout( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t\tcolumnSpan: undefined,\n\t\t\trowSpan: undefined,\n\t\t} );\n\t};\n\tconst hasChildLayoutValue = () => !! value?.layout;\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\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\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Content size' ) }\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<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\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\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Wide size' ) }\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<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\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={ classnames( {\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\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={ classnames( {\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\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\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\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={ classnames( {\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( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\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\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\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<VStack\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\thasValue={ hasChildLayoutValue }\n\t\t\t\t\tlabel={ childLayoutResetLabel }\n\t\t\t\t\tonDeselect={ resetChildLayoutValue }\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\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ChildLayoutControl\n\t\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\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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"}
|
|
@@ -2,7 +2,6 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { hasBlockSupport } from '@wordpress/blocks';
|
|
6
5
|
import { PanelBody } from '@wordpress/components';
|
|
7
6
|
import { __ } from '@wordpress/i18n';
|
|
8
7
|
|
|
@@ -10,7 +9,6 @@ import { __ } from '@wordpress/i18n';
|
|
|
10
9
|
* Internal dependencies
|
|
11
10
|
*/
|
|
12
11
|
import BlockStyles from '../block-styles';
|
|
13
|
-
import DefaultStylePicker from '../default-style-picker';
|
|
14
12
|
import InspectorControls from '../inspector-controls';
|
|
15
13
|
import { getBorderPanelLabel } from '../../hooks/border';
|
|
16
14
|
const StylesTab = ({
|
|
@@ -25,8 +23,6 @@ const StylesTab = ({
|
|
|
25
23
|
title: __('Styles')
|
|
26
24
|
}, createElement(BlockStyles, {
|
|
27
25
|
clientId: clientId
|
|
28
|
-
}), hasBlockSupport(blockName, 'defaultStylePicker', true) && createElement(DefaultStylePicker, {
|
|
29
|
-
blockName: blockName
|
|
30
26
|
}))), createElement(InspectorControls.Slot, {
|
|
31
27
|
group: "color",
|
|
32
28
|
label: __('Color'),
|