@wordpress/edit-post 7.31.0 → 7.32.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 (104) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +5 -127
  3. package/build/components/header/index.js +1 -1
  4. package/build/components/header/index.js.map +1 -1
  5. package/build/components/header/post-publish-button-or-toggle.js +2 -7
  6. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  7. package/build/components/keyboard-shortcut-help-modal/index.js +3 -0
  8. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  9. package/build/components/layout/actions-panel.js +4 -7
  10. package/build/components/layout/actions-panel.js.map +1 -1
  11. package/build/components/layout/index.js +5 -2
  12. package/build/components/layout/index.js.map +1 -1
  13. package/build/components/sidebar/plugin-post-publish-panel/index.js +16 -64
  14. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  15. package/build/components/sidebar/plugin-pre-publish-panel/index.js +16 -63
  16. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  17. package/build/components/sidebar/settings-sidebar/index.js +8 -3
  18. package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
  19. package/build/editor.js +7 -2
  20. package/build/editor.js.map +1 -1
  21. package/build/hooks/commands/use-common-commands.js +2 -2
  22. package/build/hooks/commands/use-common-commands.js.map +1 -1
  23. package/build/hooks/use-navigate-to-entity-record.js +36 -19
  24. package/build/hooks/use-navigate-to-entity-record.js.map +1 -1
  25. package/build/index.js +3 -4
  26. package/build/index.js.map +1 -1
  27. package/build/index.native.js +2 -4
  28. package/build/index.native.js.map +1 -1
  29. package/build/store/actions.js +36 -23
  30. package/build/store/actions.js.map +1 -1
  31. package/build/store/reducer.js +1 -15
  32. package/build/store/reducer.js.map +1 -1
  33. package/build/store/selectors.js +10 -5
  34. package/build/store/selectors.js.map +1 -1
  35. package/build-module/components/header/index.js +1 -1
  36. package/build-module/components/header/index.js.map +1 -1
  37. package/build-module/components/header/post-publish-button-or-toggle.js +2 -7
  38. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  39. package/build-module/components/keyboard-shortcut-help-modal/index.js +3 -0
  40. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  41. package/build-module/components/layout/actions-panel.js +4 -5
  42. package/build-module/components/layout/actions-panel.js.map +1 -1
  43. package/build-module/components/layout/index.js +5 -2
  44. package/build-module/components/layout/index.js.map +1 -1
  45. package/build-module/components/sidebar/plugin-post-publish-panel/index.js +14 -62
  46. package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  47. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +14 -61
  48. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  49. package/build-module/components/sidebar/settings-sidebar/index.js +9 -4
  50. package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
  51. package/build-module/editor.js +7 -2
  52. package/build-module/editor.js.map +1 -1
  53. package/build-module/hooks/commands/use-common-commands.js +2 -2
  54. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  55. package/build-module/hooks/use-navigate-to-entity-record.js +37 -20
  56. package/build-module/hooks/use-navigate-to-entity-record.js.map +1 -1
  57. package/build-module/index.js +4 -4
  58. package/build-module/index.js.map +1 -1
  59. package/build-module/index.native.js +2 -4
  60. package/build-module/index.native.js.map +1 -1
  61. package/build-module/store/actions.js +30 -15
  62. package/build-module/store/actions.js.map +1 -1
  63. package/build-module/store/reducer.js +1 -13
  64. package/build-module/store/reducer.js.map +1 -1
  65. package/build-module/store/selectors.js +9 -3
  66. package/build-module/store/selectors.js.map +1 -1
  67. package/build-style/classic-rtl.css +1 -1
  68. package/build-style/classic.css +1 -1
  69. package/build-style/style-rtl.css +1 -7
  70. package/build-style/style.css +1 -7
  71. package/package.json +32 -32
  72. package/src/classic.scss +2 -1
  73. package/src/components/header/index.js +1 -1
  74. package/src/components/header/post-publish-button-or-toggle.js +2 -8
  75. package/src/components/keyboard-shortcut-help-modal/index.js +4 -0
  76. package/src/components/layout/actions-panel.js +5 -4
  77. package/src/components/layout/index.js +7 -2
  78. package/src/components/meta-boxes/meta-boxes-area/style.scss +1 -1
  79. package/src/components/sidebar/plugin-post-publish-panel/index.js +12 -67
  80. package/src/components/sidebar/plugin-pre-publish-panel/index.js +12 -66
  81. package/src/components/sidebar/settings-sidebar/index.js +6 -2
  82. package/src/editor.js +12 -2
  83. package/src/hooks/commands/use-common-commands.js +2 -2
  84. package/src/hooks/use-navigate-to-entity-record.js +37 -24
  85. package/src/index.js +3 -2
  86. package/src/index.native.js +1 -4
  87. package/src/store/actions.js +27 -12
  88. package/src/store/reducer.js +0 -13
  89. package/src/store/selectors.js +11 -3
  90. package/src/style.scss +0 -1
  91. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +0 -107
  92. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +0 -1
  93. package/build/components/sidebar/template-summary/index.js +0 -36
  94. package/build/components/sidebar/template-summary/index.js.map +0 -1
  95. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +0 -100
  96. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +0 -1
  97. package/build-module/components/sidebar/template-summary/index.js +0 -29
  98. package/build-module/components/sidebar/template-summary/index.js.map +0 -1
  99. package/src/components/block-settings-menu/plugin-block-settings-menu-item.js +0 -108
  100. package/src/components/sidebar/plugin-post-publish-panel/test/__snapshots__/index.js.snap +0 -39
  101. package/src/components/sidebar/plugin-post-publish-panel/test/index.js +0 -33
  102. package/src/components/sidebar/plugin-pre-publish-panel/test/index.js +0 -33
  103. package/src/components/sidebar/template-summary/index.js +0 -37
  104. package/src/components/sidebar/template-summary/style.scss +0 -5
@@ -2,79 +2,31 @@ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { usePluginContext } from '@wordpress/plugins';
6
- import { createSlotFill, PanelBody } from '@wordpress/components';
7
- const {
8
- Fill,
9
- Slot
10
- } = createSlotFill('PluginPostPublishPanel');
5
+ import deprecated from '@wordpress/deprecated';
6
+ import { PluginPostPublishPanel } from '@wordpress/editor';
11
7
 
12
8
  /**
13
9
  * Renders provided content to the post-publish panel in the publish flow
14
10
  * (side panel that opens after a user publishes the post).
15
11
  *
12
+ * @deprecated since 6.6, use `wp.editor.PluginPostPublishPanel` instead.
13
+ *
16
14
  * @param {Object} props Component properties.
17
15
  * @param {string} [props.className] An optional class name added to the panel.
18
16
  * @param {string} [props.title] Title displayed at the top of the panel.
19
17
  * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.
20
18
  * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
21
19
  * @param {Element} props.children Children to be rendered
22
- *
23
- * @example
24
- * ```js
25
- * // Using ES5 syntax
26
- * var __ = wp.i18n.__;
27
- * var PluginPostPublishPanel = wp.editPost.PluginPostPublishPanel;
28
- *
29
- * function MyPluginPostPublishPanel() {
30
- * return React.createElement(
31
- * PluginPostPublishPanel,
32
- * {
33
- * className: 'my-plugin-post-publish-panel',
34
- * title: __( 'My panel title' ),
35
- * initialOpen: true,
36
- * },
37
- * __( 'My panel content' )
38
- * );
39
- * }
40
- * ```
41
- *
42
- * @example
43
- * ```jsx
44
- * // Using ESNext syntax
45
- * import { __ } from '@wordpress/i18n';
46
- * import { PluginPostPublishPanel } from '@wordpress/edit-post';
47
- *
48
- * const MyPluginPostPublishPanel = () => (
49
- * <PluginPostPublishPanel
50
- * className="my-plugin-post-publish-panel"
51
- * title={ __( 'My panel title' ) }
52
- * initialOpen={ true }
53
- * >
54
- * { __( 'My panel content' ) }
55
- * </PluginPostPublishPanel>
56
- * );
57
- * ```
58
- *
59
20
  * @return {Component} The component to be rendered.
60
21
  */
