@wordpress/edit-site 4.12.1-next.d6164808d3.0 → 4.14.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 +4 -0
- package/build/components/add-new-template/new-template.js +1 -1
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/add-new-template/utils.js +90 -52
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/block-editor/index.js +20 -10
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/resizable-editor.js +8 -1
- package/build/components/block-editor/resizable-editor.js.map +1 -1
- package/build/components/editor/index.js +9 -4
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +40 -23
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js +6 -2
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +5 -3
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/preview.js +2 -2
- package/build/components/global-styles/preview.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +41 -29
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/header/index.js +41 -5
- package/build/components/header/index.js.map +1 -1
- package/build/components/list/header.js +15 -2
- package/build/components/list/header.js.map +1 -1
- package/build/components/navigation-sidebar/navigation-panel/index.js +10 -4
- package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +8 -3
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/template-part-converter/convert-to-template-part.js +16 -0
- package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build/index.js +4 -1
- package/build/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +2 -2
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +87 -52
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/block-editor/index.js +20 -9
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/resizable-editor.js +9 -2
- package/build-module/components/block-editor/resizable-editor.js.map +1 -1
- package/build-module/components/editor/index.js +10 -5
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +40 -23
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +6 -2
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +6 -4
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/preview.js +2 -2
- package/build-module/components/global-styles/preview.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +42 -30
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/header/index.js +42 -7
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/list/header.js +14 -2
- package/build-module/components/list/header.js.map +1 -1
- package/build-module/components/navigation-sidebar/navigation-panel/index.js +11 -5
- package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +7 -3
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js +16 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build-module/index.js +4 -1
- package/build-module/index.js.map +1 -1
- package/build-style/style-rtl.css +28 -16
- package/build-style/style.css +28 -16
- package/package.json +29 -29
- package/src/components/add-new-template/new-template.js +2 -0
- package/src/components/add-new-template/utils.js +82 -20
- package/src/components/block-editor/index.js +34 -16
- package/src/components/block-editor/resizable-editor.js +10 -3
- package/src/components/code-editor/style.scss +2 -3
- package/src/components/editor/index.js +12 -5
- package/src/components/global-styles/dimensions-panel.js +52 -31
- package/src/components/global-styles/gradients-palette-panel.js +25 -12
- package/src/components/global-styles/hooks.js +7 -7
- package/src/components/global-styles/preview.js +2 -2
- package/src/components/global-styles/use-global-styles-output.js +66 -57
- package/src/components/global-styles/utils.js +1 -1
- package/src/components/header/index.js +61 -21
- package/src/components/header/style.scss +9 -0
- package/src/components/list/header.js +15 -5
- package/src/components/navigation-sidebar/navigation-panel/index.js +30 -24
- package/src/components/sidebar/index.js +23 -20
- package/src/components/template-part-converter/convert-to-template-part.js +14 -1
- package/src/index.js +4 -0
- package/src/style.scss +1 -0
|
@@ -13,8 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
|
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
15
|
|
|
16
|
-
var _lodash = require("lodash");
|
|
17
|
-
|
|
18
16
|
var _data = require("@wordpress/data");
|
|
19
17
|
|
|
20
18
|
var _coreData = require("@wordpress/core-data");
|
|
@@ -102,12 +100,24 @@ function BlockEditor(_ref) {
|
|
|
102
100
|
restBlockPatterns: select(_coreData.store).getBlockPatterns(),
|
|
103
101
|
restBlockPatternCategories: select(_coreData.store).getBlockPatternCategories()
|
|
104
102
|
}), []);
|
|
105
|
-
const blockPatterns = (0, _element.useMemo)(() => (
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}), [
|
|
103
|
+
const blockPatterns = (0, _element.useMemo)(() => [...(settingsBlockPatterns || []), ...(restBlockPatterns || [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)).filter(_ref2 => {
|
|
104
|
+
let {
|
|
105
|
+
postTypes
|
|
106
|
+
} = _ref2;
|
|
107
|
+
return !postTypes || Array.isArray(postTypes) && postTypes.includes(templateType);
|
|
108
|
+
}), [settingsBlockPatterns, restBlockPatterns, templateType]);
|
|
109
|
+
const blockPatternCategories = (0, _element.useMemo)(() => [...(settingsBlockPatternCategories || []), ...(restBlockPatternCategories || [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)), [settingsBlockPatternCategories, restBlockPatternCategories]);
|
|
110
|
+
const settings = (0, _element.useMemo)(() => {
|
|
111
|
+
const {
|
|
112
|
+
__experimentalAdditionalBlockPatterns,
|
|
113
|
+
__experimentalAdditionalBlockPatternCategories,
|
|
114
|
+
...restStoredSettings
|
|
115
|
+
} = storedSettings;
|
|
116
|
+
return { ...restStoredSettings,
|
|
117
|
+
__experimentalBlockPatterns: blockPatterns,
|
|
118
|
+
__experimentalBlockPatternCategories: blockPatternCategories
|
|
119
|
+
};
|
|
120
|
+
}, [storedSettings, blockPatterns, blockPatternCategories]);
|
|
111
121
|
const [blocks, onInput, onChange] = (0, _coreData.useEntityBlockEditor)('postType', templateType);
|
|
112
122
|
const {
|
|
113
123
|
setPage
|
|
@@ -174,10 +184,10 @@ function BlockEditor(_ref) {
|
|
|
174
184
|
className: "edit-site-block-editor__block-list wp-site-blocks",
|
|
175
185
|
__experimentalLayout: LAYOUT,
|
|
176
186
|
renderAppender: isTemplatePart && hasBlocks ? false : undefined
|
|
177
|
-
})), (0, _element.createElement)(_blockEditor.__unstableBlockSettingsMenuFirstItem, null,
|
|
187
|
+
})), (0, _element.createElement)(_blockEditor.__unstableBlockSettingsMenuFirstItem, null, _ref3 => {
|
|
178
188
|
let {
|
|
179
189
|
onClose
|
|
180
|
-
} =
|
|
190
|
+
} = _ref3;
|
|
181
191
|
return (0, _element.createElement)(_blockInspectorButton.default, {
|
|
182
192
|
onClick: onClose
|
|
183
193
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["LAYOUT","type","alignments","BlockEditor","setIsInserterOpen","storedSettings","templateType","templateId","page","select","getSettings","getEditedPostType","getEditedPostId","getPage","editSiteStore","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","coreStore","getBlockPatterns","getBlockPatternCategories","blockPatterns","blockPatternCategories","settings","blocks","onInput","onChange","setPage","enableComplementaryArea","interfaceStore","openNavigationSidebar","contentRef","mergedRefs","isMobileViewport","clearSelectedBlock","blockEditorStore","isTemplatePart","hasBlocks","length","NavMenuSidebarToggle","listView","MaybeNavMenuSidebarToggle","Fragment","process","env","IS_GUTENBERG_PLUGIN","fillProps","event","target","currentTarget","undefined","onClose","blockName"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit, unionBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo, useRef, Fragment } from '@wordpress/element';\nimport { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';\nimport {\n\tBlockList,\n\tBlockEditorProvider,\n\t__experimentalLinkControl,\n\tBlockInspector,\n\tBlockTools,\n\t__unstableBlockToolbarLastItem,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tBlockEditorKeyboardShortcuts,\n\tstore as blockEditorStore,\n\t__unstableBlockNameContext,\n} from '@wordpress/block-editor';\nimport { useMergeRefs, useViewportMatch } from '@wordpress/compose';\nimport { ReusableBlocksMenuItems } from '@wordpress/reusable-blocks';\nimport { listView } from '@wordpress/icons';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport NavigateToLink from '../navigate-to-link';\nimport { SidebarInspectorFill } from '../sidebar';\nimport { store as editSiteStore } from '../../store';\nimport BlockInspectorButton from './block-inspector-button';\nimport BackButton from './back-button';\nimport ResizableEditor from './resizable-editor';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function BlockEditor( { setIsInserterOpen } ) {\n\tconst { storedSettings, templateType, templateId, page } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getEditedPostType, getEditedPostId, getPage } =\n\t\t\t\tselect( editSiteStore );\n\n\t\t\treturn {\n\t\t\t\tstoredSettings: getSettings( setIsInserterOpen ),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t\ttemplateId: getEditedPostId(),\n\t\t\t\tpage: getPage(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpen ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() => unionBy( settingsBlockPatterns, restBlockPatterns, 'name' ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\tunionBy(\n\t\t\t\tsettingsBlockPatternCategories,\n\t\t\t\trestBlockPatternCategories,\n\t\t\t\t'name'\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...omit( storedSettings, [\n\t\t\t\t'__experimentalAdditionalBlockPatterns',\n\t\t\t\t'__experimentalAdditionalBlockPatternCategories',\n\t\t\t] ),\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t} ),\n\t\t[ storedSettings, blockPatterns, blockPatternCategories ]\n\t);\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\tconst { setPage } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst openNavigationSidebar = useCallback( () => {\n\t\tenableComplementaryArea(\n\t\t\t'core/edit-site',\n\t\t\t'edit-site/navigation-menu'\n\t\t);\n\t}, [ enableComplementaryArea ] );\n\tconst contentRef = useRef();\n\tconst mergedRefs = useMergeRefs( [ contentRef, useTypingObserver() ] );\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst isTemplatePart = templateType === 'wp_template_part';\n\tconst hasBlocks = blocks.length !== 0;\n\n\tconst NavMenuSidebarToggle = () => (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\tlabel={ __( 'Open list view' ) }\n\t\t\t\tonClick={ openNavigationSidebar }\n\t\t\t\ticon={ listView }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n\n\t// Conditionally include NavMenu sidebar in Plugin only.\n\t// Optimise for dead code elimination.\n\t// See https://github.com/WordPress/gutenberg/blob/trunk/docs/how-to-guides/feature-flags.md#dead-code-elimination.\n\tlet MaybeNavMenuSidebarToggle = Fragment;\n\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\tMaybeNavMenuSidebarToggle = NavMenuSidebarToggle;\n\t}\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ onInput }\n\t\t\tonChange={ onChange }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t<TemplatePartConverter />\n\t\t\t<__experimentalLinkControl.ViewerFill>\n\t\t\t\t{ useCallback(\n\t\t\t\t\t( fillProps ) => (\n\t\t\t\t\t\t<NavigateToLink\n\t\t\t\t\t\t\t{ ...fillProps }\n\t\t\t\t\t\t\tactivePage={ page }\n\t\t\t\t\t\t\tonActivePageChange={ setPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\t[ page ]\n\t\t\t\t) }\n\t\t\t</__experimentalLinkControl.ViewerFill>\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\t\t\t<BlockTools\n\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t'is-focus-mode': isTemplatePart,\n\t\t\t\t} ) }\n\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t// Clear selected block when clicking on the gray background.\n\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<BlockEditorKeyboardShortcuts.Register />\n\t\t\t\t<BackButton />\n\t\t\t\t<ResizableEditor\n\t\t\t\t\t// Reinitialize the editor and reset the states when the template changes.\n\t\t\t\t\tkey={ templateId }\n\t\t\t\t\tenableResizing={\n\t\t\t\t\t\tisTemplatePart &&\n\t\t\t\t\t\t// Disable resizing in mobile viewport.\n\t\t\t\t\t\t! isMobileViewport\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tcontentRef={ mergedRefs }\n\t\t\t\t>\n\t\t\t\t\t<BlockList\n\t\t\t\t\t\tclassName=\"edit-site-block-editor__block-list wp-site-blocks\"\n\t\t\t\t\t\t__experimentalLayout={ LAYOUT }\n\t\t\t\t\t\trenderAppender={\n\t\t\t\t\t\t\tisTemplatePart && hasBlocks ? false : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ResizableEditor>\n\t\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t<__unstableBlockToolbarLastItem>\n\t\t\t\t\t<__unstableBlockNameContext.Consumer>\n\t\t\t\t\t\t{ ( blockName ) =>\n\t\t\t\t\t\t\tblockName === 'core/navigation' && (\n\t\t\t\t\t\t\t\t<MaybeNavMenuSidebarToggle />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</__unstableBlockNameContext.Consumer>\n\t\t\t\t</__unstableBlockToolbarLastItem>\n\t\t\t</BlockTools>\n\t\t\t<ReusableBlocksMenuItems />\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["LAYOUT","type","alignments","BlockEditor","setIsInserterOpen","storedSettings","templateType","templateId","page","select","getSettings","getEditedPostType","getEditedPostId","getPage","editSiteStore","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","coreStore","getBlockPatterns","getBlockPatternCategories","blockPatterns","filter","x","index","arr","findIndex","y","name","postTypes","Array","isArray","includes","blockPatternCategories","settings","restStoredSettings","blocks","onInput","onChange","setPage","enableComplementaryArea","interfaceStore","openNavigationSidebar","contentRef","mergedRefs","isMobileViewport","clearSelectedBlock","blockEditorStore","isTemplatePart","hasBlocks","length","NavMenuSidebarToggle","listView","MaybeNavMenuSidebarToggle","Fragment","process","env","IS_GUTENBERG_PLUGIN","fillProps","event","target","currentTarget","undefined","onClose","blockName"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo, useRef, Fragment } from '@wordpress/element';\nimport { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';\nimport {\n\tBlockList,\n\tBlockEditorProvider,\n\t__experimentalLinkControl,\n\tBlockInspector,\n\tBlockTools,\n\t__unstableBlockToolbarLastItem,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tBlockEditorKeyboardShortcuts,\n\tstore as blockEditorStore,\n\t__unstableBlockNameContext,\n} from '@wordpress/block-editor';\nimport { useMergeRefs, useViewportMatch } from '@wordpress/compose';\nimport { ReusableBlocksMenuItems } from '@wordpress/reusable-blocks';\nimport { listView } from '@wordpress/icons';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport NavigateToLink from '../navigate-to-link';\nimport { SidebarInspectorFill } from '../sidebar';\nimport { store as editSiteStore } from '../../store';\nimport BlockInspectorButton from './block-inspector-button';\nimport BackButton from './back-button';\nimport ResizableEditor from './resizable-editor';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function BlockEditor( { setIsInserterOpen } ) {\n\tconst { storedSettings, templateType, templateId, page } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getEditedPostType, getEditedPostId, getPage } =\n\t\t\t\tselect( editSiteStore );\n\n\t\t\treturn {\n\t\t\t\tstoredSettings: getSettings( setIsInserterOpen ),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t\ttemplateId: getEditedPostId(),\n\t\t\t\tpage: getPage(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpen ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( templateType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, templateType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst settings = useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\t__experimentalAdditionalBlockPatternCategories,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t};\n\t}, [ storedSettings, blockPatterns, blockPatternCategories ] );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\tconst { setPage } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst openNavigationSidebar = useCallback( () => {\n\t\tenableComplementaryArea(\n\t\t\t'core/edit-site',\n\t\t\t'edit-site/navigation-menu'\n\t\t);\n\t}, [ enableComplementaryArea ] );\n\tconst contentRef = useRef();\n\tconst mergedRefs = useMergeRefs( [ contentRef, useTypingObserver() ] );\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst isTemplatePart = templateType === 'wp_template_part';\n\tconst hasBlocks = blocks.length !== 0;\n\n\tconst NavMenuSidebarToggle = () => (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\tlabel={ __( 'Open list view' ) }\n\t\t\t\tonClick={ openNavigationSidebar }\n\t\t\t\ticon={ listView }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n\n\t// Conditionally include NavMenu sidebar in Plugin only.\n\t// Optimise for dead code elimination.\n\t// See https://github.com/WordPress/gutenberg/blob/trunk/docs/how-to-guides/feature-flags.md#dead-code-elimination.\n\tlet MaybeNavMenuSidebarToggle = Fragment;\n\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\tMaybeNavMenuSidebarToggle = NavMenuSidebarToggle;\n\t}\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ onInput }\n\t\t\tonChange={ onChange }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t<TemplatePartConverter />\n\t\t\t<__experimentalLinkControl.ViewerFill>\n\t\t\t\t{ useCallback(\n\t\t\t\t\t( fillProps ) => (\n\t\t\t\t\t\t<NavigateToLink\n\t\t\t\t\t\t\t{ ...fillProps }\n\t\t\t\t\t\t\tactivePage={ page }\n\t\t\t\t\t\t\tonActivePageChange={ setPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\t[ page ]\n\t\t\t\t) }\n\t\t\t</__experimentalLinkControl.ViewerFill>\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\t\t\t<BlockTools\n\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t'is-focus-mode': isTemplatePart,\n\t\t\t\t} ) }\n\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t// Clear selected block when clicking on the gray background.\n\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<BlockEditorKeyboardShortcuts.Register />\n\t\t\t\t<BackButton />\n\t\t\t\t<ResizableEditor\n\t\t\t\t\t// Reinitialize the editor and reset the states when the template changes.\n\t\t\t\t\tkey={ templateId }\n\t\t\t\t\tenableResizing={\n\t\t\t\t\t\tisTemplatePart &&\n\t\t\t\t\t\t// Disable resizing in mobile viewport.\n\t\t\t\t\t\t! isMobileViewport\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tcontentRef={ mergedRefs }\n\t\t\t\t>\n\t\t\t\t\t<BlockList\n\t\t\t\t\t\tclassName=\"edit-site-block-editor__block-list wp-site-blocks\"\n\t\t\t\t\t\t__experimentalLayout={ LAYOUT }\n\t\t\t\t\t\trenderAppender={\n\t\t\t\t\t\t\tisTemplatePart && hasBlocks ? false : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ResizableEditor>\n\t\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t<__unstableBlockToolbarLastItem>\n\t\t\t\t\t<__unstableBlockNameContext.Consumer>\n\t\t\t\t\t\t{ ( blockName ) =>\n\t\t\t\t\t\t\tblockName === 'core/navigation' && (\n\t\t\t\t\t\t\t\t<MaybeNavMenuSidebarToggle />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</__unstableBlockNameContext.Consumer>\n\t\t\t\t</__unstableBlockToolbarLastItem>\n\t\t\t</BlockTools>\n\t\t\t<ReusableBlocksMenuItems />\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
|
|
@@ -54,7 +54,13 @@ function ResizableEditor(_ref) {
|
|
|
54
54
|
children,
|
|
55
55
|
...props
|
|
56
56
|
} = _ref;
|
|
57
|
-
const
|
|
57
|
+
const {
|
|
58
|
+
deviceType,
|
|
59
|
+
isZoomOutMode
|
|
60
|
+
} = (0, _data.useSelect)(select => ({
|
|
61
|
+
deviceType: select(_store.store).__experimentalGetPreviewDeviceType(),
|
|
62
|
+
isZoomOutMode: select(_blockEditor.store).__unstableGetEditorMode() === 'zoom-out'
|
|
63
|
+
}), []);
|
|
58
64
|
const deviceStyles = (0, _blockEditor.__experimentalUseResizeCanvas)(deviceType);
|
|
59
65
|
const [width, setWidth] = (0, _element.useState)(DEFAULT_STYLES.width);
|
|
60
66
|
const [height, setHeight] = (0, _element.useState)(DEFAULT_STYLES.height);
|
|
@@ -158,6 +164,7 @@ function ResizableEditor(_ref) {
|
|
|
158
164
|
right: HANDLE_STYLES_OVERRIDE
|
|
159
165
|
}
|
|
160
166
|
}, (0, _element.createElement)(_blockEditor.__unstableIframe, (0, _extends2.default)({
|
|
167
|
+
isZoomedOut: isZoomOutMode,
|
|
161
168
|
style: enableResizing ? {
|
|
162
169
|
height
|
|
163
170
|
} : deviceStyles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/resizable-editor.js"],"names":["DEFAULT_STYLES","width","height","HANDLE_STYLES_OVERRIDE","position","undefined","userSelect","cursor","top","right","bottom","left","ResizableEditor","enableResizing","settings","children","props","deviceType","select","editSiteStore","__experimentalGetPreviewDeviceType","deviceStyles","setWidth","setHeight","iframeRef","mouseMoveTypingResetRef","ref","autoResizeIframeHeight","iframe","current","timeoutId","resizeHeight","contentWindow","setTimeout","readyState","contentDocument","body","scrollHeight","resizeObserver","registerObserver","disconnect","ResizeObserver","observe","addEventListener","clearTimeout","removeEventListener","resizeWidthBy","deltaPixels","offsetWidth","event","direction","element","style","styles","__unstableResolvedAssets","svgFilters"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport ResizeHandle from './resize-handle';\n\nconst DEFAULT_STYLES = {\n\twidth: '100%',\n\theight: '100%',\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nfunction ResizableEditor( { enableResizing, settings, children, ...props } ) {\n\tconst deviceType = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t[]\n\t);\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ width, setWidth ] = useState( DEFAULT_STYLES.width );\n\tconst [ height, setHeight ] = useState( DEFAULT_STYLES.height );\n\tconst iframeRef = useRef();\n\tconst mouseMoveTypingResetRef = useMouseMoveTypingReset();\n\tconst ref = useMergeRefs( [ iframeRef, mouseMoveTypingResetRef ] );\n\n\tuseEffect(\n\t\tfunction autoResizeIframeHeight() {\n\t\t\tconst iframe = iframeRef.current;\n\n\t\t\tif ( ! iframe || ! enableResizing ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet timeoutId = null;\n\n\t\t\tfunction resizeHeight() {\n\t\t\t\tif ( ! timeoutId ) {\n\t\t\t\t\t// Throttle the updates on timeout. This code previously\n\t\t\t\t\t// used `requestAnimationFrame`, but that seems to not\n\t\t\t\t\t// always work before an iframe is ready.\n\t\t\t\t\ttimeoutId = iframe.contentWindow.setTimeout( () => {\n\t\t\t\t\t\tconst { readyState } = iframe.contentDocument;\n\n\t\t\t\t\t\t// Continue deferring the timeout until the document is ready.\n\t\t\t\t\t\t// Only then will it have a height.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\treadyState !== 'interactive' &&\n\t\t\t\t\t\t\treadyState !== 'complete'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresizeHeight();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetHeight( iframe.contentDocument.body.scrollHeight );\n\t\t\t\t\t\ttimeoutId = null;\n\n\t\t\t\t\t\t// 30 frames per second.\n\t\t\t\t\t}, 1000 / 30 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet resizeObserver;\n\n\t\t\tfunction registerObserver() {\n\t\t\t\tresizeObserver?.disconnect();\n\n\t\t\t\tresizeObserver = new iframe.contentWindow.ResizeObserver(\n\t\t\t\t\tresizeHeight\n\t\t\t\t);\n\n\t\t\t\t// Observe the body, since the `html` element seems to always\n\t\t\t\t// have a height of `100%`.\n\t\t\t\tresizeObserver.observe( iframe.contentDocument.body );\n\n\t\t\t\tresizeHeight();\n\t\t\t}\n\n\t\t\t// This is only required in Firefox for some unknown reasons.\n\t\t\tiframe.addEventListener( 'load', registerObserver );\n\t\t\t// This is required in Chrome and Safari.\n\t\t\tregisterObserver();\n\n\t\t\treturn () => {\n\t\t\t\tiframe.contentWindow?.clearTimeout( timeoutId );\n\t\t\t\tresizeObserver?.disconnect();\n\t\t\t\tiframe.removeEventListener( 'load', registerObserver );\n\t\t\t};\n\t\t},\n\t\t[ enableResizing ]\n\t);\n\n\tconst resizeWidthBy = useCallback( ( deltaPixels ) => {\n\t\tif ( iframeRef.current ) {\n\t\t\tsetWidth( iframeRef.current.offsetWidth + deltaPixels );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tonResizeStop={ ( event, direction, element ) => {\n\t\t\t\tsetWidth( element.style.width );\n\t\t\t} }\n\t\t\tminWidth={ 300 }\n\t\t\tmaxWidth=\"100%\"\n\t\t\tmaxHeight=\"100%\"\n\t\t\tenable={ {\n\t\t\t\tright: enableResizing,\n\t\t\t\tleft: enableResizing,\n\t\t\t} }\n\t\t\tshowHandle={ enableResizing }\n\t\t\t// The editor is centered horizontally, resizing it only\n\t\t\t// moves half the distance. Hence double the ratio to correctly\n\t\t\t// align the cursor to the resizer handle.\n\t\t\tresizeRatio={ 2 }\n\t\t\thandleComponent={ {\n\t\t\t\tleft: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"left\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tright: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"right\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tstyle={ enableResizing ? { height } : deviceStyles }\n\t\t\t\thead={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t\t\t\t<style>{\n\t\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t\t}</style>\n\t\t\t\t\t\t{ enableResizing && (\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Force the <html> and <body>'s heights to fit the content.\n\t\t\t\t\t\t\t\t\t`html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`\n\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\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\t\t\t\t\t`.is-root-container { min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tassets={ settings.__unstableResolvedAssets }\n\t\t\t\tref={ ref }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t\tclassName=\"edit-site-visual-editor__editor-canvas\"\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ /* Filters need to be rendered before children to avoid Safari rendering issues. */ }\n\t\t\t\t{ settings.svgFilters }\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableEditor;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/resizable-editor.js"],"names":["DEFAULT_STYLES","width","height","HANDLE_STYLES_OVERRIDE","position","undefined","userSelect","cursor","top","right","bottom","left","ResizableEditor","enableResizing","settings","children","props","deviceType","isZoomOutMode","select","editSiteStore","__experimentalGetPreviewDeviceType","blockEditorStore","__unstableGetEditorMode","deviceStyles","setWidth","setHeight","iframeRef","mouseMoveTypingResetRef","ref","autoResizeIframeHeight","iframe","current","timeoutId","resizeHeight","contentWindow","setTimeout","readyState","contentDocument","body","scrollHeight","resizeObserver","registerObserver","disconnect","ResizeObserver","observe","addEventListener","clearTimeout","removeEventListener","resizeWidthBy","deltaPixels","offsetWidth","event","direction","element","style","styles","__unstableResolvedAssets","svgFilters"],"mappings":";;;;;;;;;AAGA;;;;AACA;;AACA;;AAOA;;AACA;;AAKA;;AACA;;AAnBA;AACA;AACA;;AAaA;AACA;AACA;AAIA,MAAMA,cAAc,GAAG;AACtBC,EAAAA,KAAK,EAAE,MADe;AAEtBC,EAAAA,MAAM,EAAE;AAFc,CAAvB,C,CAKA;;AACA,MAAMC,sBAAsB,GAAG;AAC9BC,EAAAA,QAAQ,EAAEC,SADoB;AAE9BC,EAAAA,UAAU,EAAED,SAFkB;AAG9BE,EAAAA,MAAM,EAAEF,SAHsB;AAI9BJ,EAAAA,KAAK,EAAEI,SAJuB;AAK9BH,EAAAA,MAAM,EAAEG,SALsB;AAM9BG,EAAAA,GAAG,EAAEH,SANyB;AAO9BI,EAAAA,KAAK,EAAEJ,SAPuB;AAQ9BK,EAAAA,MAAM,EAAEL,SARsB;AAS9BM,EAAAA,IAAI,EAAEN;AATwB,CAA/B;;AAYA,SAASO,eAAT,OAA6E;AAAA,MAAnD;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,QAAlB;AAA4BC,IAAAA,QAA5B;AAAsC,OAAGC;AAAzC,GAAmD;AAC5E,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAAgC,qBACnCC,MAAF,KAAgB;AACfF,IAAAA,UAAU,EACTE,MAAM,CAAEC,YAAF,CAAN,CAAwBC,kCAAxB,EAFc;AAGfH,IAAAA,aAAa,EACZC,MAAM,CAAEG,kBAAF,CAAN,CAA2BC,uBAA3B,OACA;AALc,GAAhB,CADqC,EAQrC,EARqC,CAAtC;AAUA,QAAMC,YAAY,GAAG,gDAAiBP,UAAjB,CAArB;AACA,QAAM,CAAEhB,KAAF,EAASwB,QAAT,IAAsB,uBAAUzB,cAAc,CAACC,KAAzB,CAA5B;AACA,QAAM,CAAEC,MAAF,EAAUwB,SAAV,IAAwB,uBAAU1B,cAAc,CAACE,MAAzB,CAA9B;AACA,QAAMyB,SAAS,GAAG,sBAAlB;AACA,QAAMC,uBAAuB,GAAG,qDAAhC;AACA,QAAMC,GAAG,GAAG,2BAAc,CAAEF,SAAF,EAAaC,uBAAb,CAAd,CAAZ;AAEA,0BACC,SAASE,sBAAT,GAAkC;AACjC,UAAMC,MAAM,GAAGJ,SAAS,CAACK,OAAzB;;AAEA,QAAK,CAAED,MAAF,IAAY,CAAElB,cAAnB,EAAoC;AACnC;AACA;;AAED,QAAIoB,SAAS,GAAG,IAAhB;;AAEA,aAASC,YAAT,GAAwB;AACvB,UAAK,CAAED,SAAP,EAAmB;AAClB;AACA;AACA;AACAA,QAAAA,SAAS,GAAGF,MAAM,CAACI,aAAP,CAAqBC,UAArB,CAAiC,MAAM;AAClD,gBAAM;AAAEC,YAAAA;AAAF,cAAiBN,MAAM,CAACO,eAA9B,CADkD,CAGlD;AACA;;AACA,cACCD,UAAU,KAAK,aAAf,IACAA,UAAU,KAAK,UAFhB,EAGE;AACDH,YAAAA,YAAY;AACZ;AACA;;AAEDR,UAAAA,SAAS,CAAEK,MAAM,CAACO,eAAP,CAAuBC,IAAvB,CAA4BC,YAA9B,CAAT;AACAP,UAAAA,SAAS,GAAG,IAAZ,CAdkD,CAgBlD;AACA,SAjBW,EAiBT,OAAO,EAjBE,CAAZ;AAkBA;AACD;;AAED,QAAIQ,cAAJ;;AAEA,aAASC,gBAAT,GAA4B;AAAA;;AAC3B,yBAAAD,cAAc,UAAd,0DAAgBE,UAAhB;AAEAF,MAAAA,cAAc,GAAG,IAAIV,MAAM,CAACI,aAAP,CAAqBS,cAAzB,CAChBV,YADgB,CAAjB,CAH2B,CAO3B;AACA;;AACAO,MAAAA,cAAc,CAACI,OAAf,CAAwBd,MAAM,CAACO,eAAP,CAAuBC,IAA/C;AAEAL,MAAAA,YAAY;AACZ,KAjDgC,CAmDjC;;;AACAH,IAAAA,MAAM,CAACe,gBAAP,CAAyB,MAAzB,EAAiCJ,gBAAjC,EApDiC,CAqDjC;;AACAA,IAAAA,gBAAgB;AAEhB,WAAO,MAAM;AAAA;;AACZ,+BAAAX,MAAM,CAACI,aAAP,gFAAsBY,YAAtB,CAAoCd,SAApC;AACA,0BAAAQ,cAAc,UAAd,4DAAgBE,UAAhB;AACAZ,MAAAA,MAAM,CAACiB,mBAAP,CAA4B,MAA5B,EAAoCN,gBAApC;AACA,KAJD;AAKA,GA9DF,EA+DC,CAAE7B,cAAF,CA/DD;AAkEA,QAAMoC,aAAa,GAAG,0BAAeC,WAAF,IAAmB;AACrD,QAAKvB,SAAS,CAACK,OAAf,EAAyB;AACxBP,MAAAA,QAAQ,CAAEE,SAAS,CAACK,OAAV,CAAkBmB,WAAlB,GAAgCD,WAAlC,CAAR;AACA;AACD,GAJqB,EAInB,EAJmB,CAAtB;AAMA,SACC,4BAAC,wBAAD;AACC,IAAA,IAAI,EAAG;AACNjD,MAAAA,KADM;AAENC,MAAAA;AAFM,KADR;AAKC,IAAA,YAAY,EAAG,CAAEkD,KAAF,EAASC,SAAT,EAAoBC,OAApB,KAAiC;AAC/C7B,MAAAA,QAAQ,CAAE6B,OAAO,CAACC,KAAR,CAActD,KAAhB,CAAR;AACA,KAPF;AAQC,IAAA,QAAQ,EAAG,GARZ;AASC,IAAA,QAAQ,EAAC,MATV;AAUC,IAAA,SAAS,EAAC,MAVX;AAWC,IAAA,MAAM,EAAG;AACRQ,MAAAA,KAAK,EAAEI,cADC;AAERF,MAAAA,IAAI,EAAEE;AAFE,KAXV;AAeC,IAAA,UAAU,EAAGA,cAfd,CAgBC;AACA;AACA;AAlBD;AAmBC,IAAA,WAAW,EAAG,CAnBf;AAoBC,IAAA,eAAe,EAAG;AACjBF,MAAAA,IAAI,EACH,4BAAC,qBAAD;AACC,QAAA,SAAS,EAAC,MADX;AAEC,QAAA,aAAa,EAAGsC;AAFjB,QAFgB;AAOjBxC,MAAAA,KAAK,EACJ,4BAAC,qBAAD;AACC,QAAA,SAAS,EAAC,OADX;AAEC,QAAA,aAAa,EAAGwC;AAFjB;AARgB,KApBnB;AAkCC,IAAA,aAAa,EAAG5C,SAlCjB;AAmCC,IAAA,YAAY,EAAG;AACdM,MAAAA,IAAI,EAAER,sBADQ;AAEdM,MAAAA,KAAK,EAAEN;AAFO;AAnChB,KAwCC,4BAAC,6BAAD;AACC,IAAA,WAAW,EAAGe,aADf;AAEC,IAAA,KAAK,EAAGL,cAAc,GAAG;AAAEX,MAAAA;AAAF,KAAH,GAAgBsB,YAFvC;AAGC,IAAA,IAAI,EACH,qDACC,4BAAC,mCAAD;AAAc,MAAA,MAAM,EAAGV,QAAQ,CAAC0C;AAAhC,MADD,EAEC,2CACC;AACA;AACC,gDAHF,CAFD,EAOG3C,cAAc,IACf,2CAEE;AACC,mHAHH,EAME;AACA;AACC,sDARH,CARF,CAJF;AA0BC,IAAA,MAAM,EAAGC,QAAQ,CAAC2C,wBA1BnB;AA2BC,IAAA,GAAG,EAAG5B,GA3BP;AA4BC,IAAA,IAAI,EAAC,eA5BN;AA6BC,IAAA,SAAS,EAAC;AA7BX,KA8BMb,KA9BN,GAiCGF,QAAQ,CAAC4C,UAjCZ,EAkCG3C,QAlCH,CAxCD,CADD;AA+EA;;eAEcH,e","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { ResizableBox } from '@wordpress/components';\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport ResizeHandle from './resize-handle';\n\nconst DEFAULT_STYLES = {\n\twidth: '100%',\n\theight: '100%',\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nfunction ResizableEditor( { enableResizing, settings, children, ...props } ) {\n\tconst { deviceType, isZoomOutMode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tdeviceType:\n\t\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t\tisZoomOutMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() ===\n\t\t\t\t'zoom-out',\n\t\t} ),\n\t\t[]\n\t);\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ width, setWidth ] = useState( DEFAULT_STYLES.width );\n\tconst [ height, setHeight ] = useState( DEFAULT_STYLES.height );\n\tconst iframeRef = useRef();\n\tconst mouseMoveTypingResetRef = useMouseMoveTypingReset();\n\tconst ref = useMergeRefs( [ iframeRef, mouseMoveTypingResetRef ] );\n\n\tuseEffect(\n\t\tfunction autoResizeIframeHeight() {\n\t\t\tconst iframe = iframeRef.current;\n\n\t\t\tif ( ! iframe || ! enableResizing ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet timeoutId = null;\n\n\t\t\tfunction resizeHeight() {\n\t\t\t\tif ( ! timeoutId ) {\n\t\t\t\t\t// Throttle the updates on timeout. This code previously\n\t\t\t\t\t// used `requestAnimationFrame`, but that seems to not\n\t\t\t\t\t// always work before an iframe is ready.\n\t\t\t\t\ttimeoutId = iframe.contentWindow.setTimeout( () => {\n\t\t\t\t\t\tconst { readyState } = iframe.contentDocument;\n\n\t\t\t\t\t\t// Continue deferring the timeout until the document is ready.\n\t\t\t\t\t\t// Only then will it have a height.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\treadyState !== 'interactive' &&\n\t\t\t\t\t\t\treadyState !== 'complete'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresizeHeight();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetHeight( iframe.contentDocument.body.scrollHeight );\n\t\t\t\t\t\ttimeoutId = null;\n\n\t\t\t\t\t\t// 30 frames per second.\n\t\t\t\t\t}, 1000 / 30 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet resizeObserver;\n\n\t\t\tfunction registerObserver() {\n\t\t\t\tresizeObserver?.disconnect();\n\n\t\t\t\tresizeObserver = new iframe.contentWindow.ResizeObserver(\n\t\t\t\t\tresizeHeight\n\t\t\t\t);\n\n\t\t\t\t// Observe the body, since the `html` element seems to always\n\t\t\t\t// have a height of `100%`.\n\t\t\t\tresizeObserver.observe( iframe.contentDocument.body );\n\n\t\t\t\tresizeHeight();\n\t\t\t}\n\n\t\t\t// This is only required in Firefox for some unknown reasons.\n\t\t\tiframe.addEventListener( 'load', registerObserver );\n\t\t\t// This is required in Chrome and Safari.\n\t\t\tregisterObserver();\n\n\t\t\treturn () => {\n\t\t\t\tiframe.contentWindow?.clearTimeout( timeoutId );\n\t\t\t\tresizeObserver?.disconnect();\n\t\t\t\tiframe.removeEventListener( 'load', registerObserver );\n\t\t\t};\n\t\t},\n\t\t[ enableResizing ]\n\t);\n\n\tconst resizeWidthBy = useCallback( ( deltaPixels ) => {\n\t\tif ( iframeRef.current ) {\n\t\t\tsetWidth( iframeRef.current.offsetWidth + deltaPixels );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tsize={ {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} }\n\t\t\tonResizeStop={ ( event, direction, element ) => {\n\t\t\t\tsetWidth( element.style.width );\n\t\t\t} }\n\t\t\tminWidth={ 300 }\n\t\t\tmaxWidth=\"100%\"\n\t\t\tmaxHeight=\"100%\"\n\t\t\tenable={ {\n\t\t\t\tright: enableResizing,\n\t\t\t\tleft: enableResizing,\n\t\t\t} }\n\t\t\tshowHandle={ enableResizing }\n\t\t\t// The editor is centered horizontally, resizing it only\n\t\t\t// moves half the distance. Hence double the ratio to correctly\n\t\t\t// align the cursor to the resizer handle.\n\t\t\tresizeRatio={ 2 }\n\t\t\thandleComponent={ {\n\t\t\t\tleft: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"left\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tright: (\n\t\t\t\t\t<ResizeHandle\n\t\t\t\t\t\tdirection=\"right\"\n\t\t\t\t\t\tresizeWidthBy={ resizeWidthBy }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tisZoomedOut={ isZoomOutMode }\n\t\t\t\tstyle={ enableResizing ? { height } : deviceStyles }\n\t\t\t\thead={\n\t\t\t\t\t<>\n\t\t\t\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t\t\t\t<style>{\n\t\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t\t}</style>\n\t\t\t\t\t\t{ enableResizing && (\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Force the <html> and <body>'s heights to fit the content.\n\t\t\t\t\t\t\t\t\t`html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`\n\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\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\t\t\t\t\t`.is-root-container { min-height: 0 !important; }`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tassets={ settings.__unstableResolvedAssets }\n\t\t\t\tref={ ref }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t\tclassName=\"edit-site-visual-editor__editor-canvas\"\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ /* Filters need to be rendered before children to avoid Safari rendering issues. */ }\n\t\t\t\t{ settings.svgFilters }\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableEditor;\n"]}
|
|
@@ -102,7 +102,8 @@ function Editor(_ref) {
|
|
|
102
102
|
previousShortcut,
|
|
103
103
|
nextShortcut,
|
|
104
104
|
editorMode,
|
|
105
|
-
showIconLabels
|
|
105
|
+
showIconLabels,
|
|
106
|
+
blockEditorMode
|
|
106
107
|
} = (0, _data.useSelect)(select => {
|
|
107
108
|
const {
|
|
108
109
|
isInserterOpened,
|
|
@@ -118,6 +119,9 @@ function Editor(_ref) {
|
|
|
118
119
|
hasFinishedResolution,
|
|
119
120
|
getEntityRecord
|
|
120
121
|
} = select(_coreData.store);
|
|
122
|
+
const {
|
|
123
|
+
__unstableGetEditorMode
|
|
124
|
+
} = select(_blockEditor.store);
|
|
121
125
|
const postType = getEditedPostType();
|
|
122
126
|
const postId = getEditedPostId(); // The currently selected entity to display. Typically template or template part.
|
|
123
127
|
|
|
@@ -135,7 +139,8 @@ function Editor(_ref) {
|
|
|
135
139
|
previousShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/edit-site/previous-region'),
|
|
136
140
|
nextShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/edit-site/next-region'),
|
|
137
141
|
editorMode: getEditorMode(),
|
|
138
|
-
showIconLabels: select(_preferences.store).get('core/edit-site', 'showIconLabels')
|
|
142
|
+
showIconLabels: select(_preferences.store).get('core/edit-site', 'showIconLabels'),
|
|
143
|
+
blockEditorMode: __unstableGetEditorMode()
|
|
139
144
|
};
|
|
140
145
|
}, []);
|
|
141
146
|
const {
|
|
@@ -240,9 +245,9 @@ function Editor(_ref) {
|
|
|
240
245
|
onClick: openEntitiesSavedStates,
|
|
241
246
|
"aria-expanded": false
|
|
242
247
|
}, (0, _i18n.__)('Open save panel')))),
|
|
243
|
-
footer: (0, _element.createElement)(_blockEditor.BlockBreadcrumb, {
|
|
248
|
+
footer: blockEditorMode !== 'zoom-out' ? (0, _element.createElement)(_blockEditor.BlockBreadcrumb, {
|
|
244
249
|
rootLabelText: (0, _i18n.__)('Template')
|
|
245
|
-
}),
|
|
250
|
+
}) : undefined,
|
|
246
251
|
shortcuts: {
|
|
247
252
|
previous: previousShortcut,
|
|
248
253
|
next: nextShortcut
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["interfaceLabels","header","body","sidebar","actions","footer","drawer","Editor","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","previousShortcut","nextShortcut","editorMode","showIconLabels","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","getEditorMode","editSiteStore","hasFinishedResolution","getEntityRecord","coreStore","postType","postId","interfaceStore","getActiveComplementaryArea","name","keyboardShortcutsStore","getAllShortcutKeyCombinations","preferencesStore","get","setPage","setIsInserterOpened","enableComplementaryArea","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","classList","add","remove","openGlobalStylesOnLoad","searchParams","URLSearchParams","window","location","search","isReady","siteUrl","undefined","secondarySidebarLabel","secondarySidebar","previous","next"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover, Button, Notice } from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tBlockStyles,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tShortcutProvider,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport NavigationSidebar from '../navigation-sidebar';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport useTitle from '../routes/use-title';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n\t/* translators: accessibility text for the navigation sidebar landmark region. */\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\teditorMode,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { setPage, setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst [ isEntitiesSavedStatesOpen, setIsEntitiesSavedStatesOpen ] =\n\t\tuseState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tuseEffect(\n\t\tfunction openGlobalStylesOnLoad() {\n\t\t\tconst searchParams = new URLSearchParams( window.location.search );\n\t\t\tif ( searchParams.get( 'styles' ) === 'open' ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t'edit-site/global-styles'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\t// Don't render the Editor until the settings are set and loaded.\n\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\n\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( editorMode === 'visual' && isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( editorMode === 'visual' && isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URlQueryController> from double-announcing.\n\tuseTitle( isReady && __( 'Editor (beta)' ) );\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar:\n\t\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebarLabel,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels &&\n\t\t\t\t\t\t\t\t\t\t\t\t'show-icon-labels'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdrawer={\n\t\t\t\t\t\t\t\t\t\t\t\t<NavigationSidebar.Slot />\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'visual' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\t\t\t\trootLabelText={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Template'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\t\t\t\t\t\t\t\tnext: nextShortcut,\n\t\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<WelcomeGuide />\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["interfaceLabels","header","body","sidebar","actions","footer","drawer","Editor","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","previousShortcut","nextShortcut","editorMode","showIconLabels","blockEditorMode","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","getEditorMode","editSiteStore","hasFinishedResolution","getEntityRecord","coreStore","__unstableGetEditorMode","blockEditorStore","postType","postId","interfaceStore","getActiveComplementaryArea","name","keyboardShortcutsStore","getAllShortcutKeyCombinations","preferencesStore","get","setPage","setIsInserterOpened","enableComplementaryArea","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","classList","add","remove","openGlobalStylesOnLoad","searchParams","URLSearchParams","window","location","search","isReady","siteUrl","undefined","secondarySidebarLabel","secondarySidebar","previous","next"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Popover, Button, Notice } from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tBlockStyles,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tShortcutProvider,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport NavigationSidebar from '../navigation-sidebar';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport useTitle from '../routes/use-title';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n\t/* translators: accessibility text for the navigation sidebar landmark region. */\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\teditorMode,\n\t\tshowIconLabels,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst { setPage, setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tconst [ isEntitiesSavedStatesOpen, setIsEntitiesSavedStatesOpen ] =\n\t\tuseState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\tuseEffect(\n\t\tfunction openGlobalStylesOnLoad() {\n\t\t\tconst searchParams = new URLSearchParams( window.location.search );\n\t\t\tif ( searchParams.get( 'styles' ) === 'open' ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t'edit-site/global-styles'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\t// Don't render the Editor until the settings are set and loaded.\n\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\n\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( editorMode === 'visual' && isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( editorMode === 'visual' && isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URlQueryController> from double-announcing.\n\tuseTitle( isReady && __( 'Editor (beta)' ) );\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar:\n\t\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebarLabel,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels &&\n\t\t\t\t\t\t\t\t\t\t\t\t'show-icon-labels'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdrawer={\n\t\t\t\t\t\t\t\t\t\t\t\t<NavigationSidebar.Slot />\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'visual' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttemplate && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\t\t\t\t\t\tblockEditorMode !==\n\t\t\t\t\t\t\t\t\t\t\t\t'zoom-out' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trootLabelText={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Template'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t) : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\t\t\t\t\t\t\t\tnext: nextShortcut,\n\t\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<WelcomeGuide />\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
|
|
@@ -121,19 +121,20 @@ function splitStyleValue(value) {
|
|
|
121
121
|
function splitGapValue(value) {
|
|
122
122
|
// Check for shorthand value (a string value).
|
|
123
123
|
if (value && typeof value === 'string') {
|
|
124
|
-
//
|
|
124
|
+
// If the value is a string, treat it as a single side (top) for the spacing controls.
|
|
125
125
|
return {
|
|
126
|
-
top: value
|
|
127
|
-
right: value,
|
|
128
|
-
bottom: value,
|
|
129
|
-
left: value
|
|
126
|
+
top: value
|
|
130
127
|
};
|
|
131
128
|
}
|
|
132
129
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
130
|
+
if (value) {
|
|
131
|
+
return { ...value,
|
|
132
|
+
right: value === null || value === void 0 ? void 0 : value.left,
|
|
133
|
+
bottom: value === null || value === void 0 ? void 0 : value.top
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return value;
|
|
137
138
|
} // Props for managing `layout.contentSize`.
|
|
138
139
|
|
|
139
140
|
|
|
@@ -228,18 +229,6 @@ function useMarginProps(name) {
|
|
|
228
229
|
function useBlockGapProps(name) {
|
|
229
230
|
const [gapValue, setGapValue] = (0, _hooks.useStyle)('spacing.blockGap', name);
|
|
230
231
|
const gapValues = splitGapValue(gapValue);
|
|
231
|
-
|
|
232
|
-
const setGapValues = nextBoxGapValue => {
|
|
233
|
-
if (!nextBoxGapValue) {
|
|
234
|
-
setGapValue(null);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
setGapValue({
|
|
238
|
-
top: nextBoxGapValue === null || nextBoxGapValue === void 0 ? void 0 : nextBoxGapValue.top,
|
|
239
|
-
left: nextBoxGapValue === null || nextBoxGapValue === void 0 ? void 0 : nextBoxGapValue.left
|
|
240
|
-
});
|
|
241
|
-
};
|
|
242
|
-
|
|
243
232
|
const gapSides = (0, _blockEditor.__experimentalUseCustomSides)(name, 'blockGap');
|
|
244
233
|
const isAxialGap = gapSides && gapSides.some(side => AXIAL_SIDES.includes(side));
|
|
245
234
|
|
|
@@ -249,6 +238,22 @@ function useBlockGapProps(name) {
|
|
|
249
238
|
|
|
250
239
|
const hasGapValue = () => !!userSetGapValue;
|
|
251
240
|
|
|
241
|
+
const setGapValues = nextBoxGapValue => {
|
|
242
|
+
if (!nextBoxGapValue) {
|
|
243
|
+
setGapValue(null);
|
|
244
|
+
} // If axial gap is not enabled, treat the 'top' value as the shorthand gap value.
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
if (!isAxialGap && nextBoxGapValue !== null && nextBoxGapValue !== void 0 && nextBoxGapValue.hasOwnProperty('top')) {
|
|
248
|
+
setGapValue(nextBoxGapValue.top);
|
|
249
|
+
} else {
|
|
250
|
+
setGapValue({
|
|
251
|
+
top: nextBoxGapValue === null || nextBoxGapValue === void 0 ? void 0 : nextBoxGapValue.top,
|
|
252
|
+
left: nextBoxGapValue === null || nextBoxGapValue === void 0 ? void 0 : nextBoxGapValue.left
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
|
|
252
257
|
return {
|
|
253
258
|
gapValue,
|
|
254
259
|
gapValues,
|
|
@@ -423,8 +428,11 @@ function DimensionsPanel(_ref) {
|
|
|
423
428
|
hasValue: hasGapValue,
|
|
424
429
|
label: (0, _i18n.__)('Block spacing'),
|
|
425
430
|
onDeselect: resetGapValue,
|
|
426
|
-
isShownByDefault: true
|
|
427
|
-
|
|
431
|
+
isShownByDefault: true,
|
|
432
|
+
className: (0, _classnames.default)({
|
|
433
|
+
'tools-panel-item-spacing': showSpacingPresetsControl
|
|
434
|
+
})
|
|
435
|
+
}, !showSpacingPresetsControl && (isAxialGap ? (0, _element.createElement)(_components.__experimentalBoxControl, {
|
|
428
436
|
label: (0, _i18n.__)('Block spacing'),
|
|
429
437
|
min: 0,
|
|
430
438
|
onChange: setGapValues,
|
|
@@ -440,6 +448,15 @@ function DimensionsPanel(_ref) {
|
|
|
440
448
|
onChange: setGapValue,
|
|
441
449
|
units: units,
|
|
442
450
|
value: gapValue
|
|
451
|
+
})), showSpacingPresetsControl && (0, _element.createElement)(_blockEditor.__experimentalSpacingSizesControl, {
|
|
452
|
+
label: (0, _i18n.__)('Block spacing'),
|
|
453
|
+
min: 0,
|
|
454
|
+
onChange: setGapValues,
|
|
455
|
+
sides: isAxialGap ? gapSides : ['top'] // Use 'top' as the shorthand property in non-axial configurations.
|
|
456
|
+
,
|
|
457
|
+
values: gapValues,
|
|
458
|
+
allowReset: false,
|
|
459
|
+
splitOnAxis: isAxialGap
|
|
443
460
|
})));
|
|
444
461
|
}
|
|
445
462
|
//# sourceMappingURL=dimensions-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["AXIAL_SIDES","useHasDimensionsPanel","name","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","supports","settings","includes","useHasSpacingPresets","length","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","useContentSizeProps","contentSizeValue","setContentSizeValue","userSetContentSizeValue","hasUserSetContentSizeValue","resetContentSizeValue","useWideSizeProps","wideSizeValue","setWideSizeValue","userSetWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","usePaddingProps","rawPadding","setRawPadding","paddingValues","paddingSides","isAxialPadding","some","setPaddingValues","newPaddingValues","padding","resetPaddingValue","userSetPaddingValue","hasPaddingValue","useMarginProps","rawMargin","setRawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","margin","resetMarginValue","hasMarginValue","Object","keys","useBlockGapProps","gapValue","setGapValue","gapValues","setGapValues","nextBoxGapValue","gapSides","isAxialGap","resetGapValue","undefined","userSetGapValue","hasGapValue","DimensionsPanel","showContentSizeControl","showWideSizeControl","showPaddingControl","showMarginControl","showGapControl","showSpacingPresetsControl","units","availableUnits","resetAll","nextContentSize","positionCenter","nextWideSize","stretchWide"],"mappings":"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","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__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalView as View,\n} from '@wordpress/components';\nimport {\n\t__experimentalUseCustomSides as useCustomSides,\n\t__experimentalSpacingSizesControl as SpacingSizesControl,\n} from '@wordpress/block-editor';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels, useSetting, useStyle } from './hooks';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( name ) {\n\tconst hasContentSize = useHasContentSize( name );\n\tconst hasWideSize = useHasWideSize( name );\n\tconst hasPadding = useHasPadding( name );\n\tconst hasMargin = useHasMargin( name );\n\tconst hasGap = useHasGap( name );\n\n\treturn hasContentSize || hasWideSize || hasPadding || hasMargin || hasGap;\n}\n\nfunction useHasContentSize( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'layout.contentSize', name );\n\n\treturn settings && supports.includes( 'contentSize' );\n}\n\nfunction useHasWideSize( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'layout.wideSize', name );\n\n\treturn settings && supports.includes( 'wideSize' );\n}\n\nfunction useHasPadding( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'spacing.padding', name );\n\n\treturn settings && supports.includes( 'padding' );\n}\n\nfunction useHasMargin( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'spacing.margin', name );\n\n\treturn settings && supports.includes( 'margin' );\n}\n\nfunction useHasGap( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'spacing.blockGap', name );\n\n\treturn settings && supports.includes( 'blockGap' );\n}\n\nfunction useHasSpacingPresets() {\n\tconst [ settings ] = useSetting( 'spacing.spacingSizes' );\n\n\treturn settings && settings.length > 0;\n}\n\nfunction filterValuesBySides( values, sides ) {\n\tif ( ! sides ) {\n\t\t// If no custom side configuration all sides are opted into by default.\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// 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 {\n\t\t...value,\n\t\tright: value?.left,\n\t\tbottom: value?.top,\n\t};\n}\n\n// Props for managing `layout.contentSize`.\nfunction useContentSizeProps( name ) {\n\tconst [ contentSizeValue, setContentSizeValue ] = useSetting(\n\t\t'layout.contentSize',\n\t\tname\n\t);\n\tconst [ userSetContentSizeValue ] = useSetting(\n\t\t'layout.contentSize',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasUserSetContentSizeValue = () => !! userSetContentSizeValue;\n\tconst resetContentSizeValue = () => setContentSizeValue( '' );\n\treturn {\n\t\tcontentSizeValue,\n\t\tsetContentSizeValue,\n\t\thasUserSetContentSizeValue,\n\t\tresetContentSizeValue,\n\t};\n}\n\n// Props for managing `layout.wideSize`.\nfunction useWideSizeProps( name ) {\n\tconst [ wideSizeValue, setWideSizeValue ] = useSetting(\n\t\t'layout.wideSize',\n\t\tname\n\t);\n\tconst [ userSetWideSizeValue ] = useSetting(\n\t\t'layout.wideSize',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasUserSetWideSizeValue = () => !! userSetWideSizeValue;\n\tconst resetWideSizeValue = () => setWideSizeValue( '' );\n\treturn {\n\t\twideSizeValue,\n\t\tsetWideSizeValue,\n\t\thasUserSetWideSizeValue,\n\t\tresetWideSizeValue,\n\t};\n}\n\n// Props for managing `spacing.padding`.\nfunction usePaddingProps( name ) {\n\tconst [ rawPadding, setRawPadding ] = useStyle( 'spacing.padding', name );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = useCustomSides( name, 'padding' );\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tsetRawPadding( padding );\n\t};\n\tconst resetPaddingValue = () => setPaddingValues( {} );\n\tconst [ userSetPaddingValue ] = useStyle( 'spacing.padding', name, 'user' );\n\t// The `hasPaddingValue` check does not need a parsed value, as `userSetPaddingValue` will be `undefined` if not set.\n\tconst hasPaddingValue = () => !! userSetPaddingValue;\n\n\treturn {\n\t\tpaddingValues,\n\t\tpaddingSides,\n\t\tisAxialPadding,\n\t\tsetPaddingValues,\n\t\tresetPaddingValue,\n\t\thasPaddingValue,\n\t};\n}\n\n// Props for managing `spacing.margin`.\nfunction useMarginProps( name ) {\n\tconst [ rawMargin, setRawMargin ] = useStyle( 'spacing.margin', name );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = useCustomSides( name, 'margin' );\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tsetRawMargin( margin );\n\t};\n\tconst resetMarginValue = () => setMarginValues( {} );\n\tconst hasMarginValue = () =>\n\t\t!! marginValues && Object.keys( marginValues ).length;\n\n\treturn {\n\t\tmarginValues,\n\t\tmarginSides,\n\t\tisAxialMargin,\n\t\tsetMarginValues,\n\t\tresetMarginValue,\n\t\thasMarginValue,\n\t};\n}\n\n// Props for managing `spacing.blockGap`.\nfunction useBlockGapProps( name ) {\n\tconst [ gapValue, setGapValue ] = useStyle( 'spacing.blockGap', name );\n\tconst gapValues = splitGapValue( gapValue );\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\tsetGapValue( {\n\t\t\ttop: nextBoxGapValue?.top,\n\t\t\tleft: nextBoxGapValue?.left,\n\t\t} );\n\t};\n\tconst gapSides = useCustomSides( name, 'blockGap' );\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst [ userSetGapValue ] = useStyle( 'spacing.blockGap', name, 'user' );\n\tconst hasGapValue = () => !! userSetGapValue;\n\treturn {\n\t\tgapValue,\n\t\tgapValues,\n\t\tgapSides,\n\t\tisAxialGap,\n\t\tsetGapValue,\n\t\tsetGapValues,\n\t\tresetGapValue,\n\t\thasGapValue,\n\t};\n}\n\nexport default function DimensionsPanel( { name } ) {\n\tconst showContentSizeControl = useHasContentSize( name );\n\tconst showWideSizeControl = useHasWideSize( name );\n\tconst showPaddingControl = useHasPadding( name );\n\tconst showMarginControl = useHasMargin( name );\n\tconst showGapControl = useHasGap( name );\n\tconst showSpacingPresetsControl = useHasSpacingPresets();\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units', name )[ 0 ] || [\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// Props for managing `layout.contentSize`.\n\tconst {\n\t\tcontentSizeValue,\n\t\tsetContentSizeValue,\n\t\thasUserSetContentSizeValue,\n\t\tresetContentSizeValue,\n\t} = useContentSizeProps( name );\n\n\t// Props for managing `layout.wideSize`.\n\tconst {\n\t\twideSizeValue,\n\t\tsetWideSizeValue,\n\t\thasUserSetWideSizeValue,\n\t\tresetWideSizeValue,\n\t} = useWideSizeProps( name );\n\n\t// Props for managing `spacing.padding`.\n\tconst {\n\t\tpaddingValues,\n\t\tpaddingSides,\n\t\tisAxialPadding,\n\t\tsetPaddingValues,\n\t\tresetPaddingValue,\n\t\thasPaddingValue,\n\t} = usePaddingProps( name );\n\n\t// Props for managing `spacing.margin`.\n\tconst {\n\t\tmarginValues,\n\t\tmarginSides,\n\t\tisAxialMargin,\n\t\tsetMarginValues,\n\t\tresetMarginValue,\n\t\thasMarginValue,\n\t} = useMarginProps( name );\n\n\t// Props for managing `spacing.blockGap`.\n\tconst {\n\t\tgapValue,\n\t\tgapValues,\n\t\tgapSides,\n\t\tisAxialGap,\n\t\tsetGapValue,\n\t\tsetGapValues,\n\t\tresetGapValue,\n\t\thasGapValue,\n\t} = useBlockGapProps( name );\n\n\tconst resetAll = () => {\n\t\tresetPaddingValue();\n\t\tresetMarginValue();\n\t\tresetGapValue();\n\t\tresetContentSizeValue();\n\t\tresetWideSizeValue();\n\t};\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Dimensions' ) } resetAll={ resetAll }>\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={ true }\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={ true }\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={ true }\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>\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/>\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\tsplitOnAxis={ isAxialPadding }\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={ true }\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>\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/>\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\tsplitOnAxis={ isAxialMargin }\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={ true }\n\t\t\t\t>\n\t\t\t\t\t{ isAxialGap ? (\n\t\t\t\t\t\t<BoxControl\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\tunits={ units }\n\t\t\t\t\t\t\tsides={ gapSides }\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\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tvalue={ gapValue }\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</ToolsPanel>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["AXIAL_SIDES","useHasDimensionsPanel","name","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","supports","settings","includes","useHasSpacingPresets","length","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","useContentSizeProps","contentSizeValue","setContentSizeValue","userSetContentSizeValue","hasUserSetContentSizeValue","resetContentSizeValue","useWideSizeProps","wideSizeValue","setWideSizeValue","userSetWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","usePaddingProps","rawPadding","setRawPadding","paddingValues","paddingSides","isAxialPadding","some","setPaddingValues","newPaddingValues","padding","resetPaddingValue","userSetPaddingValue","hasPaddingValue","useMarginProps","rawMargin","setRawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","margin","resetMarginValue","hasMarginValue","Object","keys","useBlockGapProps","gapValue","setGapValue","gapValues","gapSides","isAxialGap","resetGapValue","undefined","userSetGapValue","hasGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","DimensionsPanel","showContentSizeControl","showWideSizeControl","showPaddingControl","showMarginControl","showGapControl","showSpacingPresetsControl","units","availableUnits","resetAll","nextContentSize","positionCenter","nextWideSize","stretchWide"],"mappings":";;;;;;;;;;;;AAGA;;AAKA;;AACA;;AASA;;AAIA;;AAKA;;AA3BA;AACA;AACA;;AAGA;AACA;AACA;;AAiBA;AACA;AACA;AAGA,MAAMA,WAAW,GAAG,CAAE,YAAF,EAAgB,UAAhB,CAApB;;AAEO,SAASC,qBAAT,CAAgCC,IAAhC,EAAuC;AAC7C,QAAMC,cAAc,GAAGC,iBAAiB,CAAEF,IAAF,CAAxC;AACA,QAAMG,WAAW,GAAGC,cAAc,CAAEJ,IAAF,CAAlC;AACA,QAAMK,UAAU,GAAGC,aAAa,CAAEN,IAAF,CAAhC;AACA,QAAMO,SAAS,GAAGC,YAAY,CAAER,IAAF,CAA9B;AACA,QAAMS,MAAM,GAAGC,SAAS,CAAEV,IAAF,CAAxB;AAEA,SAAOC,cAAc,IAAIE,WAAlB,IAAiCE,UAAjC,IAA+CE,SAA/C,IAA4DE,MAAnE;AACA;;AAED,SAASP,iBAAT,CAA4BF,IAA5B,EAAmC;AAClC,QAAMW,QAAQ,GAAG,2CAAgCX,IAAhC,CAAjB;AACA,QAAM,CAAEY,QAAF,IAAe,uBAAY,oBAAZ,EAAkCZ,IAAlC,CAArB;AAEA,SAAOY,QAAQ,IAAID,QAAQ,CAACE,QAAT,CAAmB,aAAnB,CAAnB;AACA;;AAED,SAAST,cAAT,CAAyBJ,IAAzB,EAAgC;AAC/B,QAAMW,QAAQ,GAAG,2CAAgCX,IAAhC,CAAjB;AACA,QAAM,CAAEY,QAAF,IAAe,uBAAY,iBAAZ,EAA+BZ,IAA/B,CAArB;AAEA,SAAOY,QAAQ,IAAID,QAAQ,CAACE,QAAT,CAAmB,UAAnB,CAAnB;AACA;;AAED,SAASP,aAAT,CAAwBN,IAAxB,EAA+B;AAC9B,QAAMW,QAAQ,GAAG,2CAAgCX,IAAhC,CAAjB;AACA,QAAM,CAAEY,QAAF,IAAe,uBAAY,iBAAZ,EAA+BZ,IAA/B,CAArB;AAEA,SAAOY,QAAQ,IAAID,QAAQ,CAACE,QAAT,CAAmB,SAAnB,CAAnB;AACA;;AAED,SAASL,YAAT,CAAuBR,IAAvB,EAA8B;AAC7B,QAAMW,QAAQ,GAAG,2CAAgCX,IAAhC,CAAjB;AACA,QAAM,CAAEY,QAAF,IAAe,uBAAY,gBAAZ,EAA8BZ,IAA9B,CAArB;AAEA,SAAOY,QAAQ,IAAID,QAAQ,CAACE,QAAT,CAAmB,QAAnB,CAAnB;AACA;;AAED,SAASH,SAAT,CAAoBV,IAApB,EAA2B;AAC1B,QAAMW,QAAQ,GAAG,2CAAgCX,IAAhC,CAAjB;AACA,QAAM,CAAEY,QAAF,IAAe,uBAAY,kBAAZ,EAAgCZ,IAAhC,CAArB;AAEA,SAAOY,QAAQ,IAAID,QAAQ,CAACE,QAAT,CAAmB,UAAnB,CAAnB;AACA;;AAED,SAASC,oBAAT,GAAgC;AAC/B,QAAM,CAAEF,QAAF,IAAe,uBAAY,sBAAZ,CAArB;AAEA,SAAOA,QAAQ,IAAIA,QAAQ,CAACG,MAAT,GAAkB,CAArC;AACA;;AAED,SAASC,mBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAA8C;AAC7C,MAAK,CAAEA,KAAP,EAAe;AACd;AACA,WAAOD,MAAP;AACA,GAJ4C,CAM7C;;;AACA,QAAME,cAAc,GAAG,EAAvB;AACAD,EAAAA,KAAK,CAACE,OAAN,CAAiBC,IAAF,IAAY;AAC1B,QAAKA,IAAI,KAAK,UAAd,EAA2B;AAC1BF,MAAAA,cAAc,CAACG,GAAf,GAAqBL,MAAM,CAACK,GAA5B;AACAH,MAAAA,cAAc,CAACI,MAAf,GAAwBN,MAAM,CAACM,MAA/B;AACA;;AACD,QAAKF,IAAI,KAAK,YAAd,EAA6B;AAC5BF,MAAAA,cAAc,CAACK,IAAf,GAAsBP,MAAM,CAACO,IAA7B;AACAL,MAAAA,cAAc,CAACM,KAAf,GAAuBR,MAAM,CAACQ,KAA9B;AACA;;AACDN,IAAAA,cAAc,CAAEE,IAAF,CAAd,GAAyBJ,MAAM,CAAEI,IAAF,CAA/B;AACA,GAVD;AAYA,SAAOF,cAAP;AACA;;AAED,SAASO,eAAT,CAA0BC,KAA1B,EAAkC;AACjC;AACA,MAAKA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA/B,EAA0C;AACzC;AACA,WAAO;AACNL,MAAAA,GAAG,EAAEK,KADC;AAENF,MAAAA,KAAK,EAAEE,KAFD;AAGNJ,MAAAA,MAAM,EAAEI,KAHF;AAINH,MAAAA,IAAI,EAAEG;AAJA,KAAP;AAMA;;AAED,SAAOA,KAAP;AACA;;AAED,SAASC,aAAT,CAAwBD,KAAxB,EAAgC;AAC/B;AACA,MAAKA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA/B,EAA0C;AACzC;AACA,WAAO;AACNL,MAAAA,GAAG,EAAEK;AADC,KAAP;AAGA;;AAED,MAAKA,KAAL,EAAa;AACZ,WAAO,EACN,GAAGA,KADG;AAENF,MAAAA,KAAK,EAAEE,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEH,IAFR;AAGND,MAAAA,MAAM,EAAEI,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEL;AAHT,KAAP;AAKA;;AAED,SAAOK,KAAP;AACA,C,CAED;;;AACA,SAASE,mBAAT,CAA8B7B,IAA9B,EAAqC;AACpC,QAAM,CAAE8B,gBAAF,EAAoBC,mBAApB,IAA4C,uBACjD,oBADiD,EAEjD/B,IAFiD,CAAlD;AAIA,QAAM,CAAEgC,uBAAF,IAA8B,uBACnC,oBADmC,EAEnChC,IAFmC,EAGnC,MAHmC,CAApC;;AAKA,QAAMiC,0BAA0B,GAAG,MAAM,CAAC,CAAED,uBAA5C;;AACA,QAAME,qBAAqB,GAAG,MAAMH,mBAAmB,CAAE,EAAF,CAAvD;;AACA,SAAO;AACND,IAAAA,gBADM;AAENC,IAAAA,mBAFM;AAGNE,IAAAA,0BAHM;AAINC,IAAAA;AAJM,GAAP;AAMA,C,CAED;;;AACA,SAASC,gBAAT,CAA2BnC,IAA3B,EAAkC;AACjC,QAAM,CAAEoC,aAAF,EAAiBC,gBAAjB,IAAsC,uBAC3C,iBAD2C,EAE3CrC,IAF2C,CAA5C;AAIA,QAAM,CAAEsC,oBAAF,IAA2B,uBAChC,iBADgC,EAEhCtC,IAFgC,EAGhC,MAHgC,CAAjC;;AAKA,QAAMuC,uBAAuB,GAAG,MAAM,CAAC,CAAED,oBAAzC;;AACA,QAAME,kBAAkB,GAAG,MAAMH,gBAAgB,CAAE,EAAF,CAAjD;;AACA,SAAO;AACND,IAAAA,aADM;AAENC,IAAAA,gBAFM;AAGNE,IAAAA,uBAHM;AAINC,IAAAA;AAJM,GAAP;AAMA,C,CAED;;;AACA,SAASC,eAAT,CAA0BzC,IAA1B,EAAiC;AAChC,QAAM,CAAE0C,UAAF,EAAcC,aAAd,IAAgC,qBAAU,iBAAV,EAA6B3C,IAA7B,CAAtC;AACA,QAAM4C,aAAa,GAAGlB,eAAe,CAAEgB,UAAF,CAArC;AACA,QAAMG,YAAY,GAAG,+CAAgB7C,IAAhB,EAAsB,SAAtB,CAArB;AACA,QAAM8C,cAAc,GACnBD,YAAY,IACZA,YAAY,CAACE,IAAb,CAAqB1B,IAAF,IAAYvB,WAAW,CAACe,QAAZ,CAAsBQ,IAAtB,CAA/B,CAFD;;AAIA,QAAM2B,gBAAgB,GAAKC,gBAAF,IAAwB;AAChD,UAAMC,OAAO,GAAGlC,mBAAmB,CAAEiC,gBAAF,EAAoBJ,YAApB,CAAnC;AACAF,IAAAA,aAAa,CAAEO,OAAF,CAAb;AACA,GAHD;;AAIA,QAAMC,iBAAiB,GAAG,MAAMH,gBAAgB,CAAE,EAAF,CAAhD;;AACA,QAAM,CAAEI,mBAAF,IAA0B,qBAAU,iBAAV,EAA6BpD,IAA7B,EAAmC,MAAnC,CAAhC,CAbgC,CAchC;;AACA,QAAMqD,eAAe,GAAG,MAAM,CAAC,CAAED,mBAAjC;;AAEA,SAAO;AACNR,IAAAA,aADM;AAENC,IAAAA,YAFM;AAGNC,IAAAA,cAHM;AAINE,IAAAA,gBAJM;AAKNG,IAAAA,iBALM;AAMNE,IAAAA;AANM,GAAP;AAQA,C,CAED;;;AACA,SAASC,cAAT,CAAyBtD,IAAzB,EAAgC;AAC/B,QAAM,CAAEuD,SAAF,EAAaC,YAAb,IAA8B,qBAAU,gBAAV,EAA4BxD,IAA5B,CAApC;AACA,QAAMyD,YAAY,GAAG/B,eAAe,CAAE6B,SAAF,CAApC;AACA,QAAMG,WAAW,GAAG,+CAAgB1D,IAAhB,EAAsB,QAAtB,CAApB;AACA,QAAM2D,aAAa,GAClBD,WAAW,IACXA,WAAW,CAACX,IAAZ,CAAoB1B,IAAF,IAAYvB,WAAW,CAACe,QAAZ,CAAsBQ,IAAtB,CAA9B,CAFD;;AAIA,QAAMuC,eAAe,GAAKC,eAAF,IAAuB;AAC9C,UAAMC,MAAM,GAAG9C,mBAAmB,CAAE6C,eAAF,EAAmBH,WAAnB,CAAlC;AACAF,IAAAA,YAAY,CAAEM,MAAF,CAAZ;AACA,GAHD;;AAIA,QAAMC,gBAAgB,GAAG,MAAMH,eAAe,CAAE,EAAF,CAA9C;;AACA,QAAMI,cAAc,GAAG,MACtB,CAAC,CAAEP,YAAH,IAAmBQ,MAAM,CAACC,IAAP,CAAaT,YAAb,EAA4B1C,MADhD;;AAGA,SAAO;AACN0C,IAAAA,YADM;AAENC,IAAAA,WAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,eAJM;AAKNG,IAAAA,gBALM;AAMNC,IAAAA;AANM,GAAP;AAQA,C,CAED;;;AACA,SAASG,gBAAT,CAA2BnE,IAA3B,EAAkC;AACjC,QAAM,CAAEoE,QAAF,EAAYC,WAAZ,IAA4B,qBAAU,kBAAV,EAA8BrE,IAA9B,CAAlC;AACA,QAAMsE,SAAS,GAAG1C,aAAa,CAAEwC,QAAF,CAA/B;AACA,QAAMG,QAAQ,GAAG,+CAAgBvE,IAAhB,EAAsB,UAAtB,CAAjB;AACA,QAAMwE,UAAU,GACfD,QAAQ,IAAIA,QAAQ,CAACxB,IAAT,CAAiB1B,IAAF,IAAYvB,WAAW,CAACe,QAAZ,CAAsBQ,IAAtB,CAA3B,CADb;;AAEA,QAAMoD,aAAa,GAAG,MAAMJ,WAAW,CAAEK,SAAF,CAAvC;;AACA,QAAM,CAAEC,eAAF,IAAsB,qBAAU,kBAAV,EAA8B3E,IAA9B,EAAoC,MAApC,CAA5B;;AACA,QAAM4E,WAAW,GAAG,MAAM,CAAC,CAAED,eAA7B;;AACA,QAAME,YAAY,GAAKC,eAAF,IAAuB;AAC3C,QAAK,CAAEA,eAAP,EAAyB;AACxBT,MAAAA,WAAW,CAAE,IAAF,CAAX;AACA,KAH0C,CAI3C;;;AACA,QAAK,CAAEG,UAAF,IAAgBM,eAAhB,aAAgBA,eAAhB,eAAgBA,eAAe,CAAEC,cAAjB,CAAiC,KAAjC,CAArB,EAAgE;AAC/DV,MAAAA,WAAW,CAAES,eAAe,CAACxD,GAAlB,CAAX;AACA,KAFD,MAEO;AACN+C,MAAAA,WAAW,CAAE;AACZ/C,QAAAA,GAAG,EAAEwD,eAAF,aAAEA,eAAF,uBAAEA,eAAe,CAAExD,GADV;AAEZE,QAAAA,IAAI,EAAEsD,eAAF,aAAEA,eAAF,uBAAEA,eAAe,CAAEtD;AAFX,OAAF,CAAX;AAIA;AACD,GAbD;;AAcA,SAAO;AACN4C,IAAAA,QADM;AAENE,IAAAA,SAFM;AAGNC,IAAAA,QAHM;AAINC,IAAAA,UAJM;AAKNH,IAAAA,WALM;AAMNQ,IAAAA,YANM;AAONJ,IAAAA,aAPM;AAQNG,IAAAA;AARM,GAAP;AAUA;;AAEc,SAASI,eAAT,OAAqC;AAAA,MAAX;AAAEhF,IAAAA;AAAF,GAAW;AACnD,QAAMiF,sBAAsB,GAAG/E,iBAAiB,CAAEF,IAAF,CAAhD;AACA,QAAMkF,mBAAmB,GAAG9E,cAAc,CAAEJ,IAAF,CAA1C;AACA,QAAMmF,kBAAkB,GAAG7E,aAAa,CAAEN,IAAF,CAAxC;AACA,QAAMoF,iBAAiB,GAAG5E,YAAY,CAAER,IAAF,CAAtC;AACA,QAAMqF,cAAc,GAAG3E,SAAS,CAAEV,IAAF,CAAhC;AACA,QAAMsF,yBAAyB,GAAGxE,oBAAoB,EAAtD;AACA,QAAMyE,KAAK,GAAG,8CAAgB;AAC7BC,IAAAA,cAAc,EAAE,uBAAY,eAAZ,EAA6BxF,IAA7B,EAAqC,CAArC,KAA4C,CAC3D,GAD2D,EAE3D,IAF2D,EAG3D,IAH2D,EAI3D,KAJ2D,EAK3D,IAL2D;AAD/B,GAAhB,CAAd,CAPmD,CAiBnD;;AACA,QAAM;AACL8B,IAAAA,gBADK;AAELC,IAAAA,mBAFK;AAGLE,IAAAA,0BAHK;AAILC,IAAAA;AAJK,MAKFL,mBAAmB,CAAE7B,IAAF,CALvB,CAlBmD,CAyBnD;;AACA,QAAM;AACLoC,IAAAA,aADK;AAELC,IAAAA,gBAFK;AAGLE,IAAAA,uBAHK;AAILC,IAAAA;AAJK,MAKFL,gBAAgB,CAAEnC,IAAF,CALpB,CA1BmD,CAiCnD;;AACA,QAAM;AACL4C,IAAAA,aADK;AAELC,IAAAA,YAFK;AAGLC,IAAAA,cAHK;AAILE,IAAAA,gBAJK;AAKLG,IAAAA,iBALK;AAMLE,IAAAA;AANK,MAOFZ,eAAe,CAAEzC,IAAF,CAPnB,CAlCmD,CA2CnD;;AACA,QAAM;AACLyD,IAAAA,YADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,eAJK;AAKLG,IAAAA,gBALK;AAMLC,IAAAA;AANK,MAOFV,cAAc,CAAEtD,IAAF,CAPlB,CA5CmD,CAqDnD;;AACA,QAAM;AACLoE,IAAAA,QADK;AAELE,IAAAA,SAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,UAJK;AAKLH,IAAAA,WALK;AAMLQ,IAAAA,YANK;AAOLJ,IAAAA,aAPK;AAQLG,IAAAA;AARK,MASFT,gBAAgB,CAAEnE,IAAF,CATpB;;AAWA,QAAMyF,QAAQ,GAAG,MAAM;AACtBtC,IAAAA,iBAAiB;AACjBY,IAAAA,gBAAgB;AAChBU,IAAAA,aAAa;AACbvC,IAAAA,qBAAqB;AACrBM,IAAAA,kBAAkB;AAClB,GAND;;AAQA,SACC,4BAAC,oCAAD;AAAY,IAAA,KAAK,EAAG,cAAI,YAAJ,CAApB;AAAyC,IAAA,QAAQ,EAAGiD;AAApD,KACG,CAAER,sBAAsB,IAAIC,mBAA5B,KACD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACG,cAAI,yCAAJ,CADH,CAFF,EAMGD,sBAAsB,IACvB,4BAAC,wCAAD;AACC,IAAA,SAAS,EAAC,eADX;AAEC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGhD,0BAHZ;AAIC,IAAA,UAAU,EAAGC,qBAJd;AAKC,IAAA,gBAAgB,EAAG;AALpB,KAOC,4BAAC,gCAAD;AAAQ,IAAA,SAAS,EAAC,UAAlB;AAA6B,IAAA,OAAO,EAAC;AAArC,KACC,4BAAC,qCAAD;AACC,IAAA,KAAK,EAAG,cAAI,SAAJ,CADT;AAEC,IAAA,aAAa,EAAC,KAFf;AAGC,IAAA,oBAAoB,EAAC,MAHtB;AAIC,IAAA,KAAK,EAAGJ,gBAAgB,IAAI,EAJ7B;AAKC,IAAA,QAAQ,EAAK4D,eAAF,IAAuB;AACjC3D,MAAAA,mBAAmB,CAAE2D,eAAF,CAAnB;AACA,KAPF;AAQC,IAAA,KAAK,EAAGH;AART,IADD,EAWC,4BAAC,8BAAD,QACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGI;AAAb,IADD,CAXD,CAPD,CAPF,EA+BGT,mBAAmB,IACpB,4BAAC,wCAAD;AACC,IAAA,SAAS,EAAC,eADX;AAEC,IAAA,KAAK,EAAG,cAAI,WAAJ,CAFT;AAGC,IAAA,QAAQ,EAAG3C,uBAHZ;AAIC,IAAA,UAAU,EAAGC,kBAJd;AAKC,IAAA,gBAAgB,EAAG;AALpB,KAOC,4BAAC,gCAAD;AAAQ,IAAA,SAAS,EAAC,UAAlB;AAA6B,IAAA,OAAO,EAAC;AAArC,KACC,4BAAC,qCAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,aAAa,EAAC,KAFf;AAGC,IAAA,oBAAoB,EAAC,MAHtB;AAIC,IAAA,KAAK,EAAGJ,aAAa,IAAI,EAJ1B;AAKC,IAAA,QAAQ,EAAKwD,YAAF,IAAoB;AAC9BvD,MAAAA,gBAAgB,CAAEuD,YAAF,CAAhB;AACA,KAPF;AAQC,IAAA,KAAK,EAAGL;AART,IADD,EAWC,4BAAC,8BAAD,QACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGM;AAAb,IADD,CAXD,CAPD,CAhCF,EAwDGV,kBAAkB,IACnB,4BAAC,wCAAD;AACC,IAAA,QAAQ,EAAG9B,eADZ;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,UAAU,EAAGF,iBAHd;AAIC,IAAA,gBAAgB,EAAG,IAJpB;AAKC,IAAA,SAAS,EAAG,yBAAY;AACvB,kCAA4BmC;AADL,KAAZ;AALb,KASG,CAAEA,yBAAF,IACD,4BAAC,oCAAD;AACC,IAAA,MAAM,EAAG1C,aADV;AAEC,IAAA,QAAQ,EAAGI,gBAFZ;AAGC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAHT;AAIC,IAAA,KAAK,EAAGH,YAJT;AAKC,IAAA,KAAK,EAAG0C,KALT;AAMC,IAAA,UAAU,EAAG,KANd;AAOC,IAAA,WAAW,EAAGzC;AAPf,IAVF,EAoBGwC,yBAAyB,IAC1B,4BAAC,8CAAD;AACC,IAAA,MAAM,EAAG1C,aADV;AAEC,IAAA,QAAQ,EAAGI,gBAFZ;AAGC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAHT;AAIC,IAAA,KAAK,EAAGH,YAJT;AAKC,IAAA,KAAK,EAAG0C,KALT;AAMC,IAAA,UAAU,EAAG,KANd;AAOC,IAAA,WAAW,EAAGzC;AAPf,IArBF,CAzDF,EA0FGsC,iBAAiB,IAClB,4BAAC,wCAAD;AACC,IAAA,QAAQ,EAAGpB,cADZ;AAEC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAFT;AAGC,IAAA,UAAU,EAAGD,gBAHd;AAIC,IAAA,gBAAgB,EAAG,IAJpB;AAKC,IAAA,SAAS,EAAG,yBAAY;AACvB,kCAA4BuB;AADL,KAAZ;AALb,KASG,CAAEA,yBAAF,IACD,4BAAC,oCAAD;AACC,IAAA,MAAM,EAAG7B,YADV;AAEC,IAAA,QAAQ,EAAGG,eAFZ;AAGC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAHT;AAIC,IAAA,KAAK,EAAGF,WAJT;AAKC,IAAA,KAAK,EAAG6B,KALT;AAMC,IAAA,UAAU,EAAG,KANd;AAOC,IAAA,WAAW,EAAG5B;AAPf,IAVF,EAoBG2B,yBAAyB,IAC1B,4BAAC,8CAAD;AACC,IAAA,MAAM,EAAG7B,YADV;AAEC,IAAA,QAAQ,EAAGG,eAFZ;AAGC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAHT;AAIC,IAAA,KAAK,EAAGF,WAJT;AAKC,IAAA,KAAK,EAAG6B,KALT;AAMC,IAAA,UAAU,EAAG,KANd;AAOC,IAAA,WAAW,EAAG5B;AAPf,IArBF,CA3FF,EA4HG0B,cAAc,IACf,4BAAC,wCAAD;AACC,IAAA,QAAQ,EAAGT,WADZ;AAEC,IAAA,KAAK,EAAG,cAAI,eAAJ,CAFT;AAGC,IAAA,UAAU,EAAGH,aAHd;AAIC,IAAA,gBAAgB,EAAG,IAJpB;AAKC,IAAA,SAAS,EAAG,yBAAY;AACvB,kCAA4Ba;AADL,KAAZ;AALb,KASG,CAAEA,yBAAF,KACCd,UAAU,GACX,4BAAC,oCAAD;AACC,IAAA,KAAK,EAAG,cAAI,eAAJ,CADT;AAEC,IAAA,GAAG,EAAG,CAFP;AAGC,IAAA,QAAQ,EAAGK,YAHZ;AAIC,IAAA,KAAK,EAAGU,KAJT;AAKC,IAAA,KAAK,EAAGhB,QALT;AAMC,IAAA,MAAM,EAAGD,SANV;AAOC,IAAA,UAAU,EAAG,KAPd;AAQC,IAAA,WAAW,EAAGE;AARf,IADW,GAYX,4BAAC,qCAAD;AACC,IAAA,KAAK,EAAG,cAAI,eAAJ,CADT;AAEC,IAAA,oBAAoB,EAAC,MAFtB;AAGC,IAAA,GAAG,EAAG,CAHP;AAIC,IAAA,QAAQ,EAAGH,WAJZ;AAKC,IAAA,KAAK,EAAGkB,KALT;AAMC,IAAA,KAAK,EAAGnB;AANT,IAbA,CATH,EA+BGkB,yBAAyB,IAC1B,4BAAC,8CAAD;AACC,IAAA,KAAK,EAAG,cAAI,eAAJ,CADT;AAEC,IAAA,GAAG,EAAG,CAFP;AAGC,IAAA,QAAQ,EAAGT,YAHZ;AAIC,IAAA,KAAK,EAAGL,UAAU,GAAGD,QAAH,GAAc,CAAE,KAAF,CAJjC,CAI6C;AAJ7C;AAKC,IAAA,MAAM,EAAGD,SALV;AAMC,IAAA,UAAU,EAAG,KANd;AAOC,IAAA,WAAW,EAAGE;AAPf,IAhCF,CA7HF,CADD;AA4KA","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__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalView as View,\n} from '@wordpress/components';\nimport {\n\t__experimentalUseCustomSides as useCustomSides,\n\t__experimentalSpacingSizesControl as SpacingSizesControl,\n} from '@wordpress/block-editor';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels, useSetting, useStyle } from './hooks';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( name ) {\n\tconst hasContentSize = useHasContentSize( name );\n\tconst hasWideSize = useHasWideSize( name );\n\tconst hasPadding = useHasPadding( name );\n\tconst hasMargin = useHasMargin( name );\n\tconst hasGap = useHasGap( name );\n\n\treturn hasContentSize || hasWideSize || hasPadding || hasMargin || hasGap;\n}\n\nfunction useHasContentSize( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'layout.contentSize', name );\n\n\treturn settings && supports.includes( 'contentSize' );\n}\n\nfunction useHasWideSize( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'layout.wideSize', name );\n\n\treturn settings && supports.includes( 'wideSize' );\n}\n\nfunction useHasPadding( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'spacing.padding', name );\n\n\treturn settings && supports.includes( 'padding' );\n}\n\nfunction useHasMargin( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'spacing.margin', name );\n\n\treturn settings && supports.includes( 'margin' );\n}\n\nfunction useHasGap( name ) {\n\tconst supports = getSupportedGlobalStylesPanels( name );\n\tconst [ settings ] = useSetting( 'spacing.blockGap', name );\n\n\treturn settings && supports.includes( 'blockGap' );\n}\n\nfunction useHasSpacingPresets() {\n\tconst [ settings ] = useSetting( 'spacing.spacingSizes' );\n\n\treturn settings && settings.length > 0;\n}\n\nfunction filterValuesBySides( values, sides ) {\n\tif ( ! sides ) {\n\t\t// If no custom side configuration all sides are opted into by default.\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\n// Props for managing `layout.contentSize`.\nfunction useContentSizeProps( name ) {\n\tconst [ contentSizeValue, setContentSizeValue ] = useSetting(\n\t\t'layout.contentSize',\n\t\tname\n\t);\n\tconst [ userSetContentSizeValue ] = useSetting(\n\t\t'layout.contentSize',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasUserSetContentSizeValue = () => !! userSetContentSizeValue;\n\tconst resetContentSizeValue = () => setContentSizeValue( '' );\n\treturn {\n\t\tcontentSizeValue,\n\t\tsetContentSizeValue,\n\t\thasUserSetContentSizeValue,\n\t\tresetContentSizeValue,\n\t};\n}\n\n// Props for managing `layout.wideSize`.\nfunction useWideSizeProps( name ) {\n\tconst [ wideSizeValue, setWideSizeValue ] = useSetting(\n\t\t'layout.wideSize',\n\t\tname\n\t);\n\tconst [ userSetWideSizeValue ] = useSetting(\n\t\t'layout.wideSize',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasUserSetWideSizeValue = () => !! userSetWideSizeValue;\n\tconst resetWideSizeValue = () => setWideSizeValue( '' );\n\treturn {\n\t\twideSizeValue,\n\t\tsetWideSizeValue,\n\t\thasUserSetWideSizeValue,\n\t\tresetWideSizeValue,\n\t};\n}\n\n// Props for managing `spacing.padding`.\nfunction usePaddingProps( name ) {\n\tconst [ rawPadding, setRawPadding ] = useStyle( 'spacing.padding', name );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = useCustomSides( name, 'padding' );\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tsetRawPadding( padding );\n\t};\n\tconst resetPaddingValue = () => setPaddingValues( {} );\n\tconst [ userSetPaddingValue ] = useStyle( 'spacing.padding', name, 'user' );\n\t// The `hasPaddingValue` check does not need a parsed value, as `userSetPaddingValue` will be `undefined` if not set.\n\tconst hasPaddingValue = () => !! userSetPaddingValue;\n\n\treturn {\n\t\tpaddingValues,\n\t\tpaddingSides,\n\t\tisAxialPadding,\n\t\tsetPaddingValues,\n\t\tresetPaddingValue,\n\t\thasPaddingValue,\n\t};\n}\n\n// Props for managing `spacing.margin`.\nfunction useMarginProps( name ) {\n\tconst [ rawMargin, setRawMargin ] = useStyle( 'spacing.margin', name );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = useCustomSides( name, 'margin' );\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tsetRawMargin( margin );\n\t};\n\tconst resetMarginValue = () => setMarginValues( {} );\n\tconst hasMarginValue = () =>\n\t\t!! marginValues && Object.keys( marginValues ).length;\n\n\treturn {\n\t\tmarginValues,\n\t\tmarginSides,\n\t\tisAxialMargin,\n\t\tsetMarginValues,\n\t\tresetMarginValue,\n\t\thasMarginValue,\n\t};\n}\n\n// Props for managing `spacing.blockGap`.\nfunction useBlockGapProps( name ) {\n\tconst [ gapValue, setGapValue ] = useStyle( 'spacing.blockGap', name );\n\tconst gapValues = splitGapValue( gapValue );\n\tconst gapSides = useCustomSides( name, 'blockGap' );\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst [ userSetGapValue ] = useStyle( 'spacing.blockGap', name, 'user' );\n\tconst hasGapValue = () => !! userSetGapValue;\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\treturn {\n\t\tgapValue,\n\t\tgapValues,\n\t\tgapSides,\n\t\tisAxialGap,\n\t\tsetGapValue,\n\t\tsetGapValues,\n\t\tresetGapValue,\n\t\thasGapValue,\n\t};\n}\n\nexport default function DimensionsPanel( { name } ) {\n\tconst showContentSizeControl = useHasContentSize( name );\n\tconst showWideSizeControl = useHasWideSize( name );\n\tconst showPaddingControl = useHasPadding( name );\n\tconst showMarginControl = useHasMargin( name );\n\tconst showGapControl = useHasGap( name );\n\tconst showSpacingPresetsControl = useHasSpacingPresets();\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units', name )[ 0 ] || [\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// Props for managing `layout.contentSize`.\n\tconst {\n\t\tcontentSizeValue,\n\t\tsetContentSizeValue,\n\t\thasUserSetContentSizeValue,\n\t\tresetContentSizeValue,\n\t} = useContentSizeProps( name );\n\n\t// Props for managing `layout.wideSize`.\n\tconst {\n\t\twideSizeValue,\n\t\tsetWideSizeValue,\n\t\thasUserSetWideSizeValue,\n\t\tresetWideSizeValue,\n\t} = useWideSizeProps( name );\n\n\t// Props for managing `spacing.padding`.\n\tconst {\n\t\tpaddingValues,\n\t\tpaddingSides,\n\t\tisAxialPadding,\n\t\tsetPaddingValues,\n\t\tresetPaddingValue,\n\t\thasPaddingValue,\n\t} = usePaddingProps( name );\n\n\t// Props for managing `spacing.margin`.\n\tconst {\n\t\tmarginValues,\n\t\tmarginSides,\n\t\tisAxialMargin,\n\t\tsetMarginValues,\n\t\tresetMarginValue,\n\t\thasMarginValue,\n\t} = useMarginProps( name );\n\n\t// Props for managing `spacing.blockGap`.\n\tconst {\n\t\tgapValue,\n\t\tgapValues,\n\t\tgapSides,\n\t\tisAxialGap,\n\t\tsetGapValue,\n\t\tsetGapValues,\n\t\tresetGapValue,\n\t\thasGapValue,\n\t} = useBlockGapProps( name );\n\n\tconst resetAll = () => {\n\t\tresetPaddingValue();\n\t\tresetMarginValue();\n\t\tresetGapValue();\n\t\tresetContentSizeValue();\n\t\tresetWideSizeValue();\n\t};\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Dimensions' ) } resetAll={ resetAll }>\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={ true }\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={ true }\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={ true }\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>\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/>\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\tsplitOnAxis={ isAxialPadding }\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={ true }\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>\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/>\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\tsplitOnAxis={ isAxialMargin }\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={ true }\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>\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\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\tsplitOnAxis={ isAxialGap }\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</ToolsPanel>\n\t);\n}\n"]}
|