@wordpress/edit-post 8.0.1 → 8.1.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 +6 -0
  2. package/build/components/layout/index.js +88 -48
  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 +90 -51
  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 -30
  27. package/src/components/layout/index.js +130 -66
  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
@@ -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,15 +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
+ import { decodeEntities } from '@wordpress/html-entities';
22
+ import { store as coreStore } from '@wordpress/core-data';
23
+ import { SlotFillProvider } from '@wordpress/components';
21
24
 
22
25
  /**
23
26
  * Internal dependencies
24
27
  */
25
28
  import BackButton from '../back-button';
29
+ import EditorInitialization from '../editor-initialization';
26
30
  import EditPostKeyboardShortcuts from '../keyboard-shortcuts';
27
31
  import InitPatternModal from '../init-pattern-modal';
28
32
  import BrowserURL from '../browser-url';
@@ -34,9 +38,9 @@ import { unlock } from '../../lock-unlock';
34
38
  import useEditPostCommands from '../../commands/use-commands';
35
39
  import { usePaddingAppender } from './use-padding-appender';
36
40
  import { useShouldIframe } from './use-should-iframe';
41
+ import useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';
37
42
  import { jsx as _jsx } from "react/jsx-runtime";
38
43
  import { jsxs as _jsxs } from "react/jsx-runtime";
39
- import { Fragment as _Fragment } from "react/jsx-runtime";
40
44
  const {
41
45
  getLayoutStyles
42
46
  } = unlock(blockEditorPrivateApis);
@@ -47,9 +51,8 @@ const {
47
51
  useCommandContext
48
52
  } = unlock(commandsPrivateApis);
49
53
  const {
50
- EditorInterface,
51
- FullscreenMode,
52
- Sidebar
54
+ Editor,
55
+ FullscreenMode
53
56
  } = unlock(editorPrivateApis);
54
57
  const {
55
58
  BlockKeyboardShortcuts
@@ -84,9 +87,9 @@ function useEditorStyles() {
84
87
 
85
88
  // Compute the default styles.
86
89
  return useMemo(() => {
87
- var _editorSettings$style, _editorSettings$style2, _editorSettings$style3;
90
+ var _editorSettings$style, _editorSettings$defau, _editorSettings$style2, _editorSettings$style3;
88
91
  const presetStyles = (_editorSettings$style = editorSettings.styles?.filter(style => style.__unstableType && style.__unstableType !== 'theme')) !== null && _editorSettings$style !== void 0 ? _editorSettings$style : [];
89
- const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles];
92
+ const defaultEditorStyles = [...((_editorSettings$defau = editorSettings?.defaultEditorStyles) !== null && _editorSettings$defau !== void 0 ? _editorSettings$defau : []), ...presetStyles];
90
93
 
91
94
  // Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).
92
95
  const hasThemeStyles = hasThemeStyleSupport && presetStyles.length !== ((_editorSettings$style2 = editorSettings.styles?.length) !== null && _editorSettings$style2 !== void 0 ? _editorSettings$style2 : 0);
@@ -117,7 +120,10 @@ function useEditorStyles() {
117
120
  }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport, postType]);
118
121
  }