61
- const PluginPostPublishPanel = ({
62
- children,
63
- className,
64
- title,
65
- initialOpen = false,
66
- icon
67
- }) => {
68
- const {
69
- icon: pluginIcon
70
- } = usePluginContext();
71
- return createElement(Fill, null, createElement(PanelBody, {
72
- className: className,
73
- initialOpen: initialOpen || !title,
74
- title: title,
75
- icon: icon !== null && icon !== void 0 ? icon : pluginIcon
76
- }, children));
77
- };
78
- PluginPostPublishPanel.Slot = Slot;
79
- export default PluginPostPublishPanel;
22
+ export default function EditPostPluginPostPublishPanel(props) {
23
+ deprecated('wp.editPost.PluginPostPublishPanel', {
24
+ since: '6.6',
25
+ version: '6.8',
26
+ alternative: 'wp.editor.PluginPostPublishPanel'
27
+ });
28
+ return createElement(PluginPostPublishPanel, {
29
+ ...props
30
+ });
31
+ }
80
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["usePluginContext","createSlotFill","PanelBody","Fill","Slot","PluginPostPublishPanel","children","className","title","initialOpen","icon","pluginIcon","createElement"],"sources":["@wordpress/edit-post/src/components/sidebar/plugin-post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePluginContext } from '@wordpress/plugins';\nimport { createSlotFill, PanelBody } from '@wordpress/components';\n\nconst { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );\n\n/**\n * Renders provided content to the post-publish panel in the publish flow\n * (side panel that opens after a user publishes the post).\n *\n * @param {Object} props Component properties.\n * @param {string} [props.className] An optional class name added to the panel.\n * @param {string} [props.title] Title displayed at the top of the panel.\n * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n * @param {Element} props.children Children to be rendered\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var PluginPostPublishPanel = wp.editPost.PluginPostPublishPanel;\n *\n * function MyPluginPostPublishPanel() {\n * \treturn React.createElement(\n * \t\tPluginPostPublishPanel,\n * \t\t{\n * \t\t\tclassName: 'my-plugin-post-publish-panel',\n * \t\t\ttitle: __( 'My panel title' ),\n * \t\t\tinitialOpen: true,\n * \t\t},\n * \t\t__( 'My panel content' )\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PluginPostPublishPanel } from '@wordpress/edit-post';\n *\n * const MyPluginPostPublishPanel = () => (\n * \t<PluginPostPublishPanel\n * \t\tclassName=\"my-plugin-post-publish-panel\"\n * \t\ttitle={ __( 'My panel title' ) }\n * \t\tinitialOpen={ true }\n * \t>\n * { __( 'My panel content' ) }\n * \t</PluginPostPublishPanel>\n * );\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nconst PluginPostPublishPanel = ( {\n\tchildren,\n\tclassName,\n\ttitle,\n\tinitialOpen = false,\n\ticon,\n} ) => {\n\tconst { icon: pluginIcon } = usePluginContext();\n\n\treturn (\n\t\t<Fill>\n\t\t\t<PanelBody\n\t\t\t\tclassName={ className }\n\t\t\t\tinitialOpen={ initialOpen || ! title }\n\t\t\t\ttitle={ title }\n\t\t\t\ticon={ icon ?? pluginIcon }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</PanelBody>\n\t\t</Fill>\n\t);\n};\n\nPluginPostPublishPanel.Slot = Slot;\n\nexport default PluginPostPublishPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,cAAc,EAAEC,SAAS,QAAQ,uBAAuB;AAEjE,MAAM;EAAEC,IAAI;EAAEC;AAAK,CAAC,GAAGH,cAAc,CAAE,wBAAyB,CAAC;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,sBAAsB,GAAGA,CAAE;EAChCC,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,WAAW,GAAG,KAAK;EACnBC;AACD,CAAC,KAAM;EACN,MAAM;IAAEA,IAAI,EAAEC;EAAW,CAAC,GAAGX,gBAAgB,CAAC,CAAC;EAE/C,OACCY,aAAA,CAACT,IAAI,QACJS,aAAA,CAACV,SAAS;IACTK,SAAS,EAAGA,SAAW;IACvBE,WAAW,EAAGA,WAAW,IAAI,CAAED,KAAO;IACtCA,KAAK,EAAGA,KAAO;IACfE,IAAI,EAAGA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC;EAAY,GAEzBL,QACQ,CACN,CAAC;AAET,CAAC;AAEDD,sBAAsB,CAACD,IAAI,GAAGA,IAAI;AAElC,eAAeC,sBAAsB"}
1
+ {"version":3,"names":["deprecated","PluginPostPublishPanel","EditPostPluginPostPublishPanel","props","since","version","alternative","createElement"],"sources":["@wordpress/edit-post/src/components/sidebar/plugin-post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { PluginPostPublishPanel } from '@wordpress/editor';\n\n/**\n * Renders provided content to the post-publish panel in the publish flow\n * (side panel that opens after a user publishes the post).\n *\n * @deprecated since 6.6, use `wp.editor.PluginPostPublishPanel` instead.\n *\n * @param {Object} props Component properties.\n * @param {string} [props.className] An optional class name added to the panel.\n * @param {string} [props.title] Title displayed at the top of the panel.\n * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n * @param {Element} props.children Children to be rendered\n * @return {Component} The component to be rendered.\n */\nexport default function EditPostPluginPostPublishPanel( props ) {\n\tdeprecated( 'wp.editPost.PluginPostPublishPanel', {\n\t\tsince: '6.6',\n\t\tversion: '6.8',\n\t\talternative: 'wp.editor.PluginPostPublishPanel',\n\t} );\n\treturn <PluginPostPublishPanel { ...props } />;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,uBAAuB;AAC9C,SAASC,sBAAsB,QAAQ,mBAAmB;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,8BAA8BA,CAAEC,KAAK,EAAG;EAC/DH,UAAU,CAAE,oCAAoC,EAAE;IACjDI,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,KAAK;IACdC,WAAW,EAAE;EACd,CAAE,CAAC;EACH,OAAOC,aAAA,CAACN,sBAAsB;IAAA,GAAME;EAAK,CAAI,CAAC;AAC/C"}
@@ -2,17 +2,15 @@ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { createSlotFill, PanelBody } from '@wordpress/components';
6
- import { usePluginContext } from '@wordpress/plugins';
7
- const {
8
- Fill,
9
- Slot
10
- } = createSlotFill('PluginPrePublishPanel');
5
+ import deprecated from '@wordpress/deprecated';
6
+ import { PluginPrePublishPanel } from '@wordpress/editor';
11
7
 
12
8
  /**
13
9
  * Renders provided content to the pre-publish side panel in the publish flow
14
10
  * (side panel that opens when a user first pushes "Publish" from the main editor).
15
11
  *
12
+ * @deprecated since 6.6, use `wp.editor.PluginPrePublishPanel` instead.
13
+ *
16
14
  * @param {Object} props Component props.
17
15
  * @param {string} [props.className] An optional class name added to the panel.
18
16
  * @param {string} [props.title] Title displayed at the top of the panel.
@@ -23,61 +21,16 @@ const {
23
21
  * the sidebar is pinned to toolbar.
24
22
  * @param {Element} props.children Children to be rendered
25
23
  *
26
- * @example
27
- * ```js
28
- * // Using ES5 syntax
29
- * var __ = wp.i18n.__;
30
- * var PluginPrePublishPanel = wp.editPost.PluginPrePublishPanel;
31
- *
32
- * function MyPluginPrePublishPanel() {
33
- * return React.createElement(
34
- * PluginPrePublishPanel,
35
- * {
36
- * className: 'my-plugin-pre-publish-panel',
37
- * title: __( 'My panel title' ),
38
- * initialOpen: true,
39
- * },
40
- * __( 'My panel content' )
41
- * );
42
- * }
43
- * ```
44
- *
45
- * @example
46
- * ```jsx
47
- * // Using ESNext syntax
48
- * import { __ } from '@wordpress/i18n';
49
- * import { PluginPrePublishPanel } from '@wordpress/edit-post';
50
- *
51
- * const MyPluginPrePublishPanel = () => (
52
- * <PluginPrePublishPanel
53
- * className="my-plugin-pre-publish-panel"
54
- * title={ __( 'My panel title' ) }
55
- * initialOpen={ true }
56
- * >
57
- * { __( 'My panel content' ) }
58
- * </PluginPrePublishPanel>
59
- * );
60
- * ```
61
- *
62
24
  * @return {Component} The component to be rendered.
63
25
  */
64
- const PluginPrePublishPanel = ({
65
- children,
66
- className,
67
- title,
68
- initialOpen = false,
69
- icon
70
- }) => {
71
- const {
72
- icon: pluginIcon
73
- } = usePluginContext();
74
- return createElement(Fill, null, createElement(PanelBody, {
75
- className: className,
76
- initialOpen: initialOpen || !title,
77
- title: title,
78
- icon: icon !== null && icon !== void 0 ? icon : pluginIcon
79
- }, children));
80
- };
81
- PluginPrePublishPanel.Slot = Slot;
82
- export default PluginPrePublishPanel;
26
+ export default function EditPostPluginPrePublishPanel(props) {
27
+ deprecated('wp.editPost.PluginPrePublishPanel', {
28
+ since: '6.6',
29
+ version: '6.8',
30
+ alternative: 'wp.editor.PluginPrePublishPanel'
31
+ });
32
+ return createElement(PluginPrePublishPanel, {
33
+ ...props
34
+ });
35
+ }
83
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSlotFill","PanelBody","usePluginContext","Fill","Slot","PluginPrePublishPanel","children","className","title","initialOpen","icon","pluginIcon","createElement"],"sources":["@wordpress/edit-post/src/components/sidebar/plugin-pre-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelBody } from '@wordpress/components';\nimport { usePluginContext } from '@wordpress/plugins';\n\nconst { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );\n\n/**\n * Renders provided content to the pre-publish side panel in the publish flow\n * (side panel that opens when a user first pushes \"Publish\" from the main editor).\n *\n * @param {Object} props Component props.\n * @param {string} [props.className] An optional class name added to the panel.\n * @param {string} [props.title] Title displayed at the top of the panel.\n * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened.\n * When no title is provided it is always opened.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/)\n * icon slug string, or an SVG WP element, to be rendered when\n * the sidebar is pinned to toolbar.\n * @param {Element} props.children Children to be rendered\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var PluginPrePublishPanel = wp.editPost.PluginPrePublishPanel;\n *\n * function MyPluginPrePublishPanel() {\n * \treturn React.createElement(\n * \t\tPluginPrePublishPanel,\n * \t\t{\n * \t\t\tclassName: 'my-plugin-pre-publish-panel',\n * \t\t\ttitle: __( 'My panel title' ),\n * \t\t\tinitialOpen: true,\n * \t\t},\n * \t\t__( 'My panel content' )\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PluginPrePublishPanel } from '@wordpress/edit-post';\n *\n * const MyPluginPrePublishPanel = () => (\n * \t<PluginPrePublishPanel\n * \t\tclassName=\"my-plugin-pre-publish-panel\"\n * \t\ttitle={ __( 'My panel title' ) }\n * \t\tinitialOpen={ true }\n * \t>\n * \t { __( 'My panel content' ) }\n * \t</PluginPrePublishPanel>\n * );\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nconst PluginPrePublishPanel = ( {\n\tchildren,\n\tclassName,\n\ttitle,\n\tinitialOpen = false,\n\ticon,\n} ) => {\n\tconst { icon: pluginIcon } = usePluginContext();\n\n\treturn (\n\t\t<Fill>\n\t\t\t<PanelBody\n\t\t\t\tclassName={ className }\n\t\t\t\tinitialOpen={ initialOpen || ! title }\n\t\t\t\ttitle={ title }\n\t\t\t\ticon={ icon ?? pluginIcon }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</PanelBody>\n\t\t</Fill>\n\t);\n};\n\nPluginPrePublishPanel.Slot = Slot;\n\nexport default PluginPrePublishPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,EAAEC,SAAS,QAAQ,uBAAuB;AACjE,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,MAAM;EAAEC,IAAI;EAAEC;AAAK,CAAC,GAAGJ,cAAc,CAAE,uBAAwB,CAAC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMK,qBAAqB,GAAGA,CAAE;EAC/BC,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,WAAW,GAAG,KAAK;EACnBC;AACD,CAAC,KAAM;EACN,MAAM;IAAEA,IAAI,EAAEC;EAAW,CAAC,GAAGT,gBAAgB,CAAC,CAAC;EAE/C,OACCU,aAAA,CAACT,IAAI,QACJS,aAAA,CAACX,SAAS;IACTM,SAAS,EAAGA,SAAW;IACvBE,WAAW,EAAGA,WAAW,IAAI,CAAED,KAAO;IACtCA,KAAK,EAAGA,KAAO;IACfE,IAAI,EAAGA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC;EAAY,GAEzBL,QACQ,CACN,CAAC;AAET,CAAC;AAEDD,qBAAqB,CAACD,IAAI,GAAGA,IAAI;AAEjC,eAAeC,qBAAqB"}
1
+ {"version":3,"names":["deprecated","PluginPrePublishPanel","EditPostPluginPrePublishPanel","props","since","version","alternative","createElement"],"sources":["@wordpress/edit-post/src/components/sidebar/plugin-pre-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { PluginPrePublishPanel } from '@wordpress/editor';\n\n/**\n * Renders provided content to the pre-publish side panel in the publish flow\n * (side panel that opens when a user first pushes \"Publish\" from the main editor).\n *\n * @deprecated since 6.6, use `wp.editor.PluginPrePublishPanel` instead.\n *\n * @param {Object} props Component props.\n * @param {string} [props.className] An optional class name added to the panel.\n * @param {string} [props.title] Title displayed at the top of the panel.\n * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened.\n * When no title is provided it is always opened.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/)\n * icon slug string, or an SVG WP element, to be rendered when\n * the sidebar is pinned to toolbar.\n * @param {Element} props.children Children to be rendered\n *\n * @return {Component} The component to be rendered.\n */\nexport default function EditPostPluginPrePublishPanel( props ) {\n\tdeprecated( 'wp.editPost.PluginPrePublishPanel', {\n\t\tsince: '6.6',\n\t\tversion: '6.8',\n\t\talternative: 'wp.editor.PluginPrePublishPanel',\n\t} );\n\treturn <PluginPrePublishPanel { ...props } />;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,uBAAuB;AAC9C,SAASC,qBAAqB,QAAQ,mBAAmB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,6BAA6BA,CAAEC,KAAK,EAAG;EAC9DH,UAAU,CAAE,mCAAmC,EAAE;IAChDI,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,KAAK;IACdC,WAAW,EAAE;EACd,CAAE,CAAC;EACH,OAAOC,aAAA,CAACN,qBAAqB;IAAA,GAAME;EAAK,CAAI,CAAC;AAC9C"}
@@ -9,7 +9,7 @@ import { isRTL, __ } from '@wordpress/i18n';
9
9
  import { drawerLeft, drawerRight } from '@wordpress/icons';
10
10
  import { store as interfaceStore } from '@wordpress/interface';
11
11
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
12
- import { store as editorStore, PageAttributesPanel, PluginDocumentSettingPanel, PostDiscussionPanel, PostExcerptPanel, PostLastRevisionPanel, PostTaxonomiesPanel } from '@wordpress/editor';
12
+ import { store as editorStore, PageAttributesPanel, PluginDocumentSettingPanel, PostDiscussionPanel, PostExcerptPanel, PostLastRevisionPanel, PostTaxonomiesPanel, privateApis as editorPrivateApis } from '@wordpress/editor';
13
13
 
14
14
  /**
15
15
  * Internal dependencies
@@ -18,13 +18,18 @@ import SettingsHeader from '../settings-header';
18
18
  import PostStatus from '../post-status';
19
19
  import MetaBoxes from '../../meta-boxes';
20
20
  import PluginSidebarEditPost from '../plugin-sidebar';
21
- import TemplateSummary from '../template-summary';
22
21
  import { store as editPostStore } from '../../../store';
23
22
  import { privateApis as componentsPrivateApis } from '@wordpress/components';
24
23
  import { unlock } from '../../../lock-unlock';
24
+ const {
25
+ PostCardPanel
26
+ } = unlock(editorPrivateApis);
25
27
  const {
26
28
  Tabs
27
29
  } = unlock(componentsPrivateApis);
30
+ const {
31
+ PatternOverridesPanel
32
+ } = unlock(editorPrivateApis);
28
33
  const SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select({
29
34
  web: true,
30
35
  native: false
@@ -87,9 +92,9 @@ const SidebarContent = ({
87
92
  }, createElement(Tabs.TabPanel, {
88
93
  tabId: sidebars.document,
89
94
  focusable: false
90
- }, !isEditingTemplate && createElement(Fragment, null, createElement(PostStatus, null), createElement(PluginDocumentSettingPanel.Slot, null), createElement(PostLastRevisionPanel, null), createElement(PostTaxonomiesPanel, null), createElement(PostExcerptPanel, null), createElement(PostDiscussionPanel, null), createElement(PageAttributesPanel, null), createElement(MetaBoxes, {
95
+ }, createElement(PostCardPanel, null), !isEditingTemplate && createElement(Fragment, null, createElement(PostStatus, null), createElement(PluginDocumentSettingPanel.Slot, null), createElement(PostLastRevisionPanel, null), createElement(PostTaxonomiesPanel, null), createElement(PostExcerptPanel, null), createElement(PostDiscussionPanel, null), createElement(PageAttributesPanel, null), createElement(PatternOverridesPanel, null), createElement(MetaBoxes, {
91
96
  location: "side"
92
- })), isEditingTemplate && createElement(TemplateSummary, null)), createElement(Tabs.TabPanel, {
97
+ }))), createElement(Tabs.TabPanel, {
93
98
  tabId: sidebars.block,
94
99
  focusable: false
95
100
  }, createElement(BlockInspector, null))));
@@ -1 +1 @@
1
- {"version":3,"names":["BlockInspector","store","blockEditorStore","useSelect","useDispatch","Platform","useCallback","useContext","useEffect","useRef","isRTL","__","drawerLeft","drawerRight","interfaceStore","keyboardShortcutsStore","editorStore","PageAttributesPanel","PluginDocumentSettingPanel","PostDiscussionPanel","PostExcerptPanel","PostLastRevisionPanel","PostTaxonomiesPanel","SettingsHeader","PostStatus","MetaBoxes","PluginSidebarEditPost","TemplateSummary","editPostStore","privateApis","componentsPrivateApis","unlock","Tabs","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","sidebars","document","block","SidebarContent","sidebarName","keyboardShortcut","isEditingTemplate","tabListRef","tabsContextValue","Context","tabsElements","Array","from","current","querySelectorAll","selectedTabElement","find","element","getAttribute","activeElement","ownerDocument","tabsHasFocus","some","id","focus","createElement","identifier","header","Provider","value","ref","closeLabel","className","headerClassName","title","toggleShortcut","icon","isActiveByDefault","TabPanel","tabId","focusable","Fragment","Slot","location","SettingsSidebar","isSettingsSidebarActive","sidebar","getActiveComplementaryArea","name","isSettingsSidebar","includes","getBlockSelectionStart","shortcut","getShortcutRepresentation","getCurrentPostType","openGeneralSidebar","onTabSelect","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n} from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tstore as editorStore,\n\tPageAttributesPanel,\n\tPluginDocumentSettingPanel,\n\tPostDiscussionPanel,\n\tPostExcerptPanel,\n\tPostLastRevisionPanel,\n\tPostTaxonomiesPanel,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport MetaBoxes from '../../meta-boxes';\nimport PluginSidebarEditPost from '../plugin-sidebar';\nimport TemplateSummary from '../template-summary';\nimport { store as editPostStore } from '../../../store';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\nexport const sidebars = {\n\tdocument: 'edit-post/document',\n\tblock: 'edit-post/block',\n};\n\nconst SidebarContent = ( {\n\tsidebarName,\n\tkeyboardShortcut,\n\tisEditingTemplate,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === sidebarName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ sidebarName ] );\n\n\treturn (\n\t\t<PluginSidebarEditPost\n\t\t\tidentifier={ sidebarName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SettingsHeader ref={ tabListRef } />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"edit-post-sidebar__panel\"\n\t\t\theaderClassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t{ ! isEditingTemplate && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PostStatus />\n\t\t\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t\t\t<PostLastRevisionPanel />\n\t\t\t\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isEditingTemplate && <TemplateSummary /> }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebarEditPost>\n\t);\n};\n\nconst SettingsSidebar = () => {\n\tconst {\n\t\tsidebarName,\n\t\tisSettingsSidebarActive,\n\t\tkeyboardShortcut,\n\t\tisEditingTemplate,\n\t} = useSelect( ( select ) => {\n\t\t// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.\n\t\t// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.\n\t\t// If one of the two sidebars is active the component will contain the content of that sidebar.\n\t\t// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost\n\t\t// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName\n\t\t// should contain the sidebar that will be active when the toggle button is pressed. If a block\n\t\t// is selected, that should be edit-post/block otherwise it's edit-post/document.\n\t\tlet sidebar = select( interfaceStore ).getActiveComplementaryArea(\n\t\t\teditPostStore.name\n\t\t);\n\t\tlet isSettingsSidebar = true;\n\t\tif ( ! [ sidebars.document, sidebars.block ].includes( sidebar ) ) {\n\t\t\tisSettingsSidebar = false;\n\t\t\tif ( select( blockEditorStore ).getBlockSelectionStart() ) {\n\t\t\t\tsidebar = sidebars.block;\n\t\t\t}\n\t\t\tsidebar = sidebars.document;\n\t\t}\n\t\tconst shortcut = select(\n\t\t\tkeyboardShortcutsStore\n\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' );\n\t\treturn {\n\t\t\tsidebarName: sidebar,\n\t\t\tisSettingsSidebarActive: isSettingsSidebar,\n\t\t\tkeyboardShortcut: shortcut,\n\t\t\tisEditingTemplate:\n\t\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t};\n\t}, [] );\n\n\tconst { openGeneralSidebar } = useDispatch( editPostStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\topenGeneralSidebar( newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ openGeneralSidebar ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop.Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isSettingsSidebarActive ? sidebarName : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tisEditingTemplate={ isEditingTemplate }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default SettingsSidebar;\n"],"mappings":"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"}
1
+ {"version":3,"names":["BlockInspector","store","blockEditorStore","useSelect","useDispatch","Platform","useCallback","useContext","useEffect","useRef","isRTL","__","drawerLeft","drawerRight","interfaceStore","keyboardShortcutsStore","editorStore","PageAttributesPanel","PluginDocumentSettingPanel","PostDiscussionPanel","PostExcerptPanel","PostLastRevisionPanel","PostTaxonomiesPanel","privateApis","editorPrivateApis","SettingsHeader","PostStatus","MetaBoxes","PluginSidebarEditPost","editPostStore","componentsPrivateApis","unlock","PostCardPanel","Tabs","PatternOverridesPanel","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","sidebars","document","block","SidebarContent","sidebarName","keyboardShortcut","isEditingTemplate","tabListRef","tabsContextValue","Context","tabsElements","Array","from","current","querySelectorAll","selectedTabElement","find","element","getAttribute","activeElement","ownerDocument","tabsHasFocus","some","id","focus","createElement","identifier","header","Provider","value","ref","closeLabel","className","headerClassName","title","toggleShortcut","icon","isActiveByDefault","TabPanel","tabId","focusable","Fragment","Slot","location","SettingsSidebar","isSettingsSidebarActive","sidebar","getActiveComplementaryArea","name","isSettingsSidebar","includes","getBlockSelectionStart","shortcut","getShortcutRepresentation","getCurrentPostType","openGeneralSidebar","onTabSelect","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n} from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tstore as editorStore,\n\tPageAttributesPanel,\n\tPluginDocumentSettingPanel,\n\tPostDiscussionPanel,\n\tPostExcerptPanel,\n\tPostLastRevisionPanel,\n\tPostTaxonomiesPanel,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport MetaBoxes from '../../meta-boxes';\nimport PluginSidebarEditPost from '../plugin-sidebar';\nimport { store as editPostStore } from '../../../store';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { unlock } from '../../../lock-unlock';\n\nconst { PostCardPanel } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\nconst { PatternOverridesPanel } = unlock( editorPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\nexport const sidebars = {\n\tdocument: 'edit-post/document',\n\tblock: 'edit-post/block',\n};\n\nconst SidebarContent = ( {\n\tsidebarName,\n\tkeyboardShortcut,\n\tisEditingTemplate,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === sidebarName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ sidebarName ] );\n\n\treturn (\n\t\t<PluginSidebarEditPost\n\t\t\tidentifier={ sidebarName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SettingsHeader ref={ tabListRef } />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"edit-post-sidebar__panel\"\n\t\t\theaderClassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t<PostCardPanel />\n\t\t\t\t\t{ ! isEditingTemplate && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PostStatus />\n\t\t\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t\t\t<PostLastRevisionPanel />\n\t\t\t\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t<PatternOverridesPanel />\n\t\t\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebarEditPost>\n\t);\n};\n\nconst SettingsSidebar = () => {\n\tconst {\n\t\tsidebarName,\n\t\tisSettingsSidebarActive,\n\t\tkeyboardShortcut,\n\t\tisEditingTemplate,\n\t} = useSelect( ( select ) => {\n\t\t// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.\n\t\t// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.\n\t\t// If one of the two sidebars is active the component will contain the content of that sidebar.\n\t\t// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost\n\t\t// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName\n\t\t// should contain the sidebar that will be active when the toggle button is pressed. If a block\n\t\t// is selected, that should be edit-post/block otherwise it's edit-post/document.\n\t\tlet sidebar = select( interfaceStore ).getActiveComplementaryArea(\n\t\t\teditPostStore.name\n\t\t);\n\t\tlet isSettingsSidebar = true;\n\t\tif ( ! [ sidebars.document, sidebars.block ].includes( sidebar ) ) {\n\t\t\tisSettingsSidebar = false;\n\t\t\tif ( select( blockEditorStore ).getBlockSelectionStart() ) {\n\t\t\t\tsidebar = sidebars.block;\n\t\t\t}\n\t\t\tsidebar = sidebars.document;\n\t\t}\n\t\tconst shortcut = select(\n\t\t\tkeyboardShortcutsStore\n\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' );\n\t\treturn {\n\t\t\tsidebarName: sidebar,\n\t\t\tisSettingsSidebarActive: isSettingsSidebar,\n\t\t\tkeyboardShortcut: shortcut,\n\t\t\tisEditingTemplate:\n\t\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t};\n\t}, [] );\n\n\tconst { openGeneralSidebar } = useDispatch( editPostStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\topenGeneralSidebar( newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ openGeneralSidebar ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop.Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isSettingsSidebarActive ? sidebarName : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tisEditingTemplate={ isEditingTemplate }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default SettingsSidebar;\n"],"mappings":"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"}
@@ -28,11 +28,10 @@ function Editor({
28
28
  ...props
29
29
  }) {
30
30
  const {
31
- initialPost,
32
31
  currentPost,
33
32
  onNavigateToEntityRecord,
34
33
  onNavigateToPreviousEntityRecord
35
- } = useNavigateToEntityRecord(initialPostId, initialPostType);
34
+ } = useNavigateToEntityRecord(initialPostId, initialPostType, 'post-only');
36
35
  const {
37
36
  post,
38
37
  template
@@ -64,6 +63,12 @@ function Editor({
64
63
  onNavigateToPreviousEntityRecord,
65
64
  defaultRenderingMode: 'post-only'
66
65
  }), [settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
66
+ const initialPost = useMemo(() => {
67
+ return {
68
+ type: initialPostType,
69
+ id: initialPostId
70
+ };
71
+ }, [initialPostType, initialPostId]);
67
72
  if (!post) {
68
73
  return null;
69
74
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","ErrorBoundary","PostLockedModal","store","editorStore","privateApis","editorPrivateApis","useMemo","SlotFillProvider","coreStore","CommandMenu","Layout","EditorInitialization","editPostStore","unlock","useNavigateToEntityRecord","ExperimentalEditorProvider","Editor","postId","initialPostId","postType","initialPostType","settings","initialEdits","props","initialPost","currentPost","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","post","template","select","_getPostType$viewable","getEditedPostTemplate","getEntityRecord","getPostType","canUser","getEditorSettings","postObject","supportsTemplateMode","isViewable","viewable","canEditTemplate","editorSettings","defaultRenderingMode","createElement","useSubRegistry","__unstableTemplate"],"sources":["@wordpress/edit-post/src/editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { CommandMenu } from '@wordpress/commands';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './lock-unlock';\nimport useNavigateToEntityRecord from './hooks/use-navigate-to-entity-record';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\n\nfunction Editor( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n\t...props\n} ) {\n\tconst {\n\t\tinitialPost,\n\t\tcurrentPost,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord( initialPostId, initialPostType );\n\n\tconst { post, template } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\n\t\t\tconst postObject = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tcurrentPost.postType,\n\t\t\t\tcurrentPost.postId\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPost.postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\t\t\treturn {\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanEditTemplate &&\n\t\t\t\t\tcurrentPost.postType !== 'wp_template'\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ currentPost.postType, currentPost.postId ]\n\t);\n\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\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ExperimentalEditorProvider\n\t\t\t\tsettings={ editorSettings }\n\t\t\t\tpost={ post }\n\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t__unstableTemplate={ template }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t<Layout initialPost={ initialPost } />\n\t\t\t\t</ErrorBoundary>\n\t\t\t\t<PostLockedModal />\n\t\t\t</ExperimentalEditorProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Editor;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","ErrorBoundary","PostLockedModal","store","editorStore","privateApis","editorPrivateApis","useMemo","SlotFillProvider","coreStore","CommandMenu","Layout","EditorInitialization","editPostStore","unlock","useNavigateToEntityRecord","ExperimentalEditorProvider","Editor","postId","initialPostId","postType","initialPostType","settings","initialEdits","props","currentPost","onNavigateToEntityRecord","onNavigateToPreviousEntityRecord","post","template","select","_getPostType$viewable","getEditedPostTemplate","getEntityRecord","getPostType","canUser","getEditorSettings","postObject","supportsTemplateMode","isViewable","viewable","canEditTemplate","editorSettings","defaultRenderingMode","initialPost","type","id","createElement","useSubRegistry","__unstableTemplate"],"sources":["@wordpress/edit-post/src/editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { CommandMenu } from '@wordpress/commands';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './lock-unlock';\nimport useNavigateToEntityRecord from './hooks/use-navigate-to-entity-record';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\n\nfunction Editor( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n\t...props\n} ) {\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\n\tconst { post, template } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\n\t\t\tconst postObject = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tcurrentPost.postType,\n\t\t\t\tcurrentPost.postId\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPost.postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\t\t\treturn {\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanEditTemplate &&\n\t\t\t\t\tcurrentPost.postType !== 'wp_template'\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ currentPost.postType, currentPost.postId ]\n\t);\n\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\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ExperimentalEditorProvider\n\t\t\t\tsettings={ editorSettings }\n\t\t\t\tpost={ post }\n\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t__unstableTemplate={ template }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t<Layout initialPost={ initialPost } />\n\t\t\t\t</ErrorBoundary>\n\t\t\t\t<PostLockedModal />\n\t\t\t</ExperimentalEditorProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Editor;\n"],"mappings":"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"}
@@ -118,9 +118,9 @@ export default function useCommonCommands() {
118
118
  close
119
119
  }) => {
120
120
  close();
121
- toggle('core/edit-post', 'isPublishSidebarEnabled');
121
+ toggle('core', 'isPublishSidebarEnabled');
122
122
  createInfoNotice(isPublishSidebarEnabled ? __('Pre-publish checks disabled.') : __('Pre-publish checks enabled.'), {
123
- id: 'core/edit-post/publish-sidebar/notice',
123
+ id: 'core/editor/publish-sidebar/notice',
124
124
  type: 'snackbar'
125
125
  });
126
126
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","__","isRTL","drawerLeft","drawerRight","blockDefault","keyboard","fullscreen","formatListBullets","useCommand","store","preferencesStore","interfaceStore","editorStore","noticesStore","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","editPostStore","useCommonCommands","openGeneralSidebar","closeGeneralSidebar","openModal","activeSidebar","isFullscreen","isPublishSidebarEnabled","select","get","getActiveComplementaryArea","name","toggle","createInfoNotice","label","icon","callback","close","id","type","actions","onClick"],"sources":["@wordpress/edit-post/src/hooks/commands/use-common-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tkeyboard,\n\tfullscreen,\n\tformatListBullets,\n} from '@wordpress/icons';\nimport { useCommand } from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { store as editPostStore } from '../../store';\n\nexport default function useCommonCommands() {\n\tconst { openGeneralSidebar, closeGeneralSidebar } =\n\t\tuseDispatch( editPostStore );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst { activeSidebar, isFullscreen, isPublishSidebarEnabled } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\n\t\t\treturn {\n\t\t\t\tactiveSidebar: select(\n\t\t\t\t\tinterfaceStore\n\t\t\t\t).getActiveComplementaryArea( editPostStore.name ),\n\t\t\t\tisPublishSidebarEnabled:\n\t\t\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\t\t\tisFullscreen: get( 'core/edit-post', 'fullscreenMode' ),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tuseCommand( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/document' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/document' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/block' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/block' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-fullscreen-mode',\n\t\tlabel: isFullscreen\n\t\t\t? __( 'Exit fullscreen' )\n\t\t\t: __( 'Enter fullscreen' ),\n\t\ticon: fullscreen,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisFullscreen ? __( 'Fullscreen off.' ) : __( 'Fullscreen on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/toggle-fullscreen-mode/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\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}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-publish-sidebar',\n\t\tlabel: isPublishSidebarEnabled\n\t\t\t? __( 'Disable pre-publish checks' )\n\t\t\t: __( 'Enable pre-publish checks' ),\n\t\ticon: formatListBullets,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\ttoggle( 'core/edit-post', 'isPublishSidebarEnabled' );\n\t\t\tcreateInfoNotice(\n\t\t\t\tisPublishSidebarEnabled\n\t\t\t\t\t? __( 'Pre-publish checks disabled.' )\n\t\t\t\t\t: __( 'Pre-publish checks enabled.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/publish-sidebar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","__","isRTL","drawerLeft","drawerRight","blockDefault","keyboard","fullscreen","formatListBullets","useCommand","store","preferencesStore","interfaceStore","editorStore","noticesStore","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","editPostStore","useCommonCommands","openGeneralSidebar","closeGeneralSidebar","openModal","activeSidebar","isFullscreen","isPublishSidebarEnabled","select","get","getActiveComplementaryArea","name","toggle","createInfoNotice","label","icon","callback","close","id","type","actions","onClick"],"sources":["@wordpress/edit-post/src/hooks/commands/use-common-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tkeyboard,\n\tfullscreen,\n\tformatListBullets,\n} from '@wordpress/icons';\nimport { useCommand } from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { store as editPostStore } from '../../store';\n\nexport default function useCommonCommands() {\n\tconst { openGeneralSidebar, closeGeneralSidebar } =\n\t\tuseDispatch( editPostStore );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst { activeSidebar, isFullscreen, isPublishSidebarEnabled } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\n\t\t\treturn {\n\t\t\t\tactiveSidebar: select(\n\t\t\t\t\tinterfaceStore\n\t\t\t\t).getActiveComplementaryArea( editPostStore.name ),\n\t\t\t\tisPublishSidebarEnabled:\n\t\t\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\t\t\tisFullscreen: get( 'core/edit-post', 'fullscreenMode' ),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tuseCommand( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/document' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/document' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/block' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/block' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-fullscreen-mode',\n\t\tlabel: isFullscreen\n\t\t\t? __( 'Exit fullscreen' )\n\t\t\t: __( 'Enter fullscreen' ),\n\t\ticon: fullscreen,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisFullscreen ? __( 'Fullscreen off.' ) : __( 'Fullscreen on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/toggle-fullscreen-mode/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\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}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-publish-sidebar',\n\t\tlabel: isPublishSidebarEnabled\n\t\t\t? __( 'Disable pre-publish checks' )\n\t\t\t: __( 'Enable pre-publish checks' ),\n\t\ticon: formatListBullets,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\ttoggle( 'core', 'isPublishSidebarEnabled' );\n\t\t\tcreateInfoNotice(\n\t\t\t\tisPublishSidebarEnabled\n\t\t\t\t\t? __( 'Pre-publish checks disabled.' )\n\t\t\t\t\t: __( 'Pre-publish checks enabled.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/editor/publish-sidebar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n}\n"],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useCallback, useReducer, useMemo } from '@wordpress/element';
4
+ import { useCallback, useReducer } from '@wordpress/element';
5
+ import { useSelect, useDispatch } from '@wordpress/data';
6
+ import { store as editorStore } from '@wordpress/editor';
5
7
 
6
8
  /**
7
9
  * A hook that records the 'entity' history in the post editor as a user
@@ -11,19 +13,24 @@ import { useCallback, useReducer, useMemo } from '@wordpress/element';
11
13
  *
12
14
  * Used to control displaying UI elements like the back button.
13
15
  *
14
- * @param {number} initialPostId The post id of the post when the editor loaded.
15
- * @param {string} initialPostType The post type of the post when the editor loaded.
16
+ * @param {number} initialPostId The post id of the post when the editor loaded.
17
+ * @param {string} initialPostType The post type of the post when the editor loaded.
18
+ * @param {string} defaultRenderingMode The rendering mode to switch to when navigating.
16
19
  *
17
20
  * @return {Object} An object containing the `currentPost` variable and
18
21
  * `onNavigateToEntityRecord` and `onNavigateToPreviousEntityRecord` functions.
19
22
  */
20
- export default function useNavigateToEntityRecord(initialPostId, initialPostType) {
23
+ export default function useNavigateToEntityRecord(initialPostId, initialPostType, defaultRenderingMode) {
21
24
  const [postHistory, dispatch] = useReducer((historyState, {
22
25
  type,
23
- post
26
+ post,
27
+ previousRenderingMode
24
28
  }) => {
25
29
  if (type === 'push') {
26
- return [...historyState, post];
30
+ return [...historyState, {
31
+ post,
32
+ previousRenderingMode
33
+ }];
27
34
  }
28
35
  if (type === 'pop') {
29
36
  // Try to leave one item in the history.
@@ -33,33 +40,43 @@ export default function useNavigateToEntityRecord(initialPostId, initialPostType
33
40
  }
34
41
  return historyState;
35
42
  }, [{
36
- postId: initialPostId,
37
- postType: initialPostType
43
+ post: {
44
+ postId: initialPostId,
45
+ postType: initialPostType
46
+ }
38
47
  }]);
39
- const initialPost = useMemo(() => {
40
- return {
41
- type: initialPostType,
42
- id: initialPostId
43
- };
44
- }, [initialPostType, initialPostId]);
48
+ const {
49
+ post,
50
+ previousRenderingMode
51
+ } = postHistory[postHistory.length - 1];
52
+ const {
53
+ getRenderingMode
54
+ } = useSelect(editorStore);
55
+ const {
56
+ setRenderingMode
57
+ } = useDispatch(editorStore);
45
58
  const onNavigateToEntityRecord = useCallback(params => {
46
59
  dispatch({
47
60
  type: 'push',
48
61
  post: {
49
62
  postId: params.postId,
50
63
  postType: params.postType
51
- }
64
+ },
65
+ // Save the current rendering mode so we can restore it when navigating back.
66
+ previousRenderingMode: getRenderingMode()
52
67
  });
53
- }, []);
68
+ setRenderingMode(defaultRenderingMode);
69
+ }, [getRenderingMode, setRenderingMode, defaultRenderingMode]);
54
70
  const onNavigateToPreviousEntityRecord = useCallback(() => {
55
71
  dispatch({
56
72
  type: 'pop'
57
73
  });
58
- }, []);
59
- const currentPost = postHistory[postHistory.length - 1];
74
+ if (previousRenderingMode) {
75
+ setRenderingMode(previousRenderingMode);
76
+ }
77
+ }, [setRenderingMode, previousRenderingMode]);
60
78
  return {
61
- currentPost,
62
- initialPost,
79
+ currentPost: post,
63
80
  onNavigateToEntityRecord,
64
81
  onNavigateToPreviousEntityRecord: postHistory.length > 1 ? onNavigateToPreviousEntityRecord : undefined
65
82
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useReducer","useMemo","useNavigateToEntityRecord","initialPostId","initialPostType","postHistory","dispatch","historyState","type","post","length","slice","postId","postType","initialPost","id","onNavigateToEntityRecord","params","onNavigateToPreviousEntityRecord","currentPost","undefined"],"sources":["@wordpress/edit-post/src/hooks/use-navigate-to-entity-record.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useReducer, useMemo } from '@wordpress/element';\n\n/**\n * A hook that records the 'entity' history in the post editor as a user\n * navigates between editing a post and editing the post template or patterns.\n *\n * Implemented as a stack, so a little similar to the browser history API.\n *\n * Used to control displaying UI elements like the back button.\n *\n * @param {number} initialPostId The post id of the post when the editor loaded.\n * @param {string} initialPostType The post type of the post when the editor loaded.\n *\n * @return {Object} An object containing the `currentPost` variable and\n * `onNavigateToEntityRecord` and `onNavigateToPreviousEntityRecord` functions.\n */\nexport default function useNavigateToEntityRecord(\n\tinitialPostId,\n\tinitialPostType\n) {\n\tconst [ postHistory, dispatch ] = useReducer(\n\t\t( historyState, { type, post } ) => {\n\t\t\tif ( type === 'push' ) {\n\t\t\t\treturn [ ...historyState, post ];\n\t\t\t}\n\t\t\tif ( type === 'pop' ) {\n\t\t\t\t// Try to leave one item in the history.\n\t\t\t\tif ( historyState.length > 1 ) {\n\t\t\t\t\treturn historyState.slice( 0, -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn historyState;\n\t\t},\n\t\t[ { postId: initialPostId, postType: initialPostType } ]\n\t);\n\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tconst onNavigateToEntityRecord = useCallback( ( params ) => {\n\t\tdispatch( {\n\t\t\ttype: 'push',\n\t\t\tpost: { postId: params.postId, postType: params.postType },\n\t\t} );\n\t}, [] );\n\n\tconst onNavigateToPreviousEntityRecord = useCallback( () => {\n\t\tdispatch( { type: 'pop' } );\n\t}, [] );\n\n\tconst currentPost = postHistory[ postHistory.length - 1 ];\n\n\treturn {\n\t\tcurrentPost,\n\t\tinitialPost,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord:\n\t\t\tpostHistory.length > 1\n\t\t\t\t? onNavigateToPreviousEntityRecord\n\t\t\t\t: undefined,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,EAAEC,OAAO,QAAQ,oBAAoB;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,yBAAyBA,CAChDC,aAAa,EACbC,eAAe,EACd;EACD,MAAM,CAAEC,WAAW,EAAEC,QAAQ,CAAE,GAAGN,UAAU,CAC3C,CAAEO,YAAY,EAAE;IAAEC,IAAI;IAAEC;EAAK,CAAC,KAAM;IACnC,IAAKD,IAAI,KAAK,MAAM,EAAG;MACtB,OAAO,CAAE,GAAGD,YAAY,EAAEE,IAAI,CAAE;IACjC;IACA,IAAKD,IAAI,KAAK,KAAK,EAAG;MACrB;MACA,IAAKD,YAAY,CAACG,MAAM,GAAG,CAAC,EAAG;QAC9B,OAAOH,YAAY,CAACI,KAAK,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC;MACnC;IACD;IACA,OAAOJ,YAAY;EACpB,CAAC,EACD,CAAE;IAAEK,MAAM,EAAET,aAAa;IAAEU,QAAQ,EAAET;EAAgB,CAAC,CACvD,CAAC;EAED,MAAMU,WAAW,GAAGb,OAAO,CAAE,MAAM;IAClC,OAAO;MACNO,IAAI,EAAEJ,eAAe;MACrBW,EAAE,EAAEZ;IACL,CAAC;EACF,CAAC,EAAE,CAAEC,eAAe,EAAED,aAAa,CAAG,CAAC;EAEvC,MAAMa,wBAAwB,GAAGjB,WAAW,CAAIkB,MAAM,IAAM;IAC3DX,QAAQ,CAAE;MACTE,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;QAAEG,MAAM,EAAEK,MAAM,CAACL,MAAM;QAAEC,QAAQ,EAAEI,MAAM,CAACJ;MAAS;IAC1D,CAAE,CAAC;EACJ,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMK,gCAAgC,GAAGnB,WAAW,CAAE,MAAM;IAC3DO,QAAQ,CAAE;MAAEE,IAAI,EAAE;IAAM,CAAE,CAAC;EAC5B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMW,WAAW,GAAGd,WAAW,CAAEA,WAAW,CAACK,MAAM,GAAG,CAAC,CAAE;EAEzD,OAAO;IACNS,WAAW;IACXL,WAAW;IACXE,wBAAwB;IACxBE,gCAAgC,EAC/Bb,WAAW,CAACK,MAAM,GAAG,CAAC,GACnBQ,gCAAgC,GAChCE;EACL,CAAC;AACF"}
1
+ {"version":3,"names":["useCallback","useReducer","useSelect","useDispatch","store","editorStore","useNavigateToEntityRecord","initialPostId","initialPostType","defaultRenderingMode","postHistory","dispatch","historyState","type","post","previousRenderingMode","length","slice","postId","postType","getRenderingMode","setRenderingMode","onNavigateToEntityRecord","params","onNavigateToPreviousEntityRecord","currentPost","undefined"],"sources":["@wordpress/edit-post/src/hooks/use-navigate-to-entity-record.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useReducer } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * A hook that records the 'entity' history in the post editor as a user\n * navigates between editing a post and editing the post template or patterns.\n *\n * Implemented as a stack, so a little similar to the browser history API.\n *\n * Used to control displaying UI elements like the back button.\n *\n * @param {number} initialPostId The post id of the post when the editor loaded.\n * @param {string} initialPostType The post type of the post when the editor loaded.\n * @param {string} defaultRenderingMode The rendering mode to switch to when navigating.\n *\n * @return {Object} An object containing the `currentPost` variable and\n * `onNavigateToEntityRecord` and `onNavigateToPreviousEntityRecord` functions.\n */\nexport default function useNavigateToEntityRecord(\n\tinitialPostId,\n\tinitialPostType,\n\tdefaultRenderingMode\n) {\n\tconst [ postHistory, dispatch ] = useReducer(\n\t\t( historyState, { type, post, previousRenderingMode } ) => {\n\t\t\tif ( type === 'push' ) {\n\t\t\t\treturn [ ...historyState, { post, previousRenderingMode } ];\n\t\t\t}\n\t\t\tif ( type === 'pop' ) {\n\t\t\t\t// Try to leave one item in the history.\n\t\t\t\tif ( historyState.length > 1 ) {\n\t\t\t\t\treturn historyState.slice( 0, -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn historyState;\n\t\t},\n\t\t[\n\t\t\t{\n\t\t\t\tpost: { postId: initialPostId, postType: initialPostType },\n\t\t\t},\n\t\t]\n\t);\n\n\tconst { post, previousRenderingMode } =\n\t\tpostHistory[ postHistory.length - 1 ];\n\n\tconst { getRenderingMode } = useSelect( editorStore );\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\n\tconst onNavigateToEntityRecord = useCallback(\n\t\t( params ) => {\n\t\t\tdispatch( {\n\t\t\t\ttype: 'push',\n\t\t\t\tpost: { postId: params.postId, postType: params.postType },\n\t\t\t\t// Save the current rendering mode so we can restore it when navigating back.\n\t\t\t\tpreviousRenderingMode: getRenderingMode(),\n\t\t\t} );\n\t\t\tsetRenderingMode( defaultRenderingMode );\n\t\t},\n\t\t[ getRenderingMode, setRenderingMode, defaultRenderingMode ]\n\t);\n\n\tconst onNavigateToPreviousEntityRecord = useCallback( () => {\n\t\tdispatch( { type: 'pop' } );\n\t\tif ( previousRenderingMode ) {\n\t\t\tsetRenderingMode( previousRenderingMode );\n\t\t}\n\t}, [ setRenderingMode, previousRenderingMode ] );\n\n\treturn {\n\t\tcurrentPost: post,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord:\n\t\t\tpostHistory.length > 1\n\t\t\t\t? onNavigateToPreviousEntityRecord\n\t\t\t\t: undefined,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,UAAU,QAAQ,oBAAoB;AAC5D,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,yBAAyBA,CAChDC,aAAa,EACbC,eAAe,EACfC,oBAAoB,EACnB;EACD,MAAM,CAAEC,WAAW,EAAEC,QAAQ,CAAE,GAAGV,UAAU,CAC3C,CAAEW,YAAY,EAAE;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAsB,CAAC,KAAM;IAC1D,IAAKF,IAAI,KAAK,MAAM,EAAG;MACtB,OAAO,CAAE,GAAGD,YAAY,EAAE;QAAEE,IAAI;QAAEC;MAAsB,CAAC,CAAE;IAC5D;IACA,IAAKF,IAAI,KAAK,KAAK,EAAG;MACrB;MACA,IAAKD,YAAY,CAACI,MAAM,GAAG,CAAC,EAAG;QAC9B,OAAOJ,YAAY,CAACK,KAAK,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC;MACnC;IACD;IACA,OAAOL,YAAY;EACpB,CAAC,EACD,CACC;IACCE,IAAI,EAAE;MAAEI,MAAM,EAAEX,aAAa;MAAEY,QAAQ,EAAEX;IAAgB;EAC1D,CAAC,CAEH,CAAC;EAED,MAAM;IAAEM,IAAI;IAAEC;EAAsB,CAAC,GACpCL,WAAW,CAAEA,WAAW,CAACM,MAAM,GAAG,CAAC,CAAE;EAEtC,MAAM;IAAEI;EAAiB,CAAC,GAAGlB,SAAS,CAAEG,WAAY,CAAC;EACrD,MAAM;IAAEgB;EAAiB,CAAC,GAAGlB,WAAW,CAAEE,WAAY,CAAC;EAEvD,MAAMiB,wBAAwB,GAAGtB,WAAW,CACzCuB,MAAM,IAAM;IACbZ,QAAQ,CAAE;MACTE,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;QAAEI,MAAM,EAAEK,MAAM,CAACL,MAAM;QAAEC,QAAQ,EAAEI,MAAM,CAACJ;MAAS,CAAC;MAC1D;MACAJ,qBAAqB,EAAEK,gBAAgB,CAAC;IACzC,CAAE,CAAC;IACHC,gBAAgB,CAAEZ,oBAAqB,CAAC;EACzC,CAAC,EACD,CAAEW,gBAAgB,EAAEC,gBAAgB,EAAEZ,oBAAoB,CAC3D,CAAC;EAED,MAAMe,gCAAgC,GAAGxB,WAAW,CAAE,MAAM;IAC3DW,QAAQ,CAAE;MAAEE,IAAI,EAAE;IAAM,CAAE,CAAC;IAC3B,IAAKE,qBAAqB,EAAG;MAC5BM,gBAAgB,CAAEN,qBAAsB,CAAC;IAC1C;EACD,CAAC,EAAE,CAAEM,gBAAgB,EAAEN,qBAAqB,CAAG,CAAC;EAEhD,OAAO;IACNU,WAAW,EAAEX,IAAI;IACjBQ,wBAAwB;IACxBE,gCAAgC,EAC/Bd,WAAW,CAACM,MAAM,GAAG,CAAC,GACnBQ,gCAAgC,GAChCE;EACL,CAAC;AACF"}