@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.
- package/CHANGELOG.md +15 -11
- package/build/components/layout/index.js +86 -47
- package/build/components/layout/index.js.map +1 -1
- package/build/components/welcome-guide/index.js +5 -7
- package/build/components/welcome-guide/index.js.map +1 -1
- package/build/index.js +8 -6
- package/build/index.js.map +1 -1
- package/build/store/index.js +3 -0
- package/build/store/index.js.map +1 -1
- package/build/store/private-selectors.js +56 -0
- package/build/store/private-selectors.js.map +1 -0
- package/build/store/selectors.js +6 -43
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/layout/index.js +88 -50
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/welcome-guide/index.js +5 -7
- package/build-module/components/welcome-guide/index.js.map +1 -1
- package/build-module/index.js +9 -7
- package/build-module/index.js.map +1 -1
- package/build-module/store/index.js +3 -0
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-selectors.js +49 -0
- package/build-module/store/private-selectors.js.map +1 -0
- package/build-module/store/selectors.js +6 -43
- package/build-module/store/selectors.js.map +1 -1
- package/package.json +31 -31
- package/src/components/layout/index.js +128 -65
- package/src/components/welcome-guide/index.js +15 -15
- package/src/index.js +10 -8
- package/src/store/index.js +3 -1
- package/src/store/private-selectors.js +52 -0
- package/src/store/selectors.js +10 -61
- package/src/test/__snapshots__/editor.native.js.snap +12 -0
- package/src/test/editor.native.js +34 -0
- package/build/editor.js +0 -100
- package/build/editor.js.map +0 -1
- package/build-module/editor.js +0 -93
- package/build-module/editor.js.map +0 -1
- 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":[]}
|
package/build/store/selectors.js
CHANGED
|
@@ -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
|
-
|
|
507
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
147
|
-
|
|
158
|
+
isFeatureActive,
|
|
159
|
+
getEditedPostTemplateId
|
|
160
|
+
} = unlock(select(editPostStore));
|
|
148
161
|
const {
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
location: "
|
|
249
|
-
}),
|
|
250
|
-
|
|
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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorKeyboardShortcutsRegister","EditorSnackbars","ErrorBoundary","PostLockedModal","store","editorStore","privateApis","editorPrivateApis","useSelect","useDispatch","blockEditorPrivateApis","blockEditorStore","PluginArea","__","sprintf","useCallback","useMemo","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":[]}
|