@wordpress/edit-post 8.0.4 → 8.2.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +15 -11
  2. package/build/components/layout/index.js +86 -47
  3. package/build/components/layout/index.js.map +1 -1
  4. package/build/components/welcome-guide/index.js +5 -7
  5. package/build/components/welcome-guide/index.js.map +1 -1
  6. package/build/index.js +8 -6
  7. package/build/index.js.map +1 -1
  8. package/build/store/index.js +3 -0
  9. package/build/store/index.js.map +1 -1
  10. package/build/store/private-selectors.js +56 -0
  11. package/build/store/private-selectors.js.map +1 -0
  12. package/build/store/selectors.js +6 -43
  13. package/build/store/selectors.js.map +1 -1
  14. package/build-module/components/layout/index.js +88 -50
  15. package/build-module/components/layout/index.js.map +1 -1
  16. package/build-module/components/welcome-guide/index.js +5 -7
  17. package/build-module/components/welcome-guide/index.js.map +1 -1
  18. package/build-module/index.js +9 -7
  19. package/build-module/index.js.map +1 -1
  20. package/build-module/store/index.js +3 -0
  21. package/build-module/store/index.js.map +1 -1
  22. package/build-module/store/private-selectors.js +49 -0
  23. package/build-module/store/private-selectors.js.map +1 -0
  24. package/build-module/store/selectors.js +6 -43
  25. package/build-module/store/selectors.js.map +1 -1
  26. package/package.json +31 -31
  27. package/src/components/layout/index.js +128 -65
  28. package/src/components/welcome-guide/index.js +15 -15
  29. package/src/index.js +10 -8
  30. package/src/store/index.js +3 -1
  31. package/src/store/private-selectors.js +52 -0
  32. package/src/store/selectors.js +10 -61
  33. package/src/test/__snapshots__/editor.native.js.snap +12 -0
  34. package/src/test/editor.native.js +34 -0
  35. package/build/editor.js +0 -100
  36. package/build/editor.js.map +0 -1
  37. package/build-module/editor.js +0 -93
  38. package/build-module/editor.js.map +0 -1
  39. package/src/editor.js +0 -118
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getEditedPostTemplateId = void 0;
7
+ var _data = require("@wordpress/data");
8
+ var _coreData = require("@wordpress/core-data");
9
+ var _editor = require("@wordpress/editor");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ const getEditedPostTemplateId = exports.getEditedPostTemplateId = (0, _data.createRegistrySelector)(select => () => {
15
+ const {
16
+ id: postId,
17
+ type: postType,
18
+ slug
19
+ } = select(_editor.store).getCurrentPost();
20
+ const {
21
+ getSite,
22
+ getEntityRecords
23
+ } = select(_coreData.store);
24
+ const siteSettings = getSite();
25
+ // First check if the current page is set as the posts page.
26
+ const isPostsPage = +postId === siteSettings?.page_for_posts;
27
+ if (isPostsPage) {
28
+ return select(_coreData.store).getDefaultTemplateId({
29
+ slug: 'home'
30
+ });
31
+ }
32
+ const currentTemplate = select(_editor.store).getEditedPostAttribute('template');
33
+ if (currentTemplate) {
34
+ const templateWithSameSlug = getEntityRecords('postType', 'wp_template', {
35
+ per_page: -1
36
+ })?.find(template => template.slug === currentTemplate);
37
+ if (!templateWithSameSlug) {
38
+ return templateWithSameSlug;
39
+ }
40
+ return templateWithSameSlug.id;
41
+ }
42
+ let slugToCheck;
43
+ // In `draft` status we might not have a slug available, so we use the `single`
44
+ // post type templates slug(ex page, single-post, single-product etc..).
45
+ // Pages do not need the `single` prefix in the slug to be prioritized
46
+ // through template hierarchy.
47
+ if (slug) {
48
+ slugToCheck = postType === 'page' ? `${postType}-${slug}` : `single-${postType}-${slug}`;
49
+ } else {
50
+ slugToCheck = postType === 'page' ? 'page' : `single-${postType}`;
51
+ }
52
+ return select(_coreData.store).getDefaultTemplateId({
53
+ slug: slugToCheck
54
+ });
55
+ });
56
+ //# sourceMappingURL=private-selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_coreData","_editor","getEditedPostTemplateId","exports","createRegistrySelector","select","id","postId","type","postType","slug","editorStore","getCurrentPost","getSite","getEntityRecords","coreStore","siteSettings","isPostsPage","page_for_posts","getDefaultTemplateId","currentTemplate","getEditedPostAttribute","templateWithSameSlug","per_page","find","template","slugToCheck"],"sources":["@wordpress/edit-post/src/store/private-selectors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createRegistrySelector } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\n\nexport const getEditedPostTemplateId = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst {\n\t\t\tid: postId,\n\t\t\ttype: postType,\n\t\t\tslug,\n\t\t} = select( editorStore ).getCurrentPost();\n\t\tconst { getSite, getEntityRecords } = select( coreStore );\n\t\tconst siteSettings = getSite();\n\t\t// First check if the current page is set as the posts page.\n\t\tconst isPostsPage = +postId === siteSettings?.page_for_posts;\n\t\tif ( isPostsPage ) {\n\t\t\treturn select( coreStore ).getDefaultTemplateId( { slug: 'home' } );\n\t\t}\n\t\tconst currentTemplate =\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' );\n\t\tif ( currentTemplate ) {\n\t\t\tconst templateWithSameSlug = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\t{ per_page: -1 }\n\t\t\t)?.find( ( template ) => template.slug === currentTemplate );\n\t\t\tif ( ! templateWithSameSlug ) {\n\t\t\t\treturn templateWithSameSlug;\n\t\t\t}\n\t\t\treturn templateWithSameSlug.id;\n\t\t}\n\t\tlet slugToCheck;\n\t\t// In `draft` status we might not have a slug available, so we use the `single`\n\t\t// post type templates slug(ex page, single-post, single-product etc..).\n\t\t// Pages do not need the `single` prefix in the slug to be prioritized\n\t\t// through template hierarchy.\n\t\tif ( slug ) {\n\t\t\tslugToCheck =\n\t\t\t\tpostType === 'page'\n\t\t\t\t\t? `${ postType }-${ slug }`\n\t\t\t\t\t: `single-${ postType }-${ slug }`;\n\t\t} else {\n\t\t\tslugToCheck = postType === 'page' ? 'page' : `single-${ postType }`;\n\t\t}\n\t\treturn select( coreStore ).getDefaultTemplateId( {\n\t\t\tslug: slugToCheck,\n\t\t} );\n\t}\n);\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKO,MAAMG,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,IAAAE,4BAAsB,EAC1DC,MAAM,IAAM,MAAM;EACnB,MAAM;IACLC,EAAE,EAAEC,MAAM;IACVC,IAAI,EAAEC,QAAQ;IACdC;EACD,CAAC,GAAGL,MAAM,CAAEM,aAAY,CAAC,CAACC,cAAc,CAAC,CAAC;EAC1C,MAAM;IAAEC,OAAO;IAAEC;EAAiB,CAAC,GAAGT,MAAM,CAAEU,eAAU,CAAC;EACzD,MAAMC,YAAY,GAAGH,OAAO,CAAC,CAAC;EAC9B;EACA,MAAMI,WAAW,GAAG,CAACV,MAAM,KAAKS,YAAY,EAAEE,cAAc;EAC5D,IAAKD,WAAW,EAAG;IAClB,OAAOZ,MAAM,CAAEU,eAAU,CAAC,CAACI,oBAAoB,CAAE;MAAET,IAAI,EAAE;IAAO,CAAE,CAAC;EACpE;EACA,MAAMU,eAAe,GACpBf,MAAM,CAAEM,aAAY,CAAC,CAACU,sBAAsB,CAAE,UAAW,CAAC;EAC3D,IAAKD,eAAe,EAAG;IACtB,MAAME,oBAAoB,GAAGR,gBAAgB,CAC5C,UAAU,EACV,aAAa,EACb;MAAES,QAAQ,EAAE,CAAC;IAAE,CAChB,CAAC,EAAEC,IAAI,CAAIC,QAAQ,IAAMA,QAAQ,CAACf,IAAI,KAAKU,eAAgB,CAAC;IAC5D,IAAK,CAAEE,oBAAoB,EAAG;MAC7B,OAAOA,oBAAoB;IAC5B;IACA,OAAOA,oBAAoB,CAAChB,EAAE;EAC/B;EACA,IAAIoB,WAAW;EACf;EACA;EACA;EACA;EACA,IAAKhB,IAAI,EAAG;IACXgB,WAAW,GACVjB,QAAQ,KAAK,MAAM,GACf,GAAGA,QAAU,IAAIC,IAAM,EAAC,GACxB,UAAUD,QAAU,IAAIC,IAAM,EAAC;EACrC,CAAC,MAAM;IACNgB,WAAW,GAAGjB,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAI,UAAUA,QAAU,EAAC;EACpE;EACA,OAAOJ,MAAM,CAAEU,eAAU,CAAC,CAACI,oBAAoB,CAAE;IAChDT,IAAI,EAAEgB;EACP,CAAE,CAAC;AACJ,CACD,CAAC","ignoreList":[]}
@@ -21,6 +21,7 @@ var _coreData = require("@wordpress/core-data");
21
21
  var _editor = require("@wordpress/editor");
22
22
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
23
23
  var _lockUnlock = require("../lock-unlock");
24
+ var _privateSelectors = require("./private-selectors");
24
25
  /**
25
26
  * WordPress dependencies
26
27
  */
