@wordpress/edit-post 8.13.0 → 8.13.1-next.cd6172eb0.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/build/components/layout/index.js +9 -19
- package/build/components/layout/index.js.map +1 -1
- package/build/components/meta-boxes/index.js +1 -34
- package/build/components/meta-boxes/index.js.map +1 -1
- package/build/components/meta-boxes/use-meta-box-initialization.js +38 -0
- package/build/components/meta-boxes/use-meta-box-initialization.js.map +1 -0
- package/build-module/components/layout/index.js +9 -19
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/meta-boxes/index.js +2 -35
- package/build-module/components/meta-boxes/index.js.map +1 -1
- package/build-module/components/meta-boxes/use-meta-box-initialization.js +31 -0
- package/build-module/components/meta-boxes/use-meta-box-initialization.js.map +1 -0
- package/build-style/style-rtl.css +0 -3
- package/build-style/style.css +0 -3
- package/package.json +30 -30
- package/src/components/layout/index.js +12 -24
- package/src/components/layout/style.scss +3 -5
- package/src/components/meta-boxes/index.js +4 -33
- package/src/components/meta-boxes/use-meta-box-initialization.js +32 -0
|
@@ -37,6 +37,7 @@ var _useCommands = _interopRequireDefault(require("../../commands/use-commands")
|
|
|
37
37
|
var _usePaddingAppender = require("./use-padding-appender");
|
|
38
38
|
var _useShouldIframe = require("./use-should-iframe");
|
|
39
39
|
var _useNavigateToEntityRecord = _interopRequireDefault(require("../../hooks/use-navigate-to-entity-record"));
|
|
40
|
+
var _useMetaBoxInitialization = require("../meta-boxes/use-meta-box-initialization");
|
|
40
41
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
41
42
|
/**
|
|
42
43
|
* External dependencies
|
|
@@ -111,14 +112,7 @@ function useEditorStyles(...additionalStyles) {
|
|
|
111
112
|
return baseStyles;
|
|
112
113
|
}, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport, addedStyles]);
|
|
113
114
|
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* @param {Object} props
|
|
117
|
-
* @param {boolean} props.isLegacy True when the editor canvas is not in an iframe.
|
|
118
|
-
*/
|
|
119
|
-
function MetaBoxesMain({
|
|
120
|
-
isLegacy
|
|
121
|
-
}) {
|
|
115
|
+
function MetaBoxesMain() {
|
|
122
116
|
const [isOpen, openHeight, hasAnyVisible] = (0, _data.useSelect)(select => {
|
|
123
117
|
const {
|
|
124
118
|
get
|
|
@@ -188,19 +182,15 @@ function MetaBoxesMain({
|
|
|
188
182
|
return;
|
|
189
183
|
}
|
|
190
184
|
const contents = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
191
|
-
className: (0, _clsx.default)(
|
|
192
185
|
// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.
|
|
193
|
-
|
|
194
|
-
hidden:
|
|
186
|
+
className: "edit-post-layout__metaboxes edit-post-meta-boxes-main__liner",
|
|
187
|
+
hidden: isShort && !isOpen,
|
|
195
188
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
|
|
196
189
|
location: "normal"
|
|
197
190
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
|
|
198
191
|
location: "advanced"
|
|
199
192
|
})]
|
|
200
193
|
});
|
|
201
|
-
if (isLegacy) {
|
|
202
|
-
return contents;
|
|
203
|
-
}
|
|
204
194
|
const isAutoHeight = openHeight === undefined;
|
|
205
195
|
let usedMax = '50%'; // Approximation before max has a value.
|
|
206
196
|
if (max !== undefined) {
|
|
@@ -373,6 +363,7 @@ function Layout({
|
|
|
373
363
|
getRenderingMode
|
|
374
364
|
} = select(_editor.store);
|
|
375
365
|
const isRenderingPostOnly = getRenderingMode() === 'post-only';
|
|
366
|
+
const isNotDesignPostType = !DESIGN_POST_TYPES.includes(currentPostType);
|
|
376
367
|
return {
|
|
377
368
|
mode: getEditorMode(),
|
|
378
369
|
isFullscreenActive: select(_store.store).isFeatureActive('fullscreenMode'),
|
|
@@ -380,12 +371,13 @@ function Layout({
|
|
|
380
371
|
hasBlockSelected: !!select(_blockEditor.store).getBlockSelectionStart(),
|
|
381
372
|
showIconLabels: get('core', 'showIconLabels'),
|
|
382
373
|
isDistractionFree: get('core', 'distractionFree'),
|
|
383
|
-
showMetaBoxes:
|
|
374
|
+
showMetaBoxes: isNotDesignPostType && !isZoomOut(),
|
|
384
375
|
isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
|
|
385
376
|
templateId: supportsTemplateMode && isViewable && canViewTemplate && !isEditingTemplate ? getTemplateId(currentPostType, currentPostId) : null,
|
|
386
|
-
enablePaddingAppender: !isZoomOut() && isRenderingPostOnly &&
|
|
377
|
+
enablePaddingAppender: !isZoomOut() && isRenderingPostOnly && isNotDesignPostType
|
|
387
378
|
};
|
|
388
379
|
}, [currentPostType, currentPostId, isEditingTemplate, settings.supportsTemplateMode]);
|
|
380
|
+
(0, _useMetaBoxInitialization.useMetaBoxInitialization)(hasActiveMetaboxes);
|
|
389
381
|
const [paddingAppenderRef, paddingStyle] = (0, _usePaddingAppender.usePaddingAppender)(enablePaddingAppender);
|
|
390
382
|
|
|
391
383
|
// Set the right context for the command palette
|
|
@@ -487,9 +479,7 @@ function Layout({
|
|
|
487
479
|
extraSidebarPanels: showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
|
|
488
480
|
location: "side"
|
|
489
481
|
}),
|
|
490
|
-
extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsx)(MetaBoxesMain, {
|
|
491
|
-
isLegacy: !shouldIframe
|
|
492
|
-
}),
|
|
482
|
+
extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsx)(MetaBoxesMain, {}),
|
|
493
483
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.PostLockedModal, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editorInitialization.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(FullscreenMode, {
|
|
494
484
|
isActive: isFullscreenActive
|
|
495
485
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_browserUrl.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.UnsavedChangesWarning, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.AutosaveMonitor, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.LocalAutosaveMonitor, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_keyboardShortcuts.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.EditorKeyboardShortcutsRegister, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockKeyboardShortcuts, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_initPatternModal.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_plugins.PluginArea, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_editor","_data","_blockEditor","_plugins","_i18n","_element","_icons","_notices","_preferences","_commands","_coreCommands","_blockLibrary","_url","_htmlEntities","_coreData","_components","_compose","_backButton","_editorInitialization","_keyboardShortcuts","_initPatternModal","_browserUrl","_metaBoxes","_moreMenu","_welcomeGuide","_store","_lockUnlock","_useCommands","_usePaddingAppender","_useShouldIframe","_useNavigateToEntityRecord","_jsxRuntime","getLayoutStyles","unlock","blockEditorPrivateApis","useCommands","coreCommandsPrivateApis","useCommandContext","commandsPrivateApis","Editor","FullscreenMode","NavigableRegion","editorPrivateApis","BlockKeyboardShortcuts","blockLibraryPrivateApis","DESIGN_POST_TYPES","useEditorStyles","additionalStyles","hasThemeStyleSupport","editorSettings","useSelect","select","editPostStore","isFeatureActive","editorStore","getEditorSettings","addedStyles","join","useMemo","_editorSettings$style","_editorSettings$defau","_editorSettings$style2","_editorSettings$style3","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","baseStyles","MetaBoxesMain","isLegacy","isOpen","openHeight","hasAnyVisible","get","preferencesStore","isMetaBoxLocationVisible","set","setPreference","useDispatch","metaBoxesMainRef","useRef","isShort","useMediaQuery","min","max","setHeightConstraints","useState","effectSizeConstraints","useRefEffect","node","container","closest","noticeLists","querySelectorAll","resizeHandle","querySelector","deriveConstraints","fullHeight","offsetHeight","nextMax","element","nextMin","observer","window","ResizeObserver","observe","disconnect","separatorRef","separatorHelpId","useId","isUntouched","setIsUntouched","applyHeight","candidateHeight","isPersistent","isInstant","nextHeight","Math","current","ariaValueNow","getAriaValueNow","updateSize","height","width","contents","jsxs","className","clsx","hidden","children","jsx","default","location","isAutoHeight","undefined","usedMax","round","usedAriaValueNow","toggle","onSeparatorKeyDown","event","delta","ArrowUp","ArrowDown","key","pane","resizable","fromHeight","preventDefault","paneLabel","__","Pane","paneProps","ResizableBox","as","ref","defaultSize","minHeight","maxHeight","enable","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","handleClasses","handleComponent","Fragment","Tooltip","text","role","onKeyDown","VisuallyHidden","id","onPointerDown","pointerId","target","setPointerCapture","onResizeStart","direction","elementRef","onResize","state","onResizeStop","onClick","Icon","icon","chevronUp","chevronDown","Layout","postId","initialPostId","postType","initialPostType","settings","initialEdits","useEditPostCommands","shouldIframe","useShouldIframe","createErrorNotice","noticesStore","currentPost","currentPostId","currentPostType","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","useNavigateToEntityRecord","isEditingTemplate","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","isWelcomeGuideVisible","templateId","enablePaddingAppender","_getPostType$viewable","canUser","getPostType","getTemplateId","coreStore","supportsTemplateMode","isViewable","viewable","canViewTemplate","kind","name","isZoomOut","blockEditorStore","getEditorMode","getRenderingMode","isRenderingPostOnly","hasMetaBoxes","getBlockSelectionStart","includes","paddingAppenderRef","paddingStyle","usePaddingAppender","commandContext","defaultRenderingMode","document","body","classList","add","remove","navigateRegionsProps","useNavigateRegions","onPluginAreaError","sprintf","createSuccessNotice","onActionPerformed","useCallback","actionId","items","href","addQueryArgs","trashed","post_type","type","ids","newItem","title","rendered","decodeEntities","actions","label","post","action","initialPost","backButton","useViewportMatch","SlotFillProvider","ErrorBoundary","CommandMenu","forceIsDirty","contentRef","disableIframe","autoFocus","extraSidebarPanels","extraContent","PostLockedModal","isActive","UnsavedChangesWarning","AutosaveMonitor","LocalAutosaveMonitor","EditorKeyboardShortcutsRegister","PluginArea","onError","EditorSnackbars","_default","exports"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { addQueryArgs } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tIcon,\n\tResizableBox,\n\tSlotFillProvider,\n\tTooltip,\n\tVisuallyHidden,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseMediaQuery,\n\tuseRefEffect,\n\tuseViewportMatch,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BackButton from '../back-button';\nimport EditorInitialization from '../editor-initialization';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport InitPatternModal from '../init-pattern-modal';\nimport BrowserURL from '../browser-url';\nimport MetaBoxes from '../meta-boxes';\nimport PostEditorMoreMenu from '../more-menu';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useEditPostCommands from '../../commands/use-commands';\nimport { usePaddingAppender } from './use-padding-appender';\nimport { useShouldIframe } from './use-should-iframe';\nimport useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { Editor, FullscreenMode, NavigableRegion } = unlock( editorPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\nconst DESIGN_POST_TYPES = [\n\t'wp_template',\n\t'wp_template_part',\n\t'wp_block',\n\t'wp_navigation',\n];\n\nfunction useEditorStyles( ...additionalStyles ) {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t};\n\t}, [] );\n\n\tconst addedStyles = additionalStyles.join( '\\n' );\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...( editorSettings?.defaultEditorStyles ?? [] ),\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\tconst baseStyles = hasThemeStyles\n\t\t\t? editorSettings.styles ?? []\n\t\t\t: defaultEditorStyles;\n\n\t\tif ( addedStyles ) {\n\t\t\treturn [ ...baseStyles, { css: addedStyles } ];\n\t\t}\n\n\t\treturn baseStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t\taddedStyles,\n\t] );\n}\n\n/**\n * @param {Object} props\n * @param {boolean} props.isLegacy True when the editor canvas is not in an iframe.\n */\nfunction MetaBoxesMain( { isLegacy } ) {\n\tconst [ isOpen, openHeight, hasAnyVisible ] = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isMetaBoxLocationVisible } = select( editPostStore );\n\t\treturn [\n\t\t\tget( 'core/edit-post', 'metaBoxesMainIsOpen' ),\n\t\t\tget( 'core/edit-post', 'metaBoxesMainOpenHeight' ),\n\t\t\tisMetaBoxLocationVisible( 'normal' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'advanced' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'side' ),\n\t\t];\n\t}, [] );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst metaBoxesMainRef = useRef();\n\tconst isShort = useMediaQuery( '(max-height: 549px)' );\n\n\tconst [ { min, max }, setHeightConstraints ] = useState( () => ( {} ) );\n\t// Keeps the resizable area’s size constraints updated taking into account\n\t// editor notices. The constraints are also used to derive the value for the\n\t// aria-valuenow attribute on the seperator.\n\tconst effectSizeConstraints = useRefEffect( ( node ) => {\n\t\tconst container = node.closest(\n\t\t\t'.interface-interface-skeleton__content'\n\t\t);\n\t\tconst noticeLists = container.querySelectorAll(\n\t\t\t':scope > .components-notice-list'\n\t\t);\n\t\tconst resizeHandle = container.querySelector(\n\t\t\t'.edit-post-meta-boxes-main__presenter'\n\t\t);\n\t\tconst deriveConstraints = () => {\n\t\t\tconst fullHeight = container.offsetHeight;\n\t\t\tlet nextMax = fullHeight;\n\t\t\tfor ( const element of noticeLists ) {\n\t\t\t\tnextMax -= element.offsetHeight;\n\t\t\t}\n\t\t\tconst nextMin = resizeHandle.offsetHeight;\n\t\t\tsetHeightConstraints( { min: nextMin, max: nextMax } );\n\t\t};\n\t\tconst observer = new window.ResizeObserver( deriveConstraints );\n\t\tobserver.observe( container );\n\t\tfor ( const element of noticeLists ) {\n\t\t\tobserver.observe( element );\n\t\t}\n\t\treturn () => observer.disconnect();\n\t}, [] );\n\n\tconst separatorRef = useRef();\n\tconst separatorHelpId = useId();\n\n\tconst [ isUntouched, setIsUntouched ] = useState( true );\n\tconst applyHeight = ( candidateHeight, isPersistent, isInstant ) => {\n\t\tconst nextHeight = Math.min( max, Math.max( min, candidateHeight ) );\n\t\tif ( isPersistent ) {\n\t\t\tsetPreference(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'metaBoxesMainOpenHeight',\n\t\t\t\tnextHeight\n\t\t\t);\n\t\t} else {\n\t\t\tseparatorRef.current.ariaValueNow = getAriaValueNow( nextHeight );\n\t\t}\n\t\tif ( isInstant ) {\n\t\t\tmetaBoxesMainRef.current.updateSize( {\n\t\t\t\theight: nextHeight,\n\t\t\t\t// Oddly, when the event that triggered this was not from the mouse (e.g. keydown),\n\t\t\t\t// if `width` is left unspecified a subsequent drag gesture applies a fixed\n\t\t\t\t// width and the pane fails to widen/narrow with parent width changes from\n\t\t\t\t// sidebars opening/closing or window resizes.\n\t\t\t\twidth: 'auto',\n\t\t\t} );\n\t\t}\n\t};\n\n\tif ( ! hasAnyVisible ) {\n\t\treturn;\n\t}\n\n\tconst contents = (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.\n\t\t\t\t'edit-post-layout__metaboxes',\n\t\t\t\t! isLegacy && 'edit-post-meta-boxes-main__liner'\n\t\t\t) }\n\t\t\thidden={ ! isLegacy && isShort && ! isOpen }\n\t\t>\n\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t</div>\n\t);\n\n\tif ( isLegacy ) {\n\t\treturn contents;\n\t}\n\n\tconst isAutoHeight = openHeight === undefined;\n\tlet usedMax = '50%'; // Approximation before max has a value.\n\tif ( max !== undefined ) {\n\t\t// Halves the available max height until a user height is set.\n\t\tusedMax = isAutoHeight && isUntouched ? max / 2 : max;\n\t}\n\n\tconst getAriaValueNow = ( height ) =>\n\t\tMath.round( ( ( height - min ) / ( max - min ) ) * 100 );\n\tconst usedAriaValueNow =\n\t\tmax === undefined || isAutoHeight ? 50 : getAriaValueNow( openHeight );\n\n\tconst toggle = () =>\n\t\tsetPreference( 'core/edit-post', 'metaBoxesMainIsOpen', ! isOpen );\n\n\t// TODO: Support more/all keyboard interactions from the window splitter pattern:\n\t// https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/\n\tconst onSeparatorKeyDown = ( event ) => {\n\t\tconst delta = { ArrowUp: 20, ArrowDown: -20 }[ event.key ];\n\t\tif ( delta ) {\n\t\t\tconst pane = metaBoxesMainRef.current.resizable;\n\t\t\tconst fromHeight = isAutoHeight ? pane.offsetHeight : openHeight;\n\t\t\tconst nextHeight = delta + fromHeight;\n\t\t\tapplyHeight( nextHeight, true, true );\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\tconst className = 'edit-post-meta-boxes-main';\n\tconst paneLabel = __( 'Meta Boxes' );\n\tlet Pane, paneProps;\n\tif ( isShort ) {\n\t\tPane = NavigableRegion;\n\t\tpaneProps = {\n\t\t\tclassName: clsx( className, 'is-toggle-only' ),\n\t\t};\n\t} else {\n\t\tPane = ResizableBox;\n\t\tpaneProps = /** @type {Parameters<typeof ResizableBox>[0]} */ ( {\n\t\t\tas: NavigableRegion,\n\t\t\tref: metaBoxesMainRef,\n\t\t\tclassName: clsx( className, 'is-resizable' ),\n\t\t\tdefaultSize: { height: openHeight },\n\t\t\tminHeight: min,\n\t\t\tmaxHeight: usedMax,\n\t\t\tenable: {\n\t\t\t\ttop: true,\n\t\t\t\tright: false,\n\t\t\t\tbottom: false,\n\t\t\t\tleft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t},\n\t\t\thandleClasses: { top: 'edit-post-meta-boxes-main__presenter' },\n\t\t\thandleComponent: {\n\t\t\t\ttop: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip text={ __( 'Drag to resize' ) }>\n\t\t\t\t\t\t\t<button // eslint-disable-line jsx-a11y/role-supports-aria-props\n\t\t\t\t\t\t\t\tref={ separatorRef }\n\t\t\t\t\t\t\t\trole=\"separator\" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role\n\t\t\t\t\t\t\t\taria-valuenow={ usedAriaValueNow }\n\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\taria-describedby={ separatorHelpId }\n\t\t\t\t\t\t\t\tonKeyDown={ onSeparatorKeyDown }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t<VisuallyHidden id={ separatorHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use up and down arrow keys to resize the meta box panel.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t// Avoids hiccups while dragging over objects like iframes and ensures that\n\t\t\t// the event to end the drag is captured by the target (resize handle)\n\t\t\t// whether or not it’s under the pointer.\n\t\t\tonPointerDown: ( { pointerId, target } ) => {\n\t\t\t\ttarget.setPointerCapture( pointerId );\n\t\t\t},\n\t\t\tonResizeStart: ( event, direction, elementRef ) => {\n\t\t\t\tif ( isAutoHeight ) {\n\t\t\t\t\t// Sets the starting height to avoid visual jumps in height and\n\t\t\t\t\t// aria-valuenow being `NaN` for the first (few) resize events.\n\t\t\t\t\tapplyHeight( elementRef.offsetHeight, false, true );\n\t\t\t\t\tsetIsUntouched( false );\n\t\t\t\t}\n\t\t\t},\n\t\t\tonResize: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height ),\n\t\t\tonResizeStop: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height, true ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Pane aria-label={ paneLabel } { ...paneProps }>\n\t\t\t{ isShort ? (\n\t\t\t\t<button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\tclassName=\"edit-post-meta-boxes-main__presenter\"\n\t\t\t\t\tonClick={ toggle }\n\t\t\t\t>\n\t\t\t\t\t{ paneLabel }\n\t\t\t\t\t<Icon icon={ isOpen ? chevronUp : chevronDown } />\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<meta ref={ effectSizeConstraints } />\n\t\t\t) }\n\t\t\t{ contents }\n\t\t</Pane>\n\t);\n}\n\nfunction Layout( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n} ) {\n\tuseCommands();\n\tuseEditPostCommands();\n\tconst shouldIframe = useShouldIframe();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tcurrentPost: { postId: currentPostId, postType: currentPostType },\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord(\n\t\tinitialPostId,\n\t\tinitialPostType,\n\t\t'post-only'\n\t);\n\tconst isEditingTemplate = currentPostType === 'wp_template';\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\thasActiveMetaboxes,\n\t\thasBlockSelected,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowMetaBoxes,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t\tenablePaddingAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive } = select( editPostStore );\n\t\t\tconst { canUser, getPostType, getTemplateId } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode = settings.supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPostType )?.viewable ?? false;\n\t\t\tconst canViewTemplate = canUser( 'read', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst { isZoomOut } = unlock( select( blockEditorStore ) );\n\t\t\tconst { getEditorMode, getRenderingMode } = select( editorStore );\n\t\t\tconst isRenderingPostOnly = getRenderingMode() === 'post-only';\n\n\t\t\treturn {\n\t\t\t\tmode: getEditorMode(),\n\t\t\t\tisFullscreenActive:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\thasBlockSelected:\n\t\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tshowMetaBoxes:\n\t\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType ) &&\n\t\t\t\t\t! isZoomOut(),\n\t\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\t\ttemplateId:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanViewTemplate &&\n\t\t\t\t\t! isEditingTemplate\n\t\t\t\t\t\t? getTemplateId( currentPostType, currentPostId )\n\t\t\t\t\t\t: null,\n\t\t\t\tenablePaddingAppender:\n\t\t\t\t\t! isZoomOut() &&\n\t\t\t\t\tisRenderingPostOnly &&\n\t\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tcurrentPostType,\n\t\t\tcurrentPostId,\n\t\t\tisEditingTemplate,\n\t\t\tsettings.supportsTemplateMode,\n\t\t]\n\t);\n\tconst [ paddingAppenderRef, paddingStyle ] = usePaddingAppender(\n\t\tenablePaddingAppender\n\t);\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'entity-edit';\n\tuseCommandContext( commandContext );\n\tconst editorSettings = useMemo(\n\t\t() => ( {\n\t\t\t...settings,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\tdefaultRenderingMode: 'post-only',\n\t\t} ),\n\t\t[ settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord ]\n\t);\n\tconst styles = useEditorStyles( paddingStyle );\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst navigateRegionsProps = useNavigateRegions();\n\n\tconst className = clsx( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t} );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\t\t{\n\t\t\t\t\t\tdocument.location.href = addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\ttrashed: 1,\n\t\t\t\t\t\t\tpost_type: items[ 0 ].type,\n\t\t\t\t\t\t\tids: items[ 0 ].id,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\tconst postId = newItem.id;\n\t\t\t\t\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t\t\t\t\taddQueryArgs( 'post.php', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpost: postId,\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'edit',\n\t\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},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ createSuccessNotice ]\n\t);\n\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tconst backButton =\n\t\tuseViewportMatch( 'medium' ) && isFullscreenActive ? (\n\t\t\t<BackButton initialPost={ initialPost } />\n\t\t) : null;\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ErrorBoundary>\n\t\t\t\t<CommandMenu />\n\t\t\t\t<WelcomeGuide postType={ currentPostType } />\n\t\t\t\t<div\n\t\t\t\t\tclassName={ navigateRegionsProps.className }\n\t\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\t>\n\t\t\t\t\t<Editor\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tpostType={ currentPostType }\n\t\t\t\t\t\tpostId={ currentPostId }\n\t\t\t\t\t\ttemplateId={ templateId }\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tcontentRef={ paddingAppenderRef }\n\t\t\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxes location=\"side\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraContent={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tshowMetaBoxes && (\n\t\t\t\t\t\t\t\t<MetaBoxesMain isLegacy={ ! shouldIframe } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t\t\t\t<BrowserURL />\n\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t<AutosaveMonitor />\n\t\t\t\t\t\t<LocalAutosaveMonitor />\n\t\t\t\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t<BlockKeyboardShortcuts />\n\t\t\t\t\t\t<InitPatternModal />\n\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t\t<PostEditorMoreMenu />\n\t\t\t\t\t\t{ backButton }\n\t\t\t\t\t\t<EditorSnackbars />\n\t\t\t\t\t</Editor>\n\t\t\t\t</div>\n\t\t\t</ErrorBoundary>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_editor","_data","_blockEditor","_plugins","_i18n","_element","_icons","_notices","_preferences","_commands","_coreCommands","_blockLibrary","_url","_htmlEntities","_coreData","_components","_compose","_backButton","_editorInitialization","_keyboardShortcuts","_initPatternModal","_browserUrl","_metaBoxes","_moreMenu","_welcomeGuide","_store","_lockUnlock","_useCommands","_usePaddingAppender","_useShouldIframe","_useNavigateToEntityRecord","_useMetaBoxInitialization","_jsxRuntime","getLayoutStyles","unlock","blockEditorPrivateApis","useCommands","coreCommandsPrivateApis","useCommandContext","commandsPrivateApis","Editor","FullscreenMode","NavigableRegion","editorPrivateApis","BlockKeyboardShortcuts","blockLibraryPrivateApis","DESIGN_POST_TYPES","useEditorStyles","additionalStyles","hasThemeStyleSupport","editorSettings","useSelect","select","editPostStore","isFeatureActive","editorStore","getEditorSettings","addedStyles","join","useMemo","_editorSettings$style","_editorSettings$defau","_editorSettings$style2","_editorSettings$style3","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","baseStyles","MetaBoxesMain","isOpen","openHeight","hasAnyVisible","get","preferencesStore","isMetaBoxLocationVisible","set","setPreference","useDispatch","metaBoxesMainRef","useRef","isShort","useMediaQuery","min","max","setHeightConstraints","useState","effectSizeConstraints","useRefEffect","node","container","closest","noticeLists","querySelectorAll","resizeHandle","querySelector","deriveConstraints","fullHeight","offsetHeight","nextMax","element","nextMin","observer","window","ResizeObserver","observe","disconnect","separatorRef","separatorHelpId","useId","isUntouched","setIsUntouched","applyHeight","candidateHeight","isPersistent","isInstant","nextHeight","Math","current","ariaValueNow","getAriaValueNow","updateSize","height","width","contents","jsxs","className","hidden","children","jsx","default","location","isAutoHeight","undefined","usedMax","round","usedAriaValueNow","toggle","onSeparatorKeyDown","event","delta","ArrowUp","ArrowDown","key","pane","resizable","fromHeight","preventDefault","paneLabel","__","Pane","paneProps","clsx","ResizableBox","as","ref","defaultSize","minHeight","maxHeight","enable","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","handleClasses","handleComponent","Fragment","Tooltip","text","role","onKeyDown","VisuallyHidden","id","onPointerDown","pointerId","target","setPointerCapture","onResizeStart","direction","elementRef","onResize","state","onResizeStop","onClick","Icon","icon","chevronUp","chevronDown","Layout","postId","initialPostId","postType","initialPostType","settings","initialEdits","useEditPostCommands","shouldIframe","useShouldIframe","createErrorNotice","noticesStore","currentPost","currentPostId","currentPostType","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","useNavigateToEntityRecord","isEditingTemplate","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","isWelcomeGuideVisible","templateId","enablePaddingAppender","_getPostType$viewable","canUser","getPostType","getTemplateId","coreStore","supportsTemplateMode","isViewable","viewable","canViewTemplate","kind","name","isZoomOut","blockEditorStore","getEditorMode","getRenderingMode","isRenderingPostOnly","isNotDesignPostType","includes","hasMetaBoxes","getBlockSelectionStart","useMetaBoxInitialization","paddingAppenderRef","paddingStyle","usePaddingAppender","commandContext","defaultRenderingMode","document","body","classList","add","remove","navigateRegionsProps","useNavigateRegions","onPluginAreaError","sprintf","createSuccessNotice","onActionPerformed","useCallback","actionId","items","href","addQueryArgs","trashed","post_type","type","ids","newItem","title","rendered","decodeEntities","actions","label","post","action","initialPost","backButton","useViewportMatch","SlotFillProvider","ErrorBoundary","CommandMenu","forceIsDirty","contentRef","disableIframe","autoFocus","extraSidebarPanels","extraContent","PostLockedModal","isActive","UnsavedChangesWarning","AutosaveMonitor","LocalAutosaveMonitor","EditorKeyboardShortcutsRegister","PluginArea","onError","EditorSnackbars","_default","exports"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { addQueryArgs } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tIcon,\n\tResizableBox,\n\tSlotFillProvider,\n\tTooltip,\n\tVisuallyHidden,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseMediaQuery,\n\tuseRefEffect,\n\tuseViewportMatch,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BackButton from '../back-button';\nimport EditorInitialization from '../editor-initialization';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport InitPatternModal from '../init-pattern-modal';\nimport BrowserURL from '../browser-url';\nimport MetaBoxes from '../meta-boxes';\nimport PostEditorMoreMenu from '../more-menu';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useEditPostCommands from '../../commands/use-commands';\nimport { usePaddingAppender } from './use-padding-appender';\nimport { useShouldIframe } from './use-should-iframe';\nimport useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';\nimport { useMetaBoxInitialization } from '../meta-boxes/use-meta-box-initialization';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { Editor, FullscreenMode, NavigableRegion } = unlock( editorPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\nconst DESIGN_POST_TYPES = [\n\t'wp_template',\n\t'wp_template_part',\n\t'wp_block',\n\t'wp_navigation',\n];\n\nfunction useEditorStyles( ...additionalStyles ) {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t};\n\t}, [] );\n\n\tconst addedStyles = additionalStyles.join( '\\n' );\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...( editorSettings?.defaultEditorStyles ?? [] ),\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\tconst baseStyles = hasThemeStyles\n\t\t\t? editorSettings.styles ?? []\n\t\t\t: defaultEditorStyles;\n\n\t\tif ( addedStyles ) {\n\t\t\treturn [ ...baseStyles, { css: addedStyles } ];\n\t\t}\n\n\t\treturn baseStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t\taddedStyles,\n\t] );\n}\n\nfunction MetaBoxesMain() {\n\tconst [ isOpen, openHeight, hasAnyVisible ] = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isMetaBoxLocationVisible } = select( editPostStore );\n\t\treturn [\n\t\t\tget( 'core/edit-post', 'metaBoxesMainIsOpen' ),\n\t\t\tget( 'core/edit-post', 'metaBoxesMainOpenHeight' ),\n\t\t\tisMetaBoxLocationVisible( 'normal' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'advanced' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'side' ),\n\t\t];\n\t}, [] );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst metaBoxesMainRef = useRef();\n\tconst isShort = useMediaQuery( '(max-height: 549px)' );\n\n\tconst [ { min, max }, setHeightConstraints ] = useState( () => ( {} ) );\n\t// Keeps the resizable area’s size constraints updated taking into account\n\t// editor notices. The constraints are also used to derive the value for the\n\t// aria-valuenow attribute on the seperator.\n\tconst effectSizeConstraints = useRefEffect( ( node ) => {\n\t\tconst container = node.closest(\n\t\t\t'.interface-interface-skeleton__content'\n\t\t);\n\t\tconst noticeLists = container.querySelectorAll(\n\t\t\t':scope > .components-notice-list'\n\t\t);\n\t\tconst resizeHandle = container.querySelector(\n\t\t\t'.edit-post-meta-boxes-main__presenter'\n\t\t);\n\t\tconst deriveConstraints = () => {\n\t\t\tconst fullHeight = container.offsetHeight;\n\t\t\tlet nextMax = fullHeight;\n\t\t\tfor ( const element of noticeLists ) {\n\t\t\t\tnextMax -= element.offsetHeight;\n\t\t\t}\n\t\t\tconst nextMin = resizeHandle.offsetHeight;\n\t\t\tsetHeightConstraints( { min: nextMin, max: nextMax } );\n\t\t};\n\t\tconst observer = new window.ResizeObserver( deriveConstraints );\n\t\tobserver.observe( container );\n\t\tfor ( const element of noticeLists ) {\n\t\t\tobserver.observe( element );\n\t\t}\n\t\treturn () => observer.disconnect();\n\t}, [] );\n\n\tconst separatorRef = useRef();\n\tconst separatorHelpId = useId();\n\n\tconst [ isUntouched, setIsUntouched ] = useState( true );\n\tconst applyHeight = ( candidateHeight, isPersistent, isInstant ) => {\n\t\tconst nextHeight = Math.min( max, Math.max( min, candidateHeight ) );\n\t\tif ( isPersistent ) {\n\t\t\tsetPreference(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'metaBoxesMainOpenHeight',\n\t\t\t\tnextHeight\n\t\t\t);\n\t\t} else {\n\t\t\tseparatorRef.current.ariaValueNow = getAriaValueNow( nextHeight );\n\t\t}\n\t\tif ( isInstant ) {\n\t\t\tmetaBoxesMainRef.current.updateSize( {\n\t\t\t\theight: nextHeight,\n\t\t\t\t// Oddly, when the event that triggered this was not from the mouse (e.g. keydown),\n\t\t\t\t// if `width` is left unspecified a subsequent drag gesture applies a fixed\n\t\t\t\t// width and the pane fails to widen/narrow with parent width changes from\n\t\t\t\t// sidebars opening/closing or window resizes.\n\t\t\t\twidth: 'auto',\n\t\t\t} );\n\t\t}\n\t};\n\n\tif ( ! hasAnyVisible ) {\n\t\treturn;\n\t}\n\n\tconst contents = (\n\t\t<div\n\t\t\t// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.\n\t\t\tclassName=\"edit-post-layout__metaboxes edit-post-meta-boxes-main__liner\"\n\t\t\thidden={ isShort && ! isOpen }\n\t\t>\n\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t</div>\n\t);\n\n\tconst isAutoHeight = openHeight === undefined;\n\tlet usedMax = '50%'; // Approximation before max has a value.\n\tif ( max !== undefined ) {\n\t\t// Halves the available max height until a user height is set.\n\t\tusedMax = isAutoHeight && isUntouched ? max / 2 : max;\n\t}\n\n\tconst getAriaValueNow = ( height ) =>\n\t\tMath.round( ( ( height - min ) / ( max - min ) ) * 100 );\n\tconst usedAriaValueNow =\n\t\tmax === undefined || isAutoHeight ? 50 : getAriaValueNow( openHeight );\n\n\tconst toggle = () =>\n\t\tsetPreference( 'core/edit-post', 'metaBoxesMainIsOpen', ! isOpen );\n\n\t// TODO: Support more/all keyboard interactions from the window splitter pattern:\n\t// https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/\n\tconst onSeparatorKeyDown = ( event ) => {\n\t\tconst delta = { ArrowUp: 20, ArrowDown: -20 }[ event.key ];\n\t\tif ( delta ) {\n\t\t\tconst pane = metaBoxesMainRef.current.resizable;\n\t\t\tconst fromHeight = isAutoHeight ? pane.offsetHeight : openHeight;\n\t\t\tconst nextHeight = delta + fromHeight;\n\t\t\tapplyHeight( nextHeight, true, true );\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\tconst className = 'edit-post-meta-boxes-main';\n\tconst paneLabel = __( 'Meta Boxes' );\n\tlet Pane, paneProps;\n\tif ( isShort ) {\n\t\tPane = NavigableRegion;\n\t\tpaneProps = {\n\t\t\tclassName: clsx( className, 'is-toggle-only' ),\n\t\t};\n\t} else {\n\t\tPane = ResizableBox;\n\t\tpaneProps = /** @type {Parameters<typeof ResizableBox>[0]} */ ( {\n\t\t\tas: NavigableRegion,\n\t\t\tref: metaBoxesMainRef,\n\t\t\tclassName: clsx( className, 'is-resizable' ),\n\t\t\tdefaultSize: { height: openHeight },\n\t\t\tminHeight: min,\n\t\t\tmaxHeight: usedMax,\n\t\t\tenable: {\n\t\t\t\ttop: true,\n\t\t\t\tright: false,\n\t\t\t\tbottom: false,\n\t\t\t\tleft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t},\n\t\t\thandleClasses: { top: 'edit-post-meta-boxes-main__presenter' },\n\t\t\thandleComponent: {\n\t\t\t\ttop: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip text={ __( 'Drag to resize' ) }>\n\t\t\t\t\t\t\t<button // eslint-disable-line jsx-a11y/role-supports-aria-props\n\t\t\t\t\t\t\t\tref={ separatorRef }\n\t\t\t\t\t\t\t\trole=\"separator\" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role\n\t\t\t\t\t\t\t\taria-valuenow={ usedAriaValueNow }\n\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\taria-describedby={ separatorHelpId }\n\t\t\t\t\t\t\t\tonKeyDown={ onSeparatorKeyDown }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t<VisuallyHidden id={ separatorHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use up and down arrow keys to resize the meta box panel.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t// Avoids hiccups while dragging over objects like iframes and ensures that\n\t\t\t// the event to end the drag is captured by the target (resize handle)\n\t\t\t// whether or not it’s under the pointer.\n\t\t\tonPointerDown: ( { pointerId, target } ) => {\n\t\t\t\ttarget.setPointerCapture( pointerId );\n\t\t\t},\n\t\t\tonResizeStart: ( event, direction, elementRef ) => {\n\t\t\t\tif ( isAutoHeight ) {\n\t\t\t\t\t// Sets the starting height to avoid visual jumps in height and\n\t\t\t\t\t// aria-valuenow being `NaN` for the first (few) resize events.\n\t\t\t\t\tapplyHeight( elementRef.offsetHeight, false, true );\n\t\t\t\t\tsetIsUntouched( false );\n\t\t\t\t}\n\t\t\t},\n\t\t\tonResize: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height ),\n\t\t\tonResizeStop: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height, true ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Pane aria-label={ paneLabel } { ...paneProps }>\n\t\t\t{ isShort ? (\n\t\t\t\t<button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\tclassName=\"edit-post-meta-boxes-main__presenter\"\n\t\t\t\t\tonClick={ toggle }\n\t\t\t\t>\n\t\t\t\t\t{ paneLabel }\n\t\t\t\t\t<Icon icon={ isOpen ? chevronUp : chevronDown } />\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<meta ref={ effectSizeConstraints } />\n\t\t\t) }\n\t\t\t{ contents }\n\t\t</Pane>\n\t);\n}\n\nfunction Layout( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n} ) {\n\tuseCommands();\n\tuseEditPostCommands();\n\tconst shouldIframe = useShouldIframe();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tcurrentPost: { postId: currentPostId, postType: currentPostType },\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord(\n\t\tinitialPostId,\n\t\tinitialPostType,\n\t\t'post-only'\n\t);\n\tconst isEditingTemplate = currentPostType === 'wp_template';\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\thasActiveMetaboxes,\n\t\thasBlockSelected,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowMetaBoxes,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t\tenablePaddingAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive } = select( editPostStore );\n\t\t\tconst { canUser, getPostType, getTemplateId } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode = settings.supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPostType )?.viewable ?? false;\n\t\t\tconst canViewTemplate = canUser( 'read', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst { isZoomOut } = unlock( select( blockEditorStore ) );\n\t\t\tconst { getEditorMode, getRenderingMode } = select( editorStore );\n\t\t\tconst isRenderingPostOnly = getRenderingMode() === 'post-only';\n\t\t\tconst isNotDesignPostType =\n\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType );\n\n\t\t\treturn {\n\t\t\t\tmode: getEditorMode(),\n\t\t\t\tisFullscreenActive:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\thasBlockSelected:\n\t\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tshowMetaBoxes: isNotDesignPostType && ! isZoomOut(),\n\t\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\t\ttemplateId:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanViewTemplate &&\n\t\t\t\t\t! isEditingTemplate\n\t\t\t\t\t\t? getTemplateId( currentPostType, currentPostId )\n\t\t\t\t\t\t: null,\n\t\t\t\tenablePaddingAppender:\n\t\t\t\t\t! isZoomOut() && isRenderingPostOnly && isNotDesignPostType,\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tcurrentPostType,\n\t\t\tcurrentPostId,\n\t\t\tisEditingTemplate,\n\t\t\tsettings.supportsTemplateMode,\n\t\t]\n\t);\n\tuseMetaBoxInitialization( hasActiveMetaboxes );\n\n\tconst [ paddingAppenderRef, paddingStyle ] = usePaddingAppender(\n\t\tenablePaddingAppender\n\t);\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'entity-edit';\n\tuseCommandContext( commandContext );\n\tconst editorSettings = useMemo(\n\t\t() => ( {\n\t\t\t...settings,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\tdefaultRenderingMode: 'post-only',\n\t\t} ),\n\t\t[ settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord ]\n\t);\n\tconst styles = useEditorStyles( paddingStyle );\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst navigateRegionsProps = useNavigateRegions();\n\n\tconst className = clsx( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t} );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\t\t{\n\t\t\t\t\t\tdocument.location.href = addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\ttrashed: 1,\n\t\t\t\t\t\t\tpost_type: items[ 0 ].type,\n\t\t\t\t\t\t\tids: items[ 0 ].id,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\tconst postId = newItem.id;\n\t\t\t\t\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t\t\t\t\taddQueryArgs( 'post.php', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpost: postId,\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'edit',\n\t\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},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ createSuccessNotice ]\n\t);\n\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tconst backButton =\n\t\tuseViewportMatch( 'medium' ) && isFullscreenActive ? (\n\t\t\t<BackButton initialPost={ initialPost } />\n\t\t) : null;\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ErrorBoundary>\n\t\t\t\t<CommandMenu />\n\t\t\t\t<WelcomeGuide postType={ currentPostType } />\n\t\t\t\t<div\n\t\t\t\t\tclassName={ navigateRegionsProps.className }\n\t\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\t>\n\t\t\t\t\t<Editor\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tpostType={ currentPostType }\n\t\t\t\t\t\tpostId={ currentPostId }\n\t\t\t\t\t\ttemplateId={ templateId }\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tcontentRef={ paddingAppenderRef }\n\t\t\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxes location=\"side\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraContent={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxesMain />\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t\t\t\t<BrowserURL />\n\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t<AutosaveMonitor />\n\t\t\t\t\t\t<LocalAutosaveMonitor />\n\t\t\t\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t<BlockKeyboardShortcuts />\n\t\t\t\t\t\t<InitPatternModal />\n\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t\t<PostEditorMoreMenu />\n\t\t\t\t\t\t{ backButton }\n\t\t\t\t\t\t<EditorSnackbars />\n\t\t\t\t\t</Editor>\n\t\t\t\t</div>\n\t\t\t</ErrorBoundary>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Layout;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAD,OAAA;AAWA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAIA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAOA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAIA,IAAAW,aAAA,GAAAX,OAAA;AACA,IAAAY,aAAA,GAAAZ,OAAA;AACA,IAAAa,IAAA,GAAAb,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,WAAA,GAAAhB,OAAA;AAQA,IAAAiB,QAAA,GAAAjB,OAAA;AASA,IAAAkB,WAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,qBAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,kBAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,iBAAA,GAAAtB,sBAAA,CAAAC,OAAA;AACA,IAAAsB,WAAA,GAAAvB,sBAAA,CAAAC,OAAA;AACA,IAAAuB,UAAA,GAAAxB,sBAAA,CAAAC,OAAA;AACA,IAAAwB,SAAA,GAAAzB,sBAAA,CAAAC,OAAA;AACA,IAAAyB,aAAA,GAAA1B,sBAAA,CAAAC,OAAA;AACA,IAAA0B,MAAA,GAAA1B,OAAA;AACA,IAAA2B,WAAA,GAAA3B,OAAA;AACA,IAAA4B,YAAA,GAAA7B,sBAAA,CAAAC,OAAA;AACA,IAAA6B,mBAAA,GAAA7B,OAAA;AACA,IAAA8B,gBAAA,GAAA9B,OAAA;AACA,IAAA+B,0BAAA,GAAAhC,sBAAA,CAAAC,OAAA;AACA,IAAAgC,yBAAA,GAAAhC,OAAA;AAAqF,IAAAiC,WAAA,GAAAjC,OAAA;AA5ErF;AACA;AACA;;AAGA;AACA;AACA;;AAoDA;AACA;AACA;;AAiBA,MAAM;EAAEkC;AAAgB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAC5D,MAAM;EAAEC;AAAY,CAAC,GAAG,IAAAF,kBAAM,EAAEG,yBAAwB,CAAC;AACzD,MAAM;EAAEC;AAAkB,CAAC,GAAG,IAAAJ,kBAAM,EAAEK,qBAAoB,CAAC;AAC3D,MAAM;EAAEC,MAAM;EAAEC,cAAc;EAAEC;AAAgB,CAAC,GAAG,IAAAR,kBAAM,EAAES,mBAAkB,CAAC;AAC/E,MAAM;EAAEC;AAAuB,CAAC,GAAG,IAAAV,kBAAM,EAAEW,yBAAwB,CAAC;AACpE,MAAMC,iBAAiB,GAAG,CACzB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,eAAe,CACf;AAED,SAASC,eAAeA,CAAE,GAAGC,gBAAgB,EAAG;EAC/C,MAAM;IAAEC,oBAAoB;IAAEC;EAAe,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzE,OAAO;MACNH,oBAAoB,EACnBG,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAE,aAAc,CAAC;MACzDJ,cAAc,EAAEE,MAAM,CAAEG,aAAY,CAAC,CAACC,iBAAiB,CAAC;IACzD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,WAAW,GAAGT,gBAAgB,CAACU,IAAI,CAAE,IAAK,CAAC;;EAEjD;EACA,OAAO,IAAAC,gBAAO,EAAE,MAAM;IAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACrB,MAAMC,YAAY,IAAAJ,qBAAA,GACjBV,cAAc,CAACe,MAAM,EAAEC,MAAM,CAC1BC,KAAK,IACNA,KAAK,CAACC,cAAc,IAAID,KAAK,CAACC,cAAc,KAAK,OACnD,CAAC,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAER,MAAMS,mBAAmB,GAAG,CAC3B,KAAAR,qBAAA,GAAKX,cAAc,EAAEmB,mBAAmB,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAE,EAChD,GAAGG,YAAY,CACf;;IAED;IACA,MAAMM,cAAc,GACnBrB,oBAAoB,IACpBe,YAAY,CAACO,MAAM,OAAAT,sBAAA,GAAOZ,cAAc,CAACe,MAAM,EAAEM,MAAM,cAAAT,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAE;;IAE/D;IACA;IACA,IAAK,CAAEZ,cAAc,CAACsB,mBAAmB,IAAI,CAAEF,cAAc,EAAG;MAC/DD,mBAAmB,CAACI,IAAI,CAAE;QACzBC,GAAG,EAAEzC,eAAe,CAAE;UACrBkC,KAAK,EAAE,CAAC,CAAC;UACTQ,QAAQ,EAAE,MAAM;UAChBC,kBAAkB,EAAE,KAAK;UACzBC,qBAAqB,EAAE,IAAI;UAC3BC,gBAAgB,EAAE;QACnB,CAAE;MACH,CAAE,CAAC;IACJ;IAEA,MAAMC,UAAU,GAAGT,cAAc,IAAAP,sBAAA,GAC9Bb,cAAc,CAACe,MAAM,cAAAF,sBAAA,cAAAA,sBAAA,GAAI,EAAE,GAC3BM,mBAAmB;IAEtB,IAAKZ,WAAW,EAAG;MAClB,OAAO,CAAE,GAAGsB,UAAU,EAAE;QAAEL,GAAG,EAAEjB;MAAY,CAAC,CAAE;IAC/C;IAEA,OAAOsB,UAAU;EAClB,CAAC,EAAE,CACF7B,cAAc,CAACmB,mBAAmB,EAClCnB,cAAc,CAACsB,mBAAmB,EAClCtB,cAAc,CAACe,MAAM,EACrBhB,oBAAoB,EACpBQ,WAAW,CACV,CAAC;AACJ;AAEA,SAASuB,aAAaA,CAAA,EAAG;EACxB,MAAM,CAAEC,MAAM,EAAEC,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAhC,eAAS,EAAIC,MAAM,IAAM;IACtE,MAAM;MAAEgC;IAAI,CAAC,GAAGhC,MAAM,CAAEiC,kBAAiB,CAAC;IAC1C,MAAM;MAAEC;IAAyB,CAAC,GAAGlC,MAAM,CAAEC,YAAc,CAAC;IAC5D,OAAO,CACN+B,GAAG,CAAE,gBAAgB,EAAE,qBAAsB,CAAC,EAC9CA,GAAG,CAAE,gBAAgB,EAAE,yBAA0B,CAAC,EAClDE,wBAAwB,CAAE,QAAS,CAAC,IACnCA,wBAAwB,CAAE,UAAW,CAAC,IACtCA,wBAAwB,CAAE,MAAO,CAAC,CACnC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC,GAAG,EAAEC;EAAc,CAAC,GAAG,IAAAC,iBAAW,EAAEJ,kBAAiB,CAAC;EAC9D,MAAMK,gBAAgB,GAAG,IAAAC,eAAM,EAAC,CAAC;EACjC,MAAMC,OAAO,GAAG,IAAAC,sBAAa,EAAE,qBAAsB,CAAC;EAEtD,MAAM,CAAE;IAAEC,GAAG;IAAEC;EAAI,CAAC,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,OAAQ,CAAC,CAAC,CAAG,CAAC;EACvE;EACA;EACA;EACA,MAAMC,qBAAqB,GAAG,IAAAC,qBAAY,EAAIC,IAAI,IAAM;IACvD,MAAMC,SAAS,GAAGD,IAAI,CAACE,OAAO,CAC7B,wCACD,CAAC;IACD,MAAMC,WAAW,GAAGF,SAAS,CAACG,gBAAgB,CAC7C,kCACD,CAAC;IACD,MAAMC,YAAY,GAAGJ,SAAS,CAACK,aAAa,CAC3C,uCACD,CAAC;IACD,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;MAC/B,MAAMC,UAAU,GAAGP,SAAS,CAACQ,YAAY;MACzC,IAAIC,OAAO,GAAGF,UAAU;MACxB,KAAM,MAAMG,OAAO,IAAIR,WAAW,EAAG;QACpCO,OAAO,IAAIC,OAAO,CAACF,YAAY;MAChC;MACA,MAAMG,OAAO,GAAGP,YAAY,CAACI,YAAY;MACzCb,oBAAoB,CAAE;QAAEF,GAAG,EAAEkB,OAAO;QAAEjB,GAAG,EAAEe;MAAQ,CAAE,CAAC;IACvD,CAAC;IACD,MAAMG,QAAQ,GAAG,IAAIC,MAAM,CAACC,cAAc,CAAER,iBAAkB,CAAC;IAC/DM,QAAQ,CAACG,OAAO,CAAEf,SAAU,CAAC;IAC7B,KAAM,MAAMU,OAAO,IAAIR,WAAW,EAAG;MACpCU,QAAQ,CAACG,OAAO,CAAEL,OAAQ,CAAC;IAC5B;IACA,OAAO,MAAME,QAAQ,CAACI,UAAU,CAAC,CAAC;EACnC,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,YAAY,GAAG,IAAA3B,eAAM,EAAC,CAAC;EAC7B,MAAM4B,eAAe,GAAG,IAAAC,cAAK,EAAC,CAAC;EAE/B,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAzB,iBAAQ,EAAE,IAAK,CAAC;EACxD,MAAM0B,WAAW,GAAGA,CAAEC,eAAe,EAAEC,YAAY,EAAEC,SAAS,KAAM;IACnE,MAAMC,UAAU,GAAGC,IAAI,CAAClC,GAAG,CAAEC,GAAG,EAAEiC,IAAI,CAACjC,GAAG,CAAED,GAAG,EAAE8B,eAAgB,CAAE,CAAC;IACpE,IAAKC,YAAY,EAAG;MACnBrC,aAAa,CACZ,gBAAgB,EAChB,yBAAyB,EACzBuC,UACD,CAAC;IACF,CAAC,MAAM;MACNT,YAAY,CAACW,OAAO,CAACC,YAAY,GAAGC,eAAe,CAAEJ,UAAW,CAAC;IAClE;IACA,IAAKD,SAAS,EAAG;MAChBpC,gBAAgB,CAACuC,OAAO,CAACG,UAAU,CAAE;QACpCC,MAAM,EAAEN,UAAU;QAClB;QACA;QACA;QACA;QACAO,KAAK,EAAE;MACR,CAAE,CAAC;IACJ;EACD,CAAC;EAED,IAAK,CAAEnD,aAAa,EAAG;IACtB;EACD;EAEA,MAAMoD,QAAQ,gBACb,IAAAvG,WAAA,CAAAwG,IAAA;IACC;IACAC,SAAS,EAAC,8DAA8D;IACxEC,MAAM,EAAG9C,OAAO,IAAI,CAAEX,MAAQ;IAAA0D,QAAA,gBAE9B,IAAA3G,WAAA,CAAA4G,GAAA,EAACtH,UAAA,CAAAuH,OAAS;MAACC,QAAQ,EAAC;IAAQ,CAAE,CAAC,eAC/B,IAAA9G,WAAA,CAAA4G,GAAA,EAACtH,UAAA,CAAAuH,OAAS;MAACC,QAAQ,EAAC;IAAU,CAAE,CAAC;EAAA,CAC7B,CACL;EAED,MAAMC,YAAY,GAAG7D,UAAU,KAAK8D,SAAS;EAC7C,IAAIC,OAAO,GAAG,KAAK,CAAC,CAAC;EACrB,IAAKlD,GAAG,KAAKiD,SAAS,EAAG;IACxB;IACAC,OAAO,GAAGF,YAAY,IAAItB,WAAW,GAAG1B,GAAG,GAAG,CAAC,GAAGA,GAAG;EACtD;EAEA,MAAMoC,eAAe,GAAKE,MAAM,IAC/BL,IAAI,CAACkB,KAAK,CAAI,CAAEb,MAAM,GAAGvC,GAAG,KAAOC,GAAG,GAAGD,GAAG,CAAE,GAAK,GAAI,CAAC;EACzD,MAAMqD,gBAAgB,GACrBpD,GAAG,KAAKiD,SAAS,IAAID,YAAY,GAAG,EAAE,GAAGZ,eAAe,CAAEjD,UAAW,CAAC;EAEvE,MAAMkE,MAAM,GAAGA,CAAA,KACd5D,aAAa,CAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAEP,MAAO,CAAC;;EAEnE;EACA;EACA,MAAMoE,kBAAkB,GAAKC,KAAK,IAAM;IACvC,MAAMC,KAAK,GAAG;MAAEC,OAAO,EAAE,EAAE;MAAEC,SAAS,EAAE,CAAC;IAAG,CAAC,CAAEH,KAAK,CAACI,GAAG,CAAE;IAC1D,IAAKH,KAAK,EAAG;MACZ,MAAMI,IAAI,GAAGjE,gBAAgB,CAACuC,OAAO,CAAC2B,SAAS;MAC/C,MAAMC,UAAU,GAAGd,YAAY,GAAGY,IAAI,CAAC9C,YAAY,GAAG3B,UAAU;MAChE,MAAM6C,UAAU,GAAGwB,KAAK,GAAGM,UAAU;MACrClC,WAAW,CAAEI,UAAU,EAAE,IAAI,EAAE,IAAK,CAAC;MACrCuB,KAAK,CAACQ,cAAc,CAAC,CAAC;IACvB;EACD,CAAC;EACD,MAAMrB,SAAS,GAAG,2BAA2B;EAC7C,MAAMsB,SAAS,GAAG,IAAAC,QAAE,EAAE,YAAa,CAAC;EACpC,IAAIC,IAAI,EAAEC,SAAS;EACnB,IAAKtE,OAAO,EAAG;IACdqE,IAAI,GAAGvH,eAAe;IACtBwH,SAAS,GAAG;MACXzB,SAAS,EAAE,IAAA0B,aAAI,EAAE1B,SAAS,EAAE,gBAAiB;IAC9C,CAAC;EACF,CAAC,MAAM;IACNwB,IAAI,GAAGG,wBAAY;IACnBF,SAAS,GAAG,iDAAoD;MAC/DG,EAAE,EAAE3H,eAAe;MACnB4H,GAAG,EAAE5E,gBAAgB;MACrB+C,SAAS,EAAE,IAAA0B,aAAI,EAAE1B,SAAS,EAAE,cAAe,CAAC;MAC5C8B,WAAW,EAAE;QAAElC,MAAM,EAAEnD;MAAW,CAAC;MACnCsF,SAAS,EAAE1E,GAAG;MACd2E,SAAS,EAAExB,OAAO;MAClByB,MAAM,EAAE;QACPC,GAAG,EAAE,IAAI;QACTC,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,KAAK;QACbC,IAAI,EAAE,KAAK;QACXC,OAAO,EAAE,KAAK;QACdC,QAAQ,EAAE,KAAK;QACfC,WAAW,EAAE,KAAK;QAClBC,UAAU,EAAE;MACb,CAAC;MACDC,aAAa,EAAE;QAAER,GAAG,EAAE;MAAuC,CAAC;MAC9DS,eAAe,EAAE;QAChBT,GAAG,eACF,IAAA3I,WAAA,CAAAwG,IAAA,EAAAxG,WAAA,CAAAqJ,QAAA;UAAA1C,QAAA,gBACC,IAAA3G,WAAA,CAAA4G,GAAA,EAAC7H,WAAA,CAAAuK,OAAO;YAACC,IAAI,EAAG,IAAAvB,QAAE,EAAE,gBAAiB,CAAG;YAAArB,QAAA,eACvC,IAAA3G,WAAA,CAAA4G,GAAA;cAAQ;cACP0B,GAAG,EAAGhD,YAAc;cACpBkE,IAAI,EAAC,WAAW,CAAC;cAAA;cACjB,iBAAgBrC,gBAAkB;cAClC,cAAa,IAAAa,QAAE,EAAE,gBAAiB,CAAG;cACrC,oBAAmBzC,eAAiB;cACpCkE,SAAS,EAAGpC;YAAoB,CAChC;UAAC,CACM,CAAC,eACV,IAAArH,WAAA,CAAA4G,GAAA,EAAC7H,WAAA,CAAA2K,cAAc;YAACC,EAAE,EAAGpE,eAAiB;YAAAoB,QAAA,EACnC,IAAAqB,QAAE,EACH,0DACD;UAAC,CACc,CAAC;QAAA,CAChB;MAEJ,CAAC;MACD;MACA;MACA;MACA4B,aAAa,EAAEA,CAAE;QAAEC,SAAS;QAAEC;MAAO,CAAC,KAAM;QAC3CA,MAAM,CAACC,iBAAiB,CAAEF,SAAU,CAAC;MACtC,CAAC;MACDG,aAAa,EAAEA,CAAE1C,KAAK,EAAE2C,SAAS,EAAEC,UAAU,KAAM;QAClD,IAAKnD,YAAY,EAAG;UACnB;UACA;UACApB,WAAW,CAAEuE,UAAU,CAACrF,YAAY,EAAE,KAAK,EAAE,IAAK,CAAC;UACnDa,cAAc,CAAE,KAAM,CAAC;QACxB;MACD,CAAC;MACDyE,QAAQ,EAAEA,CAAA,KACTxE,WAAW,CAAEjC,gBAAgB,CAACuC,OAAO,CAACmE,KAAK,CAAC/D,MAAO,CAAC;MACrDgE,YAAY,EAAEA,CAAA,KACb1E,WAAW,CAAEjC,gBAAgB,CAACuC,OAAO,CAACmE,KAAK,CAAC/D,MAAM,EAAE,IAAK;IAC3D,CAAG;EACJ;EAEA,oBACC,IAAArG,WAAA,CAAAwG,IAAA,EAACyB,IAAI;IAAC,cAAaF,SAAW;IAAA,GAAMG,SAAS;IAAAvB,QAAA,GAC1C/C,OAAO,gBACR,IAAA5D,WAAA,CAAAwG,IAAA;MACC,iBAAgBvD,MAAQ;MACxBwD,SAAS,EAAC,sCAAsC;MAChD6D,OAAO,EAAGlD,MAAQ;MAAAT,QAAA,GAEhBoB,SAAS,eACX,IAAA/H,WAAA,CAAA4G,GAAA,EAAC7H,WAAA,CAAAwL,IAAI;QAACC,IAAI,EAAGvH,MAAM,GAAGwH,gBAAS,GAAGC;MAAa,CAAE,CAAC;IAAA,CAC3C,CAAC,gBAET,IAAA1K,WAAA,CAAA4G,GAAA;MAAM0B,GAAG,EAAGpE;IAAuB,CAAE,CACrC,EACCqC,QAAQ;EAAA,CACL,CAAC;AAET;AAEA,SAASoE,MAAMA,CAAE;EAChBC,MAAM,EAAEC,aAAa;EACrBC,QAAQ,EAAEC,eAAe;EACzBC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH7K,WAAW,CAAC,CAAC;EACb,IAAA8K,oBAAmB,EAAC,CAAC;EACrB,MAAMC,YAAY,GAAG,IAAAC,gCAAe,EAAC,CAAC;EACtC,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAA5H,iBAAW,EAAE6H,cAAa,CAAC;EACzD,MAAM;IACLC,WAAW,EAAE;MAAEX,MAAM,EAAEY,aAAa;MAAEV,QAAQ,EAAEW;IAAgB,CAAC;IACjEC,wBAAwB;IACxBC;EACD,CAAC,GAAG,IAAAC,kCAAyB,EAC5Bf,aAAa,EACbE,eAAe,EACf,WACD,CAAC;EACD,MAAMc,iBAAiB,GAAGJ,eAAe,KAAK,aAAa;EAC3D,MAAM;IACLK,IAAI;IACJC,kBAAkB;IAClBC,kBAAkB;IAClBC,gBAAgB;IAChBC,cAAc;IACdC,iBAAiB;IACjBC,aAAa;IACbC,qBAAqB;IACrBC,UAAU;IACVC;EACD,CAAC,GAAG,IAAApL,eAAS,EACVC,MAAM,IAAM;IAAA,IAAAoL,qBAAA;IACb,MAAM;MAAEpJ;IAAI,CAAC,GAAGhC,MAAM,CAAEiC,kBAAiB,CAAC;IAC1C,MAAM;MAAE/B;IAAgB,CAAC,GAAGF,MAAM,CAAEC,YAAc,CAAC;IACnD,MAAM;MAAEoL,OAAO;MAAEC,WAAW;MAAEC;IAAc,CAAC,GAAG,IAAAzM,kBAAM,EACrDkB,MAAM,CAAEwL,eAAU,CACnB,CAAC;IAED,MAAMC,oBAAoB,GAAG7B,QAAQ,CAAC6B,oBAAoB;IAC1D,MAAMC,UAAU,IAAAN,qBAAA,GACfE,WAAW,CAAEjB,eAAgB,CAAC,EAAEsB,QAAQ,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,KAAK;IAClD,MAAMQ,eAAe,GAAGP,OAAO,CAAE,MAAM,EAAE;MACxCQ,IAAI,EAAE,UAAU;MAChBC,IAAI,EAAE;IACP,CAAE,CAAC;IACH,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAAjN,kBAAM,EAAEkB,MAAM,CAAEgM,kBAAiB,CAAE,CAAC;IAC1D,MAAM;MAAEC,aAAa;MAAEC;IAAiB,CAAC,GAAGlM,MAAM,CAAEG,aAAY,CAAC;IACjE,MAAMgM,mBAAmB,GAAGD,gBAAgB,CAAC,CAAC,KAAK,WAAW;IAC9D,MAAME,mBAAmB,GACxB,CAAE1M,iBAAiB,CAAC2M,QAAQ,CAAEhC,eAAgB,CAAC;IAEhD,OAAO;MACNK,IAAI,EAAEuB,aAAa,CAAC,CAAC;MACrBtB,kBAAkB,EACjB3K,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAE,gBAAiB,CAAC;MAC5D0K,kBAAkB,EAAE5K,MAAM,CAAEC,YAAc,CAAC,CAACqM,YAAY,CAAC,CAAC;MAC1DzB,gBAAgB,EACf,CAAC,CAAE7K,MAAM,CAAEgM,kBAAiB,CAAC,CAACO,sBAAsB,CAAC,CAAC;MACvDzB,cAAc,EAAE9I,GAAG,CAAE,MAAM,EAAE,gBAAiB,CAAC;MAC/C+I,iBAAiB,EAAE/I,GAAG,CAAE,MAAM,EAAE,iBAAkB,CAAC;MACnDgJ,aAAa,EAAEoB,mBAAmB,IAAI,CAAEL,SAAS,CAAC,CAAC;MACnDd,qBAAqB,EAAE/K,eAAe,CAAE,cAAe,CAAC;MACxDgL,UAAU,EACTO,oBAAoB,IACpBC,UAAU,IACVE,eAAe,IACf,CAAEnB,iBAAiB,GAChBc,aAAa,CAAElB,eAAe,EAAED,aAAc,CAAC,GAC/C,IAAI;MACRe,qBAAqB,EACpB,CAAEY,SAAS,CAAC,CAAC,IAAII,mBAAmB,IAAIC;IAC1C,CAAC;EACF,CAAC,EACD,CACC/B,eAAe,EACfD,aAAa,EACbK,iBAAiB,EACjBb,QAAQ,CAAC6B,oBAAoB,CAE/B,CAAC;EACD,IAAAe,kDAAwB,EAAE5B,kBAAmB,CAAC;EAE9C,MAAM,CAAE6B,kBAAkB,EAAEC,YAAY,CAAE,GAAG,IAAAC,sCAAkB,EAC9DxB,qBACD,CAAC;;EAED;EACA,MAAMyB,cAAc,GAAG/B,gBAAgB,GACpC,sBAAsB,GACtB,aAAa;EAChB3L,iBAAiB,CAAE0N,cAAe,CAAC;EACnC,MAAM9M,cAAc,GAAG,IAAAS,gBAAO,EAC7B,OAAQ;IACP,GAAGqJ,QAAQ;IACXU,wBAAwB;IACxBC,gCAAgC;IAChCsC,oBAAoB,EAAE;EACvB,CAAC,CAAE,EACH,CAAEjD,QAAQ,EAAEU,wBAAwB,EAAEC,gCAAgC,CACvE,CAAC;EACD,MAAM1J,MAAM,GAAGlB,eAAe,CAAE+M,YAAa,CAAC;;EAE9C;EACA,IAAK5B,cAAc,EAAG;IACrBgC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAAE,kBAAmB,CAAC;EAClD,CAAC,MAAM;IACNH,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAAE,kBAAmB,CAAC;EACrD;EAEA,MAAMC,oBAAoB,GAAG,IAAAC,wCAAkB,EAAC,CAAC;EAEjD,MAAM/H,SAAS,GAAG,IAAA0B,aAAI,EAAE,kBAAkB,EAAE,UAAU,GAAG2D,IAAI,EAAE;IAC9D,eAAe,EAAEE;EAClB,CAAE,CAAC;EAEH,SAASyC,iBAAiBA,CAAEvB,IAAI,EAAG;IAClC7B,iBAAiB,CAChB,IAAAqD,aAAO,EACN;IACA,IAAA1G,QAAE,EACD,kEACD,CAAC,EACDkF,IACD,CACD,CAAC;EACF;EAEA,MAAM;IAAEyB;EAAoB,CAAC,GAAG,IAAAlL,iBAAW,EAAE6H,cAAa,CAAC;EAE3D,MAAMsD,iBAAiB,GAAG,IAAAC,oBAAW,EACpC,CAAEC,QAAQ,EAAEC,KAAK,KAAM;IACtB,QAASD,QAAQ;MAChB,KAAK,eAAe;QACnB;UACCZ,QAAQ,CAACpH,QAAQ,CAACkI,IAAI,GAAG,IAAAC,iBAAY,EAAE,UAAU,EAAE;YAClDC,OAAO,EAAE,CAAC;YACVC,SAAS,EAAEJ,KAAK,CAAE,CAAC,CAAE,CAACK,IAAI;YAC1BC,GAAG,EAAEN,KAAK,CAAE,CAAC,CAAE,CAACpF;UACjB,CAAE,CAAC;QACJ;QACA;MACD,KAAK,gBAAgB;QACpB;UACC,MAAM2F,OAAO,GAAGP,KAAK,CAAE,CAAC,CAAE;UAC1B,MAAMQ,KAAK,GACV,OAAOD,OAAO,CAACC,KAAK,KAAK,QAAQ,GAC9BD,OAAO,CAACC,KAAK,GACbD,OAAO,CAACC,KAAK,EAAEC,QAAQ;UAC3Bb,mBAAmB,CAClB,IAAAD,aAAO;UACN;UACA,IAAA1G,QAAE,EAAE,4BAA6B,CAAC,EAClC,IAAAyH,4BAAc,EAAEF,KAAM,CACvB,CAAC,EACD;YACCH,IAAI,EAAE,UAAU;YAChBzF,EAAE,EAAE,uBAAuB;YAC3B+F,OAAO,EAAE,CACR;cACCC,KAAK,EAAE,IAAA3H,QAAE,EAAE,MAAO,CAAC;cACnBsC,OAAO,EAAEA,CAAA,KAAM;gBACd,MAAMM,MAAM,GAAG0E,OAAO,CAAC3F,EAAE;gBACzBuE,QAAQ,CAACpH,QAAQ,CAACkI,IAAI,GACrB,IAAAC,iBAAY,EAAE,UAAU,EAAE;kBACzBW,IAAI,EAAEhF,MAAM;kBACZiF,MAAM,EAAE;gBACT,CAAE,CAAC;cACL;YACD,CAAC;UAEH,CACD,CAAC;QACF;QACA;IACF;EACD,CAAC,EACD,CAAElB,mBAAmB,CACtB,CAAC;EAED,MAAMmB,WAAW,GAAG,IAAAnO,gBAAO,EAAE,MAAM;IAClC,OAAO;MACNyN,IAAI,EAAErE,eAAe;MACrBpB,EAAE,EAAEkB;IACL,CAAC;EACF,CAAC,EAAE,CAAEE,eAAe,EAAEF,aAAa,CAAG,CAAC;EAEvC,MAAMkF,UAAU,GACf,IAAAC,yBAAgB,EAAE,QAAS,CAAC,IAAIjE,kBAAkB,gBACjD,IAAA/L,WAAA,CAAA4G,GAAA,EAAC3H,WAAA,CAAA4H,OAAU;IAACiJ,WAAW,EAAGA;EAAa,CAAE,CAAC,GACvC,IAAI;EAET,oBACC,IAAA9P,WAAA,CAAA4G,GAAA,EAAC7H,WAAA,CAAAkR,gBAAgB;IAAAtJ,QAAA,eAChB,IAAA3G,WAAA,CAAAwG,IAAA,EAACxI,OAAA,CAAAkS,aAAa;MAAAvJ,QAAA,gBACb,IAAA3G,WAAA,CAAA4G,GAAA,EAACnI,SAAA,CAAA0R,WAAW,IAAE,CAAC,eACf,IAAAnQ,WAAA,CAAA4G,GAAA,EAACpH,aAAA,CAAAqH,OAAY;QAACiE,QAAQ,EAAGW;MAAiB,CAAE,CAAC,eAC7C,IAAAzL,WAAA,CAAA4G,GAAA;QACCH,SAAS,EAAG8H,oBAAoB,CAAC9H,SAAW;QAAA,GACvC8H,oBAAoB;QACzBjG,GAAG,EAAGiG,oBAAoB,CAACjG,GAAK;QAAA3B,QAAA,eAEhC,IAAA3G,WAAA,CAAAwG,IAAA,EAAChG,MAAM;UACNwK,QAAQ,EAAG9J,cAAgB;UAC3B+J,YAAY,EAAGA,YAAc;UAC7BH,QAAQ,EAAGW,eAAiB;UAC5Bb,MAAM,EAAGY,aAAe;UACxBc,UAAU,EAAGA,UAAY;UACzB7F,SAAS,EAAGA,SAAW;UACvBxE,MAAM,EAAGA,MAAQ;UACjBmO,YAAY,EAAGpE,kBAAoB;UACnCqE,UAAU,EAAGxC,kBAAoB;UACjCyC,aAAa,EAAG,CAAEnF;UAClB;UACA;UAAA;UACAoF,SAAS,EAAG,CAAElE,qBAAuB;UACrCuC,iBAAiB,EAAGA,iBAAmB;UACvC4B,kBAAkB,EACjBpE,aAAa,iBAAI,IAAApM,WAAA,CAAA4G,GAAA,EAACtH,UAAA,CAAAuH,OAAS;YAACC,QAAQ,EAAC;UAAM,CAAE,CAC7C;UACD2J,YAAY,EACX,CAAEtE,iBAAiB,IACnBC,aAAa,iBAAI,IAAApM,WAAA,CAAA4G,GAAA,EAAC5D,aAAa,IAAE,CACjC;UAAA2D,QAAA,gBAED,IAAA3G,WAAA,CAAA4G,GAAA,EAAC5I,OAAA,CAAA0S,eAAe,IAAE,CAAC,eACnB,IAAA1Q,WAAA,CAAA4G,GAAA,EAAC1H,qBAAA,CAAA2H,OAAoB,IAAE,CAAC,eACxB,IAAA7G,WAAA,CAAA4G,GAAA,EAACnG,cAAc;YAACkQ,QAAQ,EAAG5E;UAAoB,CAAE,CAAC,eAClD,IAAA/L,WAAA,CAAA4G,GAAA,EAACvH,WAAA,CAAAwH,OAAU,IAAE,CAAC,eACd,IAAA7G,WAAA,CAAA4G,GAAA,EAAC5I,OAAA,CAAA4S,qBAAqB,IAAE,CAAC,eACzB,IAAA5Q,WAAA,CAAA4G,GAAA,EAAC5I,OAAA,CAAA6S,eAAe,IAAE,CAAC,eACnB,IAAA7Q,WAAA,CAAA4G,GAAA,EAAC5I,OAAA,CAAA8S,oBAAoB,IAAE,CAAC,eACxB,IAAA9Q,WAAA,CAAA4G,GAAA,EAACzH,kBAAA,CAAA0H,OAAyB,IAAE,CAAC,eAC7B,IAAA7G,WAAA,CAAA4G,GAAA,EAAC5I,OAAA,CAAA+S,+BAA+B,IAAE,CAAC,eACnC,IAAA/Q,WAAA,CAAA4G,GAAA,EAAChG,sBAAsB,IAAE,CAAC,eAC1B,IAAAZ,WAAA,CAAA4G,GAAA,EAACxH,iBAAA,CAAAyH,OAAgB,IAAE,CAAC,eACpB,IAAA7G,WAAA,CAAA4G,GAAA,EAACzI,QAAA,CAAA6S,UAAU;YAACC,OAAO,EAAGxC;UAAmB,CAAE,CAAC,eAC5C,IAAAzO,WAAA,CAAA4G,GAAA,EAACrH,SAAA,CAAAsH,OAAkB,IAAE,CAAC,EACpBkJ,UAAU,eACZ,IAAA/P,WAAA,CAAA4G,GAAA,EAAC5I,OAAA,CAAAkT,eAAe,IAAE,CAAC;QAAA,CACZ;MAAC,CACL,CAAC;IAAA,CACQ;EAAC,CACC,CAAC;AAErB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAvK,OAAA,GAEc8D,MAAM","ignoreList":[]}
|
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = MetaBoxes;
|
|
8
8
|
var _data = require("@wordpress/data");
|
|
9
|
-
var _element = require("@wordpress/element");
|
|
10
|
-
var _editor = require("@wordpress/editor");
|
|
11
9
|
var _metaBoxesArea = _interopRequireDefault(require("./meta-boxes-area"));
|
|
12
10
|
var _metaBoxVisibility = _interopRequireDefault(require("./meta-box-visibility"));
|
|
13
11
|
var _store = require("../../store");
|
|
@@ -23,38 +21,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
23
21
|
function MetaBoxes({
|
|
24
22
|
location
|
|
25
23
|
}) {
|
|
26
|
-
const
|
|
27
|
-
const {
|
|
28
|
-
metaBoxes,
|
|
29
|
-
areMetaBoxesInitialized,
|
|
30
|
-
isEditorReady
|
|
31
|
-
} = (0, _data.useSelect)(select => {
|
|
32
|
-
const {
|
|
33
|
-
__unstableIsEditorReady
|
|
34
|
-
} = select(_editor.store);
|
|
35
|
-
const {
|
|
36
|
-
getMetaBoxesPerLocation,
|
|
37
|
-
areMetaBoxesInitialized: _areMetaBoxesInitialized
|
|
38
|
-
} = select(_store.store);
|
|
39
|
-
return {
|
|
40
|
-
metaBoxes: getMetaBoxesPerLocation(location),
|
|
41
|
-
areMetaBoxesInitialized: _areMetaBoxesInitialized(),
|
|
42
|
-
isEditorReady: __unstableIsEditorReady()
|
|
43
|
-
};
|
|
44
|
-
}, [location]);
|
|
45
|
-
const hasMetaBoxes = !!metaBoxes?.length;
|
|
46
|
-
|
|
47
|
-
// When editor is ready, initialize postboxes (wp core script) and metabox
|
|
48
|
-
// saving. This initializes all meta box locations, not just this specific
|
|
49
|
-
// one.
|
|
50
|
-
(0, _element.useEffect)(() => {
|
|
51
|
-
if (isEditorReady && hasMetaBoxes && !areMetaBoxesInitialized) {
|
|
52
|
-
registry.dispatch(_store.store).initializeMetaBoxes();
|
|
53
|
-
}
|
|
54
|
-
}, [isEditorReady, hasMetaBoxes, areMetaBoxesInitialized]);
|
|
55
|
-
if (!areMetaBoxesInitialized) {
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
24
|
+
const metaBoxes = (0, _data.useSelect)(select => select(_store.store).getMetaBoxesPerLocation(location), [location]);
|
|
58
25
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
59
26
|
children: [(metaBoxes !== null && metaBoxes !== void 0 ? metaBoxes : []).map(({
|
|
60
27
|
id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","
|
|
1
|
+
{"version":3,"names":["_data","require","_metaBoxesArea","_interopRequireDefault","_metaBoxVisibility","_store","_jsxRuntime","MetaBoxes","location","metaBoxes","useSelect","select","editPostStore","getMetaBoxesPerLocation","jsxs","Fragment","children","map","id","jsx","default"],"sources":["@wordpress/edit-post/src/components/meta-boxes/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport MetaBoxesArea from './meta-boxes-area';\nimport MetaBoxVisibility from './meta-box-visibility';\nimport { store as editPostStore } from '../../store';\n\nexport default function MetaBoxes( { location } ) {\n\tconst metaBoxes = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editPostStore ).getMetaBoxesPerLocation( location ),\n\t\t[ location ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ ( metaBoxes ?? [] ).map( ( { id } ) => (\n\t\t\t\t<MetaBoxVisibility key={ id } id={ id } />\n\t\t\t) ) }\n\t\t\t<MetaBoxesArea location={ location } />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAqD,IAAAK,WAAA,GAAAL,OAAA;AAVrD;AACA;AACA;;AAGA;AACA;AACA;;AAKe,SAASM,SAASA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACjD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EACxBC,MAAM,IACPA,MAAM,CAAEC,YAAc,CAAC,CAACC,uBAAuB,CAAEL,QAAS,CAAC,EAC5D,CAAEA,QAAQ,CACX,CAAC;EACD,oBACC,IAAAF,WAAA,CAAAQ,IAAA,EAAAR,WAAA,CAAAS,QAAA;IAAAC,QAAA,GACG,CAAEP,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,EAAGQ,GAAG,CAAE,CAAE;MAAEC;IAAG,CAAC,kBAClC,IAAAZ,WAAA,CAAAa,GAAA,EAACf,kBAAA,CAAAgB,OAAiB;MAAYF,EAAE,EAAGA;IAAI,GAAdA,EAAgB,CACxC,CAAC,eACH,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,cAAA,CAAAkB,OAAa;MAACZ,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAAA,CACtC,CAAC;AAEL","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useMetaBoxInitialization = void 0;
|
|
7
|
+
var _data = require("@wordpress/data");
|
|
8
|
+
var _editor = require("@wordpress/editor");
|
|
9
|
+
var _element = require("@wordpress/element");
|
|
10
|
+
var _store = require("../../store");
|
|
11
|
+
/**
|
|
12
|
+
* WordPress dependencies
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Internal dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Initializes WordPress `postboxes` script and the logic for saving meta boxes.
|
|
21
|
+
*
|
|
22
|
+
* @param { boolean } enabled
|
|
23
|
+
*/
|
|
24
|
+
const useMetaBoxInitialization = enabled => {
|
|
25
|
+
const isEnabledAndEditorReady = (0, _data.useSelect)(select => enabled && select(_editor.store).__unstableIsEditorReady(), [enabled]);
|
|
26
|
+
const {
|
|
27
|
+
initializeMetaBoxes
|
|
28
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
29
|
+
// The effect has to rerun when the editor is ready because initializeMetaBoxes
|
|
30
|
+
// will noop until then.
|
|
31
|
+
(0, _element.useEffect)(() => {
|
|
32
|
+
if (isEnabledAndEditorReady) {
|
|
33
|
+
initializeMetaBoxes();
|
|
34
|
+
}
|
|
35
|
+
}, [isEnabledAndEditorReady, initializeMetaBoxes]);
|
|
36
|
+
};
|
|
37
|
+
exports.useMetaBoxInitialization = useMetaBoxInitialization;
|
|
38
|
+
//# sourceMappingURL=use-meta-box-initialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_data","require","_editor","_element","_store","useMetaBoxInitialization","enabled","isEnabledAndEditorReady","useSelect","select","editorStore","__unstableIsEditorReady","initializeMetaBoxes","useDispatch","editPostStore","useEffect","exports"],"sources":["@wordpress/edit-post/src/components/meta-boxes/use-meta-box-initialization.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n *\n * @param { boolean } enabled\n */\nexport const useMetaBoxInitialization = ( enabled ) => {\n\tconst isEnabledAndEditorReady = useSelect(\n\t\t( select ) =>\n\t\t\tenabled && select( editorStore ).__unstableIsEditorReady(),\n\t\t[ enabled ]\n\t);\n\tconst { initializeMetaBoxes } = useDispatch( editPostStore );\n\t// The effect has to rerun when the editor is ready because initializeMetaBoxes\n\t// will noop until then.\n\tuseEffect( () => {\n\t\tif ( isEnabledAndEditorReady ) {\n\t\t\tinitializeMetaBoxes();\n\t\t}\n\t}, [ isEnabledAndEditorReady, initializeMetaBoxes ] );\n};\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMI,wBAAwB,GAAKC,OAAO,IAAM;EACtD,MAAMC,uBAAuB,GAAG,IAAAC,eAAS,EACtCC,MAAM,IACPH,OAAO,IAAIG,MAAM,CAAEC,aAAY,CAAC,CAACC,uBAAuB,CAAC,CAAC,EAC3D,CAAEL,OAAO,CACV,CAAC;EACD,MAAM;IAAEM;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EAC5D;EACA;EACA,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKR,uBAAuB,EAAG;MAC9BK,mBAAmB,CAAC,CAAC;IACtB;EACD,CAAC,EAAE,CAAEL,uBAAuB,EAAEK,mBAAmB,CAAG,CAAC;AACtD,CAAC;AAACI,OAAA,CAAAX,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -41,6 +41,7 @@ import useEditPostCommands from '../../commands/use-commands';
|
|
|
41
41
|
import { usePaddingAppender } from './use-padding-appender';
|
|
42
42
|
import { useShouldIframe } from './use-should-iframe';
|
|
43
43
|
import useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';
|
|
44
|
+
import { useMetaBoxInitialization } from '../meta-boxes/use-meta-box-initialization';
|
|
44
45
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
45
46
|
const {
|
|
46
47
|
getLayoutStyles
|
|
@@ -103,14 +104,7 @@ function useEditorStyles(...additionalStyles) {
|
|
|
103
104
|
return baseStyles;
|
|
104
105
|
}, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport, addedStyles]);
|
|
105
106
|
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* @param {Object} props
|
|
109
|
-
* @param {boolean} props.isLegacy True when the editor canvas is not in an iframe.
|
|
110
|
-
*/
|
|
111
|
-
function MetaBoxesMain({
|
|
112
|
-
isLegacy
|
|
113
|
-
}) {
|
|
107
|
+
function MetaBoxesMain() {
|
|
114
108
|
const [isOpen, openHeight, hasAnyVisible] = useSelect(select => {
|
|
115
109
|
const {
|
|
116
110
|
get
|
|
@@ -180,19 +174,15 @@ function MetaBoxesMain({
|
|
|
180
174
|
return;
|
|
181
175
|
}
|
|
182
176
|
const contents = /*#__PURE__*/_jsxs("div", {
|
|
183
|
-
className: clsx(
|
|
184
177
|
// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.
|
|
185
|
-
|
|
186
|
-
hidden:
|
|
178
|
+
className: "edit-post-layout__metaboxes edit-post-meta-boxes-main__liner",
|
|
179
|
+
hidden: isShort && !isOpen,
|
|
187
180
|
children: [/*#__PURE__*/_jsx(MetaBoxes, {
|
|
188
181
|
location: "normal"
|
|
189
182
|
}), /*#__PURE__*/_jsx(MetaBoxes, {
|
|
190
183
|
location: "advanced"
|
|
191
184
|
})]
|
|
192
185
|
});
|
|
193
|
-
if (isLegacy) {
|
|
194
|
-
return contents;
|
|
195
|
-
}
|
|
196
186
|
const isAutoHeight = openHeight === undefined;
|
|
197
187
|
let usedMax = '50%'; // Approximation before max has a value.
|
|
198
188
|
if (max !== undefined) {
|
|
@@ -365,6 +355,7 @@ function Layout({
|
|
|
365
355
|
getRenderingMode
|
|
366
356
|
} = select(editorStore);
|
|
367
357
|
const isRenderingPostOnly = getRenderingMode() === 'post-only';
|
|
358
|
+
const isNotDesignPostType = !DESIGN_POST_TYPES.includes(currentPostType);
|
|
368
359
|
return {
|
|
369
360
|
mode: getEditorMode(),
|
|
370
361
|
isFullscreenActive: select(editPostStore).isFeatureActive('fullscreenMode'),
|
|
@@ -372,12 +363,13 @@ function Layout({
|
|
|
372
363
|
hasBlockSelected: !!select(blockEditorStore).getBlockSelectionStart(),
|
|
373
364
|
showIconLabels: get('core', 'showIconLabels'),
|
|
374
365
|
isDistractionFree: get('core', 'distractionFree'),
|
|
375
|
-
showMetaBoxes:
|
|
366
|
+
showMetaBoxes: isNotDesignPostType && !isZoomOut(),
|
|
376
367
|
isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
|
|
377
368
|
templateId: supportsTemplateMode && isViewable && canViewTemplate && !isEditingTemplate ? getTemplateId(currentPostType, currentPostId) : null,
|
|
378
|
-
enablePaddingAppender: !isZoomOut() && isRenderingPostOnly &&
|
|
369
|
+
enablePaddingAppender: !isZoomOut() && isRenderingPostOnly && isNotDesignPostType
|
|
379
370
|
};
|
|
380
371
|
}, [currentPostType, currentPostId, isEditingTemplate, settings.supportsTemplateMode]);
|
|
372
|
+
useMetaBoxInitialization(hasActiveMetaboxes);
|
|
381
373
|
const [paddingAppenderRef, paddingStyle] = usePaddingAppender(enablePaddingAppender);
|
|
382
374
|
|
|
383
375
|
// Set the right context for the command palette
|
|
@@ -479,9 +471,7 @@ function Layout({
|
|
|
479
471
|
extraSidebarPanels: showMetaBoxes && /*#__PURE__*/_jsx(MetaBoxes, {
|
|
480
472
|
location: "side"
|
|
481
473
|
}),
|
|
482
|
-
extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/_jsx(MetaBoxesMain, {
|
|
483
|
-
isLegacy: !shouldIframe
|
|
484
|
-
}),
|
|
474
|
+
extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/_jsx(MetaBoxesMain, {}),
|
|
485
475
|
children: [/*#__PURE__*/_jsx(PostLockedModal, {}), /*#__PURE__*/_jsx(EditorInitialization, {}), /*#__PURE__*/_jsx(FullscreenMode, {
|
|
486
476
|
isActive: isFullscreenActive
|
|
487
477
|
}), /*#__PURE__*/_jsx(BrowserURL, {}), /*#__PURE__*/_jsx(UnsavedChangesWarning, {}), /*#__PURE__*/_jsx(AutosaveMonitor, {}), /*#__PURE__*/_jsx(LocalAutosaveMonitor, {}), /*#__PURE__*/_jsx(EditPostKeyboardShortcuts, {}), /*#__PURE__*/_jsx(EditorKeyboardShortcutsRegister, {}), /*#__PURE__*/_jsx(BlockKeyboardShortcuts, {}), /*#__PURE__*/_jsx(InitPatternModal, {}), /*#__PURE__*/_jsx(PluginArea, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorKeyboardShortcutsRegister","EditorSnackbars","ErrorBoundary","PostLockedModal","store","editorStore","privateApis","editorPrivateApis","useSelect","useDispatch","blockEditorPrivateApis","blockEditorStore","PluginArea","__","sprintf","useCallback","useMemo","useId","useRef","useState","chevronDown","chevronUp","noticesStore","preferencesStore","CommandMenu","commandsPrivateApis","coreCommandsPrivateApis","blockLibraryPrivateApis","addQueryArgs","decodeEntities","coreStore","Icon","ResizableBox","SlotFillProvider","Tooltip","VisuallyHidden","__unstableUseNavigateRegions","useNavigateRegions","useMediaQuery","useRefEffect","useViewportMatch","BackButton","EditorInitialization","EditPostKeyboardShortcuts","InitPatternModal","BrowserURL","MetaBoxes","PostEditorMoreMenu","WelcomeGuide","editPostStore","unlock","useEditPostCommands","usePaddingAppender","useShouldIframe","useNavigateToEntityRecord","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getLayoutStyles","useCommands","useCommandContext","Editor","FullscreenMode","NavigableRegion","BlockKeyboardShortcuts","DESIGN_POST_TYPES","useEditorStyles","additionalStyles","hasThemeStyleSupport","editorSettings","select","isFeatureActive","getEditorSettings","addedStyles","join","_editorSettings$style","_editorSettings$defau","_editorSettings$style2","_editorSettings$style3","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","baseStyles","MetaBoxesMain","isLegacy","isOpen","openHeight","hasAnyVisible","get","isMetaBoxLocationVisible","set","setPreference","metaBoxesMainRef","isShort","min","max","setHeightConstraints","effectSizeConstraints","node","container","closest","noticeLists","querySelectorAll","resizeHandle","querySelector","deriveConstraints","fullHeight","offsetHeight","nextMax","element","nextMin","observer","window","ResizeObserver","observe","disconnect","separatorRef","separatorHelpId","isUntouched","setIsUntouched","applyHeight","candidateHeight","isPersistent","isInstant","nextHeight","Math","current","ariaValueNow","getAriaValueNow","updateSize","height","width","contents","className","hidden","children","location","isAutoHeight","undefined","usedMax","round","usedAriaValueNow","toggle","onSeparatorKeyDown","event","delta","ArrowUp","ArrowDown","key","pane","resizable","fromHeight","preventDefault","paneLabel","Pane","paneProps","as","ref","defaultSize","minHeight","maxHeight","enable","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","handleClasses","handleComponent","text","role","onKeyDown","id","onPointerDown","pointerId","target","setPointerCapture","onResizeStart","direction","elementRef","onResize","state","onResizeStop","onClick","icon","Layout","postId","initialPostId","postType","initialPostType","settings","initialEdits","shouldIframe","createErrorNotice","currentPost","currentPostId","currentPostType","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","isEditingTemplate","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","isWelcomeGuideVisible","templateId","enablePaddingAppender","_getPostType$viewable","canUser","getPostType","getTemplateId","supportsTemplateMode","isViewable","viewable","canViewTemplate","kind","name","isZoomOut","getEditorMode","getRenderingMode","isRenderingPostOnly","hasMetaBoxes","getBlockSelectionStart","includes","paddingAppenderRef","paddingStyle","commandContext","defaultRenderingMode","document","body","classList","add","remove","navigateRegionsProps","onPluginAreaError","createSuccessNotice","onActionPerformed","actionId","items","href","trashed","post_type","type","ids","newItem","title","rendered","actions","label","post","action","initialPost","backButton","forceIsDirty","contentRef","disableIframe","autoFocus","extraSidebarPanels","extraContent","isActive","onError"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { addQueryArgs } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tIcon,\n\tResizableBox,\n\tSlotFillProvider,\n\tTooltip,\n\tVisuallyHidden,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseMediaQuery,\n\tuseRefEffect,\n\tuseViewportMatch,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BackButton from '../back-button';\nimport EditorInitialization from '../editor-initialization';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport InitPatternModal from '../init-pattern-modal';\nimport BrowserURL from '../browser-url';\nimport MetaBoxes from '../meta-boxes';\nimport PostEditorMoreMenu from '../more-menu';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useEditPostCommands from '../../commands/use-commands';\nimport { usePaddingAppender } from './use-padding-appender';\nimport { useShouldIframe } from './use-should-iframe';\nimport useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { Editor, FullscreenMode, NavigableRegion } = unlock( editorPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\nconst DESIGN_POST_TYPES = [\n\t'wp_template',\n\t'wp_template_part',\n\t'wp_block',\n\t'wp_navigation',\n];\n\nfunction useEditorStyles( ...additionalStyles ) {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t};\n\t}, [] );\n\n\tconst addedStyles = additionalStyles.join( '\\n' );\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...( editorSettings?.defaultEditorStyles ?? [] ),\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\tconst baseStyles = hasThemeStyles\n\t\t\t? editorSettings.styles ?? []\n\t\t\t: defaultEditorStyles;\n\n\t\tif ( addedStyles ) {\n\t\t\treturn [ ...baseStyles, { css: addedStyles } ];\n\t\t}\n\n\t\treturn baseStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t\taddedStyles,\n\t] );\n}\n\n/**\n * @param {Object} props\n * @param {boolean} props.isLegacy True when the editor canvas is not in an iframe.\n */\nfunction MetaBoxesMain( { isLegacy } ) {\n\tconst [ isOpen, openHeight, hasAnyVisible ] = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isMetaBoxLocationVisible } = select( editPostStore );\n\t\treturn [\n\t\t\tget( 'core/edit-post', 'metaBoxesMainIsOpen' ),\n\t\t\tget( 'core/edit-post', 'metaBoxesMainOpenHeight' ),\n\t\t\tisMetaBoxLocationVisible( 'normal' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'advanced' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'side' ),\n\t\t];\n\t}, [] );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst metaBoxesMainRef = useRef();\n\tconst isShort = useMediaQuery( '(max-height: 549px)' );\n\n\tconst [ { min, max }, setHeightConstraints ] = useState( () => ( {} ) );\n\t// Keeps the resizable area’s size constraints updated taking into account\n\t// editor notices. The constraints are also used to derive the value for the\n\t// aria-valuenow attribute on the seperator.\n\tconst effectSizeConstraints = useRefEffect( ( node ) => {\n\t\tconst container = node.closest(\n\t\t\t'.interface-interface-skeleton__content'\n\t\t);\n\t\tconst noticeLists = container.querySelectorAll(\n\t\t\t':scope > .components-notice-list'\n\t\t);\n\t\tconst resizeHandle = container.querySelector(\n\t\t\t'.edit-post-meta-boxes-main__presenter'\n\t\t);\n\t\tconst deriveConstraints = () => {\n\t\t\tconst fullHeight = container.offsetHeight;\n\t\t\tlet nextMax = fullHeight;\n\t\t\tfor ( const element of noticeLists ) {\n\t\t\t\tnextMax -= element.offsetHeight;\n\t\t\t}\n\t\t\tconst nextMin = resizeHandle.offsetHeight;\n\t\t\tsetHeightConstraints( { min: nextMin, max: nextMax } );\n\t\t};\n\t\tconst observer = new window.ResizeObserver( deriveConstraints );\n\t\tobserver.observe( container );\n\t\tfor ( const element of noticeLists ) {\n\t\t\tobserver.observe( element );\n\t\t}\n\t\treturn () => observer.disconnect();\n\t}, [] );\n\n\tconst separatorRef = useRef();\n\tconst separatorHelpId = useId();\n\n\tconst [ isUntouched, setIsUntouched ] = useState( true );\n\tconst applyHeight = ( candidateHeight, isPersistent, isInstant ) => {\n\t\tconst nextHeight = Math.min( max, Math.max( min, candidateHeight ) );\n\t\tif ( isPersistent ) {\n\t\t\tsetPreference(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'metaBoxesMainOpenHeight',\n\t\t\t\tnextHeight\n\t\t\t);\n\t\t} else {\n\t\t\tseparatorRef.current.ariaValueNow = getAriaValueNow( nextHeight );\n\t\t}\n\t\tif ( isInstant ) {\n\t\t\tmetaBoxesMainRef.current.updateSize( {\n\t\t\t\theight: nextHeight,\n\t\t\t\t// Oddly, when the event that triggered this was not from the mouse (e.g. keydown),\n\t\t\t\t// if `width` is left unspecified a subsequent drag gesture applies a fixed\n\t\t\t\t// width and the pane fails to widen/narrow with parent width changes from\n\t\t\t\t// sidebars opening/closing or window resizes.\n\t\t\t\twidth: 'auto',\n\t\t\t} );\n\t\t}\n\t};\n\n\tif ( ! hasAnyVisible ) {\n\t\treturn;\n\t}\n\n\tconst contents = (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.\n\t\t\t\t'edit-post-layout__metaboxes',\n\t\t\t\t! isLegacy && 'edit-post-meta-boxes-main__liner'\n\t\t\t) }\n\t\t\thidden={ ! isLegacy && isShort && ! isOpen }\n\t\t>\n\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t</div>\n\t);\n\n\tif ( isLegacy ) {\n\t\treturn contents;\n\t}\n\n\tconst isAutoHeight = openHeight === undefined;\n\tlet usedMax = '50%'; // Approximation before max has a value.\n\tif ( max !== undefined ) {\n\t\t// Halves the available max height until a user height is set.\n\t\tusedMax = isAutoHeight && isUntouched ? max / 2 : max;\n\t}\n\n\tconst getAriaValueNow = ( height ) =>\n\t\tMath.round( ( ( height - min ) / ( max - min ) ) * 100 );\n\tconst usedAriaValueNow =\n\t\tmax === undefined || isAutoHeight ? 50 : getAriaValueNow( openHeight );\n\n\tconst toggle = () =>\n\t\tsetPreference( 'core/edit-post', 'metaBoxesMainIsOpen', ! isOpen );\n\n\t// TODO: Support more/all keyboard interactions from the window splitter pattern:\n\t// https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/\n\tconst onSeparatorKeyDown = ( event ) => {\n\t\tconst delta = { ArrowUp: 20, ArrowDown: -20 }[ event.key ];\n\t\tif ( delta ) {\n\t\t\tconst pane = metaBoxesMainRef.current.resizable;\n\t\t\tconst fromHeight = isAutoHeight ? pane.offsetHeight : openHeight;\n\t\t\tconst nextHeight = delta + fromHeight;\n\t\t\tapplyHeight( nextHeight, true, true );\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\tconst className = 'edit-post-meta-boxes-main';\n\tconst paneLabel = __( 'Meta Boxes' );\n\tlet Pane, paneProps;\n\tif ( isShort ) {\n\t\tPane = NavigableRegion;\n\t\tpaneProps = {\n\t\t\tclassName: clsx( className, 'is-toggle-only' ),\n\t\t};\n\t} else {\n\t\tPane = ResizableBox;\n\t\tpaneProps = /** @type {Parameters<typeof ResizableBox>[0]} */ ( {\n\t\t\tas: NavigableRegion,\n\t\t\tref: metaBoxesMainRef,\n\t\t\tclassName: clsx( className, 'is-resizable' ),\n\t\t\tdefaultSize: { height: openHeight },\n\t\t\tminHeight: min,\n\t\t\tmaxHeight: usedMax,\n\t\t\tenable: {\n\t\t\t\ttop: true,\n\t\t\t\tright: false,\n\t\t\t\tbottom: false,\n\t\t\t\tleft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t},\n\t\t\thandleClasses: { top: 'edit-post-meta-boxes-main__presenter' },\n\t\t\thandleComponent: {\n\t\t\t\ttop: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip text={ __( 'Drag to resize' ) }>\n\t\t\t\t\t\t\t<button // eslint-disable-line jsx-a11y/role-supports-aria-props\n\t\t\t\t\t\t\t\tref={ separatorRef }\n\t\t\t\t\t\t\t\trole=\"separator\" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role\n\t\t\t\t\t\t\t\taria-valuenow={ usedAriaValueNow }\n\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\taria-describedby={ separatorHelpId }\n\t\t\t\t\t\t\t\tonKeyDown={ onSeparatorKeyDown }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t<VisuallyHidden id={ separatorHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use up and down arrow keys to resize the meta box panel.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t// Avoids hiccups while dragging over objects like iframes and ensures that\n\t\t\t// the event to end the drag is captured by the target (resize handle)\n\t\t\t// whether or not it’s under the pointer.\n\t\t\tonPointerDown: ( { pointerId, target } ) => {\n\t\t\t\ttarget.setPointerCapture( pointerId );\n\t\t\t},\n\t\t\tonResizeStart: ( event, direction, elementRef ) => {\n\t\t\t\tif ( isAutoHeight ) {\n\t\t\t\t\t// Sets the starting height to avoid visual jumps in height and\n\t\t\t\t\t// aria-valuenow being `NaN` for the first (few) resize events.\n\t\t\t\t\tapplyHeight( elementRef.offsetHeight, false, true );\n\t\t\t\t\tsetIsUntouched( false );\n\t\t\t\t}\n\t\t\t},\n\t\t\tonResize: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height ),\n\t\t\tonResizeStop: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height, true ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Pane aria-label={ paneLabel } { ...paneProps }>\n\t\t\t{ isShort ? (\n\t\t\t\t<button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\tclassName=\"edit-post-meta-boxes-main__presenter\"\n\t\t\t\t\tonClick={ toggle }\n\t\t\t\t>\n\t\t\t\t\t{ paneLabel }\n\t\t\t\t\t<Icon icon={ isOpen ? chevronUp : chevronDown } />\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<meta ref={ effectSizeConstraints } />\n\t\t\t) }\n\t\t\t{ contents }\n\t\t</Pane>\n\t);\n}\n\nfunction Layout( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n} ) {\n\tuseCommands();\n\tuseEditPostCommands();\n\tconst shouldIframe = useShouldIframe();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tcurrentPost: { postId: currentPostId, postType: currentPostType },\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord(\n\t\tinitialPostId,\n\t\tinitialPostType,\n\t\t'post-only'\n\t);\n\tconst isEditingTemplate = currentPostType === 'wp_template';\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\thasActiveMetaboxes,\n\t\thasBlockSelected,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowMetaBoxes,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t\tenablePaddingAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive } = select( editPostStore );\n\t\t\tconst { canUser, getPostType, getTemplateId } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode = settings.supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPostType )?.viewable ?? false;\n\t\t\tconst canViewTemplate = canUser( 'read', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst { isZoomOut } = unlock( select( blockEditorStore ) );\n\t\t\tconst { getEditorMode, getRenderingMode } = select( editorStore );\n\t\t\tconst isRenderingPostOnly = getRenderingMode() === 'post-only';\n\n\t\t\treturn {\n\t\t\t\tmode: getEditorMode(),\n\t\t\t\tisFullscreenActive:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\thasBlockSelected:\n\t\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tshowMetaBoxes:\n\t\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType ) &&\n\t\t\t\t\t! isZoomOut(),\n\t\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\t\ttemplateId:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanViewTemplate &&\n\t\t\t\t\t! isEditingTemplate\n\t\t\t\t\t\t? getTemplateId( currentPostType, currentPostId )\n\t\t\t\t\t\t: null,\n\t\t\t\tenablePaddingAppender:\n\t\t\t\t\t! isZoomOut() &&\n\t\t\t\t\tisRenderingPostOnly &&\n\t\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tcurrentPostType,\n\t\t\tcurrentPostId,\n\t\t\tisEditingTemplate,\n\t\t\tsettings.supportsTemplateMode,\n\t\t]\n\t);\n\tconst [ paddingAppenderRef, paddingStyle ] = usePaddingAppender(\n\t\tenablePaddingAppender\n\t);\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'entity-edit';\n\tuseCommandContext( commandContext );\n\tconst editorSettings = useMemo(\n\t\t() => ( {\n\t\t\t...settings,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\tdefaultRenderingMode: 'post-only',\n\t\t} ),\n\t\t[ settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord ]\n\t);\n\tconst styles = useEditorStyles( paddingStyle );\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst navigateRegionsProps = useNavigateRegions();\n\n\tconst className = clsx( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t} );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\t\t{\n\t\t\t\t\t\tdocument.location.href = addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\ttrashed: 1,\n\t\t\t\t\t\t\tpost_type: items[ 0 ].type,\n\t\t\t\t\t\t\tids: items[ 0 ].id,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\tconst postId = newItem.id;\n\t\t\t\t\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t\t\t\t\taddQueryArgs( 'post.php', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpost: postId,\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'edit',\n\t\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},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ createSuccessNotice ]\n\t);\n\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tconst backButton =\n\t\tuseViewportMatch( 'medium' ) && isFullscreenActive ? (\n\t\t\t<BackButton initialPost={ initialPost } />\n\t\t) : null;\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ErrorBoundary>\n\t\t\t\t<CommandMenu />\n\t\t\t\t<WelcomeGuide postType={ currentPostType } />\n\t\t\t\t<div\n\t\t\t\t\tclassName={ navigateRegionsProps.className }\n\t\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\t>\n\t\t\t\t\t<Editor\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tpostType={ currentPostType }\n\t\t\t\t\t\tpostId={ currentPostId }\n\t\t\t\t\t\ttemplateId={ templateId }\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tcontentRef={ paddingAppenderRef }\n\t\t\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxes location=\"side\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraContent={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tshowMetaBoxes && (\n\t\t\t\t\t\t\t\t<MetaBoxesMain isLegacy={ ! shouldIframe } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t\t\t\t<BrowserURL />\n\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t<AutosaveMonitor />\n\t\t\t\t\t\t<LocalAutosaveMonitor />\n\t\t\t\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t<BlockKeyboardShortcuts />\n\t\t\t\t\t\t<InitPatternModal />\n\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t\t<PostEditorMoreMenu />\n\t\t\t\t\t\t{ backButton }\n\t\t\t\t\t\t<EditorSnackbars />\n\t\t\t\t\t</Editor>\n\t\t\t\t</div>\n\t\t\t</ErrorBoundary>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorKeyboardShortcutsRegister","EditorSnackbars","ErrorBoundary","PostLockedModal","store","editorStore","privateApis","editorPrivateApis","useSelect","useDispatch","blockEditorPrivateApis","blockEditorStore","PluginArea","__","sprintf","useCallback","useMemo","useId","useRef","useState","chevronDown","chevronUp","noticesStore","preferencesStore","CommandMenu","commandsPrivateApis","coreCommandsPrivateApis","blockLibraryPrivateApis","addQueryArgs","decodeEntities","coreStore","Icon","ResizableBox","SlotFillProvider","Tooltip","VisuallyHidden","__unstableUseNavigateRegions","useNavigateRegions","useMediaQuery","useRefEffect","useViewportMatch","BackButton","EditorInitialization","EditPostKeyboardShortcuts","InitPatternModal","BrowserURL","MetaBoxes","PostEditorMoreMenu","WelcomeGuide","editPostStore","unlock","useEditPostCommands","usePaddingAppender","useShouldIframe","useNavigateToEntityRecord","useMetaBoxInitialization","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getLayoutStyles","useCommands","useCommandContext","Editor","FullscreenMode","NavigableRegion","BlockKeyboardShortcuts","DESIGN_POST_TYPES","useEditorStyles","additionalStyles","hasThemeStyleSupport","editorSettings","select","isFeatureActive","getEditorSettings","addedStyles","join","_editorSettings$style","_editorSettings$defau","_editorSettings$style2","_editorSettings$style3","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","baseStyles","MetaBoxesMain","isOpen","openHeight","hasAnyVisible","get","isMetaBoxLocationVisible","set","setPreference","metaBoxesMainRef","isShort","min","max","setHeightConstraints","effectSizeConstraints","node","container","closest","noticeLists","querySelectorAll","resizeHandle","querySelector","deriveConstraints","fullHeight","offsetHeight","nextMax","element","nextMin","observer","window","ResizeObserver","observe","disconnect","separatorRef","separatorHelpId","isUntouched","setIsUntouched","applyHeight","candidateHeight","isPersistent","isInstant","nextHeight","Math","current","ariaValueNow","getAriaValueNow","updateSize","height","width","contents","className","hidden","children","location","isAutoHeight","undefined","usedMax","round","usedAriaValueNow","toggle","onSeparatorKeyDown","event","delta","ArrowUp","ArrowDown","key","pane","resizable","fromHeight","preventDefault","paneLabel","Pane","paneProps","as","ref","defaultSize","minHeight","maxHeight","enable","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","handleClasses","handleComponent","text","role","onKeyDown","id","onPointerDown","pointerId","target","setPointerCapture","onResizeStart","direction","elementRef","onResize","state","onResizeStop","onClick","icon","Layout","postId","initialPostId","postType","initialPostType","settings","initialEdits","shouldIframe","createErrorNotice","currentPost","currentPostId","currentPostType","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","isEditingTemplate","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","isWelcomeGuideVisible","templateId","enablePaddingAppender","_getPostType$viewable","canUser","getPostType","getTemplateId","supportsTemplateMode","isViewable","viewable","canViewTemplate","kind","name","isZoomOut","getEditorMode","getRenderingMode","isRenderingPostOnly","isNotDesignPostType","includes","hasMetaBoxes","getBlockSelectionStart","paddingAppenderRef","paddingStyle","commandContext","defaultRenderingMode","document","body","classList","add","remove","navigateRegionsProps","onPluginAreaError","createSuccessNotice","onActionPerformed","actionId","items","href","trashed","post_type","type","ids","newItem","title","rendered","actions","label","post","action","initialPost","backButton","forceIsDirty","contentRef","disableIframe","autoFocus","extraSidebarPanels","extraContent","isActive","onError"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { addQueryArgs } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tIcon,\n\tResizableBox,\n\tSlotFillProvider,\n\tTooltip,\n\tVisuallyHidden,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseMediaQuery,\n\tuseRefEffect,\n\tuseViewportMatch,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BackButton from '../back-button';\nimport EditorInitialization from '../editor-initialization';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport InitPatternModal from '../init-pattern-modal';\nimport BrowserURL from '../browser-url';\nimport MetaBoxes from '../meta-boxes';\nimport PostEditorMoreMenu from '../more-menu';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useEditPostCommands from '../../commands/use-commands';\nimport { usePaddingAppender } from './use-padding-appender';\nimport { useShouldIframe } from './use-should-iframe';\nimport useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';\nimport { useMetaBoxInitialization } from '../meta-boxes/use-meta-box-initialization';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { Editor, FullscreenMode, NavigableRegion } = unlock( editorPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\nconst DESIGN_POST_TYPES = [\n\t'wp_template',\n\t'wp_template_part',\n\t'wp_block',\n\t'wp_navigation',\n];\n\nfunction useEditorStyles( ...additionalStyles ) {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t};\n\t}, [] );\n\n\tconst addedStyles = additionalStyles.join( '\\n' );\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...( editorSettings?.defaultEditorStyles ?? [] ),\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\tconst baseStyles = hasThemeStyles\n\t\t\t? editorSettings.styles ?? []\n\t\t\t: defaultEditorStyles;\n\n\t\tif ( addedStyles ) {\n\t\t\treturn [ ...baseStyles, { css: addedStyles } ];\n\t\t}\n\n\t\treturn baseStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t\taddedStyles,\n\t] );\n}\n\nfunction MetaBoxesMain() {\n\tconst [ isOpen, openHeight, hasAnyVisible ] = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isMetaBoxLocationVisible } = select( editPostStore );\n\t\treturn [\n\t\t\tget( 'core/edit-post', 'metaBoxesMainIsOpen' ),\n\t\t\tget( 'core/edit-post', 'metaBoxesMainOpenHeight' ),\n\t\t\tisMetaBoxLocationVisible( 'normal' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'advanced' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'side' ),\n\t\t];\n\t}, [] );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst metaBoxesMainRef = useRef();\n\tconst isShort = useMediaQuery( '(max-height: 549px)' );\n\n\tconst [ { min, max }, setHeightConstraints ] = useState( () => ( {} ) );\n\t// Keeps the resizable area’s size constraints updated taking into account\n\t// editor notices. The constraints are also used to derive the value for the\n\t// aria-valuenow attribute on the seperator.\n\tconst effectSizeConstraints = useRefEffect( ( node ) => {\n\t\tconst container = node.closest(\n\t\t\t'.interface-interface-skeleton__content'\n\t\t);\n\t\tconst noticeLists = container.querySelectorAll(\n\t\t\t':scope > .components-notice-list'\n\t\t);\n\t\tconst resizeHandle = container.querySelector(\n\t\t\t'.edit-post-meta-boxes-main__presenter'\n\t\t);\n\t\tconst deriveConstraints = () => {\n\t\t\tconst fullHeight = container.offsetHeight;\n\t\t\tlet nextMax = fullHeight;\n\t\t\tfor ( const element of noticeLists ) {\n\t\t\t\tnextMax -= element.offsetHeight;\n\t\t\t}\n\t\t\tconst nextMin = resizeHandle.offsetHeight;\n\t\t\tsetHeightConstraints( { min: nextMin, max: nextMax } );\n\t\t};\n\t\tconst observer = new window.ResizeObserver( deriveConstraints );\n\t\tobserver.observe( container );\n\t\tfor ( const element of noticeLists ) {\n\t\t\tobserver.observe( element );\n\t\t}\n\t\treturn () => observer.disconnect();\n\t}, [] );\n\n\tconst separatorRef = useRef();\n\tconst separatorHelpId = useId();\n\n\tconst [ isUntouched, setIsUntouched ] = useState( true );\n\tconst applyHeight = ( candidateHeight, isPersistent, isInstant ) => {\n\t\tconst nextHeight = Math.min( max, Math.max( min, candidateHeight ) );\n\t\tif ( isPersistent ) {\n\t\t\tsetPreference(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'metaBoxesMainOpenHeight',\n\t\t\t\tnextHeight\n\t\t\t);\n\t\t} else {\n\t\t\tseparatorRef.current.ariaValueNow = getAriaValueNow( nextHeight );\n\t\t}\n\t\tif ( isInstant ) {\n\t\t\tmetaBoxesMainRef.current.updateSize( {\n\t\t\t\theight: nextHeight,\n\t\t\t\t// Oddly, when the event that triggered this was not from the mouse (e.g. keydown),\n\t\t\t\t// if `width` is left unspecified a subsequent drag gesture applies a fixed\n\t\t\t\t// width and the pane fails to widen/narrow with parent width changes from\n\t\t\t\t// sidebars opening/closing or window resizes.\n\t\t\t\twidth: 'auto',\n\t\t\t} );\n\t\t}\n\t};\n\n\tif ( ! hasAnyVisible ) {\n\t\treturn;\n\t}\n\n\tconst contents = (\n\t\t<div\n\t\t\t// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.\n\t\t\tclassName=\"edit-post-layout__metaboxes edit-post-meta-boxes-main__liner\"\n\t\t\thidden={ isShort && ! isOpen }\n\t\t>\n\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t</div>\n\t);\n\n\tconst isAutoHeight = openHeight === undefined;\n\tlet usedMax = '50%'; // Approximation before max has a value.\n\tif ( max !== undefined ) {\n\t\t// Halves the available max height until a user height is set.\n\t\tusedMax = isAutoHeight && isUntouched ? max / 2 : max;\n\t}\n\n\tconst getAriaValueNow = ( height ) =>\n\t\tMath.round( ( ( height - min ) / ( max - min ) ) * 100 );\n\tconst usedAriaValueNow =\n\t\tmax === undefined || isAutoHeight ? 50 : getAriaValueNow( openHeight );\n\n\tconst toggle = () =>\n\t\tsetPreference( 'core/edit-post', 'metaBoxesMainIsOpen', ! isOpen );\n\n\t// TODO: Support more/all keyboard interactions from the window splitter pattern:\n\t// https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/\n\tconst onSeparatorKeyDown = ( event ) => {\n\t\tconst delta = { ArrowUp: 20, ArrowDown: -20 }[ event.key ];\n\t\tif ( delta ) {\n\t\t\tconst pane = metaBoxesMainRef.current.resizable;\n\t\t\tconst fromHeight = isAutoHeight ? pane.offsetHeight : openHeight;\n\t\t\tconst nextHeight = delta + fromHeight;\n\t\t\tapplyHeight( nextHeight, true, true );\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\tconst className = 'edit-post-meta-boxes-main';\n\tconst paneLabel = __( 'Meta Boxes' );\n\tlet Pane, paneProps;\n\tif ( isShort ) {\n\t\tPane = NavigableRegion;\n\t\tpaneProps = {\n\t\t\tclassName: clsx( className, 'is-toggle-only' ),\n\t\t};\n\t} else {\n\t\tPane = ResizableBox;\n\t\tpaneProps = /** @type {Parameters<typeof ResizableBox>[0]} */ ( {\n\t\t\tas: NavigableRegion,\n\t\t\tref: metaBoxesMainRef,\n\t\t\tclassName: clsx( className, 'is-resizable' ),\n\t\t\tdefaultSize: { height: openHeight },\n\t\t\tminHeight: min,\n\t\t\tmaxHeight: usedMax,\n\t\t\tenable: {\n\t\t\t\ttop: true,\n\t\t\t\tright: false,\n\t\t\t\tbottom: false,\n\t\t\t\tleft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t},\n\t\t\thandleClasses: { top: 'edit-post-meta-boxes-main__presenter' },\n\t\t\thandleComponent: {\n\t\t\t\ttop: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip text={ __( 'Drag to resize' ) }>\n\t\t\t\t\t\t\t<button // eslint-disable-line jsx-a11y/role-supports-aria-props\n\t\t\t\t\t\t\t\tref={ separatorRef }\n\t\t\t\t\t\t\t\trole=\"separator\" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role\n\t\t\t\t\t\t\t\taria-valuenow={ usedAriaValueNow }\n\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\taria-describedby={ separatorHelpId }\n\t\t\t\t\t\t\t\tonKeyDown={ onSeparatorKeyDown }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t<VisuallyHidden id={ separatorHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use up and down arrow keys to resize the meta box panel.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t// Avoids hiccups while dragging over objects like iframes and ensures that\n\t\t\t// the event to end the drag is captured by the target (resize handle)\n\t\t\t// whether or not it’s under the pointer.\n\t\t\tonPointerDown: ( { pointerId, target } ) => {\n\t\t\t\ttarget.setPointerCapture( pointerId );\n\t\t\t},\n\t\t\tonResizeStart: ( event, direction, elementRef ) => {\n\t\t\t\tif ( isAutoHeight ) {\n\t\t\t\t\t// Sets the starting height to avoid visual jumps in height and\n\t\t\t\t\t// aria-valuenow being `NaN` for the first (few) resize events.\n\t\t\t\t\tapplyHeight( elementRef.offsetHeight, false, true );\n\t\t\t\t\tsetIsUntouched( false );\n\t\t\t\t}\n\t\t\t},\n\t\t\tonResize: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height ),\n\t\t\tonResizeStop: () =>\n\t\t\t\tapplyHeight( metaBoxesMainRef.current.state.height, true ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Pane aria-label={ paneLabel } { ...paneProps }>\n\t\t\t{ isShort ? (\n\t\t\t\t<button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\tclassName=\"edit-post-meta-boxes-main__presenter\"\n\t\t\t\t\tonClick={ toggle }\n\t\t\t\t>\n\t\t\t\t\t{ paneLabel }\n\t\t\t\t\t<Icon icon={ isOpen ? chevronUp : chevronDown } />\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<meta ref={ effectSizeConstraints } />\n\t\t\t) }\n\t\t\t{ contents }\n\t\t</Pane>\n\t);\n}\n\nfunction Layout( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n} ) {\n\tuseCommands();\n\tuseEditPostCommands();\n\tconst shouldIframe = useShouldIframe();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tcurrentPost: { postId: currentPostId, postType: currentPostType },\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord(\n\t\tinitialPostId,\n\t\tinitialPostType,\n\t\t'post-only'\n\t);\n\tconst isEditingTemplate = currentPostType === 'wp_template';\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\thasActiveMetaboxes,\n\t\thasBlockSelected,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowMetaBoxes,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t\tenablePaddingAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive } = select( editPostStore );\n\t\t\tconst { canUser, getPostType, getTemplateId } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode = settings.supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPostType )?.viewable ?? false;\n\t\t\tconst canViewTemplate = canUser( 'read', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst { isZoomOut } = unlock( select( blockEditorStore ) );\n\t\t\tconst { getEditorMode, getRenderingMode } = select( editorStore );\n\t\t\tconst isRenderingPostOnly = getRenderingMode() === 'post-only';\n\t\t\tconst isNotDesignPostType =\n\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType );\n\n\t\t\treturn {\n\t\t\t\tmode: getEditorMode(),\n\t\t\t\tisFullscreenActive:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\thasBlockSelected:\n\t\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tshowMetaBoxes: isNotDesignPostType && ! isZoomOut(),\n\t\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\t\ttemplateId:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanViewTemplate &&\n\t\t\t\t\t! isEditingTemplate\n\t\t\t\t\t\t? getTemplateId( currentPostType, currentPostId )\n\t\t\t\t\t\t: null,\n\t\t\t\tenablePaddingAppender:\n\t\t\t\t\t! isZoomOut() && isRenderingPostOnly && isNotDesignPostType,\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tcurrentPostType,\n\t\t\tcurrentPostId,\n\t\t\tisEditingTemplate,\n\t\t\tsettings.supportsTemplateMode,\n\t\t]\n\t);\n\tuseMetaBoxInitialization( hasActiveMetaboxes );\n\n\tconst [ paddingAppenderRef, paddingStyle ] = usePaddingAppender(\n\t\tenablePaddingAppender\n\t);\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'entity-edit';\n\tuseCommandContext( commandContext );\n\tconst editorSettings = useMemo(\n\t\t() => ( {\n\t\t\t...settings,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\tdefaultRenderingMode: 'post-only',\n\t\t} ),\n\t\t[ settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord ]\n\t);\n\tconst styles = useEditorStyles( paddingStyle );\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst navigateRegionsProps = useNavigateRegions();\n\n\tconst className = clsx( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t} );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\t\t{\n\t\t\t\t\t\tdocument.location.href = addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\ttrashed: 1,\n\t\t\t\t\t\t\tpost_type: items[ 0 ].type,\n\t\t\t\t\t\t\tids: items[ 0 ].id,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\tconst postId = newItem.id;\n\t\t\t\t\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t\t\t\t\taddQueryArgs( 'post.php', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpost: postId,\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'edit',\n\t\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},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ createSuccessNotice ]\n\t);\n\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tconst backButton =\n\t\tuseViewportMatch( 'medium' ) && isFullscreenActive ? (\n\t\t\t<BackButton initialPost={ initialPost } />\n\t\t) : null;\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ErrorBoundary>\n\t\t\t\t<CommandMenu />\n\t\t\t\t<WelcomeGuide postType={ currentPostType } />\n\t\t\t\t<div\n\t\t\t\t\tclassName={ navigateRegionsProps.className }\n\t\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\t>\n\t\t\t\t\t<Editor\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tpostType={ currentPostType }\n\t\t\t\t\t\tpostId={ currentPostId }\n\t\t\t\t\t\ttemplateId={ templateId }\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tcontentRef={ paddingAppenderRef }\n\t\t\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxes location=\"side\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraContent={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxesMain />\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t\t\t\t<BrowserURL />\n\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t<AutosaveMonitor />\n\t\t\t\t\t\t<LocalAutosaveMonitor />\n\t\t\t\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t<BlockKeyboardShortcuts />\n\t\t\t\t\t\t<InitPatternModal />\n\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t\t<PostEditorMoreMenu />\n\t\t\t\t\t\t{ backButton }\n\t\t\t\t\t\t<EditorSnackbars />\n\t\t\t\t\t</Editor>\n\t\t\t\t</div>\n\t\t\t</ErrorBoundary>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { useSelect
|
|
5
|
-
import { useEffect } from '@wordpress/element';
|
|
6
|
-
import { store as editorStore } from '@wordpress/editor';
|
|
4
|
+
import { useSelect } from '@wordpress/data';
|
|
7
5
|
|
|
8
6
|
/**
|
|
9
7
|
* Internal dependencies
|
|
@@ -15,38 +13,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
15
13
|
export default function MetaBoxes({
|
|
16
14
|
location
|
|
17
15
|
}) {
|
|
18
|
-
const
|
|
19
|
-
const {
|
|
20
|
-
metaBoxes,
|
|
21
|
-
areMetaBoxesInitialized,
|
|
22
|
-
isEditorReady
|
|
23
|
-
} = useSelect(select => {
|
|
24
|
-
const {
|
|
25
|
-
__unstableIsEditorReady
|
|
26
|
-
} = select(editorStore);
|
|
27
|
-
const {
|
|
28
|
-
getMetaBoxesPerLocation,
|
|
29
|
-
areMetaBoxesInitialized: _areMetaBoxesInitialized
|
|
30
|
-
} = select(editPostStore);
|
|
31
|
-
return {
|
|
32
|
-
metaBoxes: getMetaBoxesPerLocation(location),
|
|
33
|
-
areMetaBoxesInitialized: _areMetaBoxesInitialized(),
|
|
34
|
-
isEditorReady: __unstableIsEditorReady()
|
|
35
|
-
};
|
|
36
|
-
}, [location]);
|
|
37
|
-
const hasMetaBoxes = !!metaBoxes?.length;
|
|
38
|
-
|
|
39
|
-
// When editor is ready, initialize postboxes (wp core script) and metabox
|
|
40
|
-
// saving. This initializes all meta box locations, not just this specific
|
|
41
|
-
// one.
|
|
42
|
-
useEffect(() => {
|
|
43
|
-
if (isEditorReady && hasMetaBoxes && !areMetaBoxesInitialized) {
|
|
44
|
-
registry.dispatch(editPostStore).initializeMetaBoxes();
|
|
45
|
-
}
|
|
46
|
-
}, [isEditorReady, hasMetaBoxes, areMetaBoxesInitialized]);
|
|
47
|
-
if (!areMetaBoxesInitialized) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
16
|
+
const metaBoxes = useSelect(select => select(editPostStore).getMetaBoxesPerLocation(location), [location]);
|
|
50
17
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
51
18
|
children: [(metaBoxes !== null && metaBoxes !== void 0 ? metaBoxes : []).map(({
|
|
52
19
|
id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","
|
|
1
|
+
{"version":3,"names":["useSelect","MetaBoxesArea","MetaBoxVisibility","store","editPostStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","MetaBoxes","location","metaBoxes","select","getMetaBoxesPerLocation","children","map","id"],"sources":["@wordpress/edit-post/src/components/meta-boxes/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport MetaBoxesArea from './meta-boxes-area';\nimport MetaBoxVisibility from './meta-box-visibility';\nimport { store as editPostStore } from '../../store';\n\nexport default function MetaBoxes( { location } ) {\n\tconst metaBoxes = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editPostStore ).getMetaBoxesPerLocation( location ),\n\t\t[ location ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ ( metaBoxes ?? [] ).map( ( { id } ) => (\n\t\t\t\t<MetaBoxVisibility key={ id } id={ id } />\n\t\t\t) ) }\n\t\t\t<MetaBoxesArea location={ location } />\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAErD,eAAe,SAASC,SAASA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACjD,MAAMC,SAAS,GAAGb,SAAS,CACxBc,MAAM,IACPA,MAAM,CAAEV,aAAc,CAAC,CAACW,uBAAuB,CAAEH,QAAS,CAAC,EAC5D,CAAEA,QAAQ,CACX,CAAC;EACD,oBACCF,KAAA,CAAAF,SAAA;IAAAQ,QAAA,GACG,CAAEH,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,EAAGI,GAAG,CAAE,CAAE;MAAEC;IAAG,CAAC,kBAClCZ,IAAA,CAACJ,iBAAiB;MAAYgB,EAAE,EAAGA;IAAI,GAAdA,EAAgB,CACxC,CAAC,eACHZ,IAAA,CAACL,aAAa;MAACW,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAAA,CACtC,CAAC;AAEL","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
5
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
6
|
+
import { useEffect } from '@wordpress/element';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { store as editPostStore } from '../../store';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Initializes WordPress `postboxes` script and the logic for saving meta boxes.
|
|
15
|
+
*
|
|
16
|
+
* @param { boolean } enabled
|
|
17
|
+
*/
|
|
18
|
+
export const useMetaBoxInitialization = enabled => {
|
|
19
|
+
const isEnabledAndEditorReady = useSelect(select => enabled && select(editorStore).__unstableIsEditorReady(), [enabled]);
|
|
20
|
+
const {
|
|
21
|
+
initializeMetaBoxes
|
|
22
|
+
} = useDispatch(editPostStore);
|
|
23
|
+
// The effect has to rerun when the editor is ready because initializeMetaBoxes
|
|
24
|
+
// will noop until then.
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (isEnabledAndEditorReady) {
|
|
27
|
+
initializeMetaBoxes();
|
|
28
|
+
}
|
|
29
|
+
}, [isEnabledAndEditorReady, initializeMetaBoxes]);
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=use-meta-box-initialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useDispatch","useSelect","store","editorStore","useEffect","editPostStore","useMetaBoxInitialization","enabled","isEnabledAndEditorReady","select","__unstableIsEditorReady","initializeMetaBoxes"],"sources":["@wordpress/edit-post/src/components/meta-boxes/use-meta-box-initialization.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n *\n * @param { boolean } enabled\n */\nexport const useMetaBoxInitialization = ( enabled ) => {\n\tconst isEnabledAndEditorReady = useSelect(\n\t\t( select ) =>\n\t\t\tenabled && select( editorStore ).__unstableIsEditorReady(),\n\t\t[ enabled ]\n\t);\n\tconst { initializeMetaBoxes } = useDispatch( editPostStore );\n\t// The effect has to rerun when the editor is ready because initializeMetaBoxes\n\t// will noop until then.\n\tuseEffect( () => {\n\t\tif ( isEnabledAndEditorReady ) {\n\t\t\tinitializeMetaBoxes();\n\t\t}\n\t}, [ isEnabledAndEditorReady, initializeMetaBoxes ] );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,aAAa;;AAEpD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAKC,OAAO,IAAM;EACtD,MAAMC,uBAAuB,GAAGP,SAAS,CACtCQ,MAAM,IACPF,OAAO,IAAIE,MAAM,CAAEN,WAAY,CAAC,CAACO,uBAAuB,CAAC,CAAC,EAC3D,CAAEH,OAAO,CACV,CAAC;EACD,MAAM;IAAEI;EAAoB,CAAC,GAAGX,WAAW,CAAEK,aAAc,CAAC;EAC5D;EACA;EACAD,SAAS,CAAE,MAAM;IAChB,IAAKI,uBAAuB,EAAG;MAC9BG,mBAAmB,CAAC,CAAC;IACtB;EACD,CAAC,EAAE,CAAEH,uBAAuB,EAAEG,mBAAmB,CAAG,CAAC;AACtD,CAAC","ignoreList":[]}
|
package/build-style/style.css
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-post",
|
|
3
|
-
"version": "8.13.0",
|
|
3
|
+
"version": "8.13.1-next.cd6172eb0.0",
|
|
4
4
|
"description": "Edit Post module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -29,35 +29,35 @@
|
|
|
29
29
|
"wpScript": true,
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@babel/runtime": "7.25.7",
|
|
32
|
-
"@wordpress/a11y": "
|
|
33
|
-
"@wordpress/api-fetch": "
|
|
34
|
-
"@wordpress/block-editor": "
|
|
35
|
-
"@wordpress/block-library": "
|
|
36
|
-
"@wordpress/blocks": "
|
|
37
|
-
"@wordpress/commands": "
|
|
32
|
+
"@wordpress/a11y": "^4.13.1-next.cd6172eb0.0",
|
|
33
|
+
"@wordpress/api-fetch": "^7.13.1-next.cd6172eb0.0",
|
|
34
|
+
"@wordpress/block-editor": "^14.8.1-next.cd6172eb0.0",
|
|
35
|
+
"@wordpress/block-library": "^9.13.1-next.cd6172eb0.0",
|
|
36
|
+
"@wordpress/blocks": "^14.2.1-next.cd6172eb0.0",
|
|
37
|
+
"@wordpress/commands": "^1.13.1-next.cd6172eb0.0",
|
|
38
38
|
"@wordpress/components": "*",
|
|
39
|
-
"@wordpress/compose": "
|
|
40
|
-
"@wordpress/core-commands": "
|
|
41
|
-
"@wordpress/core-data": "
|
|
42
|
-
"@wordpress/data": "
|
|
43
|
-
"@wordpress/deprecated": "
|
|
44
|
-
"@wordpress/dom": "
|
|
45
|
-
"@wordpress/editor": "
|
|
46
|
-
"@wordpress/element": "
|
|
47
|
-
"@wordpress/hooks": "
|
|
48
|
-
"@wordpress/html-entities": "
|
|
49
|
-
"@wordpress/i18n": "
|
|
50
|
-
"@wordpress/icons": "
|
|
51
|
-
"@wordpress/keyboard-shortcuts": "
|
|
52
|
-
"@wordpress/keycodes": "
|
|
53
|
-
"@wordpress/notices": "
|
|
54
|
-
"@wordpress/plugins": "
|
|
55
|
-
"@wordpress/preferences": "
|
|
56
|
-
"@wordpress/private-apis": "
|
|
57
|
-
"@wordpress/url": "
|
|
58
|
-
"@wordpress/viewport": "
|
|
59
|
-
"@wordpress/warning": "
|
|
60
|
-
"@wordpress/widgets": "
|
|
39
|
+
"@wordpress/compose": "^7.13.1-next.cd6172eb0.0",
|
|
40
|
+
"@wordpress/core-commands": "^1.13.1-next.cd6172eb0.0",
|
|
41
|
+
"@wordpress/core-data": "^7.13.1-next.cd6172eb0.0",
|
|
42
|
+
"@wordpress/data": "^10.13.1-next.cd6172eb0.0",
|
|
43
|
+
"@wordpress/deprecated": "^4.13.1-next.cd6172eb0.0",
|
|
44
|
+
"@wordpress/dom": "^4.13.1-next.cd6172eb0.0",
|
|
45
|
+
"@wordpress/editor": "^14.13.1-next.cd6172eb0.0",
|
|
46
|
+
"@wordpress/element": "^6.13.1-next.cd6172eb0.0",
|
|
47
|
+
"@wordpress/hooks": "^4.13.1-next.cd6172eb0.0",
|
|
48
|
+
"@wordpress/html-entities": "^4.13.1-next.cd6172eb0.0",
|
|
49
|
+
"@wordpress/i18n": "^5.13.1-next.cd6172eb0.0",
|
|
50
|
+
"@wordpress/icons": "^10.13.1-next.cd6172eb0.0",
|
|
51
|
+
"@wordpress/keyboard-shortcuts": "^5.13.1-next.cd6172eb0.0",
|
|
52
|
+
"@wordpress/keycodes": "^4.13.1-next.cd6172eb0.0",
|
|
53
|
+
"@wordpress/notices": "^5.13.1-next.cd6172eb0.0",
|
|
54
|
+
"@wordpress/plugins": "^7.13.1-next.cd6172eb0.0",
|
|
55
|
+
"@wordpress/preferences": "^4.13.1-next.cd6172eb0.0",
|
|
56
|
+
"@wordpress/private-apis": "^1.13.1-next.cd6172eb0.0",
|
|
57
|
+
"@wordpress/url": "^4.13.1-next.cd6172eb0.0",
|
|
58
|
+
"@wordpress/viewport": "^6.13.1-next.cd6172eb0.0",
|
|
59
|
+
"@wordpress/warning": "^3.13.1-next.cd6172eb0.0",
|
|
60
|
+
"@wordpress/widgets": "^4.13.1-next.cd6172eb0.0",
|
|
61
61
|
"clsx": "^2.1.1",
|
|
62
62
|
"memize": "^2.1.0"
|
|
63
63
|
},
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"publishConfig": {
|
|
69
69
|
"access": "public"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "4cc93dc1781d8a7bc2bbde265913917920e2bd45"
|
|
72
72
|
}
|
|
@@ -74,6 +74,7 @@ import useEditPostCommands from '../../commands/use-commands';
|
|
|
74
74
|
import { usePaddingAppender } from './use-padding-appender';
|
|
75
75
|
import { useShouldIframe } from './use-should-iframe';
|
|
76
76
|
import useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';
|
|
77
|
+
import { useMetaBoxInitialization } from '../meta-boxes/use-meta-box-initialization';
|
|
77
78
|
|
|
78
79
|
const { getLayoutStyles } = unlock( blockEditorPrivateApis );
|
|
79
80
|
const { useCommands } = unlock( coreCommandsPrivateApis );
|
|
@@ -148,11 +149,7 @@ function useEditorStyles( ...additionalStyles ) {
|
|
|
148
149
|
] );
|
|
149
150
|
}
|
|
150
151
|
|
|
151
|
-
|
|
152
|
-
* @param {Object} props
|
|
153
|
-
* @param {boolean} props.isLegacy True when the editor canvas is not in an iframe.
|
|
154
|
-
*/
|
|
155
|
-
function MetaBoxesMain( { isLegacy } ) {
|
|
152
|
+
function MetaBoxesMain() {
|
|
156
153
|
const [ isOpen, openHeight, hasAnyVisible ] = useSelect( ( select ) => {
|
|
157
154
|
const { get } = select( preferencesStore );
|
|
158
155
|
const { isMetaBoxLocationVisible } = select( editPostStore );
|
|
@@ -232,22 +229,15 @@ function MetaBoxesMain( { isLegacy } ) {
|
|
|
232
229
|
|
|
233
230
|
const contents = (
|
|
234
231
|
<div
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
! isLegacy && 'edit-post-meta-boxes-main__liner'
|
|
239
|
-
) }
|
|
240
|
-
hidden={ ! isLegacy && isShort && ! isOpen }
|
|
232
|
+
// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.
|
|
233
|
+
className="edit-post-layout__metaboxes edit-post-meta-boxes-main__liner"
|
|
234
|
+
hidden={ isShort && ! isOpen }
|
|
241
235
|
>
|
|
242
236
|
<MetaBoxes location="normal" />
|
|
243
237
|
<MetaBoxes location="advanced" />
|
|
244
238
|
</div>
|
|
245
239
|
);
|
|
246
240
|
|
|
247
|
-
if ( isLegacy ) {
|
|
248
|
-
return contents;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
241
|
const isAutoHeight = openHeight === undefined;
|
|
252
242
|
let usedMax = '50%'; // Approximation before max has a value.
|
|
253
243
|
if ( max !== undefined ) {
|
|
@@ -413,6 +403,8 @@ function Layout( {
|
|
|
413
403
|
const { isZoomOut } = unlock( select( blockEditorStore ) );
|
|
414
404
|
const { getEditorMode, getRenderingMode } = select( editorStore );
|
|
415
405
|
const isRenderingPostOnly = getRenderingMode() === 'post-only';
|
|
406
|
+
const isNotDesignPostType =
|
|
407
|
+
! DESIGN_POST_TYPES.includes( currentPostType );
|
|
416
408
|
|
|
417
409
|
return {
|
|
418
410
|
mode: getEditorMode(),
|
|
@@ -423,9 +415,7 @@ function Layout( {
|
|
|
423
415
|
!! select( blockEditorStore ).getBlockSelectionStart(),
|
|
424
416
|
showIconLabels: get( 'core', 'showIconLabels' ),
|
|
425
417
|
isDistractionFree: get( 'core', 'distractionFree' ),
|
|
426
|
-
showMetaBoxes:
|
|
427
|
-
! DESIGN_POST_TYPES.includes( currentPostType ) &&
|
|
428
|
-
! isZoomOut(),
|
|
418
|
+
showMetaBoxes: isNotDesignPostType && ! isZoomOut(),
|
|
429
419
|
isWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),
|
|
430
420
|
templateId:
|
|
431
421
|
supportsTemplateMode &&
|
|
@@ -435,9 +425,7 @@ function Layout( {
|
|
|
435
425
|
? getTemplateId( currentPostType, currentPostId )
|
|
436
426
|
: null,
|
|
437
427
|
enablePaddingAppender:
|
|
438
|
-
! isZoomOut() &&
|
|
439
|
-
isRenderingPostOnly &&
|
|
440
|
-
! DESIGN_POST_TYPES.includes( currentPostType ),
|
|
428
|
+
! isZoomOut() && isRenderingPostOnly && isNotDesignPostType,
|
|
441
429
|
};
|
|
442
430
|
},
|
|
443
431
|
[
|
|
@@ -447,6 +435,8 @@ function Layout( {
|
|
|
447
435
|
settings.supportsTemplateMode,
|
|
448
436
|
]
|
|
449
437
|
);
|
|
438
|
+
useMetaBoxInitialization( hasActiveMetaboxes );
|
|
439
|
+
|
|
450
440
|
const [ paddingAppenderRef, paddingStyle ] = usePaddingAppender(
|
|
451
441
|
enablePaddingAppender
|
|
452
442
|
);
|
|
@@ -586,9 +576,7 @@ function Layout( {
|
|
|
586
576
|
}
|
|
587
577
|
extraContent={
|
|
588
578
|
! isDistractionFree &&
|
|
589
|
-
showMetaBoxes &&
|
|
590
|
-
<MetaBoxesMain isLegacy={ ! shouldIframe } />
|
|
591
|
-
)
|
|
579
|
+
showMetaBoxes && <MetaBoxesMain />
|
|
592
580
|
}
|
|
593
581
|
>
|
|
594
582
|
<PostLockedModal />
|
|
@@ -107,11 +107,9 @@
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
.has-metaboxes .editor-visual-editor {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
isolation: isolate;
|
|
114
|
-
}
|
|
110
|
+
// Contains z-indexes of children so that the block toolbar will appear behind
|
|
111
|
+
// the drop shadow of the meta box pane.
|
|
112
|
+
isolation: isolate;
|
|
115
113
|
}
|
|
116
114
|
|
|
117
115
|
// Adjust the position of the notices
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { useSelect
|
|
5
|
-
import { useEffect } from '@wordpress/element';
|
|
6
|
-
import { store as editorStore } from '@wordpress/editor';
|
|
4
|
+
import { useSelect } from '@wordpress/data';
|
|
7
5
|
|
|
8
6
|
/**
|
|
9
7
|
* Internal dependencies
|
|
@@ -13,38 +11,11 @@ import MetaBoxVisibility from './meta-box-visibility';
|
|
|
13
11
|
import { store as editPostStore } from '../../store';
|
|
14
12
|
|
|
15
13
|
export default function MetaBoxes( { location } ) {
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const { __unstableIsEditorReady } = select( editorStore );
|
|
20
|
-
const {
|
|
21
|
-
getMetaBoxesPerLocation,
|
|
22
|
-
areMetaBoxesInitialized: _areMetaBoxesInitialized,
|
|
23
|
-
} = select( editPostStore );
|
|
24
|
-
return {
|
|
25
|
-
metaBoxes: getMetaBoxesPerLocation( location ),
|
|
26
|
-
areMetaBoxesInitialized: _areMetaBoxesInitialized(),
|
|
27
|
-
isEditorReady: __unstableIsEditorReady(),
|
|
28
|
-
};
|
|
29
|
-
},
|
|
14
|
+
const metaBoxes = useSelect(
|
|
15
|
+
( select ) =>
|
|
16
|
+
select( editPostStore ).getMetaBoxesPerLocation( location ),
|
|
30
17
|
[ location ]
|
|
31
18
|
);
|
|
32
|
-
|
|
33
|
-
const hasMetaBoxes = !! metaBoxes?.length;
|
|
34
|
-
|
|
35
|
-
// When editor is ready, initialize postboxes (wp core script) and metabox
|
|
36
|
-
// saving. This initializes all meta box locations, not just this specific
|
|
37
|
-
// one.
|
|
38
|
-
useEffect( () => {
|
|
39
|
-
if ( isEditorReady && hasMetaBoxes && ! areMetaBoxesInitialized ) {
|
|
40
|
-
registry.dispatch( editPostStore ).initializeMetaBoxes();
|
|
41
|
-
}
|
|
42
|
-
}, [ isEditorReady, hasMetaBoxes, areMetaBoxesInitialized ] );
|
|
43
|
-
|
|
44
|
-
if ( ! areMetaBoxesInitialized ) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
19
|
return (
|
|
49
20
|
<>
|
|
50
21
|
{ ( metaBoxes ?? [] ).map( ( { id } ) => (
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
5
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
6
|
+
import { useEffect } from '@wordpress/element';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { store as editPostStore } from '../../store';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Initializes WordPress `postboxes` script and the logic for saving meta boxes.
|
|
15
|
+
*
|
|
16
|
+
* @param { boolean } enabled
|
|
17
|
+
*/
|
|
18
|
+
export const useMetaBoxInitialization = ( enabled ) => {
|
|
19
|
+
const isEnabledAndEditorReady = useSelect(
|
|
20
|
+
( select ) =>
|
|
21
|
+
enabled && select( editorStore ).__unstableIsEditorReady(),
|
|
22
|
+
[ enabled ]
|
|
23
|
+
);
|
|
24
|
+
const { initializeMetaBoxes } = useDispatch( editPostStore );
|
|
25
|
+
// The effect has to rerun when the editor is ready because initializeMetaBoxes
|
|
26
|
+
// will noop until then.
|
|
27
|
+
useEffect( () => {
|
|
28
|
+
if ( isEnabledAndEditorReady ) {
|
|
29
|
+
initializeMetaBoxes();
|
|
30
|
+
}
|
|
31
|
+
}, [ isEnabledAndEditorReady, initializeMetaBoxes ] );
|
|
32
|
+
};
|