@wordpress/block-editor 12.14.0 → 12.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +1 -1
- package/build/components/block-list/block.native.js +2 -0
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-parent-selector/index.js +1 -1
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +25 -16
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +4 -2
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +36 -19
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-rename/index.js +28 -0
- package/build/components/block-rename/index.js.map +1 -0
- package/build/components/block-rename/is-empty-string.js +10 -0
- package/build/components/block-rename/is-empty-string.js.map +1 -0
- package/build/components/block-rename/modal.js +87 -0
- package/build/components/block-rename/modal.js.map +1 -0
- package/build/components/block-rename/rename-control.js +74 -0
- package/build/components/block-rename/rename-control.js.map +1 -0
- package/build/components/block-rename/use-block-rename.js +17 -0
- package/build/components/block-rename/use-block-rename.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +33 -20
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +7 -0
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-types-list/index.js +6 -2
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +8 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +1 -1
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/image-size-control/index.js +0 -5
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +3 -1
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +29 -31
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/utils.js +3 -4
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +2 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter-listbox/index.js +11 -6
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +24 -23
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +5 -5
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/list-view/use-list-view-expand-selected-item.js +2 -3
- package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build/components/preview-options/index.js +4 -2
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +1 -1
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +34 -3
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +30 -1
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +4 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +2 -1
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-settings/index.js +2 -2
- package/build/components/use-settings/index.js.map +1 -1
- package/build/hooks/block-renaming.js +42 -0
- package/build/hooks/block-renaming.js.map +1 -1
- package/build/hooks/custom-fields.js +53 -48
- package/build/hooks/custom-fields.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +13 -7
- package/build/hooks/layout.js.map +1 -1
- package/build/layouts/constrained.js +4 -3
- package/build/layouts/constrained.js.map +1 -1
- package/build/store/selectors.js +2 -0
- package/build/store/selectors.js.map +1 -1
- package/build/utils/transform-styles/index.js +26 -6
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -0
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +1 -1
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +24 -15
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +4 -2
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +36 -19
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-rename/index.js +4 -0
- package/build-module/components/block-rename/index.js.map +1 -0
- package/build-module/components/block-rename/is-empty-string.js +4 -0
- package/build-module/components/block-rename/is-empty-string.js.map +1 -0
- package/build-module/components/block-rename/modal.js +79 -0
- package/build-module/components/block-rename/modal.js.map +1 -0
- package/build-module/components/block-rename/rename-control.js +66 -0
- package/build-module/components/block-rename/rename-control.js.map +1 -0
- package/build-module/components/block-rename/use-block-rename.js +10 -0
- package/build-module/components/block-rename/use-block-rename.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +34 -21
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +7 -0
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-types-list/index.js +6 -2
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +8 -1
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +1 -1
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/image-size-control/index.js +0 -5
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +3 -1
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +30 -32
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +2 -2
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/utils.js +3 -4
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +2 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +13 -8
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +25 -23
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +6 -5
- package/build-module/components/inserter-listbox/row.js.map +1 -1
- package/build-module/components/list-view/use-list-view-expand-selected-item.js +2 -3
- package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build-module/components/preview-options/index.js +4 -2
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +1 -1
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +34 -3
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +31 -2
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +4 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +2 -1
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +2 -2
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/hooks/block-renaming.js +40 -0
- package/build-module/hooks/block-renaming.js.map +1 -1
- package/build-module/hooks/custom-fields.js +53 -48
- package/build-module/hooks/custom-fields.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +13 -7
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/layouts/constrained.js +4 -3
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/store/selectors.js +2 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +24 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +6 -6
- package/build-style/content.css +6 -6
- package/build-style/style-rtl.css +10 -5
- package/build-style/style.css +10 -5
- package/package.json +31 -31
- package/src/components/block-list/block.native.js +2 -0
- package/src/components/block-parent-selector/index.js +1 -1
- package/src/components/block-pattern-setup/index.js +38 -22
- package/src/components/block-pattern-setup/setup-toolbar.js +2 -0
- package/src/components/block-pattern-setup/style.scss +4 -1
- package/src/components/block-patterns-list/README.md +4 -4
- package/src/components/block-patterns-list/index.js +60 -34
- package/src/components/block-patterns-list/style.scss +7 -0
- package/src/components/block-rename/index.js +3 -0
- package/src/components/block-rename/is-empty-string.js +3 -0
- package/src/components/block-rename/modal.js +115 -0
- package/src/components/block-rename/rename-control.js +80 -0
- package/src/components/block-rename/use-block-rename.js +10 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +38 -34
- package/src/components/block-settings-menu-controls/index.js +9 -0
- package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -4
- package/src/components/block-types-list/index.js +5 -4
- package/src/components/button-block-appender/content.scss +2 -2
- package/src/components/date-format-picker/index.js +7 -0
- package/src/components/editable-text/README.md +0 -36
- package/src/components/global-styles/advanced-panel.js +1 -1
- package/src/components/image-size-control/index.js +0 -6
- package/src/components/inner-blocks/index.js +6 -2
- package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +57 -33
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +5 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +7 -3
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +6 -1
- package/src/components/inserter/block-patterns-tab/utils.js +6 -4
- package/src/components/inserter/hooks/use-patterns-state.js +3 -1
- package/src/components/inserter-listbox/index.js +11 -7
- package/src/components/inserter-listbox/item.js +11 -12
- package/src/components/inserter-listbox/row.js +6 -12
- package/src/components/list-view/use-list-view-expand-selected-item.js +7 -8
- package/src/components/plain-text/README.md +0 -28
- package/src/components/preview-options/index.js +2 -0
- package/src/components/rich-text/README.md +0 -58
- package/src/components/rich-text/index.native.js +1 -1
- package/src/components/rich-text/native/index.native.js +45 -2
- package/src/components/rich-text/use-input-rules.js +30 -2
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/src/components/url-input/README.md +1 -74
- package/src/components/use-block-drop-zone/index.js +4 -1
- package/src/components/use-moving-animation/index.js +1 -1
- package/src/components/use-settings/index.js +2 -2
- package/src/components/use-settings/test/index.js +1 -1
- package/src/hooks/block-renaming.js +47 -0
- package/src/hooks/custom-fields.js +68 -65
- package/src/hooks/index.js +0 -1
- package/src/hooks/layout.js +12 -8
- package/src/hooks/test/__snapshots__/align.native.js.snap +5 -5
- package/src/layouts/constrained.js +57 -50
- package/src/store/selectors.js +2 -0
- package/src/style.scss +1 -1
- package/src/utils/test/transform-styles.js +49 -0
- package/src/utils/transform-styles/index.js +39 -13
- package/build/hooks/block-rename-ui.js +0 -167
- package/build/hooks/block-rename-ui.js.map +0 -1
- package/build-module/hooks/block-rename-ui.js +0 -159
- package/build-module/hooks/block-rename-ui.js.map +0 -1
- package/src/hooks/block-rename-ui.js +0 -228
- /package/src/{hooks/block-rename-ui.scss → components/block-rename/style.scss} +0 -0
|
@@ -22,7 +22,6 @@ import './metadata';
|
|
|
22
22
|
import './custom-fields';
|
|
23
23
|
import './block-hooks';
|
|
24
24
|
import './block-renaming';
|
|
25
|
-
import './block-rename-ui';
|
|
26
25
|
export { useCustomSides } from './dimensions';
|
|
27
26
|
export { useLayoutClasses, useLayoutStyles } from './layout';
|
|
28
27
|
export { getBorderClassesAndStyles, useBorderProps } from './use-border-props';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCustomSides","useLayoutClasses","useLayoutStyles","getBorderClassesAndStyles","useBorderProps","getColorClassesAndStyles","useColorProps","getSpacingClassesAndStyles","getTypographyClassesAndStyles","getGapCSSValue","useCachedTruthy"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './compat';\nimport './align';\nimport './lock';\nimport './anchor';\nimport './aria-label';\nimport './custom-class-name';\nimport './generated-class-name';\nimport './style';\nimport './settings';\nimport './color';\nimport './duotone';\nimport './font-family';\nimport './font-size';\nimport './border';\nimport './position';\nimport './layout';\nimport './content-lock-ui';\nimport './metadata';\nimport './custom-fields';\nimport './block-hooks';\nimport './block-renaming';\
|
|
1
|
+
{"version":3,"names":["useCustomSides","useLayoutClasses","useLayoutStyles","getBorderClassesAndStyles","useBorderProps","getColorClassesAndStyles","useColorProps","getSpacingClassesAndStyles","getTypographyClassesAndStyles","getGapCSSValue","useCachedTruthy"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './compat';\nimport './align';\nimport './lock';\nimport './anchor';\nimport './aria-label';\nimport './custom-class-name';\nimport './generated-class-name';\nimport './style';\nimport './settings';\nimport './color';\nimport './duotone';\nimport './font-family';\nimport './font-size';\nimport './border';\nimport './position';\nimport './layout';\nimport './content-lock-ui';\nimport './metadata';\nimport './custom-fields';\nimport './block-hooks';\nimport './block-renaming';\n\nexport { useCustomSides } from './dimensions';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,UAAU;AACjB,OAAO,SAAS;AAChB,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,qBAAqB;AAC5B,OAAO,wBAAwB;AAC/B,OAAO,SAAS;AAChB,OAAO,YAAY;AACnB,OAAO,SAAS;AAChB,OAAO,WAAW;AAClB,OAAO,eAAe;AACtB,OAAO,aAAa;AACpB,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,OAAO,UAAU;AACjB,OAAO,mBAAmB;AAC1B,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,eAAe;AACtB,OAAO,kBAAkB;AAEzB,SAASA,cAAc,QAAQ,cAAc;AAC7C,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,UAAU;AAC5D,SAASC,yBAAyB,EAAEC,cAAc,QAAQ,oBAAoB;AAC9E,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,mBAAmB;AAC3E,SAASC,0BAA0B,QAAQ,qBAAqB;AAChE,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,cAAc,QAAQ,OAAO;AACtC,SAASC,eAAe,QAAQ,qBAAqB"}
|
|
@@ -115,11 +115,11 @@ function LayoutPanel({
|
|
|
115
115
|
name: blockName
|
|
116
116
|
}) {
|
|
117
117
|
const settings = useBlockSettings(blockName);
|
|
118
|
+
// Block settings come from theme.json under settings.[blockName].
|
|
118
119
|
const {
|
|
119
|
-
layout:
|
|
120
|
-
allowEditing: allowEditingSetting
|
|
121
|
-
}
|
|
120
|
+
layout: layoutSettings
|
|
122
121
|
} = settings;
|
|
122
|
+
// Layout comes from block attributes.
|
|
123
123
|
const {
|
|
124
124
|
layout
|
|
125
125
|
} = attributes;
|
|
@@ -138,13 +138,19 @@ function LayoutPanel({
|
|
|
138
138
|
if (blockEditingMode !== 'default') {
|
|
139
139
|
return null;
|
|
140
140
|
}
|
|
141
|
+
|
|
142
|
+
// Layout block support comes from the block's block.json.
|
|
141
143
|
const layoutBlockSupport = getBlockSupport(blockName, layoutBlockSupportKey, {});
|
|
144
|
+
const blockSupportAndThemeSettings = {
|
|
145
|
+
...layoutSettings,
|
|
146
|
+
...layoutBlockSupport
|
|
147
|
+
};
|
|
142
148
|
const {
|
|
143
149
|
allowSwitching,
|
|
144
|
-
allowEditing =
|
|
150
|
+
allowEditing = true,
|
|
145
151
|
allowInheriting = true,
|
|
146
152
|
default: defaultBlockLayout
|
|
147
|
-
} =
|
|
153
|
+
} = blockSupportAndThemeSettings;
|
|
148
154
|
if (!allowEditing) {
|
|
149
155
|
return null;
|
|
150
156
|
}
|
|
@@ -198,11 +204,11 @@ function LayoutPanel({
|
|
|
198
204
|
}), layoutType && layoutType.name !== 'default' && createElement(layoutType.inspectorControls, {
|
|
199
205
|
layout: usedLayout,
|
|
200
206
|
onChange: onChangeLayout,
|
|
201
|
-
layoutBlockSupport:
|
|
207
|
+
layoutBlockSupport: blockSupportAndThemeSettings
|
|
202
208
|
}), constrainedType && displayControlsForLegacyLayouts && createElement(constrainedType.inspectorControls, {
|
|
203
209
|
layout: usedLayout,
|
|
204
210
|
onChange: onChangeLayout,
|
|
205
|
-
layoutBlockSupport:
|
|
211
|
+
layoutBlockSupport: blockSupportAndThemeSettings
|
|
206
212
|
}))), !inherit && layoutType && createElement(layoutType.toolBarControls, {
|
|
207
213
|
layout: usedLayout,
|
|
208
214
|
onChange: onChangeLayout,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","createHigherOrderComponent","useInstanceId","addFilter","getBlockSupport","hasBlockSupport","useSelect","Button","ButtonGroup","ToggleControl","PanelBody","__","store","blockEditorStore","InspectorControls","useSettings","getLayoutType","getLayoutTypes","useBlockEditingMode","LAYOUT_DEFINITIONS","kebabCase","useBlockSettings","useStyleOverride","layoutBlockSupportKey","hasLayoutBlockSupport","blockName","useLayoutClasses","blockAttributes","rootPaddingAlignment","select","getSettings","__experimentalFeatures","useRootPaddingAwareAlignments","layout","default","defaultBlockLayout","usedLayout","inherit","contentSize","wideSize","type","layoutClassnames","className","baseClassName","splitBlockName","split","fullBlockName","pop","join","compoundClassName","push","orientation","justifyContent","flexWrap","useLayoutStyles","selector","style","fullLayoutType","blockGapSupport","hasBlockGapSupport","css","getLayoutStyle","LayoutPanel","setAttributes","attributes","name","settings","allowEditing","allowEditingSetting","defaultThemeLayout","themeSupportsLayout","supportsLayout","blockEditingMode","layoutBlockSupport","allowSwitching","allowInheriting","showInheritToggle","layoutType","constrainedType","displayControlsForLegacyLayouts","hasContentSizeOrLegacySettings","onChangeType","newType","onChangeLayout","newLayout","createElement","Fragment","title","__nextHasNoMarginBottom","label","checked","onChange","help","LayoutTypeSwitcher","inspectorControls","toolBarControls","map","key","isPressed","onClick","addAttribute","_settings$attributes$","withLayoutControls","BlockEdit","props","supportLayout","BlockWithLayoutStyles","block","BlockListBlock","id","layoutClasses","layoutClassNames","__unstableLayoutClassNames","withLayoutStyles","blockSupportsLayout","shouldRenderLayoutStyles","disableLayoutStyles","BlockWithChildLayoutStyles","_props$attributes$sty","selfStretch","flexSize","withChildLayoutStyles","_props$attributes$sty2","hasChildLayout","shouldRenderChildLayoutStyles"],"sources":["@wordpress/block-editor/src/hooks/layout.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { kebabCase } from '../utils/object';\nimport { useBlockSettings, useStyleOverride } from './utils';\n\nconst layoutBlockSupportKey = 'layout';\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst rootPaddingAlignment = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalFeatures\n\t\t\t?.useRootPaddingAwareAlignments;\n\t}, [] );\n\tconst { layout } = blockAttributes;\n\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tif (\n\t\t( usedLayout?.inherit ||\n\t\t\tusedLayout?.contentSize ||\n\t\t\tusedLayout?.type === 'constrained' ) &&\n\t\trootPaddingAlignment\n\t) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n\treturn css;\n}\n\nfunction LayoutPanel( { setAttributes, attributes, name: blockName } ) {\n\tconst settings = useBlockSettings( blockName );\n\tconst {\n\t\tlayout: { allowEditing: allowEditingSetting },\n\t} = settings;\n\n\tconst { layout } = attributes;\n\tconst [ defaultThemeLayout ] = useSettings( 'layout' );\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = allowEditingSetting ?? true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = layoutBlockSupport;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t// Only show the inherit toggle if it's supported,\n\t// a default theme layout is set (e.g. one that provides `contentSize` and/or `wideSize` values),\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t!! defaultThemeLayout &&\n\t\t( ! layout?.type ||\n\t\t\tlayout?.type === 'default' ||\n\t\t\tlayout?.type === 'constrained' ||\n\t\t\tlayout?.inherit )\n\t);\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst {\n\t\tinherit = false,\n\t\ttype = 'default',\n\t\tcontentSize = null,\n\t} = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( type === 'default' || type === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( type );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__toggle-control\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutType?.name ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'constrained' ||\n\t\t\t\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'constrained',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks will fill the width of this container. Toggle to constrain.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include layout controls\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst supportLayout = hasLayoutBlockSupport( props.name );\n\n\t\treturn [\n\t\t\tsupportLayout && <LayoutPanel key=\"layout\" { ...props } />,\n\t\t\t<BlockEdit key=\"edit\" { ...props } />,\n\t\t];\n\t},\n\t'withLayoutControls'\n);\n\nfunction BlockWithLayoutStyles( { block: BlockListBlock, props } ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\tconst layoutClasses = useLayoutClasses( attributes, name );\n\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.wp-container-${ id }.wp-container-${ id }`;\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t} );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = classnames(\n\t\t{\n\t\t\t[ `wp-container-${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst blockSupportsLayout = hasLayoutBlockSupport( props.name );\n\t\tconst shouldRenderLayoutStyles = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn ! select( blockEditorStore ).getSettings()\n\t\t\t\t\t.disableLayoutStyles;\n\t\t\t},\n\t\t\t[ blockSupportsLayout ]\n\t\t);\n\n\t\tif ( ! shouldRenderLayoutStyles ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithLayoutStyles block={ BlockListBlock } props={ props } />\n\t\t);\n\t},\n\t'withLayoutStyles'\n);\n\nfunction BlockWithChildLayoutStyles( { block: BlockListBlock, props } ) {\n\tconst layout = props.attributes.style?.layout ?? {};\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst id = useInstanceId( BlockListBlock );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\tlet css = '';\n\tif ( selfStretch === 'fixed' && flexSize ) {\n\t\tcss = `${ selector } {\n\t\t\t\tflex-basis: ${ flexSize };\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}`;\n\t} else if ( selfStretch === 'fill' ) {\n\t\tcss = `${ selector } {\n\t\t\t\tflex-grow: 1;\n\t\t\t}`;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\tconst className = classnames( props.className, {\n\t\t[ `wp-container-content-${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn <BlockListBlock { ...props } className={ className } />;\n}\n\n/**\n * Override the default block element to add the child layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withChildLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst layout = props.attributes.style?.layout ?? {};\n\t\tconst { selfStretch, flexSize } = layout;\n\t\tconst hasChildLayout = selfStretch || flexSize;\n\n\t\tconst shouldRenderChildLayoutStyles = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! hasChildLayout ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn ! select( blockEditorStore ).getSettings()\n\t\t\t\t\t.disableLayoutStyles;\n\t\t\t},\n\t\t\t[ hasChildLayout ]\n\t\t);\n\n\t\tif ( ! shouldRenderChildLayoutStyles ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithChildLayoutStyles\n\t\t\t\tblock={ BlockListBlock }\n\t\t\t\tprops={ props }\n\t\t\t/>\n\t\t);\n\t},\n\t'withChildLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-child-layout-styles',\n\twithChildLayoutStyles\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/layout/with-inspector-controls',\n\twithLayoutControls\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,0BAA0B,EAAEC,aAAa,QAAQ,oBAAoB;AAC9E,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,eAAe,EAAEC,eAAe,QAAQ,mBAAmB;AACpE,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,MAAM,EACNC,WAAW,EACXC,aAAa,EACbC,SAAS,QACH,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,UAAU;AACpD,SAASC,iBAAiB,QAAQ,eAAe;AACjD,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,aAAa,EAAEC,cAAc,QAAQ,YAAY;AAC1D,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAE5D,MAAMC,qBAAqB,GAAG,QAAQ;AAEtC,SAASC,qBAAqBA,CAAEC,SAAS,EAAG;EAC3C,OACCpB,eAAe,CAAEoB,SAAS,EAAE,QAAS,CAAC,IACtCpB,eAAe,CAAEoB,SAAS,EAAE,sBAAuB,CAAC;AAEtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,eAAe,GAAG,CAAC,CAAC,EAAEF,SAAS,GAAG,EAAE,EAAG;EACxE,MAAMG,oBAAoB,GAAGtB,SAAS,CAAIuB,MAAM,IAAM;IACrD,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEhB,gBAAiB,CAAC;IAClD,OAAOiB,WAAW,CAAC,CAAC,CAACC,sBAAsB,EACxCC,6BAA6B;EACjC,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAO,CAAC,GAAGN,eAAe;EAElC,MAAM;IAAEO,OAAO,EAAEC;EAAmB,CAAC,GACpC/B,eAAe,CAAEqB,SAAS,EAAEF,qBAAsB,CAAC,IAAI,CAAC,CAAC;EAC1D,MAAMa,UAAU,GACfH,MAAM,EAAEI,OAAO,IAAIJ,MAAM,EAAEK,WAAW,IAAIL,MAAM,EAAEM,QAAQ,GACvD;IAAE,GAAGN,MAAM;IAAEO,IAAI,EAAE;EAAc,CAAC,GAClCP,MAAM,IAAIE,kBAAkB,IAAI,CAAC,CAAC;EAEtC,MAAMM,gBAAgB,GAAG,EAAE;EAE3B,IAAKtB,kBAAkB,CAAEiB,UAAU,EAAEI,IAAI,IAAI,SAAS,CAAE,EAAEE,SAAS,EAAG;IACrE,MAAMC,aAAa,GAClBxB,kBAAkB,CAAEiB,UAAU,EAAEI,IAAI,IAAI,SAAS,CAAE,EAAEE,SAAS;IAC/D,MAAME,cAAc,GAAGnB,SAAS,CAACoB,KAAK,CAAE,GAAI,CAAC;IAC7C,MAAMC,aAAa,GAClBF,cAAc,CAAE,CAAC,CAAE,KAAK,MAAM,GAC3BA,cAAc,CAACG,GAAG,CAAC,CAAC,GACpBH,cAAc,CAACI,IAAI,CAAE,GAAI,CAAC;IAC9B,MAAMC,iBAAiB,GAAI,YAAYH,aAAe,IAAIH,aAAe,EAAC;IAC1EF,gBAAgB,CAACS,IAAI,CAAEP,aAAa,EAAEM,iBAAkB,CAAC;EAC1D;EAEA,IACC,CAAEb,UAAU,EAAEC,OAAO,IACpBD,UAAU,EAAEE,WAAW,IACvBF,UAAU,EAAEI,IAAI,KAAK,aAAa,KACnCZ,oBAAoB,EACnB;IACDa,gBAAgB,CAACS,IAAI,CAAE,oBAAqB,CAAC;EAC9C;EAEA,IAAKd,UAAU,EAAEe,WAAW,EAAG;IAC9BV,gBAAgB,CAACS,IAAI,CAAG,MAAM9B,SAAS,CAAEgB,UAAU,CAACe,WAAY,CAAG,EAAE,CAAC;EACvE;EAEA,IAAKf,UAAU,EAAEgB,cAAc,EAAG;IACjCX,gBAAgB,CAACS,IAAI,CACnB,4BAA4B9B,SAAS,CACrCgB,UAAU,CAACgB,cACZ,CAAG,EACJ,CAAC;EACF;EAEA,IAAKhB,UAAU,EAAEiB,QAAQ,IAAIjB,UAAU,CAACiB,QAAQ,KAAK,QAAQ,EAAG;IAC/DZ,gBAAgB,CAACS,IAAI,CAAE,WAAY,CAAC;EACrC;EAEA,OAAOT,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,eAAeA,CAAE3B,eAAe,GAAG,CAAC,CAAC,EAAEF,SAAS,EAAE8B,QAAQ,EAAG;EAC5E,MAAM;IAAEtB,MAAM,GAAG,CAAC,CAAC;IAAEuB,KAAK,GAAG,CAAC;EAAE,CAAC,GAAG7B,eAAe;EACnD;EACA,MAAMS,UAAU,GACfH,MAAM,EAAEI,OAAO,IAAIJ,MAAM,EAAEK,WAAW,IAAIL,MAAM,EAAEM,QAAQ,GACvD;IAAE,GAAGN,MAAM;IAAEO,IAAI,EAAE;EAAc,CAAC,GAClCP,MAAM,IAAI,CAAC,CAAC;EAChB,MAAMwB,cAAc,GAAGzC,aAAa,CAAEoB,UAAU,EAAEI,IAAI,IAAI,SAAU,CAAC;EACrE,MAAM,CAAEkB,eAAe,CAAE,GAAG3C,WAAW,CAAE,kBAAmB,CAAC;EAC7D,MAAM4C,kBAAkB,GAAGD,eAAe,KAAK,IAAI;EACnD,MAAME,GAAG,GAAGH,cAAc,EAAEI,cAAc,GAAI;IAC7CpC,SAAS;IACT8B,QAAQ;IACRtB,MAAM;IACNuB,KAAK;IACLG;EACD,CAAE,CAAC;EACH,OAAOC,GAAG;AACX;AAEA,SAASE,WAAWA,CAAE;EAAEC,aAAa;EAAEC,UAAU;EAAEC,IAAI,EAAExC;AAAU,CAAC,EAAG;EACtE,MAAMyC,QAAQ,GAAG7C,gBAAgB,CAAEI,SAAU,CAAC;EAC9C,MAAM;IACLQ,MAAM,EAAE;MAAEkC,YAAY,EAAEC;IAAoB;EAC7C,CAAC,GAAGF,QAAQ;EAEZ,MAAM;IAAEjC;EAAO,CAAC,GAAG+B,UAAU;EAC7B,MAAM,CAAEK,kBAAkB,CAAE,GAAGtD,WAAW,CAAE,QAAS,CAAC;EACtD,MAAM;IAAEuD;EAAoB,CAAC,GAAGhE,SAAS,CAAIuB,MAAM,IAAM;IACxD,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEhB,gBAAiB,CAAC;IAClD,OAAO;MACNyD,mBAAmB,EAAExC,WAAW,CAAC,CAAC,CAACyC;IACpC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,gBAAgB,GAAGtD,mBAAmB,CAAC,CAAC;EAE9C,IAAKsD,gBAAgB,KAAK,SAAS,EAAG;IACrC,OAAO,IAAI;EACZ;EAEA,MAAMC,kBAAkB,GAAGrE,eAAe,CACzCqB,SAAS,EACTF,qBAAqB,EACrB,CAAC,CACF,CAAC;EACD,MAAM;IACLmD,cAAc;IACdP,YAAY,GAAGC,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,IAAI;IAC1CO,eAAe,GAAG,IAAI;IACtBzC,OAAO,EAAEC;EACV,CAAC,GAAGsC,kBAAkB;EAEtB,IAAK,CAAEN,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA;EACA,MAAMS,iBAAiB,GAAG,CAAC,EAC1BD,eAAe,IACf,CAAC,CAAEN,kBAAkB,KACnB,CAAEpC,MAAM,EAAEO,IAAI,IACfP,MAAM,EAAEO,IAAI,KAAK,SAAS,IAC1BP,MAAM,EAAEO,IAAI,KAAK,aAAa,IAC9BP,MAAM,EAAEI,OAAO,CAAE,CAClB;EAED,MAAMD,UAAU,GAAGH,MAAM,IAAIE,kBAAkB,IAAI,CAAC,CAAC;EACrD,MAAM;IACLE,OAAO,GAAG,KAAK;IACfG,IAAI,GAAG,SAAS;IAChBF,WAAW,GAAG;EACf,CAAC,GAAGF,UAAU;EACd;AACD;AACA;AACA;AACA;EACC,IACC,CAAEI,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,aAAa,KAC9C,CAAE8B,mBAAmB,EACpB;IACD,OAAO,IAAI;EACZ;EACA,MAAMO,UAAU,GAAG7D,aAAa,CAAEwB,IAAK,CAAC;EACxC,MAAMsC,eAAe,GAAG9D,aAAa,CAAE,aAAc,CAAC;EACtD,MAAM+D,+BAA+B,GACpC,CAAE3C,UAAU,CAACI,IAAI,KAAMF,WAAW,IAAID,OAAO,CAAE;EAChD,MAAM2C,8BAA8B,GAAG,CAAC,CAAE3C,OAAO,IAAI,CAAC,CAAEC,WAAW;EAEnE,MAAM2C,YAAY,GAAKC,OAAO,IAC7BnB,aAAa,CAAE;IAAE9B,MAAM,EAAE;MAAEO,IAAI,EAAE0C;IAAQ;EAAE,CAAE,CAAC;EAC/C,MAAMC,cAAc,GAAKC,SAAS,IACjCrB,aAAa,CAAE;IAAE9B,MAAM,EAAEmD;EAAU,CAAE,CAAC;EAEvC,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACvE,iBAAiB,QACjBuE,aAAA,CAAC3E,SAAS;IAAC6E,KAAK,EAAG5E,EAAE,CAAE,QAAS;EAAG,GAChCiE,iBAAiB,IAClBS,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC5E,aAAa;IACb+E,uBAAuB;IACvB9C,SAAS,EAAC,oCAAoC;IAC9C+C,KAAK,EAAG9E,EAAE,CAAE,gCAAiC,CAAG;IAChD+E,OAAO,EACNb,UAAU,EAAEZ,IAAI,KAAK,aAAa,IAClCe,8BACA;IACDW,QAAQ,EAAGA,CAAA,KACV5B,aAAa,CAAE;MACd9B,MAAM,EAAE;QACPO,IAAI,EACHqC,UAAU,EAAEZ,IAAI,KACf,aAAa,IACde,8BAA8B,GAC3B,SAAS,GACT;MACL;IACD,CAAE,CACF;IACDY,IAAI,EACHf,UAAU,EAAEZ,IAAI,KAAK,aAAa,IAClCe,8BAA8B,GAC3BrE,EAAE,CACF,wEACA,CAAC,GACDA,EAAE,CACF,2EACA;EACH,CACD,CACA,CACF,EAEC,CAAE0B,OAAO,IAAIqC,cAAc,IAC5BW,aAAA,CAACQ,kBAAkB;IAClBrD,IAAI,EAAGA,IAAM;IACbmD,QAAQ,EAAGV;EAAc,CACzB,CACD,EAECJ,UAAU,IAAIA,UAAU,CAACZ,IAAI,KAAK,SAAS,IAC5CoB,aAAA,CAACR,UAAU,CAACiB,iBAAiB;IAC5B7D,MAAM,EAAGG,UAAY;IACrBuD,QAAQ,EAAGR,cAAgB;IAC3BV,kBAAkB,EAAGA;EAAoB,CACzC,CACD,EACCK,eAAe,IAAIC,+BAA+B,IACnDM,aAAA,CAACP,eAAe,CAACgB,iBAAiB;IACjC7D,MAAM,EAAGG,UAAY;IACrBuD,QAAQ,EAAGR,cAAgB;IAC3BV,kBAAkB,EAAGA;EAAoB,CACzC,CAEQ,CACO,CAAC,EAClB,CAAEpC,OAAO,IAAIwC,UAAU,IACxBQ,aAAA,CAACR,UAAU,CAACkB,eAAe;IAC1B9D,MAAM,EAAGG,UAAY;IACrBuD,QAAQ,EAAGR,cAAgB;IAC3BV,kBAAkB,EAAGA;EAAoB,CACzC,CAED,CAAC;AAEL;AAEA,SAASoB,kBAAkBA,CAAE;EAAErD,IAAI;EAAEmD;AAAS,CAAC,EAAG;EACjD,OACCN,aAAA,CAAC7E,WAAW,QACTS,cAAc,CAAC,CAAC,CAAC+E,GAAG,CAAE,CAAE;IAAE/B,IAAI;IAAEwB;EAAM,CAAC,KAAM;IAC9C,OACCJ,aAAA,CAAC9E,MAAM;MACN0F,GAAG,EAAGhC,IAAM;MACZiC,SAAS,EAAG1D,IAAI,KAAKyB,IAAM;MAC3BkC,OAAO,EAAGA,CAAA,KAAMR,QAAQ,CAAE1B,IAAK;IAAG,GAEhCwB,KACK,CAAC;EAEX,CAAE,CACU,CAAC;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASW,YAAYA,CAAElC,QAAQ,EAAG;EAAA,IAAAmC,qBAAA;EACxC,IAAK,MAAM,MAAAA,qBAAA,GAAMnC,QAAQ,CAACF,UAAU,EAAE/B,MAAM,cAAAoE,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAE,EAAG;IACtD,OAAOnC,QAAQ;EAChB;EACA,IAAK1C,qBAAqB,CAAE0C,QAAS,CAAC,EAAG;IACxCA,QAAQ,CAACF,UAAU,GAAG;MACrB,GAAGE,QAAQ,CAACF,UAAU;MACtB/B,MAAM,EAAE;QACPO,IAAI,EAAE;MACP;IACD,CAAC;EACF;EAEA,OAAO0B,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMoC,kBAAkB,GAAGrG,0BAA0B,CACzDsG,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAMC,aAAa,GAAGjF,qBAAqB,CAAEgF,KAAK,CAACvC,IAAK,CAAC;EAEzD,OAAO,CACNwC,aAAa,IAAIpB,aAAA,CAACvB,WAAW;IAACmC,GAAG,EAAC,QAAQ;IAAA,GAAMO;EAAK,CAAI,CAAC,EAC1DnB,aAAA,CAACkB,SAAS;IAACN,GAAG,EAAC,MAAM;IAAA,GAAMO;EAAK,CAAI,CAAC,CACrC;AACF,CAAC,EACD,oBACD,CAAC;AAED,SAASE,qBAAqBA,CAAE;EAAEC,KAAK,EAAEC,cAAc;EAAEJ;AAAM,CAAC,EAAG;EAClE,MAAM;IAAEvC,IAAI;IAAED;EAAW,CAAC,GAAGwC,KAAK;EAClC,MAAMK,EAAE,GAAG3G,aAAa,CAAE0G,cAAe,CAAC;EAC1C,MAAM;IAAE3E;EAAO,CAAC,GAAG+B,UAAU;EAC7B,MAAM;IAAE9B,OAAO,EAAEC;EAAmB,CAAC,GACpC/B,eAAe,CAAE6D,IAAI,EAAE1C,qBAAsB,CAAC,IAAI,CAAC,CAAC;EACrD,MAAMa,UAAU,GACfH,MAAM,EAAEI,OAAO,IAAIJ,MAAM,EAAEK,WAAW,IAAIL,MAAM,EAAEM,QAAQ,GACvD;IAAE,GAAGN,MAAM;IAAEO,IAAI,EAAE;EAAc,CAAC,GAClCP,MAAM,IAAIE,kBAAkB,IAAI,CAAC,CAAC;EACtC,MAAM2E,aAAa,GAAGpF,gBAAgB,CAAEsC,UAAU,EAAEC,IAAK,CAAC;;EAE1D;EACA,MAAMV,QAAQ,GAAI,iBAAiBsD,EAAI,iBAAiBA,EAAI,EAAC;EAC7D,MAAM,CAAEnD,eAAe,CAAE,GAAG3C,WAAW,CAAE,kBAAmB,CAAC;EAC7D,MAAM4C,kBAAkB,GAAGD,eAAe,KAAK,IAAI;;EAEnD;EACA;EACA,MAAMD,cAAc,GAAGzC,aAAa,CAAEoB,UAAU,EAAEI,IAAI,IAAI,SAAU,CAAC;EACrE,MAAMoB,GAAG,GAAGH,cAAc,EAAEI,cAAc,GAAI;IAC7CpC,SAAS,EAAEwC,IAAI;IACfV,QAAQ;IACRtB,MAAM,EAAEG,UAAU;IAClBoB,KAAK,EAAEQ,UAAU,EAAER,KAAK;IACxBG;EACD,CAAE,CAAC;;EAEH;EACA,MAAMoD,gBAAgB,GAAG/G,UAAU,CAClC;IACC,CAAG,gBAAgB6G,EAAI,EAAC,GAAI,CAAC,CAAEjD,GAAG,CAAE;EACrC,CAAC,EACDkD,aACD,CAAC;EAEDxF,gBAAgB,CAAE;IAAEsC;EAAI,CAAE,CAAC;EAE3B,OACCyB,aAAA,CAACuB,cAAc;IAAA,GACTJ,KAAK;IACVQ,0BAA0B,EAAGD;EAAkB,CAC/C,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,gBAAgB,GAAGhH,0BAA0B,CACvD2G,cAAc,IAAQJ,KAAK,IAAM;EAClC,MAAMU,mBAAmB,GAAG1F,qBAAqB,CAAEgF,KAAK,CAACvC,IAAK,CAAC;EAC/D,MAAMkD,wBAAwB,GAAG7G,SAAS,CACvCuB,MAAM,IAAM;IACb;IACA,IAAK,CAAEqF,mBAAmB,EAAG;MAC5B,OAAO,KAAK;IACb;IAEA,OAAO,CAAErF,MAAM,CAAEhB,gBAAiB,CAAC,CAACiB,WAAW,CAAC,CAAC,CAC/CsF,mBAAmB;EACtB,CAAC,EACD,CAAEF,mBAAmB,CACtB,CAAC;EAED,IAAK,CAAEC,wBAAwB,EAAG;IACjC,OAAO9B,aAAA,CAACuB,cAAc;MAAA,GAAMJ;IAAK,CAAI,CAAC;EACvC;EAEA,OACCnB,aAAA,CAACqB,qBAAqB;IAACC,KAAK,EAAGC,cAAgB;IAACJ,KAAK,EAAGA;EAAO,CAAE,CAAC;AAEpE,CAAC,EACD,kBACD,CAAC;AAED,SAASa,0BAA0BA,CAAE;EAAEV,KAAK,EAAEC,cAAc;EAAEJ;AAAM,CAAC,EAAG;EAAA,IAAAc,qBAAA;EACvE,MAAMrF,MAAM,IAAAqF,qBAAA,GAAGd,KAAK,CAACxC,UAAU,CAACR,KAAK,EAAEvB,MAAM,cAAAqF,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EACnD,MAAM;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGvF,MAAM;EAExC,MAAM4E,EAAE,GAAG3G,aAAa,CAAE0G,cAAe,CAAC;EAC1C,MAAMrD,QAAQ,GAAI,yBAAyBsD,EAAI,EAAC;EAEhD,IAAIjD,GAAG,GAAG,EAAE;EACZ,IAAK2D,WAAW,KAAK,OAAO,IAAIC,QAAQ,EAAG;IAC1C5D,GAAG,GAAI,GAAGL,QAAU;AACtB,kBAAmBiE,QAAU;AAC7B;AACA,KAAK;EACJ,CAAC,MAAM,IAAKD,WAAW,KAAK,MAAM,EAAG;IACpC3D,GAAG,GAAI,GAAGL,QAAU;AACtB;AACA,KAAK;EACJ;;EAEA;EACA,MAAMb,SAAS,GAAG1C,UAAU,CAAEwG,KAAK,CAAC9D,SAAS,EAAE;IAC9C,CAAG,wBAAwBmE,EAAI,EAAC,GAAI,CAAC,CAAEjD,GAAG,CAAE;EAC7C,CAAE,CAAC;;EAEHtC,gBAAgB,CAAE;IAAEsC;EAAI,CAAE,CAAC;EAE3B,OAAOyB,aAAA,CAACuB,cAAc;IAAA,GAAMJ,KAAK;IAAG9D,SAAS,EAAGA;EAAW,CAAE,CAAC;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM+E,qBAAqB,GAAGxH,0BAA0B,CAC5D2G,cAAc,IAAQJ,KAAK,IAAM;EAAA,IAAAkB,sBAAA;EAClC,MAAMzF,MAAM,IAAAyF,sBAAA,GAAGlB,KAAK,CAACxC,UAAU,CAACR,KAAK,EAAEvB,MAAM,cAAAyF,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAC;EACnD,MAAM;IAAEH,WAAW;IAAEC;EAAS,CAAC,GAAGvF,MAAM;EACxC,MAAM0F,cAAc,GAAGJ,WAAW,IAAIC,QAAQ;EAE9C,MAAMI,6BAA6B,GAAGtH,SAAS,CAC5CuB,MAAM,IAAM;IACb;IACA,IAAK,CAAE8F,cAAc,EAAG;MACvB,OAAO,KAAK;IACb;IAEA,OAAO,CAAE9F,MAAM,CAAEhB,gBAAiB,CAAC,CAACiB,WAAW,CAAC,CAAC,CAC/CsF,mBAAmB;EACtB,CAAC,EACD,CAAEO,cAAc,CACjB,CAAC;EAED,IAAK,CAAEC,6BAA6B,EAAG;IACtC,OAAOvC,aAAA,CAACuB,cAAc;MAAA,GAAMJ;IAAK,CAAI,CAAC;EACvC;EAEA,OACCnB,aAAA,CAACgC,0BAA0B;IAC1BV,KAAK,EAAGC,cAAgB;IACxBJ,KAAK,EAAGA;EAAO,CACf,CAAC;AAEJ,CAAC,EACD,uBACD,CAAC;AAEDrG,SAAS,CACR,0BAA0B,EAC1B,0BAA0B,EAC1BiG,YACD,CAAC;AACDjG,SAAS,CACR,uBAAuB,EACvB,uCAAuC,EACvC8G,gBACD,CAAC;AACD9G,SAAS,CACR,uBAAuB,EACvB,6CAA6C,EAC7CsH,qBACD,CAAC;AACDtH,SAAS,CACR,kBAAkB,EAClB,4CAA4C,EAC5CmG,kBACD,CAAC"}
|
|
1
|
+
{"version":3,"names":["classnames","createHigherOrderComponent","useInstanceId","addFilter","getBlockSupport","hasBlockSupport","useSelect","Button","ButtonGroup","ToggleControl","PanelBody","__","store","blockEditorStore","InspectorControls","useSettings","getLayoutType","getLayoutTypes","useBlockEditingMode","LAYOUT_DEFINITIONS","kebabCase","useBlockSettings","useStyleOverride","layoutBlockSupportKey","hasLayoutBlockSupport","blockName","useLayoutClasses","blockAttributes","rootPaddingAlignment","select","getSettings","__experimentalFeatures","useRootPaddingAwareAlignments","layout","default","defaultBlockLayout","usedLayout","inherit","contentSize","wideSize","type","layoutClassnames","className","baseClassName","splitBlockName","split","fullBlockName","pop","join","compoundClassName","push","orientation","justifyContent","flexWrap","useLayoutStyles","selector","style","fullLayoutType","blockGapSupport","hasBlockGapSupport","css","getLayoutStyle","LayoutPanel","setAttributes","attributes","name","settings","layoutSettings","defaultThemeLayout","themeSupportsLayout","supportsLayout","blockEditingMode","layoutBlockSupport","blockSupportAndThemeSettings","allowSwitching","allowEditing","allowInheriting","showInheritToggle","layoutType","constrainedType","displayControlsForLegacyLayouts","hasContentSizeOrLegacySettings","onChangeType","newType","onChangeLayout","newLayout","createElement","Fragment","title","__nextHasNoMarginBottom","label","checked","onChange","help","LayoutTypeSwitcher","inspectorControls","toolBarControls","map","key","isPressed","onClick","addAttribute","_settings$attributes$","withLayoutControls","BlockEdit","props","supportLayout","BlockWithLayoutStyles","block","BlockListBlock","id","layoutClasses","layoutClassNames","__unstableLayoutClassNames","withLayoutStyles","blockSupportsLayout","shouldRenderLayoutStyles","disableLayoutStyles","BlockWithChildLayoutStyles","_props$attributes$sty","selfStretch","flexSize","withChildLayoutStyles","_props$attributes$sty2","hasChildLayout","shouldRenderChildLayoutStyles"],"sources":["@wordpress/block-editor/src/hooks/layout.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { kebabCase } from '../utils/object';\nimport { useBlockSettings, useStyleOverride } from './utils';\n\nconst layoutBlockSupportKey = 'layout';\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst rootPaddingAlignment = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalFeatures\n\t\t\t?.useRootPaddingAwareAlignments;\n\t}, [] );\n\tconst { layout } = blockAttributes;\n\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tif (\n\t\t( usedLayout?.inherit ||\n\t\t\tusedLayout?.contentSize ||\n\t\t\tusedLayout?.type === 'constrained' ) &&\n\t\trootPaddingAlignment\n\t) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n\treturn css;\n}\n\nfunction LayoutPanel( { setAttributes, attributes, name: blockName } ) {\n\tconst settings = useBlockSettings( blockName );\n\t// Block settings come from theme.json under settings.[blockName].\n\tconst { layout: layoutSettings } = settings;\n\t// Layout comes from block attributes.\n\tconst { layout } = attributes;\n\tconst [ defaultThemeLayout ] = useSettings( 'layout' );\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// Layout block support comes from the block's block.json.\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst blockSupportAndThemeSettings = {\n\t\t...layoutSettings,\n\t\t...layoutBlockSupport,\n\t};\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = blockSupportAndThemeSettings;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t// Only show the inherit toggle if it's supported,\n\t// a default theme layout is set (e.g. one that provides `contentSize` and/or `wideSize` values),\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t!! defaultThemeLayout &&\n\t\t( ! layout?.type ||\n\t\t\tlayout?.type === 'default' ||\n\t\t\tlayout?.type === 'constrained' ||\n\t\t\tlayout?.inherit )\n\t);\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst {\n\t\tinherit = false,\n\t\ttype = 'default',\n\t\tcontentSize = null,\n\t} = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( type === 'default' || type === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( type );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__toggle-control\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutType?.name ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'constrained' ||\n\t\t\t\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'constrained',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks will fill the width of this container. Toggle to constrain.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include layout controls\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst supportLayout = hasLayoutBlockSupport( props.name );\n\n\t\treturn [\n\t\t\tsupportLayout && <LayoutPanel key=\"layout\" { ...props } />,\n\t\t\t<BlockEdit key=\"edit\" { ...props } />,\n\t\t];\n\t},\n\t'withLayoutControls'\n);\n\nfunction BlockWithLayoutStyles( { block: BlockListBlock, props } ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\tconst layoutClasses = useLayoutClasses( attributes, name );\n\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.wp-container-${ id }.wp-container-${ id }`;\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t} );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = classnames(\n\t\t{\n\t\t\t[ `wp-container-${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst blockSupportsLayout = hasLayoutBlockSupport( props.name );\n\t\tconst shouldRenderLayoutStyles = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn ! select( blockEditorStore ).getSettings()\n\t\t\t\t\t.disableLayoutStyles;\n\t\t\t},\n\t\t\t[ blockSupportsLayout ]\n\t\t);\n\n\t\tif ( ! shouldRenderLayoutStyles ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithLayoutStyles block={ BlockListBlock } props={ props } />\n\t\t);\n\t},\n\t'withLayoutStyles'\n);\n\nfunction BlockWithChildLayoutStyles( { block: BlockListBlock, props } ) {\n\tconst layout = props.attributes.style?.layout ?? {};\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst id = useInstanceId( BlockListBlock );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\tlet css = '';\n\tif ( selfStretch === 'fixed' && flexSize ) {\n\t\tcss = `${ selector } {\n\t\t\t\tflex-basis: ${ flexSize };\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}`;\n\t} else if ( selfStretch === 'fill' ) {\n\t\tcss = `${ selector } {\n\t\t\t\tflex-grow: 1;\n\t\t\t}`;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\tconst className = classnames( props.className, {\n\t\t[ `wp-container-content-${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn <BlockListBlock { ...props } className={ className } />;\n}\n\n/**\n * Override the default block element to add the child layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withChildLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst layout = props.attributes.style?.layout ?? {};\n\t\tconst { selfStretch, flexSize } = layout;\n\t\tconst hasChildLayout = selfStretch || flexSize;\n\n\t\tconst shouldRenderChildLayoutStyles = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! hasChildLayout ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn ! select( blockEditorStore ).getSettings()\n\t\t\t\t\t.disableLayoutStyles;\n\t\t\t},\n\t\t\t[ hasChildLayout ]\n\t\t);\n\n\t\tif ( ! shouldRenderChildLayoutStyles ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithChildLayoutStyles\n\t\t\t\tblock={ BlockListBlock }\n\t\t\t\tprops={ props }\n\t\t\t/>\n\t\t);\n\t},\n\t'withChildLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-child-layout-styles',\n\twithChildLayoutStyles\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/layout/with-inspector-controls',\n\twithLayoutControls\n);\n"],"mappings":"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"}
|
|
@@ -29,7 +29,8 @@ export default {
|
|
|
29
29
|
justifyContent = 'center'
|
|
30
30
|
} = layout;
|
|
31
31
|
const {
|
|
32
|
-
allowJustification = true
|
|
32
|
+
allowJustification = true,
|
|
33
|
+
allowCustomContentAndWideSize = true
|
|
33
34
|
} = layoutBlockSupport;
|
|
34
35
|
const onJustificationChange = value => {
|
|
35
36
|
onChange({
|
|
@@ -54,7 +55,7 @@ export default {
|
|
|
54
55
|
const units = useCustomUnits({
|
|
55
56
|
availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw']
|
|
56
57
|
});
|
|
57
|
-
return createElement(Fragment, null, createElement("div", {
|
|
58
|
+
return createElement(Fragment, null, allowCustomContentAndWideSize && createElement(Fragment, null, createElement("div", {
|
|
58
59
|
className: "block-editor-hooks__layout-controls"
|
|
59
60
|
}, createElement("div", {
|
|
60
61
|
className: "block-editor-hooks__layout-controls-unit"
|
|
@@ -94,7 +95,7 @@ export default {
|
|
|
94
95
|
icon: stretchWide
|
|
95
96
|
}))), createElement("p", {
|
|
96
97
|
className: "block-editor-hooks__layout-controls-helptext"
|
|
97
|
-
}, __('Customize the width for all elements that are assigned to the center or wide columns.')), allowJustification && createElement(ToggleGroupControl, {
|
|
98
|
+
}, __('Customize the width for all elements that are assigned to the center or wide columns.'))), allowJustification && createElement(ToggleGroupControl, {
|
|
98
99
|
__nextHasNoMarginBottom: true,
|
|
99
100
|
label: __('Justification'),
|
|
100
101
|
value: justifyContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","Icon","positionCenter","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSettings","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","shouldSkipSerialization","LAYOUT_DEFINITIONS","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","layoutBlockSupport","wideSize","contentSize","justifyContent","allowJustification","onJustificationChange","value","justificationOptions","icon","availableUnits","units","createElement","Fragment","className","labelPosition","__unstableInputWidth","nextWidth","parseFloat","__nextHasNoMarginBottom","map","key","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none"],"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tpositionCenter,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst { allowJustification = true } = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-hooks__layout-controls\">\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\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={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\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<Icon icon={ positionCenter } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\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={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\twideSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\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<Icon icon={ stretchWide } />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","Icon","positionCenter","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSettings","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","shouldSkipSerialization","LAYOUT_DEFINITIONS","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","layoutBlockSupport","wideSize","contentSize","justifyContent","allowJustification","allowCustomContentAndWideSize","onJustificationChange","value","justificationOptions","icon","availableUnits","units","createElement","Fragment","className","labelPosition","__unstableInputWidth","nextWidth","parseFloat","__nextHasNoMarginBottom","map","key","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none"],"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tpositionCenter,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ allowCustomContentAndWideSize && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls\">\n\t\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\t\twideSize: nextWidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { createRegistrySelector } from '@wordpress/data';
|
|
|
18
18
|
* Internal dependencies
|
|
19
19
|
*/
|
|
20
20
|
import { orderBy } from '../utils/sorting';
|
|
21
|
+
import { PATTERN_TYPES } from '../components/inserter/block-patterns-tab/utils';
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
24
|
* A block selection object.
|
|
@@ -1912,6 +1913,7 @@ function getUserPatterns(state) {
|
|
|
1912
1913
|
return {
|
|
1913
1914
|
name: `core/block/${userPattern.id}`,
|
|
1914
1915
|
id: userPattern.id,
|
|
1916
|
+
type: PATTERN_TYPES.user,
|
|
1915
1917
|
title: userPattern.title.raw,
|
|
1916
1918
|
categories: userPattern.wp_pattern_category.map(catId => categories && categories.get(catId) ? categories.get(catId).slug : catId),
|
|
1917
1919
|
content: userPattern.content.raw,
|