@@ -501,49 +502,11 @@ function areMetaBoxesInitialized(state) {
501
502
  *
502
503
  * @return {Object?} Post Template.
503
504
  */
504
- const getEditedPostTemplate = exports.getEditedPostTemplate = (0, _data.createRegistrySelector)(select => () => {
505
- const {
506
- id: postId,
507
- type: postType,
508
- slug
509
- } = select(_editor.store).getCurrentPost();
510
- const {
511
- getSite,
512
- getEditedEntityRecord,
513
- getEntityRecords
514
- } = select(_coreData.store);
515
- const siteSettings = getSite();
516
- // First check if the current page is set as the posts page.
517
- const isPostsPage = +postId === siteSettings?.page_for_posts;
518
- if (isPostsPage) {
519
- const defaultTemplateId = select(_coreData.store).getDefaultTemplateId({
520
- slug: 'home'
521
- });
522
- return getEditedEntityRecord('postType', 'wp_template', defaultTemplateId);
505
+ const getEditedPostTemplate = exports.getEditedPostTemplate = (0, _data.createRegistrySelector)(select => state => {
506
+ const templateId = (0, _privateSelectors.getEditedPostTemplateId)(state);
507
+ if (!templateId) {
508
+ return undefined;
523
509
  }
524
- const currentTemplate = select(_editor.store).getEditedPostAttribute('template');
525
- if (currentTemplate) {
526
- const templateWithSameSlug = getEntityRecords('postType', 'wp_template', {
527
- per_page: -1
528
- })?.find(template => template.slug === currentTemplate);
529
- if (!templateWithSameSlug) {
530
- return templateWithSameSlug;
531
- }
532
- return getEditedEntityRecord('postType', 'wp_template', templateWithSameSlug.id);
533
- }
534
- let slugToCheck;
535
- // In `draft` status we might not have a slug available, so we use the `single`
536
- // post type templates slug(ex page, single-post, single-product etc..).
537
- // Pages do not need the `single` prefix in the slug to be prioritized
538
- // through template hierarchy.
539
- if (slug) {
540
- slugToCheck = postType === 'page' ? `${postType}-${slug}` : `single-${postType}-${slug}`;
541
- } else {
542
- slugToCheck = postType === 'page' ? 'page' : `single-${postType}`;
543
- }
544
- const defaultTemplateId = select(_coreData.store).getDefaultTemplateId({
545
- slug: slugToCheck
546
- });
547
- return defaultTemplateId ? select(_coreData.store).getEditedEntityRecord('postType', 'wp_template', defaultTemplateId) : null;
510
+ return select(_coreData.store).getEditedEntityRecord('postType', 'wp_template', templateId);
548
511
  });
549
512
  //# sourceMappingURL=selectors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_preferences","_coreData","_editor","_deprecated","_interopRequireDefault","_lockUnlock","interfaceStore","unlock","editorPrivateApis","EMPTY_ARRAY","EMPTY_OBJECT","getEditorMode","exports","createRegistrySelector","select","_select$get","preferencesStore","get","isEditorSidebarOpened","activeGeneralSidebar","getActiveComplementaryArea","includes","isPluginSidebarOpened","getActiveGeneralSidebarName","convertPanelsToOldFormat","inactivePanels","openPanels","_ref","panelsWithEnabledState","reduce","accumulatedPanels","panelName","enabled","panels","currentPanelState","opened","getPreferences","deprecated","since","alternative","corePreferences","accumulatedPrefs","preferenceKey","value","getPreference","state","defaultValue","preferences","undefined","getHiddenBlockTypes","_select$get2","isPublishSidebarOpened","editorStore","isEditorPanelRemoved","isEditorPanelEnabled","isEditorPanelOpened","isModalActive","modalName","isFeatureActive","feature","isPluginItemPinned","pluginName","isItemPinned","getActiveMetaBoxLocations","createSelector","Object","keys","metaBoxes","locations","filter","location","isMetaBoxLocationActive","isMetaBoxLocationVisible","getMetaBoxesPerLocation","some","id","length","getAllMetaBoxes","values","flat","hasMetaBoxes","isSavingMetaBoxes","isSaving","__experimentalGetPreviewDeviceType","version","getDeviceType","isInserterOpened","__experimentalGetInsertionPoint","getInsertionPoint","isListViewOpened","isEditingTemplate","getCurrentPostType","areMetaBoxesInitialized","initialized","getEditedPostTemplate","postId","type","postType","slug","getCurrentPost","getSite","getEditedEntityRecord","getEntityRecords","coreStore","siteSettings","isPostsPage","page_for_posts","defaultTemplateId","getDefaultTemplateId","currentTemplate","getEditedPostAttribute","templateWithSameSlug","per_page","find","template","slugToCheck"],"sources":["@wordpress/edit-post/src/store/selectors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSelector, createRegistrySelector } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { interfaceStore } = unlock( editorPrivateApis );\nconst EMPTY_ARRAY = [];\nconst EMPTY_OBJECT = {};\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport const getEditorMode = createRegistrySelector(\n\t( select ) => () =>\n\t\tselect( preferencesStore ).get( 'core', 'editorMode' ) ?? 'visual'\n);\n\n/**\n * Returns true if the editor sidebar is opened.\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether the editor sidebar is opened.\n */\nexport const isEditorSidebarOpened = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst activeGeneralSidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\treturn [ 'edit-post/document', 'edit-post/block' ].includes(\n\t\t\tactiveGeneralSidebar\n\t\t);\n\t}\n);\n\n/**\n * Returns true if the plugin sidebar is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the plugin sidebar is opened.\n */\nexport const isPluginSidebarOpened = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst activeGeneralSidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\treturn (\n\t\t\t!! activeGeneralSidebar &&\n\t\t\t! [ 'edit-post/document', 'edit-post/block' ].includes(\n\t\t\t\tactiveGeneralSidebar\n\t\t\t)\n\t\t);\n\t}\n);\n\n/**\n * Returns the current active general sidebar name, or null if there is no\n * general sidebar active. The active general sidebar is a unique name to\n * identify either an editor or plugin sidebar.\n *\n * Examples:\n *\n * - `edit-post/document`\n * - `my-plugin/insert-image-sidebar`\n *\n * @param {Object} state Global application state.\n *\n * @return {?string} Active general sidebar name.\n */\nexport const getActiveGeneralSidebarName = createRegistrySelector(\n\t( select ) => () => {\n\t\treturn select( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t}\n);\n\n/**\n * Converts panels from the new preferences store format to the old format\n * that the post editor previously used.\n *\n * The resultant converted data should look like this:\n * {\n * panelName: {\n * enabled: false,\n * opened: true,\n * },\n * anotherPanelName: {\n * opened: true\n * },\n * }\n *\n * @param {string[] | undefined} inactivePanels An array of inactive panel names.\n * @param {string[] | undefined} openPanels An array of open panel names.\n *\n * @return {Object} The converted panel data.\n */\nfunction convertPanelsToOldFormat( inactivePanels, openPanels ) {\n\t// First reduce the inactive panels.\n\tconst panelsWithEnabledState = inactivePanels?.reduce(\n\t\t( accumulatedPanels, panelName ) => ( {\n\t\t\t...accumulatedPanels,\n\t\t\t[ panelName ]: {\n\t\t\t\tenabled: false,\n\t\t\t},\n\t\t} ),\n\t\t{}\n\t);\n\n\t// Then reduce the open panels, passing in the result of the previous\n\t// reduction as the initial value so that both open and inactive\n\t// panel state is combined.\n\tconst panels = openPanels?.reduce( ( accumulatedPanels, panelName ) => {\n\t\tconst currentPanelState = accumulatedPanels?.[ panelName ];\n\t\treturn {\n\t\t\t...accumulatedPanels,\n\t\t\t[ panelName ]: {\n\t\t\t\t...currentPanelState,\n\t\t\t\topened: true,\n\t\t\t},\n\t\t};\n\t}, panelsWithEnabledState ?? {} );\n\n\t// The panels variable will only be set if openPanels wasn't `undefined`.\n\t// If it isn't set just return `panelsWithEnabledState`, and if that isn't\n\t// set return an empty object.\n\treturn panels ?? panelsWithEnabledState ?? EMPTY_OBJECT;\n}\n\n/**\n * Returns the preferences (these preferences are persisted locally).\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Preferences Object.\n */\nexport const getPreferences = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).getPreferences`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\tconst corePreferences = [ 'editorMode', 'hiddenBlockTypes' ].reduce(\n\t\t( accumulatedPrefs, preferenceKey ) => {\n\t\t\tconst value = select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\tpreferenceKey\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...accumulatedPrefs,\n\t\t\t\t[ preferenceKey ]: value,\n\t\t\t};\n\t\t},\n\t\t{}\n\t);\n\n\t// Panels were a preference, but the data structure changed when the state\n\t// was migrated to the preferences store. They need to be converted from\n\t// the new preferences store format to old format to ensure no breaking\n\t// changes for plugins.\n\tconst inactivePanels = select( preferencesStore ).get(\n\t\t'core',\n\t\t'inactivePanels'\n\t);\n\tconst openPanels = select( preferencesStore ).get( 'core', 'openPanels' );\n\tconst panels = convertPanelsToOldFormat( inactivePanels, openPanels );\n\n\treturn {\n\t\t...corePreferences,\n\t\tpanels,\n\t};\n} );\n\n/**\n *\n * @param {Object} state Global application state.\n * @param {string} preferenceKey Preference Key.\n * @param {*} defaultValue Default Value.\n *\n * @return {*} Preference Value.\n */\nexport function getPreference( state, preferenceKey, defaultValue ) {\n\tdeprecated( `select( 'core/edit-post' ).getPreference`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\t// Avoid using the `getPreferences` registry selector where possible.\n\tconst preferences = getPreferences( state );\n\tconst value = preferences[ preferenceKey ];\n\treturn value === undefined ? defaultValue : value;\n}\n\n/**\n * Returns an array of blocks that are hidden.\n *\n * @return {Array} A list of the hidden block types\n */\nexport const getHiddenBlockTypes = createRegistrySelector( ( select ) => () => {\n\treturn (\n\t\tselect( preferencesStore ).get( 'core', 'hiddenBlockTypes' ) ??\n\t\tEMPTY_ARRAY\n\t);\n} );\n\n/**\n * Returns true if the publish sidebar is opened.\n *\n * @deprecated\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether the publish sidebar is open.\n */\nexport const isPublishSidebarOpened = createRegistrySelector(\n\t( select ) => () => {\n\t\tdeprecated( `select( 'core/edit-post' ).isPublishSidebarOpened`, {\n\t\t\tsince: '6.6',\n\t\t\talternative: `select( 'core/editor' ).isPublishSidebarOpened`,\n\t\t} );\n\t\treturn select( editorStore ).isPublishSidebarOpened();\n\t}\n);\n\n/**\n * Returns true if the given panel was programmatically removed, or false otherwise.\n * All panels are not removed by default.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is removed.\n */\nexport const isEditorPanelRemoved = createRegistrySelector(\n\t( select ) => ( state, panelName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isEditorPanelRemoved`, {\n\t\t\tsince: '6.5',\n\t\t\talternative: `select( 'core/editor' ).isEditorPanelRemoved`,\n\t\t} );\n\t\treturn select( editorStore ).isEditorPanelRemoved( panelName );\n\t}\n);\n\n/**\n * Returns true if the given panel is enabled, or false otherwise. Panels are\n * enabled by default.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is enabled.\n */\nexport const isEditorPanelEnabled = createRegistrySelector(\n\t( select ) => ( state, panelName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isEditorPanelEnabled`, {\n\t\t\tsince: '6.5',\n\t\t\talternative: `select( 'core/editor' ).isEditorPanelEnabled`,\n\t\t} );\n\t\treturn select( editorStore ).isEditorPanelEnabled( panelName );\n\t}\n);\n\n/**\n * Returns true if the given panel is open, or false otherwise. Panels are\n * closed by default.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is open.\n */\nexport const isEditorPanelOpened = createRegistrySelector(\n\t( select ) => ( state, panelName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isEditorPanelOpened`, {\n\t\t\tsince: '6.5',\n\t\t\talternative: `select( 'core/editor' ).isEditorPanelOpened`,\n\t\t} );\n\t\treturn select( editorStore ).isEditorPanelOpened( panelName );\n\t}\n);\n\n/**\n * Returns true if a modal is active, or false otherwise.\n *\n * @deprecated since WP 6.3 use `core/interface` store's selector with the same name instead.\n *\n * @param {Object} state Global application state.\n * @param {string} modalName A string that uniquely identifies the modal.\n *\n * @return {boolean} Whether the modal is active.\n */\nexport const isModalActive = createRegistrySelector(\n\t( select ) => ( state, modalName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isModalActive`, {\n\t\t\tsince: '6.3',\n\t\t\talternative: `select( 'core/interface' ).isModalActive`,\n\t\t} );\n\t\treturn !! select( interfaceStore ).isModalActive( modalName );\n\t}\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @param {Object} state Global application state.\n * @param {string} feature Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport const isFeatureActive = createRegistrySelector(\n\t( select ) => ( state, feature ) => {\n\t\treturn !! select( preferencesStore ).get( 'core/edit-post', feature );\n\t}\n);\n\n/**\n * Returns true if the plugin item is pinned to the header.\n * When the value is not set it defaults to true.\n *\n * @param {Object} state Global application state.\n * @param {string} pluginName Plugin item name.\n *\n * @return {boolean} Whether the plugin item is pinned.\n */\nexport const isPluginItemPinned = createRegistrySelector(\n\t( select ) => ( state, pluginName ) => {\n\t\treturn select( interfaceStore ).isItemPinned( 'core', pluginName );\n\t}\n);\n\n/**\n * Returns an array of active meta box locations.\n *\n * @param {Object} state Post editor state.\n *\n * @return {string[]} Active meta box locations.\n */\nexport const getActiveMetaBoxLocations = createSelector(\n\t( state ) => {\n\t\treturn Object.keys( state.metaBoxes.locations ).filter( ( location ) =>\n\t\t\tisMetaBoxLocationActive( state, location )\n\t\t);\n\t},\n\t( state ) => [ state.metaBoxes.locations ]\n);\n\n/**\n * Returns true if a metabox location is active and visible\n *\n * @param {Object} state Post editor state.\n * @param {string} location Meta box location to test.\n *\n * @return {boolean} Whether the meta box location is active and visible.\n */\nexport const isMetaBoxLocationVisible = createRegistrySelector(\n\t( select ) => ( state, location ) => {\n\t\treturn (\n\t\t\tisMetaBoxLocationActive( state, location ) &&\n\t\t\tgetMetaBoxesPerLocation( state, location )?.some( ( { id } ) => {\n\t\t\t\treturn select( editorStore ).isEditorPanelEnabled(\n\t\t\t\t\tstate,\n\t\t\t\t\t`meta-box-${ id }`\n\t\t\t\t);\n\t\t\t} )\n\t\t);\n\t}\n);\n\n/**\n * Returns true if there is an active meta box in the given location, or false\n * otherwise.\n *\n * @param {Object} state Post editor state.\n * @param {string} location Meta box location to test.\n *\n * @return {boolean} Whether the meta box location is active.\n */\nexport function isMetaBoxLocationActive( state, location ) {\n\tconst metaBoxes = getMetaBoxesPerLocation( state, location );\n\treturn !! metaBoxes && metaBoxes.length !== 0;\n}\n\n/**\n * Returns the list of all the available meta boxes for a given location.\n *\n * @param {Object} state Global application state.\n * @param {string} location Meta box location to test.\n *\n * @return {?Array} List of meta boxes.\n */\nexport function getMetaBoxesPerLocation( state, location ) {\n\treturn state.metaBoxes.locations[ location ];\n}\n\n/**\n * Returns the list of all the available meta boxes.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} List of meta boxes.\n */\nexport const getAllMetaBoxes = createSelector(\n\t( state ) => {\n\t\treturn Object.values( state.metaBoxes.locations ).flat();\n\t},\n\t( state ) => [ state.metaBoxes.locations ]\n);\n\n/**\n * Returns true if the post is using Meta Boxes\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether there are metaboxes or not.\n */\nexport function hasMetaBoxes( state ) {\n\treturn getActiveMetaBoxLocations( state ).length > 0;\n}\n\n/**\n * Returns true if the Meta Boxes are being saved.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the metaboxes are being saved.\n */\nexport function isSavingMetaBoxes( state ) {\n\treturn state.metaBoxes.isSaving;\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport const __experimentalGetPreviewDeviceType = createRegistrySelector(\n\t( select ) => () => {\n\t\tdeprecated(\n\t\t\t`select( 'core/edit-site' ).__experimentalGetPreviewDeviceType`,\n\t\t\t{\n\t\t\t\tsince: '6.5',\n\t\t\t\tversion: '6.7',\n\t\t\t\talternative: `select( 'core/editor' ).getDeviceType`,\n\t\t\t}\n\t\t);\n\t\treturn select( editorStore ).getDeviceType();\n\t}\n);\n\n/**\n * Returns true if the inserter is opened.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the inserter is opened.\n */\nexport const isInserterOpened = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).isInserterOpened`, {\n\t\tsince: '6.5',\n\t\talternative: `select( 'core/editor' ).isInserterOpened`,\n\t} );\n\treturn select( editorStore ).isInserterOpened();\n} );\n\n/**\n * Get the insertion point for the inserter.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport const __experimentalGetInsertionPoint = createRegistrySelector(\n\t( select ) => () => {\n\t\tdeprecated(\n\t\t\t`select( 'core/edit-post' ).__experimentalGetInsertionPoint`,\n\t\t\t{\n\t\t\t\tsince: '6.5',\n\t\t\t\tversion: '6.7',\n\t\t\t}\n\t\t);\n\t\treturn unlock( select( editorStore ) ).getInsertionPoint();\n\t}\n);\n\n/**\n * Returns true if the list view is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the list view is opened.\n */\nexport const isListViewOpened = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).isListViewOpened`, {\n\t\tsince: '6.5',\n\t\talternative: `select( 'core/editor' ).isListViewOpened`,\n\t} );\n\treturn select( editorStore ).isListViewOpened();\n} );\n\n/**\n * Returns true if the template editing mode is enabled.\n *\n * @deprecated\n */\nexport const isEditingTemplate = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).isEditingTemplate`, {\n\t\tsince: '6.5',\n\t\talternative: `select( 'core/editor' ).getRenderingMode`,\n\t} );\n\treturn select( editorStore ).getCurrentPostType() === 'wp_template';\n} );\n\n/**\n * Returns true if meta boxes are initialized.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether meta boxes are initialized.\n */\nexport function areMetaBoxesInitialized( state ) {\n\treturn state.metaBoxes.initialized;\n}\n\n/**\n * Retrieves the template of the currently edited post.\n *\n * @return {Object?} Post Template.\n */\nexport const getEditedPostTemplate = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst {\n\t\t\tid: postId,\n\t\t\ttype: postType,\n\t\t\tslug,\n\t\t} = select( editorStore ).getCurrentPost();\n\t\tconst { getSite, getEditedEntityRecord, getEntityRecords } =\n\t\t\tselect( coreStore );\n\t\tconst siteSettings = getSite();\n\t\t// First check if the current page is set as the posts page.\n\t\tconst isPostsPage = +postId === siteSettings?.page_for_posts;\n\t\tif ( isPostsPage ) {\n\t\t\tconst defaultTemplateId = select( coreStore ).getDefaultTemplateId(\n\t\t\t\t{ slug: 'home' }\n\t\t\t);\n\t\t\treturn getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\tdefaultTemplateId\n\t\t\t);\n\t\t}\n\t\tconst currentTemplate =\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' );\n\t\tif ( currentTemplate ) {\n\t\t\tconst templateWithSameSlug = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\t{ per_page: -1 }\n\t\t\t)?.find( ( template ) => template.slug === currentTemplate );\n\t\t\tif ( ! templateWithSameSlug ) {\n\t\t\t\treturn templateWithSameSlug;\n\t\t\t}\n\t\t\treturn getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\ttemplateWithSameSlug.id\n\t\t\t);\n\t\t}\n\t\tlet slugToCheck;\n\t\t// In `draft` status we might not have a slug available, so we use the `single`\n\t\t// post type templates slug(ex page, single-post, single-product etc..).\n\t\t// Pages do not need the `single` prefix in the slug to be prioritized\n\t\t// through template hierarchy.\n\t\tif ( slug ) {\n\t\t\tslugToCheck =\n\t\t\t\tpostType === 'page'\n\t\t\t\t\t? `${ postType }-${ slug }`\n\t\t\t\t\t: `single-${ postType }-${ slug }`;\n\t\t} else {\n\t\t\tslugToCheck = postType === 'page' ? 'page' : `single-${ postType }`;\n\t\t}\n\t\tconst defaultTemplateId = select( coreStore ).getDefaultTemplateId( {\n\t\t\tslug: slugToCheck,\n\t\t} );\n\n\t\treturn defaultTemplateId\n\t\t\t? select( coreStore ).getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template',\n\t\t\t\t\tdefaultTemplateId\n\t\t\t )\n\t\t\t: null;\n\t}\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_preferences","_coreData","_editor","_deprecated","_interopRequireDefault","_lockUnlock","_privateSelectors","interfaceStore","unlock","editorPrivateApis","EMPTY_ARRAY","EMPTY_OBJECT","getEditorMode","exports","createRegistrySelector","select","_select$get","preferencesStore","get","isEditorSidebarOpened","activeGeneralSidebar","getActiveComplementaryArea","includes","isPluginSidebarOpened","getActiveGeneralSidebarName","convertPanelsToOldFormat","inactivePanels","openPanels","_ref","panelsWithEnabledState","reduce","accumulatedPanels","panelName","enabled","panels","currentPanelState","opened","getPreferences","deprecated","since","alternative","corePreferences","accumulatedPrefs","preferenceKey","value","getPreference","state","defaultValue","preferences","undefined","getHiddenBlockTypes","_select$get2","isPublishSidebarOpened","editorStore","isEditorPanelRemoved","isEditorPanelEnabled","isEditorPanelOpened","isModalActive","modalName","isFeatureActive","feature","isPluginItemPinned","pluginName","isItemPinned","getActiveMetaBoxLocations","createSelector","Object","keys","metaBoxes","locations","filter","location","isMetaBoxLocationActive","isMetaBoxLocationVisible","getMetaBoxesPerLocation","some","id","length","getAllMetaBoxes","values","flat","hasMetaBoxes","isSavingMetaBoxes","isSaving","__experimentalGetPreviewDeviceType","version","getDeviceType","isInserterOpened","__experimentalGetInsertionPoint","getInsertionPoint","isListViewOpened","isEditingTemplate","getCurrentPostType","areMetaBoxesInitialized","initialized","getEditedPostTemplate","templateId","getEditedPostTemplateId","coreStore","getEditedEntityRecord"],"sources":["@wordpress/edit-post/src/store/selectors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSelector, createRegistrySelector } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { getEditedPostTemplateId } from './private-selectors';\n\nconst { interfaceStore } = unlock( editorPrivateApis );\nconst EMPTY_ARRAY = [];\nconst EMPTY_OBJECT = {};\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport const getEditorMode = createRegistrySelector(\n\t( select ) => () =>\n\t\tselect( preferencesStore ).get( 'core', 'editorMode' ) ?? 'visual'\n);\n\n/**\n * Returns true if the editor sidebar is opened.\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether the editor sidebar is opened.\n */\nexport const isEditorSidebarOpened = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst activeGeneralSidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\treturn [ 'edit-post/document', 'edit-post/block' ].includes(\n\t\t\tactiveGeneralSidebar\n\t\t);\n\t}\n);\n\n/**\n * Returns true if the plugin sidebar is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the plugin sidebar is opened.\n */\nexport const isPluginSidebarOpened = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst activeGeneralSidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t\treturn (\n\t\t\t!! activeGeneralSidebar &&\n\t\t\t! [ 'edit-post/document', 'edit-post/block' ].includes(\n\t\t\t\tactiveGeneralSidebar\n\t\t\t)\n\t\t);\n\t}\n);\n\n/**\n * Returns the current active general sidebar name, or null if there is no\n * general sidebar active. The active general sidebar is a unique name to\n * identify either an editor or plugin sidebar.\n *\n * Examples:\n *\n * - `edit-post/document`\n * - `my-plugin/insert-image-sidebar`\n *\n * @param {Object} state Global application state.\n *\n * @return {?string} Active general sidebar name.\n */\nexport const getActiveGeneralSidebarName = createRegistrySelector(\n\t( select ) => () => {\n\t\treturn select( interfaceStore ).getActiveComplementaryArea( 'core' );\n\t}\n);\n\n/**\n * Converts panels from the new preferences store format to the old format\n * that the post editor previously used.\n *\n * The resultant converted data should look like this:\n * {\n * panelName: {\n * enabled: false,\n * opened: true,\n * },\n * anotherPanelName: {\n * opened: true\n * },\n * }\n *\n * @param {string[] | undefined} inactivePanels An array of inactive panel names.\n * @param {string[] | undefined} openPanels An array of open panel names.\n *\n * @return {Object} The converted panel data.\n */\nfunction convertPanelsToOldFormat( inactivePanels, openPanels ) {\n\t// First reduce the inactive panels.\n\tconst panelsWithEnabledState = inactivePanels?.reduce(\n\t\t( accumulatedPanels, panelName ) => ( {\n\t\t\t...accumulatedPanels,\n\t\t\t[ panelName ]: {\n\t\t\t\tenabled: false,\n\t\t\t},\n\t\t} ),\n\t\t{}\n\t);\n\n\t// Then reduce the open panels, passing in the result of the previous\n\t// reduction as the initial value so that both open and inactive\n\t// panel state is combined.\n\tconst panels = openPanels?.reduce( ( accumulatedPanels, panelName ) => {\n\t\tconst currentPanelState = accumulatedPanels?.[ panelName ];\n\t\treturn {\n\t\t\t...accumulatedPanels,\n\t\t\t[ panelName ]: {\n\t\t\t\t...currentPanelState,\n\t\t\t\topened: true,\n\t\t\t},\n\t\t};\n\t}, panelsWithEnabledState ?? {} );\n\n\t// The panels variable will only be set if openPanels wasn't `undefined`.\n\t// If it isn't set just return `panelsWithEnabledState`, and if that isn't\n\t// set return an empty object.\n\treturn panels ?? panelsWithEnabledState ?? EMPTY_OBJECT;\n}\n\n/**\n * Returns the preferences (these preferences are persisted locally).\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Preferences Object.\n */\nexport const getPreferences = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).getPreferences`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\tconst corePreferences = [ 'editorMode', 'hiddenBlockTypes' ].reduce(\n\t\t( accumulatedPrefs, preferenceKey ) => {\n\t\t\tconst value = select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\tpreferenceKey\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...accumulatedPrefs,\n\t\t\t\t[ preferenceKey ]: value,\n\t\t\t};\n\t\t},\n\t\t{}\n\t);\n\n\t// Panels were a preference, but the data structure changed when the state\n\t// was migrated to the preferences store. They need to be converted from\n\t// the new preferences store format to old format to ensure no breaking\n\t// changes for plugins.\n\tconst inactivePanels = select( preferencesStore ).get(\n\t\t'core',\n\t\t'inactivePanels'\n\t);\n\tconst openPanels = select( preferencesStore ).get( 'core', 'openPanels' );\n\tconst panels = convertPanelsToOldFormat( inactivePanels, openPanels );\n\n\treturn {\n\t\t...corePreferences,\n\t\tpanels,\n\t};\n} );\n\n/**\n *\n * @param {Object} state Global application state.\n * @param {string} preferenceKey Preference Key.\n * @param {*} defaultValue Default Value.\n *\n * @return {*} Preference Value.\n */\nexport function getPreference( state, preferenceKey, defaultValue ) {\n\tdeprecated( `select( 'core/edit-post' ).getPreference`, {\n\t\tsince: '6.0',\n\t\talternative: `select( 'core/preferences' ).get`,\n\t} );\n\n\t// Avoid using the `getPreferences` registry selector where possible.\n\tconst preferences = getPreferences( state );\n\tconst value = preferences[ preferenceKey ];\n\treturn value === undefined ? defaultValue : value;\n}\n\n/**\n * Returns an array of blocks that are hidden.\n *\n * @return {Array} A list of the hidden block types\n */\nexport const getHiddenBlockTypes = createRegistrySelector( ( select ) => () => {\n\treturn (\n\t\tselect( preferencesStore ).get( 'core', 'hiddenBlockTypes' ) ??\n\t\tEMPTY_ARRAY\n\t);\n} );\n\n/**\n * Returns true if the publish sidebar is opened.\n *\n * @deprecated\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether the publish sidebar is open.\n */\nexport const isPublishSidebarOpened = createRegistrySelector(\n\t( select ) => () => {\n\t\tdeprecated( `select( 'core/edit-post' ).isPublishSidebarOpened`, {\n\t\t\tsince: '6.6',\n\t\t\talternative: `select( 'core/editor' ).isPublishSidebarOpened`,\n\t\t} );\n\t\treturn select( editorStore ).isPublishSidebarOpened();\n\t}\n);\n\n/**\n * Returns true if the given panel was programmatically removed, or false otherwise.\n * All panels are not removed by default.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is removed.\n */\nexport const isEditorPanelRemoved = createRegistrySelector(\n\t( select ) => ( state, panelName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isEditorPanelRemoved`, {\n\t\t\tsince: '6.5',\n\t\t\talternative: `select( 'core/editor' ).isEditorPanelRemoved`,\n\t\t} );\n\t\treturn select( editorStore ).isEditorPanelRemoved( panelName );\n\t}\n);\n\n/**\n * Returns true if the given panel is enabled, or false otherwise. Panels are\n * enabled by default.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is enabled.\n */\nexport const isEditorPanelEnabled = createRegistrySelector(\n\t( select ) => ( state, panelName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isEditorPanelEnabled`, {\n\t\t\tsince: '6.5',\n\t\t\talternative: `select( 'core/editor' ).isEditorPanelEnabled`,\n\t\t} );\n\t\treturn select( editorStore ).isEditorPanelEnabled( panelName );\n\t}\n);\n\n/**\n * Returns true if the given panel is open, or false otherwise. Panels are\n * closed by default.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is open.\n */\nexport const isEditorPanelOpened = createRegistrySelector(\n\t( select ) => ( state, panelName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isEditorPanelOpened`, {\n\t\t\tsince: '6.5',\n\t\t\talternative: `select( 'core/editor' ).isEditorPanelOpened`,\n\t\t} );\n\t\treturn select( editorStore ).isEditorPanelOpened( panelName );\n\t}\n);\n\n/**\n * Returns true if a modal is active, or false otherwise.\n *\n * @deprecated since WP 6.3 use `core/interface` store's selector with the same name instead.\n *\n * @param {Object} state Global application state.\n * @param {string} modalName A string that uniquely identifies the modal.\n *\n * @return {boolean} Whether the modal is active.\n */\nexport const isModalActive = createRegistrySelector(\n\t( select ) => ( state, modalName ) => {\n\t\tdeprecated( `select( 'core/edit-post' ).isModalActive`, {\n\t\t\tsince: '6.3',\n\t\t\talternative: `select( 'core/interface' ).isModalActive`,\n\t\t} );\n\t\treturn !! select( interfaceStore ).isModalActive( modalName );\n\t}\n);\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @param {Object} state Global application state.\n * @param {string} feature Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport const isFeatureActive = createRegistrySelector(\n\t( select ) => ( state, feature ) => {\n\t\treturn !! select( preferencesStore ).get( 'core/edit-post', feature );\n\t}\n);\n\n/**\n * Returns true if the plugin item is pinned to the header.\n * When the value is not set it defaults to true.\n *\n * @param {Object} state Global application state.\n * @param {string} pluginName Plugin item name.\n *\n * @return {boolean} Whether the plugin item is pinned.\n */\nexport const isPluginItemPinned = createRegistrySelector(\n\t( select ) => ( state, pluginName ) => {\n\t\treturn select( interfaceStore ).isItemPinned( 'core', pluginName );\n\t}\n);\n\n/**\n * Returns an array of active meta box locations.\n *\n * @param {Object} state Post editor state.\n *\n * @return {string[]} Active meta box locations.\n */\nexport const getActiveMetaBoxLocations = createSelector(\n\t( state ) => {\n\t\treturn Object.keys( state.metaBoxes.locations ).filter( ( location ) =>\n\t\t\tisMetaBoxLocationActive( state, location )\n\t\t);\n\t},\n\t( state ) => [ state.metaBoxes.locations ]\n);\n\n/**\n * Returns true if a metabox location is active and visible\n *\n * @param {Object} state Post editor state.\n * @param {string} location Meta box location to test.\n *\n * @return {boolean} Whether the meta box location is active and visible.\n */\nexport const isMetaBoxLocationVisible = createRegistrySelector(\n\t( select ) => ( state, location ) => {\n\t\treturn (\n\t\t\tisMetaBoxLocationActive( state, location ) &&\n\t\t\tgetMetaBoxesPerLocation( state, location )?.some( ( { id } ) => {\n\t\t\t\treturn select( editorStore ).isEditorPanelEnabled(\n\t\t\t\t\tstate,\n\t\t\t\t\t`meta-box-${ id }`\n\t\t\t\t);\n\t\t\t} )\n\t\t);\n\t}\n);\n\n/**\n * Returns true if there is an active meta box in the given location, or false\n * otherwise.\n *\n * @param {Object} state Post editor state.\n * @param {string} location Meta box location to test.\n *\n * @return {boolean} Whether the meta box location is active.\n */\nexport function isMetaBoxLocationActive( state, location ) {\n\tconst metaBoxes = getMetaBoxesPerLocation( state, location );\n\treturn !! metaBoxes && metaBoxes.length !== 0;\n}\n\n/**\n * Returns the list of all the available meta boxes for a given location.\n *\n * @param {Object} state Global application state.\n * @param {string} location Meta box location to test.\n *\n * @return {?Array} List of meta boxes.\n */\nexport function getMetaBoxesPerLocation( state, location ) {\n\treturn state.metaBoxes.locations[ location ];\n}\n\n/**\n * Returns the list of all the available meta boxes.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} List of meta boxes.\n */\nexport const getAllMetaBoxes = createSelector(\n\t( state ) => {\n\t\treturn Object.values( state.metaBoxes.locations ).flat();\n\t},\n\t( state ) => [ state.metaBoxes.locations ]\n);\n\n/**\n * Returns true if the post is using Meta Boxes\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether there are metaboxes or not.\n */\nexport function hasMetaBoxes( state ) {\n\treturn getActiveMetaBoxLocations( state ).length > 0;\n}\n\n/**\n * Returns true if the Meta Boxes are being saved.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the metaboxes are being saved.\n */\nexport function isSavingMetaBoxes( state ) {\n\treturn state.metaBoxes.isSaving;\n}\n\n/**\n * Returns the current editing canvas device type.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Device type.\n */\nexport const __experimentalGetPreviewDeviceType = createRegistrySelector(\n\t( select ) => () => {\n\t\tdeprecated(\n\t\t\t`select( 'core/edit-site' ).__experimentalGetPreviewDeviceType`,\n\t\t\t{\n\t\t\t\tsince: '6.5',\n\t\t\t\tversion: '6.7',\n\t\t\t\talternative: `select( 'core/editor' ).getDeviceType`,\n\t\t\t}\n\t\t);\n\t\treturn select( editorStore ).getDeviceType();\n\t}\n);\n\n/**\n * Returns true if the inserter is opened.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the inserter is opened.\n */\nexport const isInserterOpened = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).isInserterOpened`, {\n\t\tsince: '6.5',\n\t\talternative: `select( 'core/editor' ).isInserterOpened`,\n\t} );\n\treturn select( editorStore ).isInserterOpened();\n} );\n\n/**\n * Get the insertion point for the inserter.\n *\n * @deprecated\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport const __experimentalGetInsertionPoint = createRegistrySelector(\n\t( select ) => () => {\n\t\tdeprecated(\n\t\t\t`select( 'core/edit-post' ).__experimentalGetInsertionPoint`,\n\t\t\t{\n\t\t\t\tsince: '6.5',\n\t\t\t\tversion: '6.7',\n\t\t\t}\n\t\t);\n\t\treturn unlock( select( editorStore ) ).getInsertionPoint();\n\t}\n);\n\n/**\n * Returns true if the list view is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the list view is opened.\n */\nexport const isListViewOpened = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).isListViewOpened`, {\n\t\tsince: '6.5',\n\t\talternative: `select( 'core/editor' ).isListViewOpened`,\n\t} );\n\treturn select( editorStore ).isListViewOpened();\n} );\n\n/**\n * Returns true if the template editing mode is enabled.\n *\n * @deprecated\n */\nexport const isEditingTemplate = createRegistrySelector( ( select ) => () => {\n\tdeprecated( `select( 'core/edit-post' ).isEditingTemplate`, {\n\t\tsince: '6.5',\n\t\talternative: `select( 'core/editor' ).getRenderingMode`,\n\t} );\n\treturn select( editorStore ).getCurrentPostType() === 'wp_template';\n} );\n\n/**\n * Returns true if meta boxes are initialized.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether meta boxes are initialized.\n */\nexport function areMetaBoxesInitialized( state ) {\n\treturn state.metaBoxes.initialized;\n}\n\n/**\n * Retrieves the template of the currently edited post.\n *\n * @return {Object?} Post Template.\n */\nexport const getEditedPostTemplate = createRegistrySelector(\n\t( select ) => ( state ) => {\n\t\tconst templateId = getEditedPostTemplateId( state );\n\t\tif ( ! templateId ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn select( coreStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template',\n\t\t\ttemplateId\n\t\t);\n\t}\n);\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { AutosaveMonitor, LocalAutosaveMonitor, UnsavedChangesWarning, EditorKeyboardShortcutsRegister, EditorSnackbars, store as editorStore, privateApis as editorPrivateApis } from '@wordpress/editor';
9
+ import { AutosaveMonitor, LocalAutosaveMonitor, UnsavedChangesWarning, EditorKeyboardShortcutsRegister, EditorSnackbars, ErrorBoundary, PostLockedModal, store as editorStore, privateApis as editorPrivateApis } from '@wordpress/editor';
10
10
  import { useSelect, useDispatch } from '@wordpress/data';
11
11
  import { privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
12
12
  import { PluginArea } from '@wordpress/plugins';
@@ -14,16 +14,19 @@ import { __, sprintf } from '@wordpress/i18n';
14
14
  import { useCallback, useMemo } from '@wordpress/element';
15
15
  import { store as noticesStore } from '@wordpress/notices';
16
16
  import { store as preferencesStore } from '@wordpress/preferences';
17
- import { privateApis as commandsPrivateApis } from '@wordpress/commands';
17
+ import { CommandMenu, privateApis as commandsPrivateApis } from '@wordpress/commands';
18
18
  import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';
19
19
  import { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';
20
20
  import { addQueryArgs } from '@wordpress/url';
21
21
  import { decodeEntities } from '@wordpress/html-entities';
22
+ import { store as coreStore } from '@wordpress/core-data';
23
+ import { SlotFillProvider } from '@wordpress/components';
22
24
 
23
25
  /**
24
26
  * Internal dependencies
25
27
  */
26
28
  import BackButton from '../back-button';
29
+ import EditorInitialization from '../editor-initialization';
27
30
  import EditPostKeyboardShortcuts from '../keyboard-shortcuts';
28
31
  import InitPatternModal from '../init-pattern-modal';
29
32
  import BrowserURL from '../browser-url';
@@ -35,9 +38,9 @@ import { unlock } from '../../lock-unlock';
35
38
  import useEditPostCommands from '../../commands/use-commands';
36
39
  import { usePaddingAppender } from './use-padding-appender';
37
40
  import { useShouldIframe } from './use-should-iframe';
41
+ import useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';
38
42
  import { jsx as _jsx } from "react/jsx-runtime";
39
43
  import { jsxs as _jsxs } from "react/jsx-runtime";
40
- import { Fragment as _Fragment } from "react/jsx-runtime";
41
44
  const {
42
45
  getLayoutStyles
43
46
  } = unlock(blockEditorPrivateApis);
@@ -48,9 +51,8 @@ const {
48
51
  useCommandContext
49
52
  } = unlock(commandsPrivateApis);
50
53
  const {
51
- EditorInterface,
52
- FullscreenMode,
53
- Sidebar
54
+ Editor,
55
+ FullscreenMode
54
56
  } = unlock(editorPrivateApis);
55
57
  const {
56
58
  BlockKeyboardShortcuts
@@ -85,9 +87,9 @@ function useEditorStyles() {
85
87
 
86
88
  // Compute the default styles.
87
89
  return useMemo(() => {
88
- var _editorSettings$style, _editorSettings$style2, _editorSettings$style3;
90
+ var _editorSettings$style, _editorSettings$defau, _editorSettings$style2, _editorSettings$style3;
89
91
  const presetStyles = (_editorSettings$style = editorSettings.styles?.filter(style => style.__unstableType && style.__unstableType !== 'theme')) !== null && _editorSettings$style !== void 0 ? _editorSettings$style : [];
90
- const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles];
92
+ const defaultEditorStyles = [...((_editorSettings$defau = editorSettings?.defaultEditorStyles) !== null && _editorSettings$defau !== void 0 ? _editorSettings$defau : []), ...presetStyles];
91
93
 
92
94
  // Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).
93
95
  const hasThemeStyles = hasThemeStyleSupport && presetStyles.length !== ((_editorSettings$style2 = editorSettings.styles?.length) !== null && _editorSettings$style2 !== void 0 ? _editorSettings$style2 : 0);
@@ -118,7 +120,10 @@ function useEditorStyles() {
118
120
  }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport, postType]);
119
121
  }
120
122
  function Layout({
121
- initialPost
123
+ postId: initialPostId,
124
+ postType: initialPostType,
125
+ settings,
126
+ initialEdits
122
127
  }) {
123
128
  useCommands();
124
129
  useEditPostCommands();
@@ -127,6 +132,11 @@ function Layout({
127
132
  const {
128
133
  createErrorNotice
129
134
  } = useDispatch(noticesStore);
135
+ const {
136
+ currentPost,
137
+ onNavigateToEntityRecord,
138
+ onNavigateToPreviousEntityRecord
139
+ } = useNavigateToEntityRecord(initialPostId, initialPostType, 'post-only');
130
140
  const {
131
141
  mode,
132
142
  isFullscreenActive,
@@ -137,17 +147,24 @@ function Layout({
137
147
  showMetaBoxes,
138
148
  hasHistory,
139
149
  isEditingTemplate,
140
- isWelcomeGuideVisible
150
+ isWelcomeGuideVisible,
151
+ templateId
141
152
  } = useSelect(select => {
153
+ var _getPostType$viewable;
142
154
  const {
143
155
  get
144
156
  } = select(preferencesStore);
145
157
  const {
146
- getEditorSettings
147
- } = select(editorStore);
158
+ isFeatureActive,
159
+ getEditedPostTemplateId
160
+ } = unlock(select(editPostStore));
148
161
  const {
149
- isFeatureActive
150
- } = select(editPostStore);
162
+ canUser,
163
+ getPostType
164
+ } = select(coreStore);
165
+ const supportsTemplateMode = settings.supportsTemplateMode;
166
+ const isViewable = (_getPostType$viewable = getPostType(currentPost.postType)?.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
167
+ const canViewTemplate = canUser('read', 'templates');
151
168
  return {
152
169
  mode: select(editorStore).getEditorMode(),
153
170
  isFullscreenActive: select(editPostStore).isFeatureActive('fullscreenMode'),
@@ -156,15 +173,21 @@ function Layout({
156
173
  showIconLabels: get('core', 'showIconLabels'),
157
174
  isDistractionFree: get('core', 'distractionFree'),
158
175
  showMetaBoxes: select(editorStore).getRenderingMode() === 'post-only',
159
- hasHistory: !!getEditorSettings().onNavigateToPreviousEntityRecord,
160
176
  isEditingTemplate: select(editorStore).getCurrentPostType() === 'wp_template',
161
- isWelcomeGuideVisible: isFeatureActive('welcomeGuide')
177
+ isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
178
+ templateId: supportsTemplateMode && isViewable && canViewTemplate && currentPost.postType !== 'wp_template' ? getEditedPostTemplateId() : null
162
179
  };
163
- }, []);
180
+ }, [settings.supportsTemplateMode, currentPost.postType]);
164
181
 
165
182
  // Set the right context for the command palette
166
183
  const commandContext = hasBlockSelected ? 'block-selection-edit' : 'entity-edit';
167
184
  useCommandContext(commandContext);
185
+ const editorSettings = useMemo(() => ({
186
+ ...settings,
187
+ onNavigateToEntityRecord,
188
+ onNavigateToPreviousEntityRecord,
189
+ defaultRenderingMode: 'post-only'
190
+ }), [settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
168
191
  const styles = useEditorStyles();
169
192
 
170
193
  // We need to add the show-icon-labels class to the body element so it is applied to modals.
@@ -218,39 +241,54 @@ function Layout({
218
241
  break;
219
242
  }
220
243
  }, [createSuccessNotice]);
221
- return /*#__PURE__*/_jsxs(_Fragment, {
222
- children: [/*#__PURE__*/_jsx(FullscreenMode, {
223
- isActive: isFullscreenActive
224
- }), /*#__PURE__*/_jsx(BrowserURL, {
225
- hasHistory: hasHistory
226
- }), /*#__PURE__*/_jsx(UnsavedChangesWarning, {}), /*#__PURE__*/_jsx(AutosaveMonitor, {}), /*#__PURE__*/_jsx(LocalAutosaveMonitor, {}), /*#__PURE__*/_jsx(EditPostKeyboardShortcuts, {}), /*#__PURE__*/_jsx(EditorKeyboardShortcutsRegister, {}), /*#__PURE__*/_jsx(BlockKeyboardShortcuts, {}), /*#__PURE__*/_jsx(WelcomeGuide, {}), /*#__PURE__*/_jsx(InitPatternModal, {}), /*#__PURE__*/_jsx(PluginArea, {
227
- onError: onPluginAreaError
228
- }), !isDistractionFree && /*#__PURE__*/_jsx(Sidebar, {
229
- onActionPerformed: onActionPerformed,
230
- extraPanels: !isEditingTemplate && /*#__PURE__*/_jsx(MetaBoxes, {
231
- location: "side"
232
- })
233
- }), /*#__PURE__*/_jsx(PostEditorMoreMenu, {}), /*#__PURE__*/_jsx(BackButton, {
234
- initialPost: initialPost
235
- }), /*#__PURE__*/_jsx(EditorSnackbars, {}), /*#__PURE__*/_jsx(EditorInterface, {
236
- className: className,
237
- styles: styles,
238
- forceIsDirty: hasActiveMetaboxes,
239
- contentRef: paddingAppenderRef,
240
- disableIframe: !shouldIframe
241
- // We should auto-focus the canvas (title) on load.
242
- // eslint-disable-next-line jsx-a11y/no-autofocus
243
- ,
244
- autoFocus: !isWelcomeGuideVisible,
245
- children: !isDistractionFree && showMetaBoxes && /*#__PURE__*/_jsxs("div", {
246
- className: "edit-post-layout__metaboxes",
247
- children: [/*#__PURE__*/_jsx(MetaBoxes, {
248
- location: "normal"
249
- }), /*#__PURE__*/_jsx(MetaBoxes, {
250
- location: "advanced"
251
- })]
252
- })
253
- })]
244
+ const initialPost = useMemo(() => {
245
+ return {
246
+ type: initialPostType,
247
+ id: initialPostId
248
+ };
249
+ }, [initialPostType, initialPostId]);
250
+ return /*#__PURE__*/_jsx(SlotFillProvider, {
251
+ children: /*#__PURE__*/_jsxs(ErrorBoundary, {
252
+ children: [/*#__PURE__*/_jsx(CommandMenu, {}), /*#__PURE__*/_jsx(WelcomeGuide, {
253
+ postType: currentPost.postType
254
+ }), /*#__PURE__*/_jsxs(Editor, {
255
+ settings: editorSettings,
256
+ initialEdits: initialEdits,
257
+ postType: currentPost.postType,
258
+ postId: currentPost.postId,
259
+ templateId: templateId,
260
+ className: className,
261
+ styles: styles,
262
+ forceIsDirty: hasActiveMetaboxes,
263
+ contentRef: paddingAppenderRef,
264
+ disableIframe: !shouldIframe
265
+ // We should auto-focus the canvas (title) on load.
266
+ // eslint-disable-next-line jsx-a11y/no-autofocus
267
+ ,
268
+ autoFocus: !isWelcomeGuideVisible,
269
+ onActionPerformed: onActionPerformed,
270
+ extraSidebarPanels: !isEditingTemplate && /*#__PURE__*/_jsx(MetaBoxes, {
271
+ location: "side"
272
+ }),
273
+ extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/_jsxs("div", {
274
+ className: "edit-post-layout__metaboxes",
275
+ children: [/*#__PURE__*/_jsx(MetaBoxes, {
276
+ location: "normal"
277
+ }), /*#__PURE__*/_jsx(MetaBoxes, {
278
+ location: "advanced"
279
+ })]
280
+ }),
281
+ children: [/*#__PURE__*/_jsx(PostLockedModal, {}), /*#__PURE__*/_jsx(EditorInitialization, {}), /*#__PURE__*/_jsx(FullscreenMode, {
282
+ isActive: isFullscreenActive
283
+ }), /*#__PURE__*/_jsx(BrowserURL, {
284
+ hasHistory: hasHistory
285
+ }), /*#__PURE__*/_jsx(UnsavedChangesWarning, {}), /*#__PURE__*/_jsx(AutosaveMonitor, {}), /*#__PURE__*/_jsx(LocalAutosaveMonitor, {}), /*#__PURE__*/_jsx(EditPostKeyboardShortcuts, {}), /*#__PURE__*/_jsx(EditorKeyboardShortcutsRegister, {}), /*#__PURE__*/_jsx(BlockKeyboardShortcuts, {}), /*#__PURE__*/_jsx(InitPatternModal, {}), /*#__PURE__*/_jsx(PluginArea, {
286
+ onError: onPluginAreaError
287
+ }), /*#__PURE__*/_jsx(PostEditorMoreMenu, {}), /*#__PURE__*/_jsx(BackButton, {
288
+ initialPost: initialPost
289
+ }), /*#__PURE__*/_jsx(EditorSnackbars, {})]
290
+ })]
291
+ })
254
292
  });
255
293
  }
256
294
  export default Layout;
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorKeyboardShortcutsRegister","EditorSnackbars","store","editorStore","privateApis","editorPrivateApis","useSelect","useDispatch","blockEditorPrivateApis","blockEditorStore","PluginArea","__","sprintf","useCallback","useMemo","noticesStore","preferencesStore","commandsPrivateApis","coreCommandsPrivateApis","blockLibraryPrivateApis","addQueryArgs","decodeEntities","BackButton","EditPostKeyboardShortcuts","InitPatternModal","BrowserURL","MetaBoxes","PostEditorMoreMenu","WelcomeGuide","editPostStore","unlock","useEditPostCommands","usePaddingAppender","useShouldIframe","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getLayoutStyles","useCommands","useCommandContext","EditorInterface","FullscreenMode","Sidebar","BlockKeyboardShortcuts","DESIGN_POST_TYPES","useEditorStyles","hasThemeStyleSupport","editorSettings","isZoomedOutView","hasMetaBoxes","renderingMode","postType","select","__unstableGetEditorMode","getCurrentPostType","getRenderingMode","_postType","isFeatureActive","getEditorSettings","_editorSettings$style","_editorSettings$style2","_editorSettings$style3","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","baseStyles","includes","Layout","initialPost","paddingAppenderRef","shouldIframe","createErrorNotice","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","hasHistory","isEditingTemplate","isWelcomeGuideVisible","get","getEditorMode","getBlockSelectionStart","onNavigateToPreviousEntityRecord","commandContext","document","body","classList","add","remove","className","onPluginAreaError","name","createSuccessNotice","onActionPerformed","actionId","items","location","href","trashed","post_type","type","ids","id","newItem","title","rendered","actions","label","onClick","postId","post","action","children","isActive","onError","extraPanels","forceIsDirty","contentRef","disableIframe","autoFocus"],"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\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 { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as commandsPrivateApis } 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';\n\n/**\n * Internal dependencies\n */\nimport BackButton from '../back-button';\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';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { EditorInterface, FullscreenMode, Sidebar } =\n\tunlock( 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\thasMetaBoxes,\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\thasMetaBoxes: select( editPostStore ).hasMetaBoxes(),\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 constant padding for the typewriter effect. When typing at the\n\t\t// bottom, there needs to be room to scroll up.\n\t\tif (\n\t\t\t! isZoomedOutView &&\n\t\t\t! hasMetaBoxes &&\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: 'body{padding-bottom: 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\nfunction Layout( { initialPost } ) {\n\tuseCommands();\n\tuseEditPostCommands();\n\tconst paddingAppenderRef = usePaddingAppender();\n\tconst shouldIframe = useShouldIframe();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\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\tisEditingTemplate,\n\t\tisWelcomeGuideVisible,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst { isFeatureActive } = select( editPostStore );\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\thasBlockSelected:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowMetaBoxes:\n\t\t\t\tselect( editorStore ).getRenderingMode() === 'post-only',\n\t\t\thasHistory: !! getEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t\tisEditingTemplate:\n\t\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t};\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\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\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL hasHistory={ hasHistory } />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<BlockKeyboardShortcuts />\n\t\t\t<WelcomeGuide />\n\t\t\t<InitPatternModal />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t{ ! isDistractionFree && (\n\t\t\t\t<Sidebar\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraPanels={\n\t\t\t\t\t\t! isEditingTemplate && <MetaBoxes location=\"side\" />\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<PostEditorMoreMenu />\n\t\t\t<BackButton initialPost={ initialPost } />\n\t\t\t<EditorSnackbars />\n\t\t\t<EditorInterface\n\t\t\t\tclassName={ className }\n\t\t\t\tstyles={ styles }\n\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\tcontentRef={ paddingAppenderRef }\n\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t>\n\t\t\t\t{ ! isDistractionFree && showMetaBoxes && (\n\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</EditorInterface>\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,eAAe,EACfC,oBAAoB,EACpBC,qBAAqB,EACrBC,+BAA+B,EAC/BC,eAAe,EACfC,KAAK,IAAIC,WAAW,EACpBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCH,WAAW,IAAII,sBAAsB,EACrCN,KAAK,IAAIO,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,WAAW,EAAEC,OAAO,QAAQ,oBAAoB;AACzD,SAASZ,KAAK,IAAIa,YAAY,QAAQ,oBAAoB;AAC1D,SAASb,KAAK,IAAIc,gBAAgB,QAAQ,wBAAwB;AAClE,SAASZ,WAAW,IAAIa,mBAAmB,QAAQ,qBAAqB;AACxE,SAASb,WAAW,IAAIc,uBAAuB,QAAQ,0BAA0B;AACjF,SAASd,WAAW,IAAIe,uBAAuB,QAAQ,0BAA0B;AACjF,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,yBAAyB,MAAM,uBAAuB;AAC7D,OAAOC,gBAAgB,MAAM,uBAAuB;AACpD,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,kBAAkB,MAAM,cAAc;AAC7C,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,SAAS1B,KAAK,IAAI2B,aAAa,QAAQ,aAAa;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,eAAe,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEtD,MAAM;EAAEC;AAAgB,CAAC,GAAGV,MAAM,CAAEtB,sBAAuB,CAAC;AAC5D,MAAM;EAAEiC;AAAY,CAAC,GAAGX,MAAM,CAAEZ,uBAAwB,CAAC;AACzD,MAAM;EAAEwB;AAAkB,CAAC,GAAGZ,MAAM,CAAEb,mBAAoB,CAAC;AAC3D,MAAM;EAAE0B,eAAe;EAAEC,cAAc;EAAEC;AAAQ,CAAC,GACjDf,MAAM,CAAEzB,iBAAkB,CAAC;AAC5B,MAAM;EAAEyC;AAAuB,CAAC,GAAGhB,MAAM,CAAEX,uBAAwB,CAAC;AACpE,MAAM4B,iBAAiB,GAAG,CACzB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,eAAe,CACf;AAED,SAASC,eAAeA,CAAA,EAAG;EAC1B,MAAM;IACLC,oBAAoB;IACpBC,cAAc;IACdC,eAAe;IACfC,YAAY;IACZC,aAAa;IACbC;EACD,CAAC,GAAGhD,SAAS,CAAIiD,MAAM,IAAM;IAC5B,MAAM;MAAEC;IAAwB,CAAC,GAAGD,MAAM,CAAE9C,gBAAiB,CAAC;IAC9D,MAAM;MAAEgD,kBAAkB;MAAEC;IAAiB,CAAC,GAAGH,MAAM,CAAEpD,WAAY,CAAC;IACtE,MAAMwD,SAAS,GAAGF,kBAAkB,CAAC,CAAC;IACtC,OAAO;MACNR,oBAAoB,EACnBM,MAAM,CAAE1B,aAAc,CAAC,CAAC+B,eAAe,CAAE,aAAc,CAAC;MACzDV,cAAc,EAAEK,MAAM,CAAEpD,WAAY,CAAC,CAAC0D,iBAAiB,CAAC,CAAC;MACzDV,eAAe,EAAEK,uBAAuB,CAAC,CAAC,KAAK,UAAU;MACzDJ,YAAY,EAAEG,MAAM,CAAE1B,aAAc,CAAC,CAACuB,YAAY,CAAC,CAAC;MACpDC,aAAa,EAAEK,gBAAgB,CAAC,CAAC;MACjCJ,QAAQ,EAAEK;IACX,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,OAAO7C,OAAO,CAAE,MAAM;IAAA,IAAAgD,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACrB,MAAMC,YAAY,IAAAH,qBAAA,GACjBZ,cAAc,CAACgB,MAAM,EAAEC,MAAM,CAC1BC,KAAK,IACNA,KAAK,CAACC,cAAc,IAAID,KAAK,CAACC,cAAc,KAAK,OACnD,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAER,MAAMQ,mBAAmB,GAAG,CAC3B,GAAGpB,cAAc,CAACoB,mBAAmB,EACrC,GAAGL,YAAY,CACf;;IAED;IACA,MAAMM,cAAc,GACnBtB,oBAAoB,IACpBgB,YAAY,CAACO,MAAM,OAAAT,sBAAA,GAAOb,cAAc,CAACgB,MAAM,EAAEM,MAAM,cAAAT,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAE;;IAE/D;IACA;IACA,IAAK,CAAEb,cAAc,CAACuB,mBAAmB,IAAI,CAAEF,cAAc,EAAG;MAC/DD,mBAAmB,CAACI,IAAI,CAAE;QACzBC,GAAG,EAAEnC,eAAe,CAAE;UACrB4B,KAAK,EAAE,CAAC,CAAC;UACTQ,QAAQ,EAAE,MAAM;UAChBC,kBAAkB,EAAE,KAAK;UACzBC,qBAAqB,EAAE,IAAI;UAC3BC,gBAAgB,EAAE;QACnB,CAAE;MACH,CAAE,CAAC;IACJ;IAEA,MAAMC,UAAU,GAAGT,cAAc,IAAAP,sBAAA,GAC9Bd,cAAc,CAACgB,MAAM,cAAAF,sBAAA,cAAAA,sBAAA,GAAI,EAAE,GAC3BM,mBAAmB;;IAEtB;IACA;IACA,IACC,CAAEnB,eAAe,IACjB,CAAEC,YAAY,IACdC,aAAa,KAAK,WAAW,IAC7B,CAAEN,iBAAiB,CAACkC,QAAQ,CAAE3B,QAAS,CAAC,EACvC;MACD,OAAO,CACN,GAAG0B,UAAU,EACb;QACCL,GAAG,EAAE;MACN,CAAC,CACD;IACF;IAEA,OAAOK,UAAU;EAClB,CAAC,EAAE,CACF9B,cAAc,CAACoB,mBAAmB,EAClCpB,cAAc,CAACuB,mBAAmB,EAClCvB,cAAc,CAACgB,MAAM,EACrBjB,oBAAoB,EACpBK,QAAQ,CACP,CAAC;AACJ;AAEA,SAAS4B,MAAMA,CAAE;EAAEC;AAAY,CAAC,EAAG;EAClC1C,WAAW,CAAC,CAAC;EACbV,mBAAmB,CAAC,CAAC;EACrB,MAAMqD,kBAAkB,GAAGpD,kBAAkB,CAAC,CAAC;EAC/C,MAAMqD,YAAY,GAAGpD,eAAe,CAAC,CAAC;EACtC,MAAM;IAAEqD;EAAkB,CAAC,GAAG/E,WAAW,CAAEQ,YAAa,CAAC;EACzD,MAAM;IACLwE,IAAI;IACJC,kBAAkB;IAClBC,kBAAkB;IAClBC,gBAAgB;IAChBC,cAAc;IACdC,iBAAiB;IACjBC,aAAa;IACbC,UAAU;IACVC,iBAAiB;IACjBC;EACD,CAAC,GAAG1F,SAAS,CAAIiD,MAAM,IAAM;IAC5B,MAAM;MAAE0C;IAAI,CAAC,GAAG1C,MAAM,CAAEvC,gBAAiB,CAAC;IAC1C,MAAM;MAAE6C;IAAkB,CAAC,GAAGN,MAAM,CAAEpD,WAAY,CAAC;IACnD,MAAM;MAAEyD;IAAgB,CAAC,GAAGL,MAAM,CAAE1B,aAAc,CAAC;IAEnD,OAAO;MACN0D,IAAI,EAAEhC,MAAM,CAAEpD,WAAY,CAAC,CAAC+F,aAAa,CAAC,CAAC;MAC3CV,kBAAkB,EACjBjC,MAAM,CAAE1B,aAAc,CAAC,CAAC+B,eAAe,CAAE,gBAAiB,CAAC;MAC5D6B,kBAAkB,EAAElC,MAAM,CAAE1B,aAAc,CAAC,CAACuB,YAAY,CAAC,CAAC;MAC1DsC,gBAAgB,EACf,CAAC,CAAEnC,MAAM,CAAE9C,gBAAiB,CAAC,CAAC0F,sBAAsB,CAAC,CAAC;MACvDR,cAAc,EAAEM,GAAG,CAAE,MAAM,EAAE,gBAAiB,CAAC;MAC/CL,iBAAiB,EAAEK,GAAG,CAAE,MAAM,EAAE,iBAAkB,CAAC;MACnDJ,aAAa,EACZtC,MAAM,CAAEpD,WAAY,CAAC,CAACuD,gBAAgB,CAAC,CAAC,KAAK,WAAW;MACzDoC,UAAU,EAAE,CAAC,CAAEjC,iBAAiB,CAAC,CAAC,CAACuC,gCAAgC;MACnEL,iBAAiB,EAChBxC,MAAM,CAAEpD,WAAY,CAAC,CAACsD,kBAAkB,CAAC,CAAC,KAAK,aAAa;MAC7DuC,qBAAqB,EAAEpC,eAAe,CAAE,cAAe;IACxD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,MAAMyC,cAAc,GAAGX,gBAAgB,GACpC,sBAAsB,GACtB,aAAa;EAChBhD,iBAAiB,CAAE2D,cAAe,CAAC;EAEnC,MAAMnC,MAAM,GAAGlB,eAAe,CAAC,CAAC;;EAEhC;EACA,IAAK2C,cAAc,EAAG;IACrBW,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAAE,kBAAmB,CAAC;EAClD,CAAC,MAAM;IACNH,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAAE,kBAAmB,CAAC;EACrD;EAEA,MAAMC,SAAS,GAAG/G,IAAI,CAAE,kBAAkB,EAAE,UAAU,GAAG2F,IAAI,EAAE;IAC9D,eAAe,EAAEE;EAClB,CAAE,CAAC;EAEH,SAASmB,iBAAiBA,CAAEC,IAAI,EAAG;IAClCvB,iBAAiB,CAChB1E,OAAO,EACN;IACAD,EAAE,CACD,kEACD,CAAC,EACDkG,IACD,CACD,CAAC;EACF;EAEA,MAAM;IAAEC;EAAoB,CAAC,GAAGvG,WAAW,CAAEQ,YAAa,CAAC;EAE3D,MAAMgG,iBAAiB,GAAGlG,WAAW,CACpC,CAAEmG,QAAQ,EAAEC,KAAK,KAAM;IACtB,QAASD,QAAQ;MAChB,KAAK,eAAe;QACnB;UACCV,QAAQ,CAACY,QAAQ,CAACC,IAAI,GAAG/F,YAAY,CAAE,UAAU,EAAE;YAClDgG,OAAO,EAAE,CAAC;YACVC,SAAS,EAAEJ,KAAK,CAAE,CAAC,CAAE,CAACK,IAAI;YAC1BC,GAAG,EAAEN,KAAK,CAAE,CAAC,CAAE,CAACO;UACjB,CAAE,CAAC;QACJ;QACA;MACD,KAAK,gBAAgB;QACpB;UACC,MAAMC,OAAO,GAAGR,KAAK,CAAE,CAAC,CAAE;UAC1B,MAAMS,KAAK,GACV,OAAOD,OAAO,CAACC,KAAK,KAAK,QAAQ,GAC9BD,OAAO,CAACC,KAAK,GACbD,OAAO,CAACC,KAAK,EAAEC,QAAQ;UAC3Bb,mBAAmB,CAClBlG,OAAO;UACN;UACAD,EAAE,CAAE,4BAA6B,CAAC,EAClCU,cAAc,CAAEqG,KAAM,CACvB,CAAC,EACD;YACCJ,IAAI,EAAE,UAAU;YAChBE,EAAE,EAAE,uBAAuB;YAC3BI,OAAO,EAAE,CACR;cACCC,KAAK,EAAElH,EAAE,CAAE,MAAO,CAAC;cACnBmH,OAAO,EAAEA,CAAA,KAAM;gBACd,MAAMC,MAAM,GAAGN,OAAO,CAACD,EAAE;gBACzBlB,QAAQ,CAACY,QAAQ,CAACC,IAAI,GACrB/F,YAAY,CAAE,UAAU,EAAE;kBACzB4G,IAAI,EAAED,MAAM;kBACZE,MAAM,EAAE;gBACT,CAAE,CAAC;cACL;YACD,CAAC;UAEH,CACD,CAAC;QACF;QACA;IACF;EACD,CAAC,EACD,CAAEnB,mBAAmB,CACtB,CAAC;EAED,oBACCzE,KAAA,CAAAE,SAAA;IAAA2F,QAAA,gBACC/F,IAAA,CAACS,cAAc;MAACuF,QAAQ,EAAG3C;IAAoB,CAAE,CAAC,eAClDrD,IAAA,CAACV,UAAU;MAACqE,UAAU,EAAGA;IAAY,CAAE,CAAC,eACxC3D,IAAA,CAACpC,qBAAqB,IAAE,CAAC,eACzBoC,IAAA,CAACtC,eAAe,IAAE,CAAC,eACnBsC,IAAA,CAACrC,oBAAoB,IAAE,CAAC,eACxBqC,IAAA,CAACZ,yBAAyB,IAAE,CAAC,eAC7BY,IAAA,CAACnC,+BAA+B,IAAE,CAAC,eACnCmC,IAAA,CAACW,sBAAsB,IAAE,CAAC,eAC1BX,IAAA,CAACP,YAAY,IAAE,CAAC,eAChBO,IAAA,CAACX,gBAAgB,IAAE,CAAC,eACpBW,IAAA,CAACzB,UAAU;MAAC0H,OAAO,EAAGxB;IAAmB,CAAE,CAAC,EAC1C,CAAEhB,iBAAiB,iBACpBzD,IAAA,CAACU,OAAO;MACPkE,iBAAiB,EAAGA,iBAAmB;MACvCsB,WAAW,EACV,CAAEtC,iBAAiB,iBAAI5D,IAAA,CAACT,SAAS;QAACwF,QAAQ,EAAC;MAAM,CAAE;IACnD,CACD,CACD,eACD/E,IAAA,CAACR,kBAAkB,IAAE,CAAC,eACtBQ,IAAA,CAACb,UAAU;MAAC6D,WAAW,EAAGA;IAAa,CAAE,CAAC,eAC1ChD,IAAA,CAAClC,eAAe,IAAE,CAAC,eACnBkC,IAAA,CAACQ,eAAe;MACfgE,SAAS,EAAGA,SAAW;MACvBzC,MAAM,EAAGA,MAAQ;MACjBoE,YAAY,EAAG7C,kBAAoB;MACnC8C,UAAU,EAAGnD,kBAAoB;MACjCoD,aAAa,EAAG,CAAEnD;MAClB;MACA;MAAA;MACAoD,SAAS,EAAG,CAAEzC,qBAAuB;MAAAkC,QAAA,EAEnC,CAAEtC,iBAAiB,IAAIC,aAAa,iBACrCxD,KAAA;QAAKsE,SAAS,EAAC,6BAA6B;QAAAuB,QAAA,gBAC3C/F,IAAA,CAACT,SAAS;UAACwF,QAAQ,EAAC;QAAQ,CAAE,CAAC,eAC/B/E,IAAA,CAACT,SAAS;UAACwF,QAAQ,EAAC;QAAU,CAAE,CAAC;MAAA,CAC7B;IACL,CACe,CAAC;EAAA,CACjB,CAAC;AAEL;AAEA,eAAehC,MAAM","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","noticesStore","preferencesStore","CommandMenu","commandsPrivateApis","coreCommandsPrivateApis","blockLibraryPrivateApis","addQueryArgs","decodeEntities","coreStore","SlotFillProvider","BackButton","EditorInitialization","EditPostKeyboardShortcuts","InitPatternModal","BrowserURL","MetaBoxes","PostEditorMoreMenu","WelcomeGuide","editPostStore","unlock","useEditPostCommands","usePaddingAppender","useShouldIframe","useNavigateToEntityRecord","jsx","_jsx","jsxs","_jsxs","getLayoutStyles","useCommands","useCommandContext","Editor","FullscreenMode","BlockKeyboardShortcuts","DESIGN_POST_TYPES","useEditorStyles","hasThemeStyleSupport","editorSettings","isZoomedOutView","hasMetaBoxes","renderingMode","postType","select","__unstableGetEditorMode","getCurrentPostType","getRenderingMode","_postType","isFeatureActive","getEditorSettings","_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","Layout","postId","initialPostId","initialPostType","settings","initialEdits","paddingAppenderRef","shouldIframe","createErrorNotice","currentPost","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","mode","isFullscreenActive","hasActiveMetaboxes","hasBlockSelected","showIconLabels","isDistractionFree","showMetaBoxes","hasHistory","isEditingTemplate","isWelcomeGuideVisible","templateId","_getPostType$viewable","get","getEditedPostTemplateId","canUser","getPostType","supportsTemplateMode","isViewable","viewable","canViewTemplate","getEditorMode","getBlockSelectionStart","commandContext","defaultRenderingMode","document","body","classList","add","remove","className","onPluginAreaError","name","createSuccessNotice","onActionPerformed","actionId","items","location","href","trashed","post_type","type","ids","id","newItem","title","rendered","actions","label","onClick","post","action","initialPost","children","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 { useCallback, useMemo } 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 { SlotFillProvider } from '@wordpress/components';\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\thasMetaBoxes,\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\thasMetaBoxes: select( editPostStore ).hasMetaBoxes(),\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 constant padding for the typewriter effect. When typing at the\n\t\t// bottom, there needs to be room to scroll up.\n\t\tif (\n\t\t\t! isZoomedOutView &&\n\t\t\t! hasMetaBoxes &&\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: 'body{padding-bottom: 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\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,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord(\n\t\tinitialPostId,\n\t\tinitialPostType,\n\t\t'post-only'\n\t);\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\tisEditingTemplate,\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( currentPost.postType )?.viewable ?? false;\n\t\t\tconst canViewTemplate = canUser( 'read', 'templates' );\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\tselect( editorStore ).getRenderingMode() === 'post-only',\n\t\t\t\tisEditingTemplate:\n\t\t\t\t\tselect( editorStore ).getCurrentPostType() ===\n\t\t\t\t\t'wp_template',\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\tcurrentPost.postType !== 'wp_template'\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[ settings.supportsTemplateMode, currentPost.postType ]\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\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ErrorBoundary>\n\t\t\t\t<CommandMenu />\n\t\t\t\t<WelcomeGuide postType={ currentPost.postType } />\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={ currentPost.postType }\n\t\t\t\t\tpostId={ currentPost.postId }\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\t! isEditingTemplate && <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<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\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 initialPost={ initialPost } />\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":[]}