@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.
@@ -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
- 'edit-post-layout__metaboxes', !isLegacy && 'edit-post-meta-boxes-main__liner'),
194
- hidden: !isLegacy && isShort && !isOpen,
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: !DESIGN_POST_TYPES.includes(currentPostType) && !isZoomOut(),
374
+ showMetaBoxes: isNotDesignPostType && !isZoomOut(),
384
375
  isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
385
376
  templateId: supportsTemplateMode && isViewable && canViewTemplate && !isEditingTemplate ? getTemplateId(currentPostType, currentPostId) : null,
386
- enablePaddingAppender: !isZoomOut() && isRenderingPostOnly && !DESIGN_POST_TYPES.includes(currentPostType)
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":"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","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 registry = (0, _data.useRegistry)();
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","_element","_editor","_metaBoxesArea","_interopRequireDefault","_metaBoxVisibility","_store","_jsxRuntime","MetaBoxes","location","registry","useRegistry","metaBoxes","areMetaBoxesInitialized","isEditorReady","useSelect","select","__unstableIsEditorReady","editorStore","getMetaBoxesPerLocation","_areMetaBoxesInitialized","editPostStore","hasMetaBoxes","length","useEffect","dispatch","initializeMetaBoxes","jsxs","Fragment","children","map","id","jsx","default"],"sources":["@wordpress/edit-post/src/components/meta-boxes/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useRegistry } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\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 registry = useRegistry();\n\tconst { metaBoxes, areMetaBoxesInitialized, isEditorReady } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __unstableIsEditorReady } = select( editorStore );\n\t\t\tconst {\n\t\t\t\tgetMetaBoxesPerLocation,\n\t\t\t\tareMetaBoxesInitialized: _areMetaBoxesInitialized,\n\t\t\t} = select( editPostStore );\n\t\t\treturn {\n\t\t\t\tmetaBoxes: getMetaBoxesPerLocation( location ),\n\t\t\t\tareMetaBoxesInitialized: _areMetaBoxesInitialized(),\n\t\t\t\tisEditorReady: __unstableIsEditorReady(),\n\t\t\t};\n\t\t},\n\t\t[ location ]\n\t);\n\n\tconst hasMetaBoxes = !! metaBoxes?.length;\n\n\t// When editor is ready, initialize postboxes (wp core script) and metabox\n\t// saving. This initializes all meta box locations, not just this specific\n\t// one.\n\tuseEffect( () => {\n\t\tif ( isEditorReady && hasMetaBoxes && ! areMetaBoxesInitialized ) {\n\t\t\tregistry.dispatch( editPostStore ).initializeMetaBoxes();\n\t\t}\n\t}, [ isEditorReady, hasMetaBoxes, areMetaBoxesInitialized ] );\n\n\tif ( ! areMetaBoxesInitialized ) {\n\t\treturn null;\n\t}\n\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;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAKA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAqD,IAAAO,WAAA,GAAAP,OAAA;AAZrD;AACA;AACA;;AAKA;AACA;AACA;;AAKe,SAASQ,SAASA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACjD,MAAMC,QAAQ,GAAG,IAAAC,iBAAW,EAAC,CAAC;EAC9B,MAAM;IAAEC,SAAS;IAAEC,uBAAuB;IAAEC;EAAc,CAAC,GAAG,IAAAC,eAAS,EACpEC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAwB,CAAC,GAAGD,MAAM,CAAEE,aAAY,CAAC;IACzD,MAAM;MACLC,uBAAuB;MACvBN,uBAAuB,EAAEO;IAC1B,CAAC,GAAGJ,MAAM,CAAEK,YAAc,CAAC;IAC3B,OAAO;MACNT,SAAS,EAAEO,uBAAuB,CAAEV,QAAS,CAAC;MAC9CI,uBAAuB,EAAEO,wBAAwB,CAAC,CAAC;MACnDN,aAAa,EAAEG,uBAAuB,CAAC;IACxC,CAAC;EACF,CAAC,EACD,CAAER,QAAQ,CACX,CAAC;EAED,MAAMa,YAAY,GAAG,CAAC,CAAEV,SAAS,EAAEW,MAAM;;EAEzC;EACA;EACA;EACA,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKV,aAAa,IAAIQ,YAAY,IAAI,CAAET,uBAAuB,EAAG;MACjEH,QAAQ,CAACe,QAAQ,CAAEJ,YAAc,CAAC,CAACK,mBAAmB,CAAC,CAAC;IACzD;EACD,CAAC,EAAE,CAAEZ,aAAa,EAAEQ,YAAY,EAAET,uBAAuB,CAAG,CAAC;EAE7D,IAAK,CAAEA,uBAAuB,EAAG;IAChC,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAN,WAAA,CAAAoB,IAAA,EAAApB,WAAA,CAAAqB,QAAA;IAAAC,QAAA,GACG,CAAEjB,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,EAAGkB,GAAG,CAAE,CAAE;MAAEC;IAAG,CAAC,kBAClC,IAAAxB,WAAA,CAAAyB,GAAA,EAAC3B,kBAAA,CAAA4B,OAAiB;MAAYF,EAAE,EAAGA;IAAI,GAAdA,EAAgB,CACxC,CAAC,eACH,IAAAxB,WAAA,CAAAyB,GAAA,EAAC7B,cAAA,CAAA8B,OAAa;MAACxB,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAAA,CACtC,CAAC;AAEL","ignoreList":[]}
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
- 'edit-post-layout__metaboxes', !isLegacy && 'edit-post-meta-boxes-main__liner'),
186
- hidden: !isLegacy && isShort && !isOpen,
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: !DESIGN_POST_TYPES.includes(currentPostType) && !isZoomOut(),
366
+ showMetaBoxes: isNotDesignPostType && !isZoomOut(),
376
367
  isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