119
122
  function Layout({
120
- initialPost
123
+ postId: initialPostId,
124
+ postType: initialPostType,
125
+ settings,
126
+ initialEdits
121
127
  }) {
122
128
  useCommands();
123
129
  useEditPostCommands();
@@ -126,6 +132,11 @@ function Layout({
126
132
  const {
127
133
  createErrorNotice
128
134
  } = useDispatch(noticesStore);
135
+ const {
136
+ currentPost,
137
+ onNavigateToEntityRecord,
138
+ onNavigateToPreviousEntityRecord
139
+ } = useNavigateToEntityRecord(initialPostId, initialPostType, 'post-only');
129
140
  const {
130
141
  mode,
131
142
  isFullscreenActive,
@@ -136,17 +147,24 @@ function Layout({
136
147
  showMetaBoxes,
137
148
  hasHistory,
138
149
  isEditingTemplate,
139
- isWelcomeGuideVisible
150
+ isWelcomeGuideVisible,
151
+ templateId
140
152
  } = useSelect(select => {
153
+ var _getPostType$viewable;
141
154
  const {
142
155
  get
143
156
  } = select(preferencesStore);
144
157
  const {
145
- getEditorSettings
146
- } = select(editorStore);
158
+ isFeatureActive,
159
+ getEditedPostTemplateId
160
+ } = unlock(select(editPostStore));
147
161
  const {
148
- isFeatureActive
149
- } = 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');
150
168
  return {
151
169
  mode: select(editorStore).getEditorMode(),
152
170
  isFullscreenActive: select(editPostStore).isFeatureActive('fullscreenMode'),
@@ -155,15 +173,21 @@ function Layout({
155
173
  showIconLabels: get('core', 'showIconLabels'),
156
174
  isDistractionFree: get('core', 'distractionFree'),
157
175
  showMetaBoxes: select(editorStore).getRenderingMode() === 'post-only',
158
- hasHistory: !!getEditorSettings().onNavigateToPreviousEntityRecord,
159
176
  isEditingTemplate: select(editorStore).getCurrentPostType() === 'wp_template',
160
- isWelcomeGuideVisible: isFeatureActive('welcomeGuide')
177
+ isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
178
+ templateId: supportsTemplateMode && isViewable && canViewTemplate && currentPost.postType !== 'wp_template' ? getEditedPostTemplateId() : null
161
179
  };
162
- }, []);
180
+ }, [settings.supportsTemplateMode, currentPost.postType]);
163
181
 
164
182
  // Set the right context for the command palette
165
183
  const commandContext = hasBlockSelected ? 'block-selection-edit' : 'entity-edit';
166
184
  useCommandContext(commandContext);
185
+ const editorSettings = useMemo(() => ({
186
+ ...settings,
187
+ onNavigateToEntityRecord,
188
+ onNavigateToPreviousEntityRecord,
189
+ defaultRenderingMode: 'post-only'
190
+ }), [settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
167
191
  const styles = useEditorStyles();
168
192
 
169
193
  // We need to add the show-icon-labels class to the body element so it is applied to modals.
@@ -199,7 +223,7 @@ function Layout({
199
223
  const title = typeof newItem.title === 'string' ? newItem.title : newItem.title?.rendered;
200
224
  createSuccessNotice(sprintf(
201
225
  // translators: %s: Title of the created post e.g: "Post 1".
202
- __('"%s" successfully created.'), title), {
226
+ __('"%s" successfully created.'), decodeEntities(title)), {
203
227
  type: 'snackbar',
204
228
  id: 'duplicate-post-action',
205
229
  actions: [{
@@ -217,39 +241,54 @@ function Layout({
217
241
  break;
218
242
  }
219
243
  }, [createSuccessNotice]);
220
- return /*#__PURE__*/_jsxs(_Fragment, {
221
- children: [/*#__PURE__*/_jsx(FullscreenMode, {
222
- isActive: isFullscreenActive
223
- }), /*#__PURE__*/_jsx(BrowserURL, {
224
- hasHistory: hasHistory
225
- }), /*#__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, {
226
- onError: onPluginAreaError
227
- }), !isDistractionFree && /*#__PURE__*/_jsx(Sidebar, {
228
- onActionPerformed: onActionPerformed,
229
- extraPanels: !isEditingTemplate && /*#__PURE__*/_jsx(MetaBoxes, {
230
- location: "side"
231
- })
232
- }), /*#__PURE__*/_jsx(PostEditorMoreMenu, {}), /*#__PURE__*/_jsx(BackButton, {
233
- initialPost: initialPost
234
- }), /*#__PURE__*/_jsx(EditorSnackbars, {}), /*#__PURE__*/_jsx(EditorInterface, {
235
- className: className,
236
- styles: styles,
237
- forceIsDirty: hasActiveMetaboxes,
238
- contentRef: paddingAppenderRef,
239
- disableIframe: !shouldIframe
240
- // We should auto-focus the canvas (title) on load.
241
- // eslint-disable-next-line jsx-a11y/no-autofocus
242
- ,
243
- autoFocus: !isWelcomeGuideVisible,
244
- children: !isDistractionFree && showMetaBoxes && /*#__PURE__*/_jsxs("div", {
245
- className: "edit-post-layout__metaboxes",
246
- children: [/*#__PURE__*/_jsx(MetaBoxes, {
247
- location: "normal"
248
- }), /*#__PURE__*/_jsx(MetaBoxes, {
249
- location: "advanced"
250
- })]
251
- })
252
- })]
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
+ })
253
292
  });
254
293
  }
255
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","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';\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\ttitle\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":[]}
@@ -2,7 +2,6 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useSelect } from '@wordpress/data';
5
- import { store as editorStore } from '@wordpress/editor';
6
5
 
7
6
  /**
8
7
  * Internal dependencies
@@ -11,7 +10,9 @@ import WelcomeGuideDefault from './default';
11
10
  import WelcomeGuideTemplate from './template';
12
11
  import { store as editPostStore } from '../../store';
13
12
  import { jsx as _jsx } from "react/jsx-runtime";
14
- export default function WelcomeGuide() {
13
+ export default function WelcomeGuide({
14
+ postType
15
+ }) {
15
16
  const {
16
17
  isActive,
17
18
  isEditingTemplate
@@ -19,16 +20,13 @@ export default function WelcomeGuide() {
19
20
  const {
20
21
  isFeatureActive
21
22
  } = select(editPostStore);
22
- const {
23
- getCurrentPostType
24
- } = select(editorStore);
25
- const _isEditingTemplate = getCurrentPostType() === 'wp_template';
23
+ const _isEditingTemplate = postType === 'wp_template';
26
24
  const feature = _isEditingTemplate ? 'welcomeGuideTemplate' : 'welcomeGuide';
27
25
  return {
28
26
  isActive: isFeatureActive(feature),
29
27
  isEditingTemplate: _isEditingTemplate
30
28
  };
31
- }, []);
29
+ }, [postType]);
32
30
  if (!isActive) {
33
31
  return null;
34
32
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","store","editorStore","WelcomeGuideDefault","WelcomeGuideTemplate","editPostStore","jsx","_jsx","WelcomeGuide","isActive","isEditingTemplate","select","isFeatureActive","getCurrentPostType","_isEditingTemplate","feature"],"sources":["@wordpress/edit-post/src/components/welcome-guide/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuideDefault from './default';\nimport WelcomeGuideTemplate from './template';\nimport { store as editPostStore } from '../../store';\n\nexport default function WelcomeGuide() {\n\tconst { isActive, isEditingTemplate } = useSelect( ( select ) => {\n\t\tconst { isFeatureActive } = select( editPostStore );\n\t\tconst { getCurrentPostType } = select( editorStore );\n\t\tconst _isEditingTemplate = getCurrentPostType() === 'wp_template';\n\n\t\tconst feature = _isEditingTemplate\n\t\t\t? 'welcomeGuideTemplate'\n\t\t\t: 'welcomeGuide';\n\n\t\treturn {\n\t\t\tisActive: isFeatureActive( feature ),\n\t\t\tisEditingTemplate: _isEditingTemplate,\n\t\t};\n\t}, [] );\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\treturn isEditingTemplate ? (\n\t\t<WelcomeGuideTemplate />\n\t) : (\n\t\t<WelcomeGuideDefault />\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,WAAW;AAC3C,OAAOC,oBAAoB,MAAM,YAAY;AAC7C,SAASH,KAAK,IAAII,aAAa,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErD,eAAe,SAASC,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,QAAQ;IAAEC;EAAkB,CAAC,GAAGV,SAAS,CAAIW,MAAM,IAAM;IAChE,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEN,aAAc,CAAC;IACnD,MAAM;MAAEQ;IAAmB,CAAC,GAAGF,MAAM,CAAET,WAAY,CAAC;IACpD,MAAMY,kBAAkB,GAAGD,kBAAkB,CAAC,CAAC,KAAK,aAAa;IAEjE,MAAME,OAAO,GAAGD,kBAAkB,GAC/B,sBAAsB,GACtB,cAAc;IAEjB,OAAO;MACNL,QAAQ,EAAEG,eAAe,CAAEG,OAAQ,CAAC;MACpCL,iBAAiB,EAAEI;IACpB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEL,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,OAAOC,iBAAiB,gBACvBH,IAAA,CAACH,oBAAoB,IAAE,CAAC,gBAExBG,IAAA,CAACJ,mBAAmB,IAAE,CACtB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","WelcomeGuideDefault","WelcomeGuideTemplate","store","editPostStore","jsx","_jsx","WelcomeGuide","postType","isActive","isEditingTemplate","select","isFeatureActive","_isEditingTemplate","feature"],"sources":["@wordpress/edit-post/src/components/welcome-guide/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuideDefault from './default';\nimport WelcomeGuideTemplate from './template';\nimport { store as editPostStore } from '../../store';\n\nexport default function WelcomeGuide( { postType } ) {\n\tconst { isActive, isEditingTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isFeatureActive } = select( editPostStore );\n\t\t\tconst _isEditingTemplate = postType === 'wp_template';\n\t\t\tconst feature = _isEditingTemplate\n\t\t\t\t? 'welcomeGuideTemplate'\n\t\t\t\t: 'welcomeGuide';\n\n\t\t\treturn {\n\t\t\t\tisActive: isFeatureActive( feature ),\n\t\t\t\tisEditingTemplate: _isEditingTemplate,\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\treturn isEditingTemplate ? (\n\t\t<WelcomeGuideTemplate />\n\t) : (\n\t\t<WelcomeGuideDefault />\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,WAAW;AAC3C,OAAOC,oBAAoB,MAAM,YAAY;AAC7C,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErD,eAAe,SAASC,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACpD,MAAM;IAAEC,QAAQ;IAAEC;EAAkB,CAAC,GAAGV,SAAS,CAC9CW,MAAM,IAAM;IACb,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEP,aAAc,CAAC;IACnD,MAAMS,kBAAkB,GAAGL,QAAQ,KAAK,aAAa;IACrD,MAAMM,OAAO,GAAGD,kBAAkB,GAC/B,sBAAsB,GACtB,cAAc;IAEjB,OAAO;MACNJ,QAAQ,EAAEG,eAAe,CAAEE,OAAQ,CAAC;MACpCJ,iBAAiB,EAAEG;IACpB,CAAC;EACF,CAAC,EACD,CAAEL,QAAQ,CACX,CAAC;EAED,IAAK,CAAEC,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,OAAOC,iBAAiB,gBACvBJ,IAAA,CAACJ,oBAAoB,IAAE,CAAC,gBAExBI,IAAA,CAACL,mBAAmB,IAAE,CACtB;AACF","ignoreList":[]}