@wordpress/edit-post 8.8.7 → 8.8.9

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.
@@ -12,6 +12,7 @@ var _blockEditor = require("@wordpress/block-editor");
12
12
  var _plugins = require("@wordpress/plugins");
13
13
  var _i18n = require("@wordpress/i18n");
14
14
  var _element = require("@wordpress/element");
15
+ var _icons = require("@wordpress/icons");
15
16
  var _notices = require("@wordpress/notices");
16
17
  var _preferences = require("@wordpress/preferences");
17
18
  var _commands = require("@wordpress/commands");
@@ -60,7 +61,8 @@ const {
60
61
  } = (0, _lockUnlock.unlock)(_commands.privateApis);
61
62
  const {
62
63
  Editor,
63
- FullscreenMode
64
+ FullscreenMode,
65
+ NavigableRegion
64
66
  } = (0, _lockUnlock.unlock)(_editor.privateApis);
65
67
  const {
66
68
  BlockKeyboardShortcuts
@@ -145,7 +147,7 @@ function MetaBoxesMain({
145
147
  const {
146
148
  set: setPreference
147
149
  } = (0, _data.useDispatch)(_preferences.store);
148
- const resizableBoxRef = (0, _element.useRef)();
150
+ const metaBoxesMainRef = (0, _element.useRef)();
149
151
  const isShort = (0, _compose.useMediaQuery)('(max-height: 549px)');
150
152
  const [{
151
153
  min,
@@ -157,8 +159,8 @@ function MetaBoxesMain({
157
159
  const effectSizeConstraints = (0, _compose.useRefEffect)(node => {
158
160
  const container = node.closest('.interface-interface-skeleton__content');
159
161
  const noticeLists = container.querySelectorAll(':scope > .components-notice-list');
160
- const resizeHandle = container.querySelector('.edit-post-meta-boxes-main__resize-handle');
161
- const actualize = () => {
162
+ const resizeHandle = container.querySelector('.edit-post-meta-boxes-main__presenter');
163
+ const deriveConstraints = () => {
162
164
  const fullHeight = container.offsetHeight;
163
165
  let nextMax = fullHeight;
164
166
  for (const element of noticeLists) {
@@ -170,7 +172,7 @@ function MetaBoxesMain({
170
172
  max: nextMax
171
173
  });
172
174
  };
173
- const observer = new window.ResizeObserver(actualize);
175
+ const observer = new window.ResizeObserver(deriveConstraints);
174
176
  observer.observe(container);
175
177
  for (const element of noticeLists) {
176
178
  observer.observe(element);
@@ -180,14 +182,32 @@ function MetaBoxesMain({
180
182
  const separatorRef = (0, _element.useRef)();
181
183
  const separatorHelpId = (0, _element.useId)();
182
184
  const [isUntouched, setIsUntouched] = (0, _element.useState)(true);
185
+ const applyHeight = (candidateHeight, isPersistent, isInstant) => {
186
+ const nextHeight = Math.min(max, Math.max(min, candidateHeight));
187
+ if (isPersistent) {
188
+ setPreference('core/edit-post', 'metaBoxesMainOpenHeight', nextHeight);
189
+ } else {
190
+ separatorRef.current.ariaValueNow = getAriaValueNow(nextHeight);
191
+ }
192
+ if (isInstant) {
193
+ metaBoxesMainRef.current.updateSize({
194
+ height: nextHeight,
195
+ // Oddly, when the event that triggered this was not from the mouse (e.g. keydown),
196
+ // if `width` is left unspecified a subsequent drag gesture applies a fixed
197
+ // width and the pane fails to widen/narrow with parent width changes from
198
+ // sidebars opening/closing or window resizes.
199
+ width: 'auto'
200
+ });
201
+ }
202
+ };
183
203
  if (!hasAnyVisible) {
184
204
  return;
185
205
  }
186
- const className = 'edit-post-meta-boxes-main';
187
206
  const contents = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
188
207
  className: (0, _clsx.default)(
189
208
  // The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.
190
209
  'edit-post-layout__metaboxes', !isLegacy && 'edit-post-meta-boxes-main__liner'),
210
+ hidden: !isLegacy && isShort && !isOpen,
191
211
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
192
212
  location: "normal"
193
213
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
@@ -205,20 +225,7 @@ function MetaBoxesMain({
205
225
  }
206
226
  const getAriaValueNow = height => Math.round((height - min) / (max - min) * 100);
207
227
  const usedAriaValueNow = max === undefined || isAutoHeight ? 50 : getAriaValueNow(openHeight);
208
- if (isShort) {
209
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("details", {
210
- className: className,
211
- open: isOpen,
212
- onToggle: ({
213
- target
214
- }) => {
215
- setPreference('core/edit-post', 'metaBoxesMainIsOpen', target.open);
216
- },
217
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("summary", {
218
- children: (0, _i18n.__)('Meta Boxes')
219
- }), contents]
220
- });
221
- }
228
+ const toggle = () => setPreference('core/edit-post', 'metaBoxesMainIsOpen', !isOpen);
222
229
 
223
230
  // TODO: Support more/all keyboard interactions from the window splitter pattern:
224
231
  // https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/
@@ -228,99 +235,97 @@ function MetaBoxesMain({
228
235
  ArrowDown: -20
229
236
  }[event.key];
230
237
  if (delta) {
231
- const {
232
- resizable
233
- } = resizableBoxRef.current;
234
- const fromHeight = isAutoHeight ? resizable.offsetHeight : openHeight;
235
- const nextHeight = Math.min(max, Math.max(min, delta + fromHeight));
236
- resizableBoxRef.current.updateSize({
237
- height: nextHeight,
238
- // Oddly, if left unspecified a subsequent drag gesture applies a fixed
239
- // width and the pane fails to shrink/grow with parent width changes from
240
- // sidebars opening/closing or window resizes.
241
- width: 'auto'
242
- });
243
- setPreference('core/edit-post', 'metaBoxesMainOpenHeight', nextHeight);
238
+ const pane = metaBoxesMainRef.current.resizable;
239
+ const fromHeight = isAutoHeight ? pane.offsetHeight : openHeight;
240
+ const nextHeight = delta + fromHeight;
241
+ applyHeight(nextHeight, true, true);
242
+ event.preventDefault();
244
243
  }
245
244
  };
246
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.ResizableBox, {
247
- className: className,
248
- defaultSize: {
249
- height: openHeight
250
- },
251
- ref: resizableBoxRef,
252
- enable: {
253
- top: true,
254
- right: false,
255
- bottom: false,
256
- left: false,
257
- topLeft: false,
258
- topRight: false,
259
- bottomRight: false,
260
- bottomLeft: false
261
- },
262
- minHeight: min,
263
- maxHeight: usedMax,
264
- bounds: "parent",
265
- boundsByDirection: true
266
- // Avoids hiccups while dragging over objects like iframes and ensures that
267
- // the event to end the drag is captured by the target (resize handle)
268
- // whether or not it’s under the pointer.
269
- ,
270
- onPointerDown: ({
271
- pointerId,
272
- target
273
- }) => {
274
- target.setPointerCapture(pointerId);
275
- },
276
- onResizeStart: (event, direction, elementRef) => {
277
- if (isAutoHeight) {
278
- const heightNow = elementRef.offsetHeight;
279
- // Sets the starting height to avoid visual jumps in height and
280
- // aria-valuenow being `NaN` for the first (few) resize events.
281
- resizableBoxRef.current.updateSize({
282
- height: heightNow
283
- });
284
- // Causes `maxHeight` to update to full `max` value instead of half.
285
- setIsUntouched(false);
286
- }
287
- },
288
- onResize: () => {
289
- const {
290
- height
291
- } = resizableBoxRef.current.state;
292
- const separator = separatorRef.current;
293
- separator.ariaValueNow = getAriaValueNow(height);
294
- },
295
- onResizeStop: () => {
296
- const nextHeight = resizableBoxRef.current.state.height;
297
- setPreference('core/edit-post', 'metaBoxesMainOpenHeight', nextHeight);
298
- },
299
- handleClasses: {
300
- top: 'edit-post-meta-boxes-main__resize-handle'
301
- },
302
- handleComponent: {
303
- top: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
304
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
305
- text: (0, _i18n.__)('Drag to resize'),
306
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
307
- ref: separatorRef,
308
- "aria-label": (0, _i18n.__)('Drag to resize'),
309
- "aria-describedby": separatorHelpId,
310
- onKeyDown: onSeparatorKeyDown
311
- // Disable reason: buttons are allowed to be separator role.
312
- // eslint-disable-next-line jsx-a11y/no-interactive-element-to-noninteractive-role
313
- ,
314
- role: "separator",
315
- "aria-valuenow": usedAriaValueNow
316
- })
317
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
318
- id: separatorHelpId,
319
- children: (0, _i18n.__)('Use up and down arrow keys to resize the metabox panel.')
320
- })]
321
- })
322
- },
323
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("meta", {
245
+ const className = 'edit-post-meta-boxes-main';
246
+ const paneLabel = (0, _i18n.__)('Meta Boxes');
247
+ let Pane, paneProps;
248
+ if (isShort) {
249
+ Pane = NavigableRegion;
250
+ paneProps = {
251
+ className: (0, _clsx.default)(className, 'is-toggle-only')
252
+ };
253
+ } else {
254
+ Pane = _components.ResizableBox;
255
+ paneProps = /** @type {Parameters<typeof ResizableBox>[0]} */{
256
+ as: NavigableRegion,
257
+ ref: metaBoxesMainRef,
258
+ className: (0, _clsx.default)(className, 'is-resizable'),
259
+ defaultSize: {
260
+ height: openHeight
261
+ },
262
+ minHeight: min,
263
+ maxHeight: usedMax,
264
+ enable: {
265
+ top: true,
266
+ right: false,
267
+ bottom: false,
268
+ left: false,
269
+ topLeft: false,
270
+ topRight: false,
271
+ bottomRight: false,
272
+ bottomLeft: false
273
+ },
274
+ handleClasses: {
275
+ top: 'edit-post-meta-boxes-main__presenter'
276
+ },
277
+ handleComponent: {
278
+ top: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
279
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
280
+ text: (0, _i18n.__)('Drag to resize'),
281
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
282
+ // eslint-disable-line jsx-a11y/role-supports-aria-props
283
+ ref: separatorRef,
284
+ role: "separator" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role
285
+ ,
286
+ "aria-valuenow": usedAriaValueNow,
287
+ "aria-label": (0, _i18n.__)('Drag to resize'),
288
+ "aria-describedby": separatorHelpId,
289
+ onKeyDown: onSeparatorKeyDown
290
+ })
291
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
292
+ id: separatorHelpId,
293
+ children: (0, _i18n.__)('Use up and down arrow keys to resize the metabox pane.')
294
+ })]
295
+ })
296
+ },
297
+ // Avoids hiccups while dragging over objects like iframes and ensures that
298
+ // the event to end the drag is captured by the target (resize handle)
299
+ // whether or not it’s under the pointer.
300
+ onPointerDown: ({
301
+ pointerId,
302
+ target
303
+ }) => {
304
+ target.setPointerCapture(pointerId);
305
+ },
306
+ onResizeStart: (event, direction, elementRef) => {
307
+ if (isAutoHeight) {
308
+ // Sets the starting height to avoid visual jumps in height and
309
+ // aria-valuenow being `NaN` for the first (few) resize events.
310
+ applyHeight(elementRef.offsetHeight, false, true);
311
+ setIsUntouched(false);
312
+ }
313
+ },
314
+ onResize: () => applyHeight(metaBoxesMainRef.current.state.height),
315
+ onResizeStop: () => applyHeight(metaBoxesMainRef.current.state.height, true)
316
+ };
317
+ }
318
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Pane, {
319
+ "aria-label": paneLabel,
320
+ ...paneProps,
321
+ children: [isShort ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
322
+ "aria-expanded": isOpen,
323
+ className: "edit-post-meta-boxes-main__presenter",
324
+ onClick: toggle,
325
+ children: [paneLabel, /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
326
+ icon: isOpen ? _icons.chevronUp : _icons.chevronDown
327
+ })]
328
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("meta", {
324
329
  ref: effectSizeConstraints
325
330
  }), contents]
326
331
  });