377
368
  templateId: supportsTemplateMode && isViewable && canViewTemplate && !isEditingTemplate ? getTemplateId(currentPostType, currentPostId) : null,
378
- enablePaddingAppender: !isZoomOut() && isRenderingPostOnly && !DESIGN_POST_TYPES.includes(currentPostType)
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, useRegistry } from '@wordpress/data';
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 registry = useRegistry();
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","useRegistry","useEffect","store","editorStore","MetaBoxesArea","MetaBoxVisibility","editPostStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","MetaBoxes","location","registry","metaBoxes","areMetaBoxesInitialized","isEditorReady","select","__unstableIsEditorReady","getMetaBoxesPerLocation","_areMetaBoxesInitialized","hasMetaBoxes","length","dispatch","initializeMetaBoxes","children","map","id"],"sources":["@wordpress/edit-post/src/components/meta-boxes/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useRegistry } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\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 registry = useRegistry();\n\tconst { metaBoxes, areMetaBoxesInitialized, isEditorReady } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __unstableIsEditorReady } = select( editorStore );\n\t\t\tconst {\n\t\t\t\tgetMetaBoxesPerLocation,\n\t\t\t\tareMetaBoxesInitialized: _areMetaBoxesInitialized,\n\t\t\t} = select( editPostStore );\n\t\t\treturn {\n\t\t\t\tmetaBoxes: getMetaBoxesPerLocation( location ),\n\t\t\t\tareMetaBoxesInitialized: _areMetaBoxesInitialized(),\n\t\t\t\tisEditorReady: __unstableIsEditorReady(),\n\t\t\t};\n\t\t},\n\t\t[ location ]\n\t);\n\n\tconst hasMetaBoxes = !! metaBoxes?.length;\n\n\t// When editor is ready, initialize postboxes (wp core script) and metabox\n\t// saving. This initializes all meta box locations, not just this specific\n\t// one.\n\tuseEffect( () => {\n\t\tif ( isEditorReady && hasMetaBoxes && ! areMetaBoxesInitialized ) {\n\t\t\tregistry.dispatch( editPostStore ).initializeMetaBoxes();\n\t\t}\n\t}, [ isEditorReady, hasMetaBoxes, areMetaBoxesInitialized ] );\n\n\tif ( ! areMetaBoxesInitialized ) {\n\t\treturn null;\n\t}\n\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,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,SAASH,KAAK,IAAII,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,QAAQ,GAAGf,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEgB,SAAS;IAAEC,uBAAuB;IAAEC;EAAc,CAAC,GAAGnB,SAAS,CACpEoB,MAAM,IAAM;IACb,MAAM;MAAEC;IAAwB,CAAC,GAAGD,MAAM,CAAEhB,WAAY,CAAC;IACzD,MAAM;MACLkB,uBAAuB;MACvBJ,uBAAuB,EAAEK;IAC1B,CAAC,GAAGH,MAAM,CAAEb,aAAc,CAAC;IAC3B,OAAO;MACNU,SAAS,EAAEK,uBAAuB,CAAEP,QAAS,CAAC;MAC9CG,uBAAuB,EAAEK,wBAAwB,CAAC,CAAC;MACnDJ,aAAa,EAAEE,uBAAuB,CAAC;IACxC,CAAC;EACF,CAAC,EACD,CAAEN,QAAQ,CACX,CAAC;EAED,MAAMS,YAAY,GAAG,CAAC,CAAEP,SAAS,EAAEQ,MAAM;;EAEzC;EACA;EACA;EACAvB,SAAS,CAAE,MAAM;IAChB,IAAKiB,aAAa,IAAIK,YAAY,IAAI,CAAEN,uBAAuB,EAAG;MACjEF,QAAQ,CAACU,QAAQ,CAAEnB,aAAc,CAAC,CAACoB,mBAAmB,CAAC,CAAC;IACzD;EACD,CAAC,EAAE,CAAER,aAAa,EAAEK,YAAY,EAAEN,uBAAuB,CAAG,CAAC;EAE7D,IAAK,CAAEA,uBAAuB,EAAG;IAChC,OAAO,IAAI;EACZ;EAEA,oBACCL,KAAA,CAAAF,SAAA;IAAAiB,QAAA,GACG,CAAEX,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,EAAGY,GAAG,CAAE,CAAE;MAAEC;IAAG,CAAC,kBAClCrB,IAAA,CAACH,iBAAiB;MAAYwB,EAAE,EAAGA;IAAI,GAAdA,EAAgB,CACxC,CAAC,eACHrB,IAAA,CAACJ,aAAa;MAACU,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAAA,CACtC,CAAC;AAEL","ignoreList":[]}
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":[]}
@@ -288,9 +288,6 @@
288
288
  }
289
289
 
290
290
  .has-metaboxes .editor-visual-editor {
291
- flex: 1;
292
- }
293
- .has-metaboxes .editor-visual-editor.is-iframed {
294
291
  isolation: isolate;
295
292
  }
296
293
 
@@ -288,9 +288,6 @@
288
288
  }
289
289
 
290
290
  .has-metaboxes .editor-visual-editor {
291
- flex: 1;
292
- }
293
- .has-metaboxes .editor-visual-editor.is-iframed {
294
291
  isolation: isolate;
295
292
  }
296
293
 
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": "cce81c13739c2a8b53d91df90c4f037cb68c2665"
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
- className={ clsx(
236
- // The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.
237
- 'edit-post-layout__metaboxes',
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
- flex: 1;
111
-
112
- &.is-iframed {
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, useRegistry } from '@wordpress/data';
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 registry = useRegistry();
17
- const { metaBoxes, areMetaBoxesInitialized, isEditorReady } = useSelect(
18
- ( select ) => {
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
+ };