@wordpress/block-editor 12.18.0 → 12.18.1
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/build/components/dimensions-tool/aspect-ratio-tool.js +2 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +30 -5
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +9 -7
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +6 -0
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/hooks/dimensions.js +71 -1
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/index.js +2 -2
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/style.js +3 -0
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/utils.js +3 -2
- package/build/hooks/utils.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +2 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +30 -5
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +9 -7
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +6 -0
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/hooks/dimensions.js +70 -2
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/index.js +2 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/style.js +3 -0
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/utils.js +3 -2
- package/build-module/hooks/utils.js.map +1 -1
- package/package.json +4 -4
- package/src/components/dimensions-tool/aspect-ratio-tool.js +4 -1
- package/src/components/global-styles/dimensions-panel.js +50 -1
- package/src/components/global-styles/hooks.js +9 -6
- package/src/components/global-styles/use-global-styles-output.js +6 -0
- package/src/hooks/dimensions.js +74 -3
- package/src/hooks/index.js +2 -0
- package/src/hooks/style.js +4 -0
- package/src/hooks/utils.js +4 -0
|
@@ -72,12 +72,13 @@ function AspectRatioTool({
|
|
|
72
72
|
onChange = () => {},
|
|
73
73
|
options = DEFAULT_ASPECT_RATIO_OPTIONS,
|
|
74
74
|
defaultValue = DEFAULT_ASPECT_RATIO_OPTIONS[0].value,
|
|
75
|
+
hasValue,
|
|
75
76
|
isShownByDefault = true
|
|
76
77
|
}) {
|
|
77
78
|
// Match the CSS default so if the value is used directly in CSS it will look correct in the control.
|
|
78
79
|
const displayValue = value !== null && value !== void 0 ? value : 'auto';
|
|
79
80
|
return (0, _react.createElement)(_components.__experimentalToolsPanelItem, {
|
|
80
|
-
hasValue: () => displayValue !== defaultValue,
|
|
81
|
+
hasValue: hasValue ? hasValue : () => displayValue !== defaultValue,
|
|
81
82
|
label: (0, _i18n.__)('Aspect ratio'),
|
|
82
83
|
onDeselect: () => onChange(undefined),
|
|
83
84
|
isShownByDefault: isShownByDefault,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","DEFAULT_ASPECT_RATIO_OPTIONS","label","_x","value","disabled","hidden","exports","AspectRatioTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","_react","createElement","__experimentalToolsPanelItem","
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","DEFAULT_ASPECT_RATIO_OPTIONS","label","_x","value","disabled","hidden","exports","AspectRatioTool","panelId","onChange","options","defaultValue","hasValue","isShownByDefault","displayValue","_react","createElement","__experimentalToolsPanelItem","__","onDeselect","undefined","SelectControl","size","__nextHasNoMarginBottom"],"sources":["@wordpress/block-editor/src/components/dimensions-tool/aspect-ratio-tool.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps\n */\n\n/**\n * @type {SelectControlProps[]}\n */\nexport const DEFAULT_ASPECT_RATIO_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Original', 'Aspect ratio option for dimensions control' ),\n\t\tvalue: 'auto',\n\t},\n\t{\n\t\tlabel: _x(\n\t\t\t'Square - 1:1',\n\t\t\t'Aspect ratio option for dimensions control'\n\t\t),\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: _x(\n\t\t\t'Standard - 4:3',\n\t\t\t'Aspect ratio option for dimensions control'\n\t\t),\n\t\tvalue: '4/3',\n\t},\n\t{\n\t\tlabel: _x(\n\t\t\t'Portrait - 3:4',\n\t\t\t'Aspect ratio option for dimensions control'\n\t\t),\n\t\tvalue: '3/4',\n\t},\n\t{\n\t\tlabel: _x(\n\t\t\t'Classic - 3:2',\n\t\t\t'Aspect ratio option for dimensions control'\n\t\t),\n\t\tvalue: '3/2',\n\t},\n\t{\n\t\tlabel: _x(\n\t\t\t'Classic Portrait - 2:3',\n\t\t\t'Aspect ratio option for dimensions control'\n\t\t),\n\t\tvalue: '2/3',\n\t},\n\t{\n\t\tlabel: _x(\n\t\t\t'Wide - 16:9',\n\t\t\t'Aspect ratio option for dimensions control'\n\t\t),\n\t\tvalue: '16/9',\n\t},\n\t{\n\t\tlabel: _x(\n\t\t\t'Tall - 9:16',\n\t\t\t'Aspect ratio option for dimensions control'\n\t\t),\n\t\tvalue: '9/16',\n\t},\n\t{\n\t\tlabel: _x( 'Custom', 'Aspect ratio option for dimensions control' ),\n\t\tvalue: 'custom',\n\t\tdisabled: true,\n\t\thidden: true,\n\t},\n];\n\n/**\n * @callback AspectRatioToolPropsOnChange\n * @param {string} [value] New aspect ratio value.\n * @return {void} No return.\n */\n\n/**\n * @typedef {Object} AspectRatioToolProps\n * @property {string} [panelId] ID of the panel this tool is associated with.\n * @property {string} [value] Current aspect ratio value.\n * @property {AspectRatioToolPropsOnChange} [onChange] Callback to update the aspect ratio value.\n * @property {SelectControlProps[]} [options] Aspect ratio options.\n * @property {string} [defaultValue] Default aspect ratio value.\n * @property {boolean} [isShownByDefault] Whether the tool is shown by default.\n */\n\nexport default function AspectRatioTool( {\n\tpanelId,\n\tvalue,\n\tonChange = () => {},\n\toptions = DEFAULT_ASPECT_RATIO_OPTIONS,\n\tdefaultValue = DEFAULT_ASPECT_RATIO_OPTIONS[ 0 ].value,\n\thasValue,\n\tisShownByDefault = true,\n} ) {\n\t// Match the CSS default so if the value is used directly in CSS it will look correct in the control.\n\tconst displayValue = value ?? 'auto';\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={\n\t\t\t\thasValue ? hasValue : () => displayValue !== defaultValue\n\t\t\t}\n\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\tonDeselect={ () => onChange( undefined ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAPA;AACA;AACA;;AAOA;AACA;AACA;;AAEA;AACA;AACA;AACO,MAAME,4BAA4B,GAAG,CAC3C;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAU,EAAE,4CAA6C,CAAC;EACrEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EACR,cAAc,EACd,4CACD,CAAC;EACDC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EACR,gBAAgB,EAChB,4CACD,CAAC;EACDC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EACR,gBAAgB,EAChB,4CACD,CAAC;EACDC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EACR,eAAe,EACf,4CACD,CAAC;EACDC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EACR,wBAAwB,EACxB,4CACD,CAAC;EACDC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EACR,aAAa,EACb,4CACD,CAAC;EACDC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EACR,aAAa,EACb,4CACD,CAAC;EACDC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAQ,EAAE,4CAA6C,CAAC;EACnEC,KAAK,EAAE,QAAQ;EACfC,QAAQ,EAAE,IAAI;EACdC,MAAM,EAAE;AACT,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAC,OAAA,CAAAN,4BAAA,GAAAA,4BAAA;AAUe,SAASO,eAAeA,CAAE;EACxCC,OAAO;EACPL,KAAK;EACLM,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC,OAAO,GAAGV,4BAA4B;EACtCW,YAAY,GAAGX,4BAA4B,CAAE,CAAC,CAAE,CAACG,KAAK;EACtDS,QAAQ;EACRC,gBAAgB,GAAG;AACpB,CAAC,EAAG;EACH;EACA,MAAMC,YAAY,GAAGX,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,MAAM;EAEpC,OACC,IAAAY,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,4BAAc;IACdL,QAAQ,EACPA,QAAQ,GAAGA,QAAQ,GAAG,MAAME,YAAY,KAAKH,YAC7C;IACDV,KAAK,EAAG,IAAAiB,QAAE,EAAE,cAAe,CAAG;IAC9BC,UAAU,EAAGA,CAAA,KAAMV,QAAQ,CAAEW,SAAU,CAAG;IAC1CP,gBAAgB,EAAGA,gBAAkB;IACrCL,OAAO,EAAGA;EAAS,GAEnB,IAAAO,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAwB,aAAa;IACbpB,KAAK,EAAG,IAAAiB,QAAE,EAAE,cAAe,CAAG;IAC9Bf,KAAK,EAAGW,YAAc;IACtBJ,OAAO,EAAGA,OAAS;IACnBD,QAAQ,EAAGA,QAAU;IACrBa,IAAI,EAAG,kBAAoB;IAC3BC,uBAAuB;EAAA,CACvB,CACc,CAAC;AAEnB"}
|
|
@@ -16,6 +16,7 @@ var _utils = require("./utils");
|
|
|
16
16
|
var _spacingSizesControl = _interopRequireDefault(require("../spacing-sizes-control"));
|
|
17
17
|
var _heightControl = _interopRequireDefault(require("../height-control"));
|
|
18
18
|
var _childLayoutControl = _interopRequireDefault(require("../child-layout-control"));
|
|
19
|
+
var _aspectRatioTool = _interopRequireDefault(require("../dimensions-tool/aspect-ratio-tool"));
|
|
19
20
|
var _utils2 = require("../../hooks/utils");
|
|
20
21
|
var _object = require("../../utils/object");
|
|
21
22
|
/**
|
|
@@ -38,8 +39,9 @@ function useHasDimensionsPanel(settings) {
|
|
|
38
39
|
const hasMargin = useHasMargin(settings);
|
|
39
40
|
const hasGap = useHasGap(settings);
|
|
40
41
|
const hasMinHeight = useHasMinHeight(settings);
|
|
42
|
+
const hasAspectRatio = useHasAspectRatio(settings);
|
|
41
43
|
const hasChildLayout = useHasChildLayout(settings);
|
|
42
|
-
return _element.Platform.OS === 'web' && (hasContentSize || hasWideSize || hasPadding || hasMargin || hasGap || hasMinHeight || hasChildLayout);
|
|
44
|
+
return _element.Platform.OS === 'web' && (hasContentSize || hasWideSize || hasPadding || hasMargin || hasGap || hasMinHeight || hasAspectRatio || hasChildLayout);
|
|
43
45
|
}
|
|
44
46
|
function useHasContentSize(settings) {
|
|
45
47
|
return settings?.layout?.contentSize;
|
|
@@ -59,6 +61,9 @@ function useHasGap(settings) {
|
|
|
59
61
|
function useHasMinHeight(settings) {
|
|
60
62
|
return settings?.dimensions?.minHeight;
|
|
61
63
|
}
|
|
64
|
+
function useHasAspectRatio(settings) {
|
|
65
|
+
return settings?.dimensions?.aspectRatio;
|
|
66
|
+
}
|
|
62
67
|
function useHasChildLayout(settings) {
|
|
63
68
|
var _settings$parentLayou;
|
|
64
69
|
const {
|
|
@@ -158,6 +163,7 @@ const DEFAULT_CONTROLS = {
|
|
|
158
163
|
margin: true,
|
|
159
164
|
blockGap: true,
|
|
160
165
|
minHeight: true,
|
|
166
|
+
aspectRatio: true,
|
|
161
167
|
childLayout: true
|
|
162
168
|
};
|
|
163
169
|
function DimensionsPanel({
|
|
@@ -173,7 +179,7 @@ function DimensionsPanel({
|
|
|
173
179
|
// in global styles but not in block inspector.
|
|
174
180
|
includeLayoutControls = false
|
|
175
181
|
}) {
|
|
176
|
-
var _settings$parentLayou2, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$minH, _defaultControls$chil;
|
|
182
|
+
var _settings$parentLayou2, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$minH, _defaultControls$aspe, _defaultControls$chil;
|
|
177
183
|
const {
|
|
178
184
|
dimensions,
|
|
179
185
|
spacing
|
|
@@ -278,13 +284,25 @@ function DimensionsPanel({
|
|
|
278
284
|
const showMinHeightControl = useHasMinHeight(settings);
|
|
279
285
|
const minHeightValue = decodeValue(inheritedValue?.dimensions?.minHeight);
|
|
280
286
|
const setMinHeightValue = newValue => {
|
|
281
|
-
|
|
287
|
+
const tempValue = (0, _object.setImmutably)(value, ['dimensions', 'minHeight'], newValue);
|
|
288
|
+
// Apply min-height, while removing any applied aspect ratio.
|
|
289
|
+
onChange((0, _object.setImmutably)(tempValue, ['dimensions', 'aspectRatio'], undefined));
|
|
282
290
|
};
|
|
283
291
|
const resetMinHeightValue = () => {
|
|
284
292
|
setMinHeightValue(undefined);
|
|
285
293
|
};
|
|
286
294
|
const hasMinHeightValue = () => !!value?.dimensions?.minHeight;
|
|
287
295
|
|
|
296
|
+
// Aspect Ratio
|
|
297
|
+
const showAspectRatioControl = useHasAspectRatio(settings);
|
|
298
|
+
const aspectRatioValue = decodeValue(inheritedValue?.dimensions?.aspectRatio);
|
|
299
|
+
const setAspectRatioValue = newValue => {
|
|
300
|
+
const tempValue = (0, _object.setImmutably)(value, ['dimensions', 'aspectRatio'], newValue);
|
|
301
|
+
// Apply aspect-ratio, while removing any applied min-height.
|
|
302
|
+
onChange((0, _object.setImmutably)(tempValue, ['dimensions', 'minHeight'], undefined));
|
|
303
|
+
};
|
|
304
|
+
const hasAspectRatioValue = () => !!value?.dimensions?.aspectRatio;
|
|
305
|
+
|
|
288
306
|
// Child Layout
|
|
289
307
|
const showChildLayoutControl = useHasChildLayout(settings);
|
|
290
308
|
const childLayout = inheritedValue?.layout;
|
|
@@ -326,7 +344,8 @@ function DimensionsPanel({
|
|
|
326
344
|
},
|
|
327
345
|
dimensions: {
|
|
328
346
|
...previousValue?.dimensions,
|
|
329
|
-
minHeight: undefined
|
|
347
|
+
minHeight: undefined,
|
|
348
|
+
aspectRatio: undefined
|
|
330
349
|
}
|
|
331
350
|
};
|
|
332
351
|
}, []);
|
|
@@ -480,7 +499,13 @@ function DimensionsPanel({
|
|
|
480
499
|
label: (0, _i18n.__)('Minimum height'),
|
|
481
500
|
value: minHeightValue,
|
|
482
501
|
onChange: setMinHeightValue
|
|
483
|
-
})),
|
|
502
|
+
})), showAspectRatioControl && (0, _react.createElement)(_aspectRatioTool.default, {
|
|
503
|
+
hasValue: hasAspectRatioValue,
|
|
504
|
+
value: aspectRatioValue,
|
|
505
|
+
onChange: setAspectRatioValue,
|
|
506
|
+
panelId: panelId,
|
|
507
|
+
isShownByDefault: (_defaultControls$aspe = defaultControls.aspectRatio) !== null && _defaultControls$aspe !== void 0 ? _defaultControls$aspe : DEFAULT_CONTROLS.aspectRatio
|
|
508
|
+
}), showChildLayoutControl && (0, _react.createElement)(_components.__experimentalVStack, {
|
|
484
509
|
as: _components.__experimentalToolsPanelItem,
|
|
485
510
|
spacing: 2,
|
|
486
511
|
hasValue: hasChildLayoutValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_icons","_element","_utils","_spacingSizesControl","_heightControl","_childLayoutControl","_utils2","_object","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasChildLayout","useHasChildLayout","Platform","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","_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","_react","createElement","__experimentalToolsPanel","label","__","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","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$chil","decodeValue","rawValue","Object","keys","reduce","acc","key","getValueFromVariable","showSpacingPresetsControl","units","useCustomUnits","availableUnits","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","setImmutably","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","gapValue","gapValues","gapSides","isAxialGap","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","resetMinHeightValue","hasMinHeightValue","showChildLayoutControl","orientation","childLayoutOrientationLabel","setChildLayout","newChildLayout","resetChildLayoutValue","selfStretch","flexSize","hasChildLayoutValue","useCallback","previousValue","cleanEmptyObject","onMouseLeaveControls","className","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalHStack","alignment","justify","__experimentalUnitControl","labelPosition","__unstableInputWidth","nextContentSize","__experimentalView","Icon","icon","positionCenter","nextWideSize","stretchWide","classnames","__experimentalBoxControl","allowReset","splitOnAxis","onMouseOver","onMouseOut","min","showSideInLabel","__experimentalVStack","ToolsPanelItem"],"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 { 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 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\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 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\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\tonChange(\n\t\t\tsetImmutably( value, [ 'dimensions', 'minHeight' ], newValue )\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\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},\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{ 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","_interopRequireDefault","require","_i18n","_components","_icons","_element","_utils","_spacingSizesControl","_heightControl","_childLayoutControl","_aspectRatioTool","_utils2","_object","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","Platform","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","_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","_react","createElement","__experimentalToolsPanel","label","__","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","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","getValueFromVariable","showSpacingPresetsControl","units","useCustomUnits","availableUnits","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","setImmutably","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","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","useCallback","previousValue","cleanEmptyObject","onMouseLeaveControls","className","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalHStack","alignment","justify","__experimentalUnitControl","labelPosition","__unstableInputWidth","nextContentSize","__experimentalView","Icon","icon","positionCenter","nextWideSize","stretchWide","classnames","__experimentalBoxControl","allowReset","splitOnAxis","onMouseOver","onMouseOut","min","showSideInLabel","__experimentalVStack","ToolsPanelItem"],"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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"}
|
|
@@ -35,7 +35,7 @@ const EMPTY_CONFIG = {
|
|
|
35
35
|
settings: {},
|
|
36
36
|
styles: {}
|
|
37
37
|
};
|
|
38
|
-
const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'background.backgroundImage', 'background.backgroundRepeat', 'background.backgroundSize', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'lightbox.enabled', 'lightbox.allowEditing', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.defaultFontSizes', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform', 'typography.writingMode'];
|
|
38
|
+
const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'background.backgroundImage', 'background.backgroundRepeat', 'background.backgroundSize', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.aspectRatio', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'lightbox.enabled', 'lightbox.allowEditing', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.defaultFontSizes', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform', 'typography.writingMode'];
|
|
39
39
|
const useGlobalStylesReset = () => {
|
|
40
40
|
const {
|
|
41
41
|
user: config,
|
|
@@ -216,12 +216,14 @@ function useSettingsForBlockElement(parentSettings, blockName, element) {
|
|
|
216
216
|
};
|
|
217
217
|
}
|
|
218
218
|
});
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
219
|
+
['aspectRatio', 'minHeight'].forEach(key => {
|
|
220
|
+
if (!supportedStyles.includes(key)) {
|
|
221
|
+
updatedSettings.dimensions = {
|
|
222
|
+
...updatedSettings.dimensions,
|
|
223
|
+
[key]: false
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
});
|
|
225
227
|
['radius', 'color', 'style', 'width'].forEach(key => {
|
|
226
228
|
if (!supportedStyles.includes('border' + key.charAt(0).toUpperCase() + key.slice(1))) {
|
|
227
229
|
updatedSettings.border = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_es","_interopRequireDefault","require","_element","_data","_blocks","_i18n","_utils","_object","_context","_lockUnlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","useContext","GlobalStylesContext","canReset","fastDeepEqual","useCallback","exports","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","useMemo","configToUse","_getValueFromObjectPa","getValueFromObjectPath","result","forEach","setting","_getValueFromObjectPa2","value","undefined","setImmutably","split","setSetting","newValue","currentConfig","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","getPresetVariableFromValue","rawResult","getValueFromVariable","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","useSelect","select","unlock","blocksStore","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","defaultFontSizes","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","_x","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { getValueFromObjectPath, setImmutably } from '../../utils/object';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'background.backgroundImage',\n\t'background.backgroundRepeat',\n\t'background.backgroundSize',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'lightbox.enabled',\n\t'lightbox.allowEditing',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.defaultFontSizes',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tgetValueFromObjectPath( configToUse, contextualPath ) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tlet result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tgetValueFromObjectPath(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, `settings.${ setting }` );\n\t\t\tif ( value !== undefined ) {\n\t\t\t\tresult = setImmutably( result, setting.split( '.' ), value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably( currentConfig, contextualPath.split( '.' ), newValue )\n\t\t);\n\t};\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably(\n\t\t\t\tcurrentConfig,\n\t\t\t\tfinalPath.split( '.' ),\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t)\n\t\t);\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = getValueFromObjectPath( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = getValueFromObjectPath( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = getValueFromObjectPath( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t\tdefaultFontSizes: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\t// Check if spacing type is supported before adding sides.\n\t\t\tif ( sides?.length && updatedSettings.spacing?.[ key ] ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_es","_interopRequireDefault","require","_element","_data","_blocks","_i18n","_utils","_object","_context","_lockUnlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","useContext","GlobalStylesContext","canReset","fastDeepEqual","useCallback","exports","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","useMemo","configToUse","_getValueFromObjectPa","getValueFromObjectPath","result","forEach","setting","_getValueFromObjectPa2","value","undefined","setImmutably","split","setSetting","newValue","currentConfig","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","getPresetVariableFromValue","rawResult","getValueFromVariable","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","useSelect","select","unlock","blocksStore","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","defaultFontSizes","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","_x","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { getValueFromObjectPath, setImmutably } from '../../utils/object';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'background.backgroundImage',\n\t'background.backgroundRepeat',\n\t'background.backgroundSize',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.aspectRatio',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'lightbox.enabled',\n\t'lightbox.allowEditing',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.defaultFontSizes',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tgetValueFromObjectPath( configToUse, contextualPath ) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tlet result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tgetValueFromObjectPath(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ??\n\t\t\t\tgetValueFromObjectPath( configToUse, `settings.${ setting }` );\n\t\t\tif ( value !== undefined ) {\n\t\t\t\tresult = setImmutably( result, setting.split( '.' ), value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably( currentConfig, contextualPath.split( '.' ), newValue )\n\t\t);\n\t};\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) =>\n\t\t\tsetImmutably(\n\t\t\t\tcurrentConfig,\n\t\t\t\tfinalPath.split( '.' ),\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t)\n\t\t);\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = getValueFromObjectPath( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = getValueFromObjectPath( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = getValueFromObjectPath( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t\tdefaultFontSizes: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\t// Check if spacing type is supported before adding sides.\n\t\t\tif ( sides?.length && updatedSettings.spacing?.[ key ] ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'aspectRatio', 'minHeight' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"],"mappings":";;;;;;;;;;;;AAGA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAMA,MAAMS,YAAY,GAAG;EAAEC,QAAQ,EAAE,CAAC,CAAC;EAAEC,MAAM,EAAE,CAAC;AAAE,CAAC;AAEjD,MAAMC,cAAc,GAAG,CACtB,iBAAiB,EACjB,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,CACxB;AAEM,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACzC,MAAM;IAAEC,IAAI,EAAEC,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,mBAAU,EAAEC,4BAAoB,CAAC;EACzE,MAAMC,QAAQ,GAAG,CAAC,CAAEJ,MAAM,IAAI,CAAE,IAAAK,WAAa,EAAEL,MAAM,EAAEN,YAAa,CAAC;EACrE,OAAO,CACNU,QAAQ,EACR,IAAAE,oBAAW,EACV,MAAML,aAAa,CAAE,MAAMP,YAAa,CAAC,EACzC,CAAEO,aAAa,CAChB,CAAC,CACD;AACF,CAAC;AAACM,OAAA,CAAAT,oBAAA,GAAAA,oBAAA;AAEK,SAASU,gBAAgBA,CAAEC,YAAY,EAAEC,SAAS,EAAEC,MAAM,GAAG,KAAK,EAAG;EAC3E,MAAM;IAAEV,aAAa;IAAE,GAAGW;EAAQ,CAAC,GAAG,IAAAV,mBAAU,EAAEC,4BAAoB,CAAC;EACvE,MAAMU,iBAAiB,GAAGH,SAAS,GAAG,UAAU,GAAGA,SAAS,GAAG,EAAE;EACjE,MAAMI,oBAAoB,GAAGL,YAAY,GAAG,GAAG,GAAGA,YAAY,GAAG,EAAE;EACnE,MAAMM,cAAc,GAAI,WAAWF,iBAAmB,GAAGC,oBAAsB,EAAC;EAChF,MAAME,UAAU,GAAI,WAAWF,oBAAsB,EAAC;EACtD,MAAMG,SAAS,GAAGN,MAAM,KAAK,KAAK,GAAG,QAAQ,GAAGA,MAAM;EAEtD,MAAMO,YAAY,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACnC,MAAMC,WAAW,GAAGR,OAAO,CAAEK,SAAS,CAAE;IACxC,IAAK,CAAEG,WAAW,EAAG;MACpB,MAAM,oBAAoB;IAC3B;IAEA,IAAKX,YAAY,EAAG;MAAA,IAAAY,qBAAA;MACnB,QAAAA,qBAAA,GACC,IAAAC,8BAAsB,EAAEF,WAAW,EAAEL,cAAe,CAAC,cAAAM,qBAAA,cAAAA,qBAAA,GACrD,IAAAC,8BAAsB,EAAEF,WAAW,EAAEJ,UAAW,CAAC;IAEnD;IAEA,IAAIO,MAAM,GAAG,CAAC,CAAC;IACf1B,cAAc,CAAC2B,OAAO,CAAIC,OAAO,IAAM;MAAA,IAAAC,sBAAA;MACtC,MAAMC,KAAK,IAAAD,sBAAA,GACV,IAAAJ,8BAAsB,EACrBF,WAAW,EACV,WAAWP,iBAAmB,IAAIY,OAAS,EAC7C,CAAC,cAAAC,sBAAA,cAAAA,sBAAA,GACD,IAAAJ,8BAAsB,EAAEF,WAAW,EAAG,YAAYK,OAAS,EAAE,CAAC;MAC/D,IAAKE,KAAK,KAAKC,SAAS,EAAG;QAC1BL,MAAM,GAAG,IAAAM,oBAAY,EAAEN,MAAM,EAAEE,OAAO,CAACK,KAAK,CAAE,GAAI,CAAC,EAAEH,KAAM,CAAC;MAC7D;IACD,CAAE,CAAC;IACH,OAAOJ,MAAM;EACd,CAAC,EAAE,CACFX,OAAO,EACPK,SAAS,EACTR,YAAY,EACZM,cAAc,EACdC,UAAU,EACVH,iBAAiB,CAChB,CAAC;EAEH,MAAMkB,UAAU,GAAKC,QAAQ,IAAM;IAClC/B,aAAa,CAAIgC,aAAa,IAC7B,IAAAJ,oBAAY,EAAEI,aAAa,EAAElB,cAAc,CAACe,KAAK,CAAE,GAAI,CAAC,EAAEE,QAAS,CACpE,CAAC;EACF,CAAC;EACD,OAAO,CAAEd,YAAY,EAAEa,UAAU,CAAE;AACpC;AAEO,SAASG,cAAcA,CAC7BC,IAAI,EACJzB,SAAS,EACTC,MAAM,GAAG,KAAK,EACd;EAAEyB,kBAAkB,GAAG;AAAK,CAAC,GAAG,CAAC,CAAC,EACjC;EACD,MAAM;IACLC,MAAM,EAAEC,YAAY;IACpBC,IAAI,EAAEC,UAAU;IAChBzC,IAAI,EAAE0C,UAAU;IAChBxC;EACD,CAAC,GAAG,IAAAC,mBAAU,EAAEC,4BAAoB,CAAC;EACrC,MAAMuC,YAAY,GAAGP,IAAI,GAAG,GAAG,GAAGA,IAAI,GAAG,EAAE;EAC3C,MAAMQ,SAAS,GAAG,CAAEjC,SAAS,GACzB,SAASgC,YAAc,EAAC,GACxB,iBAAiBhC,SAAW,GAAGgC,YAAc,EAAC;EAElD,MAAME,QAAQ,GAAKZ,QAAQ,IAAM;IAChC/B,aAAa,CAAIgC,aAAa,IAC7B,IAAAJ,oBAAY,EACXI,aAAa,EACbU,SAAS,CAACb,KAAK,CAAE,GAAI,CAAC,EACtBM,kBAAkB,GACf,IAAAS,iCAA0B,EAC1BP,YAAY,CAAC3C,QAAQ,EACrBe,SAAS,EACTyB,IAAI,EACJH,QACA,CAAC,GACDA,QACJ,CACD,CAAC;EACF,CAAC;EAED,IAAIc,SAAS,EAAEvB,MAAM;EACrB,QAASZ,MAAM;IACd,KAAK,KAAK;MACTmC,SAAS,GAAG,IAAAxB,8BAAsB,EAAEgB,YAAY,EAAEK,SAAU,CAAC;MAC7DpB,MAAM,GAAGa,kBAAkB,GACxB,IAAAW,2BAAoB,EAAET,YAAY,EAAE5B,SAAS,EAAEoC,SAAU,CAAC,GAC1DA,SAAS;MACZ;IACD,KAAK,MAAM;MACVA,SAAS,GAAG,IAAAxB,8BAAsB,EAAEmB,UAAU,EAAEE,SAAU,CAAC;MAC3DpB,MAAM,GAAGa,kBAAkB,GACxB,IAAAW,2BAAoB,EAAET,YAAY,EAAE5B,SAAS,EAAEoC,SAAU,CAAC,GAC1DA,SAAS;MACZ;IACD,KAAK,MAAM;MACVA,SAAS,GAAG,IAAAxB,8BAAsB,EAAEkB,UAAU,EAAEG,SAAU,CAAC;MAC3DpB,MAAM,GAAGa,kBAAkB,GACxB,IAAAW,2BAAoB,EAAEP,UAAU,EAAE9B,SAAS,EAAEoC,SAAU,CAAC,GACxDA,SAAS;MACZ;IACD;MACC,MAAM,oBAAoB;EAC5B;EAEA,OAAO,CAAEvB,MAAM,EAAEqB,QAAQ,CAAE;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,0BAA0BA,CACzCC,cAAc,EACdvC,SAAS,EACTwC,OAAO,EACN;EACD,MAAM;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAC5CC,MAAM,IAAM;IACb,OAAO;MACNH,eAAe,EAAE,IAAAI,kBAAM,EACtBD,MAAM,CAAEE,aAAY,CACrB,CAAC,CAACC,kBAAkB,CAAE/C,SAAS,EAAEwC,OAAQ,CAAC;MAC1CE,QAAQ,EACPE,MAAM,CAAEE,aAAY,CAAC,CAACE,YAAY,CAAEhD,SAAU,CAAC,EAAE0C;IACnD,CAAC;EACF,CAAC,EACD,CAAE1C,SAAS,EAAEwC,OAAO,CACrB,CAAC;EAED,OAAO,IAAA/B,gBAAO,EAAE,MAAM;IACrB,MAAMwC,eAAe,GAAG;MAAE,GAAGV;IAAe,CAAC;IAE7C,IAAK,CAAEE,eAAe,CAACS,QAAQ,CAAE,UAAW,CAAC,EAAG;MAC/CD,eAAe,CAACE,UAAU,GAAG;QAC5B,GAAGF,eAAe,CAACE,UAAU;QAC7BC,SAAS,EAAE,CAAC,CAAC;QACbC,cAAc,EAAE,KAAK;QACrBC,gBAAgB,EAAE;MACnB,CAAC;IACF;IAEA,IAAK,CAAEb,eAAe,CAACS,QAAQ,CAAE,YAAa,CAAC,EAAG;MACjDD,eAAe,CAACE,UAAU,GAAG;QAC5B,GAAGF,eAAe,CAACE,UAAU;QAC7BI,YAAY,EAAE,CAAC;MAChB,CAAC;IACF;IAEAN,eAAe,CAACO,KAAK,GAAG;MACvB,GAAGP,eAAe,CAACO,KAAK;MACxBC,IAAI,EACHR,eAAe,CAACO,KAAK,EAAEC,IAAI,IAC3BhB,eAAe,CAACS,QAAQ,CAAE,OAAQ,CAAC;MACpCQ,UAAU,EACTT,eAAe,CAACO,KAAK,EAAEE,UAAU,KAC/BjB,eAAe,CAACS,QAAQ,CAAE,YAAa,CAAC,IACzCT,eAAe,CAACS,QAAQ,CAAE,iBAAkB,CAAC,CAAE;MACjDS,MAAM,EACLV,eAAe,CAACO,KAAK,EAAEG,MAAM,IAC7BlB,eAAe,CAACS,QAAQ,CAAE,aAAc,CAAC;MAC1CU,OAAO,EACNX,eAAe,CAACO,KAAK,EAAEI,OAAO,IAC9BnB,eAAe,CAACS,QAAQ,CAAE,cAAe,CAAC;MAC3CW,IAAI,EACHZ,eAAe,CAACO,KAAK,EAAEK,IAAI,IAC3BpB,eAAe,CAACS,QAAQ,CAAE,WAAY,CAAC;MACxCY,OAAO,EACNb,eAAe,CAACO,KAAK,EAAEM,OAAO,IAC9BrB,eAAe,CAACS,QAAQ,CAAE,cAAe;IAC3C,CAAC;;IAED;IACA,IAAK,CAAET,eAAe,CAACS,QAAQ,CAAE,YAAa,CAAC,EAAG;MACjDD,eAAe,CAACO,KAAK,CAACO,SAAS,GAAG,EAAE;MACpCd,eAAe,CAACO,KAAK,CAACQ,cAAc,GAAG,KAAK;IAC7C;;IAEA;IACA,IAAK,CAAEvB,eAAe,CAACS,QAAQ,CAAE,QAAS,CAAC,EAAG;MAC7CD,eAAe,CAACO,KAAK,CAACS,cAAc,GAAG,KAAK;MAC5ChB,eAAe,CAACO,KAAK,CAACU,aAAa,GAAG,KAAK;IAC5C;IAEA,CACC,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,CACb,CAACpD,OAAO,CAAIqD,GAAG,IAAM;MACrB,IAAK,CAAE1B,eAAe,CAACS,QAAQ,CAAEiB,GAAI,CAAC,EAAG;QACxClB,eAAe,CAACE,UAAU,GAAG;UAC5B,GAAGF,eAAe,CAACE,UAAU;UAC7B,CAAEgB,GAAG,GAAI;QACV,CAAC;MACF;IACD,CAAE,CAAC;;IAEH;IACA;IACA;IACA,IAAK,CAAE1B,eAAe,CAACS,QAAQ,CAAE,aAAc,CAAC,EAAG;MAClDD,eAAe,CAACE,UAAU,GAAG;QAC5B,GAAGF,eAAe,CAACE,UAAU;QAC7BiB,WAAW,EAAE;MACd,CAAC;IACF;IAEA,CAAE,aAAa,EAAE,UAAU,CAAE,CAACtD,OAAO,CAAIqD,GAAG,IAAM;MACjD,IAAK,CAAE1B,eAAe,CAACS,QAAQ,CAAEiB,GAAI,CAAC,EAAG;QACxClB,eAAe,CAACoB,MAAM,GAAG;UACxB,GAAGpB,eAAe,CAACoB,MAAM;UACzB,CAAEF,GAAG,GAAI;QACV,CAAC;MACF;IACD,CAAE,CAAC;IAEH,CAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAE,CAACrD,OAAO,CAAIqD,GAAG,IAAM;MACvD,IAAK,CAAE1B,eAAe,CAACS,QAAQ,CAAEiB,GAAI,CAAC,EAAG;QACxClB,eAAe,CAACqB,OAAO,GAAG;UACzB,GAAGrB,eAAe,CAACqB,OAAO;UAC1B,CAAEH,GAAG,GAAI;QACV,CAAC;MACF;MAEA,MAAMI,KAAK,GAAGC,KAAK,CAACC,OAAO,CAAE/B,QAAQ,EAAE4B,OAAO,GAAIH,GAAG,CAAG,CAAC,GACtDzB,QAAQ,EAAE4B,OAAO,GAAIH,GAAG,CAAE,GAC1BzB,QAAQ,EAAE4B,OAAO,GAAIH,GAAG,CAAE,EAAEI,KAAK;MACpC;MACA,IAAKA,KAAK,EAAEG,MAAM,IAAIzB,eAAe,CAACqB,OAAO,GAAIH,GAAG,CAAE,EAAG;QACxDlB,eAAe,CAACqB,OAAO,GAAG;UACzB,GAAGrB,eAAe,CAACqB,OAAO;UAC1B,CAAEH,GAAG,GAAI;YACR,GAAGlB,eAAe,CAACqB,OAAO,GAAIH,GAAG,CAAE;YACnCI;UACD;QACD,CAAC;MACF;IACD,CAAE,CAAC;IAEH,CAAE,aAAa,EAAE,WAAW,CAAE,CAACzD,OAAO,CAAIqD,GAAG,IAAM;MAClD,IAAK,CAAE1B,eAAe,CAACS,QAAQ,CAAEiB,GAAI,CAAC,EAAG;QACxClB,eAAe,CAAC0B,UAAU,GAAG;UAC5B,GAAG1B,eAAe,CAAC0B,UAAU;UAC7B,CAAER,GAAG,GAAI;QACV,CAAC;MACF;IACD,CAAE,CAAC;IAEH,CAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAE,CAACrD,OAAO,CAAIqD,GAAG,IAAM;MAC3D,IACC,CAAE1B,eAAe,CAACS,QAAQ,CACzB,QAAQ,GAAGiB,GAAG,CAACS,MAAM,CAAE,CAAE,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGV,GAAG,CAACW,KAAK,CAAE,CAAE,CACzD,CAAC,EACA;QACD7B,eAAe,CAAC8B,MAAM,GAAG;UACxB,GAAG9B,eAAe,CAAC8B,MAAM;UACzB,CAAEZ,GAAG,GAAI;QACV,CAAC;MACF;IACD,CAAE,CAAC;IAEHlB,eAAe,CAAC+B,MAAM,GAAGvC,eAAe,CAACS,QAAQ,CAAE,QAAS,CAAC,GAC1DD,eAAe,CAAC+B,MAAM,GACtB,KAAK;IAER,OAAO/B,eAAe;EACvB,CAAC,EAAE,CAAEV,cAAc,EAAEE,eAAe,EAAEC,QAAQ,CAAG,CAAC;AACnD;AAEO,SAASuC,kBAAkBA,CAAEhG,QAAQ,EAAG;EAC9C,MAAMiG,YAAY,GAAGjG,QAAQ,EAAEuE,KAAK,EAAE2B,OAAO,EAAEC,MAAM;EACrD,MAAMC,WAAW,GAAGpG,QAAQ,EAAEuE,KAAK,EAAE2B,OAAO,EAAEG,KAAK;EACnD,MAAMC,aAAa,GAAGtG,QAAQ,EAAEuE,KAAK,EAAE2B,OAAO,EAAEK,OAAO;EACvD,MAAMC,0BAA0B,GAAGxG,QAAQ,EAAEuE,KAAK,EAAEkC,cAAc;EAElE,OAAO,IAAAjF,gBAAO,EAAE,MAAM;IACrB,MAAMI,MAAM,GAAG,EAAE;IACjB,IAAKwE,WAAW,IAAIA,WAAW,CAACX,MAAM,EAAG;MACxC7D,MAAM,CAAC8E,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,OAAO,EACP,8CACD,CAAC;QACDC,MAAM,EAAET;MACT,CAAE,CAAC;IACJ;IACA,IACCI,0BAA0B,IAC1BF,aAAa,IACbA,aAAa,CAACb,MAAM,EACnB;MACD7D,MAAM,CAAC8E,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,SAAS,EACT,8CACD,CAAC;QACDC,MAAM,EAAEP;MACT,CAAE,CAAC;IACJ;IACA,IAAKL,YAAY,IAAIA,YAAY,CAACR,MAAM,EAAG;MAC1C7D,MAAM,CAAC8E,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,QAAQ,EACR,gDACD,CAAC;QACDC,MAAM,EAAEZ;MACT,CAAE,CAAC;IACJ;IACA,OAAOrE,MAAM;EACd,CAAC,EAAE,CACFqE,YAAY,EACZG,WAAW,EACXE,aAAa,EACbE,0BAA0B,CACzB,CAAC;AACJ;AAEO,SAASM,qBAAqBA,CAAE9G,QAAQ,EAAG;EACjD,MAAM+G,eAAe,GAAG/G,QAAQ,EAAEuE,KAAK,EAAEO,SAAS,EAAEqB,MAAM;EAC1D,MAAMa,cAAc,GAAGhH,QAAQ,EAAEuE,KAAK,EAAEO,SAAS,EAAEuB,KAAK;EACxD,MAAMY,gBAAgB,GAAGjH,QAAQ,EAAEuE,KAAK,EAAEO,SAAS,EAAEyB,OAAO;EAC5D,MAAMW,6BAA6B,GAAGlH,QAAQ,EAAEuE,KAAK,EAAE0C,gBAAgB;EAEvE,OAAO,IAAAzF,gBAAO,EAAE,MAAM;IACrB,MAAMI,MAAM,GAAG,EAAE;IACjB,IAAKoF,cAAc,IAAIA,cAAc,CAACvB,MAAM,EAAG;MAC9C7D,MAAM,CAAC8E,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,OAAO,EACP,8CACD,CAAC;QACD9B,SAAS,EAAEkC;MACZ,CAAE,CAAC;IACJ;IACA,IACCE,6BAA6B,IAC7BD,gBAAgB,IAChBA,gBAAgB,CAACxB,MAAM,EACtB;MACD7D,MAAM,CAAC8E,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,SAAS,EACT,8CACD,CAAC;QACD9B,SAAS,EAAEmC;MACZ,CAAE,CAAC;IACJ;IACA,IAAKF,eAAe,IAAIA,eAAe,CAACtB,MAAM,EAAG;MAChD7D,MAAM,CAAC8E,IAAI,CAAE;QACZC,IAAI,EAAE,IAAAC,QAAE,EACP,QAAQ,EACR,gDACD,CAAC;QACD9B,SAAS,EAAEiC;MACZ,CAAE,CAAC;IACJ;IACA,OAAOnF,MAAM;EACd,CAAC,EAAE,CACFmF,eAAe,EACfC,cAAc,EACdC,gBAAgB,EAChBC,6BAA6B,CAC5B,CAAC;AACJ"}
|
|
@@ -335,6 +335,12 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
|
|
|
335
335
|
size: ruleValue
|
|
336
336
|
}, (0, _typographyUtils.getFluidTypographyOptionsFromSettings)(tree?.settings));
|
|
337
337
|
}
|
|
338
|
+
|
|
339
|
+
// For aspect ratio to work, other dimensions rules (and Cover block defaults) must be unset.
|
|
340
|
+
// This ensures that a fixed height does not override the aspect ratio.
|
|
341
|
+
if (cssProperty === 'aspect-ratio') {
|
|
342
|
+
output.push('min-height: unset');
|
|
343
|
+
}
|
|
338
344
|
output.push(`${cssProperty}: ${ruleValue}`);
|
|
339
345
|
});
|
|
340
346
|
return output;
|