@@ -407,6 +412,7 @@ function Layout({
407
412
  } else {
408
413
  document.body.classList.remove('show-icon-labels');
409
414
  }
415
+ const navigateRegionsProps = (0, _components.__unstableUseNavigateRegions)();
410
416
  const className = (0, _clsx.default)('edit-post-layout', 'is-mode-' + mode, {
411
417
  'has-metaboxes': hasActiveMetaboxes
412
418
  });
@@ -465,35 +471,40 @@ function Layout({
465
471
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_editor.ErrorBoundary, {
466
472
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_commands.CommandMenu, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_welcomeGuide.default, {
467
473
  postType: currentPostType
468
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Editor, {
469
- settings: editorSettings,
470
- initialEdits: initialEdits,
471
- postType: currentPostType,
472
- postId: currentPostId,
473
- templateId: templateId,
474
- className: className,
475
- styles: styles,
476
- forceIsDirty: hasActiveMetaboxes,
477
- contentRef: paddingAppenderRef,
478
- disableIframe: !shouldIframe
479
- // We should auto-focus the canvas (title) on load.
480
- // eslint-disable-next-line jsx-a11y/no-autofocus
481
- ,
482
- autoFocus: !isWelcomeGuideVisible,
483
- onActionPerformed: onActionPerformed,
484
- extraSidebarPanels: showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
485
- location: "side"
486
- }),
487
- extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsx)(MetaBoxesMain, {
488
- isLegacy: !shouldIframe
489
- }),
490
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.PostLockedModal, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editorInitialization.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(FullscreenMode, {
491
- isActive: isFullscreenActive
492
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_browserUrl.default, {
493
- hasHistory: hasHistory
494
- }), /*#__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, {
495
- onError: onPluginAreaError
496
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_moreMenu.default, {}), backButton, /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.EditorSnackbars, {})]
474
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
475
+ className: navigateRegionsProps.className,
476
+ ...navigateRegionsProps,
477
+ ref: navigateRegionsProps.ref,
478
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Editor, {
479
+ settings: editorSettings,
480
+ initialEdits: initialEdits,
481
+ postType: currentPostType,
482
+ postId: currentPostId,
483
+ templateId: templateId,
484
+ className: className,
485
+ styles: styles,
486
+ forceIsDirty: hasActiveMetaboxes,
487
+ contentRef: paddingAppenderRef,
488
+ disableIframe: !shouldIframe
489
+ // We should auto-focus the canvas (title) on load.
490
+ // eslint-disable-next-line jsx-a11y/no-autofocus
491
+ ,
492
+ autoFocus: !isWelcomeGuideVisible,
493
+ onActionPerformed: onActionPerformed,
494
+ extraSidebarPanels: showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
495
+ location: "side"
496
+ }),
497
+ extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsx)(MetaBoxesMain, {
498
+ isLegacy: !shouldIframe
499
+ }),
500
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.PostLockedModal, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editorInitialization.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(FullscreenMode, {
501
+ isActive: isFullscreenActive
502
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_browserUrl.default, {
503
+ hasHistory: hasHistory
504
+ }), /*#__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, {
505
+ onError: onPluginAreaError
506
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_moreMenu.default, {}), backButton, /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.EditorSnackbars, {})]
507
+ })
497
508
  })]
498
509
  })
499
510
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_editor","_data","_blockEditor","_plugins","_i18n","_element","_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","editorPrivateApis","BlockKeyboardShortcuts","blockLibraryPrivateApis","DESIGN_POST_TYPES","useEditorStyles","hasThemeStyleSupport","editorSettings","isZoomedOutView","renderingMode","postType","useSelect","select","__unstableGetEditorMode","blockEditorStore","getCurrentPostType","getRenderingMode","editorStore","_postType","editPostStore","isFeatureActive","getEditorSettings","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","includes","MetaBoxesMain","isLegacy","isOpen","openHeight","hasAnyVisible","get","preferencesStore","isMetaBoxLocationVisible","set","setPreference","useDispatch","resizableBoxRef","useRef","isShort","useMediaQuery","min","max","setHeightConstraints","useState","effectSizeConstraints","useRefEffect","node","container","closest","noticeLists","querySelectorAll","resizeHandle","querySelector","actualize","fullHeight","offsetHeight","nextMax","element","nextMin","observer","window","ResizeObserver","observe","disconnect","separatorRef","separatorHelpId","useId","isUntouched","setIsUntouched","className","contents","jsxs","clsx","children","jsx","default","location","isAutoHeight","undefined","usedMax","getAriaValueNow","height","Math","round","usedAriaValueNow","open","onToggle","target","__","onSeparatorKeyDown","event","delta","ArrowUp","ArrowDown","key","resizable","current","fromHeight","nextHeight","updateSize","width","ResizableBox","defaultSize","ref","enable","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","minHeight","maxHeight","bounds","boundsByDirection","onPointerDown","pointerId","setPointerCapture","onResizeStart","direction","elementRef","heightNow","onResize","state","separator","ariaValueNow","onResizeStop","handleClasses","handleComponent","Fragment","Tooltip","text","onKeyDown","role","VisuallyHidden","id","Layout","postId","initialPostId","initialPostType","settings","initialEdits","useEditPostCommands","paddingAppenderRef","usePaddingAppender","shouldIframe","useShouldIframe","createErrorNotice","noticesStore","currentPost","currentPostId","currentPostType","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","useNavigateToEntityRecord","isEditingTemplate","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","hasHistory","isWelcomeGuideVisible","templateId","_getPostType$viewable","getEditedPostTemplateId","canUser","getPostType","coreStore","supportsTemplateMode","isViewable","viewable","canViewTemplate","kind","name","getEditorMode","hasMetaBoxes","getBlockSelectionStart","commandContext","defaultRenderingMode","document","body","classList","add","remove","onPluginAreaError","sprintf","createSuccessNotice","onActionPerformed","useCallback","actionId","items","href","addQueryArgs","trashed","post_type","type","ids","newItem","title","rendered","decodeEntities","actions","label","onClick","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 { 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\tResizableBox,\n\tSlotFillProvider,\n\tTooltip,\n\tVisuallyHidden,\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 } = 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() {\n\tconst {\n\t\thasThemeStyleSupport,\n\t\teditorSettings,\n\t\tisZoomedOutView,\n\t\trenderingMode,\n\t\tpostType,\n\t} = useSelect( ( select ) => {\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getCurrentPostType, getRenderingMode } = select( editorStore );\n\t\tconst _postType = getCurrentPostType();\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\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t\trenderingMode: getRenderingMode(),\n\t\t\tpostType: _postType,\n\t\t};\n\t}, [] );\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\t// Add a space for the typewriter effect. When typing in the last block,\n\t\t// there needs to be room to scroll up.\n\t\tif (\n\t\t\t! isZoomedOutView &&\n\t\t\trenderingMode === 'post-only' &&\n\t\t\t! DESIGN_POST_TYPES.includes( postType )\n\t\t) {\n\t\t\treturn [\n\t\t\t\t...baseStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: ':root :where(.editor-styles-wrapper)::after {content: \"\"; display: block; height: 40vh;}',\n\t\t\t\t},\n\t\t\t];\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\tpostType,\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 resizableBoxRef = 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__resize-handle'\n\t\t);\n\t\tconst actualize = () => {\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( actualize );\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\n\tif ( ! hasAnyVisible ) {\n\t\treturn;\n\t}\n\n\tconst className = 'edit-post-meta-boxes-main';\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>\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\tif ( isShort ) {\n\t\treturn (\n\t\t\t<details\n\t\t\t\tclassName={ className }\n\t\t\t\topen={ isOpen }\n\t\t\t\tonToggle={ ( { target } ) => {\n\t\t\t\t\tsetPreference(\n\t\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t\t'metaBoxesMainIsOpen',\n\t\t\t\t\t\ttarget.open\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<summary>{ __( 'Meta Boxes' ) }</summary>\n\t\t\t\t{ contents }\n\t\t\t</details>\n\t\t);\n\t}\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 { resizable } = resizableBoxRef.current;\n\t\t\tconst fromHeight = isAutoHeight\n\t\t\t\t? resizable.offsetHeight\n\t\t\t\t: openHeight;\n\t\t\tconst nextHeight = Math.min(\n\t\t\t\tmax,\n\t\t\t\tMath.max( min, delta + fromHeight )\n\t\t\t);\n\t\t\tresizableBoxRef.current.updateSize( {\n\t\t\t\theight: nextHeight,\n\t\t\t\t// Oddly, if left unspecified a subsequent drag gesture applies a fixed\n\t\t\t\t// width and the pane fails to shrink/grow 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\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}\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ className }\n\t\t\tdefaultSize={ { height: openHeight } }\n\t\t\tref={ resizableBoxRef }\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\tminHeight={ min }\n\t\t\tmaxHeight={ usedMax }\n\t\t\tbounds=\"parent\"\n\t\t\tboundsByDirection\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\tconst heightNow = elementRef.offsetHeight;\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\tresizableBoxRef.current.updateSize( { height: heightNow } );\n\t\t\t\t\t// Causes `maxHeight` to update to full `max` value instead of half.\n\t\t\t\t\tsetIsUntouched( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResize={ () => {\n\t\t\t\tconst { height } = resizableBoxRef.current.state;\n\t\t\t\tconst separator = separatorRef.current;\n\t\t\t\tseparator.ariaValueNow = getAriaValueNow( height );\n\t\t\t} }\n\t\t\tonResizeStop={ () => {\n\t\t\t\tconst nextHeight = resizableBoxRef.current.state.height;\n\t\t\t\tsetPreference(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'metaBoxesMainOpenHeight',\n\t\t\t\t\tnextHeight\n\t\t\t\t);\n\t\t\t} }\n\t\t\thandleClasses={ {\n\t\t\t\ttop: 'edit-post-meta-boxes-main__resize-handle',\n\t\t\t} }\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{ /* Disable reason: aria-valuenow is supported by separator role. */ }\n\t\t\t\t\t\t\t{ /* eslint-disable-next-line jsx-a11y/role-supports-aria-props */ }\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tref={ separatorRef }\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\t// Disable reason: buttons are allowed to be separator role.\n\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-interactive-element-to-noninteractive-role\n\t\t\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t\t\t\taria-valuenow={ usedAriaValueNow }\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 metabox 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>\n\t\t\t<meta ref={ effectSizeConstraints } />\n\t\t\t{ contents }\n\t\t</ResizableBox>\n\t);\n}\n\nfunction Layout( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n} ) {\n\tuseCommands();\n\tuseEditPostCommands();\n\tconst paddingAppenderRef = usePaddingAppender();\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\thasHistory,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive, getEditedPostTemplateId } = unlock(\n\t\t\t\tselect( editPostStore )\n\t\t\t);\n\t\t\tconst { canUser, getPostType } = select( coreStore );\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\n\t\t\treturn {\n\t\t\t\tmode: select( editorStore ).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\tselect( editorStore ).getRenderingMode() === 'post-only',\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? getEditedPostTemplateId()\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ currentPostType, isEditingTemplate, settings.supportsTemplateMode ]\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();\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 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 e.g: \"Post 1\".\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<Editor\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\tpostType={ currentPostType }\n\t\t\t\t\tpostId={ currentPostId }\n\t\t\t\t\ttemplateId={ templateId }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tcontentRef={ paddingAppenderRef }\n\t\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\tshowMetaBoxes && <MetaBoxes location=\"side\" />\n\t\t\t\t\t}\n\t\t\t\t\textraContent={\n\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\tshowMetaBoxes && (\n\t\t\t\t\t\t\t<MetaBoxesMain isLegacy={ ! shouldIframe } />\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t\t\t<BrowserURL hasHistory={ hasHistory } />\n\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t<AutosaveMonitor />\n\t\t\t\t\t<LocalAutosaveMonitor />\n\t\t\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t<BlockKeyboardShortcuts />\n\t\t\t\t\t<InitPatternModal />\n\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t<PostEditorMoreMenu />\n\t\t\t\t\t{ backButton }\n\t\t\t\t\t<EditorSnackbars />\n\t\t\t\t</Editor>\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","_jsxRuntime","getLayoutStyles","unlock","blockEditorPrivateApis","useCommands","coreCommandsPrivateApis","useCommandContext","commandsPrivateApis","Editor","FullscreenMode","NavigableRegion","editorPrivateApis","BlockKeyboardShortcuts","blockLibraryPrivateApis","DESIGN_POST_TYPES","useEditorStyles","hasThemeStyleSupport","editorSettings","isZoomedOutView","renderingMode","postType","useSelect","select","__unstableGetEditorMode","blockEditorStore","getCurrentPostType","getRenderingMode","editorStore","_postType","editPostStore","isFeatureActive","getEditorSettings","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","includes","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","initialPostType","settings","initialEdits","useEditPostCommands","paddingAppenderRef","usePaddingAppender","shouldIframe","useShouldIframe","createErrorNotice","noticesStore","currentPost","currentPostId","currentPostType","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","useNavigateToEntityRecord","isEditingTemplate","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","hasHistory","isWelcomeGuideVisible","templateId","_getPostType$viewable","getEditedPostTemplateId","canUser","getPostType","coreStore","supportsTemplateMode","isViewable","viewable","canViewTemplate","kind","name","getEditorMode","hasMetaBoxes","getBlockSelectionStart","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() {\n\tconst {\n\t\thasThemeStyleSupport,\n\t\teditorSettings,\n\t\tisZoomedOutView,\n\t\trenderingMode,\n\t\tpostType,\n\t} = useSelect( ( select ) => {\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getCurrentPostType, getRenderingMode } = select( editorStore );\n\t\tconst _postType = getCurrentPostType();\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\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t\trenderingMode: getRenderingMode(),\n\t\t\tpostType: _postType,\n\t\t};\n\t}, [] );\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\t// Add a space for the typewriter effect. When typing in the last block,\n\t\t// there needs to be room to scroll up.\n\t\tif (\n\t\t\t! isZoomedOutView &&\n\t\t\trenderingMode === 'post-only' &&\n\t\t\t! DESIGN_POST_TYPES.includes( postType )\n\t\t) {\n\t\t\treturn [\n\t\t\t\t...baseStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: ':root :where(.editor-styles-wrapper)::after {content: \"\"; display: block; height: 40vh;}',\n\t\t\t\t},\n\t\t\t];\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\tpostType,\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 metabox pane.'\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 paddingAppenderRef = usePaddingAppender();\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\thasHistory,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive, getEditedPostTemplateId } = unlock(\n\t\t\t\tselect( editPostStore )\n\t\t\t);\n\t\t\tconst { canUser, getPostType } = select( coreStore );\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\n\t\t\treturn {\n\t\t\t\tmode: select( editorStore ).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\tselect( editorStore ).getRenderingMode() === 'post-only',\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? getEditedPostTemplateId()\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ currentPostType, isEditingTemplate, settings.supportsTemplateMode ]\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();\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 e.g: \"Post 1\".\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 hasHistory={ hasHistory } />\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":[]}
@@ -16,7 +16,11 @@ function usePaddingAppender() {
16
16
  const registry = (0, _data.useRegistry)();
17
17
  return (0, _compose.useRefEffect)(node => {
18
18
  function onMouseDown(event) {
19
- if (event.target !== node) {
19
+ if (event.target !== node &&
20
+ // Tests for the parent element because in the iframed editor if the click is
21
+ // below the padding the target will be the parent element (html) and should
22
+ // still be treated as intent to append.
23
+ event.target !== node.parentElement) {
20
24
  return;
21
25
  }
22
26
  const {
@@ -39,7 +43,7 @@ function usePaddingAppender() {
39
43
  if (event.clientY < lastChildRect.bottom) {
40
44
  return;
41
45
  }
42
- event.stopPropagation();
46
+ event.preventDefault();
43
47
  const blockOrder = registry.select(_blockEditor.store).getBlockOrder('');
44
48
  const lastBlockClientId = blockOrder[blockOrder.length - 1];
45
49
  const lastBlock = registry.select(_blockEditor.store).getBlock(lastBlockClientId);
@@ -53,9 +57,14 @@ function usePaddingAppender() {
53
57
  insertDefaultBlock();
54
58
  }
55
59
  }
56
- node.addEventListener('mousedown', onMouseDown);
60
+ const {
61
+ ownerDocument
62
+ } = node;
63
+ // Adds the listener on the document so that in the iframed editor clicks below the
64
+ // padding can be handled as they too should be treated as intent to append.
65
+ ownerDocument.addEventListener('mousedown', onMouseDown);
57
66
  return () => {
58
- node.removeEventListener('mousedown', onMouseDown);
67
+ ownerDocument.removeEventListener('mousedown', onMouseDown);
59
68
  };
60
69
  }, [registry]);
61
70
  }