@wordpress/edit-post 5.0.2 → 5.0.6

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 (109) hide show
  1. package/README.md +1 -1
  2. package/build/components/header/fullscreen-mode-close/index.js +19 -3
  3. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  4. package/build/components/header/header-toolbar/index.native.js +10 -3
  5. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  6. package/build/components/header/template-title/index.js +1 -1
  7. package/build/components/header/template-title/index.js.map +1 -1
  8. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
  9. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  10. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  11. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  12. package/build/components/keyboard-shortcuts/index.js +1 -8
  13. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  14. package/build/components/layout/index.js +1 -3
  15. package/build/components/layout/index.js.map +1 -1
  16. package/build/components/layout/index.native.js +5 -1
  17. package/build/components/layout/index.native.js.map +1 -1
  18. package/build/components/meta-boxes/index.js +1 -4
  19. package/build/components/meta-boxes/index.js.map +1 -1
  20. package/build/components/preferences-modal/index.js +54 -16
  21. package/build/components/preferences-modal/index.js.map +1 -1
  22. package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
  23. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  24. package/build/components/secondary-sidebar/list-view-sidebar.js +1 -0
  25. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  26. package/build/components/sidebar/plugin-sidebar/index.js +1 -1
  27. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  28. package/build/components/sidebar/template/actions.js +6 -1
  29. package/build/components/sidebar/template/actions.js.map +1 -1
  30. package/build/components/sidebar/template/index.js +5 -2
  31. package/build/components/sidebar/template/index.js.map +1 -1
  32. package/build/components/sidebar/template-summary/index.js +2 -1
  33. package/build/components/sidebar/template-summary/index.js.map +1 -1
  34. package/build/editor.js +16 -6
  35. package/build/editor.js.map +1 -1
  36. package/build/hooks/validate-multiple-use/index.js +1 -1
  37. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  38. package/build/index.js +6 -0
  39. package/build/index.js.map +1 -1
  40. package/build/store/selectors.js +5 -3
  41. package/build/store/selectors.js.map +1 -1
  42. package/build-module/components/header/fullscreen-mode-close/index.js +19 -4
  43. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  44. package/build-module/components/header/header-toolbar/index.native.js +11 -4
  45. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  46. package/build-module/components/header/template-title/index.js +1 -1
  47. package/build-module/components/header/template-title/index.js.map +1 -1
  48. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
  49. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  50. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -3
  51. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  52. package/build-module/components/keyboard-shortcuts/index.js +1 -8
  53. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  54. package/build-module/components/layout/index.js +2 -4
  55. package/build-module/components/layout/index.js.map +1 -1
  56. package/build-module/components/layout/index.native.js +5 -1
  57. package/build-module/components/layout/index.native.js.map +1 -1
  58. package/build-module/components/meta-boxes/index.js +1 -4
  59. package/build-module/components/meta-boxes/index.js.map +1 -1
  60. package/build-module/components/preferences-modal/index.js +55 -18
  61. package/build-module/components/preferences-modal/index.js.map +1 -1
  62. package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
  63. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  64. package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -0
  65. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  66. package/build-module/components/sidebar/plugin-sidebar/index.js +1 -1
  67. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  68. package/build-module/components/sidebar/template/actions.js +6 -1
  69. package/build-module/components/sidebar/template/actions.js.map +1 -1
  70. package/build-module/components/sidebar/template/index.js +5 -2
  71. package/build-module/components/sidebar/template/index.js.map +1 -1
  72. package/build-module/components/sidebar/template-summary/index.js +2 -1
  73. package/build-module/components/sidebar/template-summary/index.js.map +1 -1
  74. package/build-module/editor.js +15 -6
  75. package/build-module/editor.js.map +1 -1
  76. package/build-module/hooks/validate-multiple-use/index.js +1 -1
  77. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  78. package/build-module/index.js +5 -0
  79. package/build-module/index.js.map +1 -1
  80. package/build-module/store/selectors.js +5 -3
  81. package/build-module/store/selectors.js.map +1 -1
  82. package/build-style/style-rtl.css +30 -53
  83. package/build-style/style.css +30 -53
  84. package/package.json +27 -27
  85. package/src/components/header/fullscreen-mode-close/index.js +37 -15
  86. package/src/components/header/header-toolbar/index.native.js +8 -2
  87. package/src/components/header/template-title/index.js +3 -1
  88. package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +15 -12
  89. package/src/components/keyboard-shortcut-help-modal/index.js +1 -3
  90. package/src/components/keyboard-shortcuts/index.js +19 -32
  91. package/src/components/layout/index.js +2 -6
  92. package/src/components/layout/index.native.js +7 -1
  93. package/src/components/meta-boxes/index.js +2 -9
  94. package/src/components/preferences-modal/index.js +91 -26
  95. package/src/components/preferences-modal/style.scss +6 -56
  96. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +330 -130
  97. package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
  98. package/src/components/secondary-sidebar/list-view-sidebar.js +1 -0
  99. package/src/components/sidebar/plugin-sidebar/index.js +1 -1
  100. package/src/components/sidebar/template/actions.js +6 -1
  101. package/src/components/sidebar/template/index.js +5 -3
  102. package/src/components/sidebar/template-summary/index.js +1 -1
  103. package/src/components/sidebar/template-summary/style.scss +2 -1
  104. package/src/components/visual-editor/style.scss +4 -5
  105. package/src/components/welcome-guide/style.scss +5 -0
  106. package/src/editor.js +98 -78
  107. package/src/hooks/validate-multiple-use/index.js +1 -1
  108. package/src/index.js +3 -0
  109. package/src/store/selectors.js +7 -3
@@ -9,6 +9,8 @@ exports.default = PreferencesModal;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
12
14
  var _lodash = require("lodash");
13
15
 
14
16
  var _components = require("@wordpress/components");
@@ -23,6 +25,8 @@ var _editor = require("@wordpress/editor");
23
25
 
24
26
  var _coreData = require("@wordpress/core-data");
25
27
 
28
+ var _icons = require("@wordpress/icons");
29
+
26
30
  var _section = _interopRequireDefault(require("./section"));
27
31
 
28
32
  var _options = require("./options");
@@ -47,6 +51,20 @@ var _blockManager = _interopRequireDefault(require("../block-manager"));
47
51
  const MODAL_NAME = 'edit-post/preferences';
48
52
  const PREFERENCES_MENU = 'preferences-menu';
49
53
 
54
+ function NavigationButton({
55
+ as: Tag = _components.Button,
56
+ path,
57
+ isBack = false,
58
+ ...props
59
+ }) {
60
+ const navigator = (0, _components.__experimentalUseNavigator)();
61
+ return (0, _element.createElement)(Tag, (0, _extends2.default)({
62
+ onClick: () => navigator.push(path, {
63
+ isBack
64
+ })
65
+ }, props));
66
+ }
67
+
50
68
  function PreferencesModal() {
51
69
  const isLargeViewport = (0, _compose.useViewportMatch)('medium');
52
70
  const {
@@ -212,24 +230,44 @@ function PreferencesModal() {
212
230
  orientation: "vertical"
213
231
  }, getCurrentTab);
214
232
  } else {
215
- modalContent = (0, _element.createElement)(_components.__experimentalNavigation, {
216
- activeMenu: activeMenu,
217
- onActivateMenu: setActiveMenu
218
- }, (0, _element.createElement)(_components.__experimentalNavigationMenu, {
219
- menu: PREFERENCES_MENU
220
- }, tabs.map(tab => {
221
- return (0, _element.createElement)(_components.__experimentalNavigationItem, {
233
+ modalContent = (0, _element.createElement)(_components.__experimentalNavigatorProvider, {
234
+ initialPath: "/"
235
+ }, (0, _element.createElement)(_components.__experimentalNavigatorScreen, {
236
+ path: "/"
237
+ }, (0, _element.createElement)(_components.Card, {
238
+ isBorderless: true,
239
+ size: "small"
240
+ }, (0, _element.createElement)(_components.CardBody, null, (0, _element.createElement)(_components.__experimentalItemGroup, null, tabs.map(tab => {
241
+ return (0, _element.createElement)(NavigationButton, {
222
242
  key: tab.name,
223
- title: tab.title,
224
- navigateToMenu: tab.name
225
- });
226
- })), sections.map(section => {
227
- return (0, _element.createElement)(_components.__experimentalNavigationMenu, {
243
+ path: tab.name,
244
+ as: _components.__experimentalItem,
245
+ isAction: true
246
+ }, (0, _element.createElement)(_components.__experimentalHStack, {
247
+ justify: "space-between"
248
+ }, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.__experimentalTruncate, null, tab.title)), (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_icons.Icon, {
249
+ icon: (0, _i18n.isRTL)() ? _icons.chevronLeft : _icons.chevronRight
250
+ }))));
251
+ }))))), sections.map(section => {
252
+ return (0, _element.createElement)(_components.__experimentalNavigatorScreen, {
228
253
  key: `${section.name}-menu`,
229
- menu: section.name,
230
- title: section.tabLabel,
231
- parentMenu: PREFERENCES_MENU
232
- }, (0, _element.createElement)(_components.__experimentalNavigationItem, null, section.content));
254
+ path: section.name
255
+ }, (0, _element.createElement)(_components.Card, {
256
+ isBorderless: true,
257
+ size: "large"
258
+ }, (0, _element.createElement)(_components.CardHeader, {
259
+ isBorderless: false,
260
+ justify: "left",
261
+ size: "small",
262
+ gap: "6"
263
+ }, (0, _element.createElement)(NavigationButton, {
264
+ path: "/",
265
+ icon: (0, _i18n.isRTL)() ? _icons.chevronRight : _icons.chevronLeft,
266
+ isBack: true,
267
+ "aria-label": (0, _i18n.__)('Navigate to the previous view')
268
+ }), (0, _element.createElement)(_components.__experimentalText, {
269
+ size: "16"
270
+ }, section.tabLabel)), (0, _element.createElement)(_components.CardBody, null, section.content)));
233
271
  }));
234
272
  }
235
273
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/preferences-modal/index.js"],"names":["MODAL_NAME","PREFERENCES_MENU","PreferencesModal","isLargeViewport","closeModal","editPostStore","isModalActive","isViewable","select","getEditedPostAttribute","editorStore","getPostType","coreStore","postType","showBlockBreadcrumbsOption","getEditorSettings","getEditorMode","isFeatureActive","mode","isRichEditingEnabled","richEditingEnabled","hasReducedUI","sections","name","tabLabel","content","taxonomy","slug","activeMenu","setActiveMenu","tabs","sectionsContentMap","reduce","accumulator","title","push","getCurrentTab","tab","modalContent","undefined","map","section"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigation as Navigation,\n\t__experimentalNavigationMenu as NavigationMenu,\n\t__experimentalNavigationItem as NavigationItem,\n\tModal,\n\tTabPanel,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport {\n\tPostTaxonomies,\n\tPostExcerptCheck,\n\tPageAttributesCheck,\n\tPostFeaturedImageCheck,\n\tPostTypeSupportCheck,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Section from './section';\nimport {\n\tEnablePluginDocumentSettingPanelOption,\n\tEnablePublishSidebarOption,\n\tEnablePanelOption,\n\tEnableFeature,\n} from './options';\nimport MetaBoxesSection from './meta-boxes-section';\nimport { store as editPostStore } from '../../store';\nimport BlockManager from '../block-manager';\n\nconst MODAL_NAME = 'edit-post/preferences';\nconst PREFERENCES_MENU = 'preferences-menu';\n\nexport default function PreferencesModal() {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { closeModal } = useDispatch( editPostStore );\n\tconst { isModalActive, isViewable } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\t\treturn {\n\t\t\tisModalActive: select( editPostStore ).isModalActive( MODAL_NAME ),\n\t\t\tisViewable: get( postType, [ 'viewable' ], false ),\n\t\t};\n\t}, [] );\n\tconst showBlockBreadcrumbsOption = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getEditorMode, isFeatureActive } = select( editPostStore );\n\t\t\tconst mode = getEditorMode();\n\t\t\tconst isRichEditingEnabled = getEditorSettings().richEditingEnabled;\n\t\t\tconst hasReducedUI = isFeatureActive( 'reducedUI' );\n\t\t\treturn (\n\t\t\t\t! hasReducedUI &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tmode === 'visual'\n\t\t\t);\n\t\t},\n\t\t[ isLargeViewport ]\n\t);\n\tconst sections = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tname: 'general',\n\t\t\t\ttabLabel: __( 'General' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\t\ttitle={ __( 'Publishing' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Change options related to publishing.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EnablePublishSidebarOption\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Review settings, such as visibility and tags.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Include pre-publish checklist'\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</Section>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"reducedUI\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Compacts options and outlines in the toolbar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Reduce the interface' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\t\t\thelp={ __( 'Shows text instead of icons.' ) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Display button labels' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"themeStyles\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Make the editor look like your theme.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Use theme styles' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ showBlockBreadcrumbsOption && (\n\t\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'blocks',\n\t\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"mostUsedBlocks\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Places the most frequent blocks in the block library.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show most used blocks' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Contain text cursor inside block'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Visible blocks' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\"Disable blocks that you don't want to appear in the inserter. They can always be toggled back on later.\"\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockManager />\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'panels',\n\t\t\t\ttabLabel: __( 'Panels' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Document settings' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Choose what displays in the panel.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EnablePluginDocumentSettingPanelOption.Slot />\n\t\t\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Permalink' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"post-link\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"template\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<PostTaxonomies\n\t\t\t\t\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => (\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ get( taxonomy, [\n\t\t\t\t\t\t\t\t\t\t\t'labels',\n\t\t\t\t\t\t\t\t\t\t\t'menu_name',\n\t\t\t\t\t\t\t\t\t\t] ) }\n\t\t\t\t\t\t\t\t\t\tpanelName={ `taxonomy-panel-${ taxonomy.slug }` }\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\t<PostFeaturedImageCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"featured-image\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostFeaturedImageCheck>\n\t\t\t\t\t\t\t<PostExcerptCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Excerpt' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"post-excerpt\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostExcerptCheck>\n\t\t\t\t\t\t\t<PostTypeSupportCheck\n\t\t\t\t\t\t\t\tsupportKeys={ [ 'comments', 'trackbacks' ] }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Discussion' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"discussion-panel\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostTypeSupportCheck>\n\t\t\t\t\t\t\t<PageAttributesCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Page attributes' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"page-attributes\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PageAttributesCheck>\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t\t<MetaBoxesSection\n\t\t\t\t\t\t\ttitle={ __( 'Additional' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Add extra areas to the editor.'\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\t[ isViewable, isLargeViewport, showBlockBreadcrumbsOption ]\n\t);\n\n\t// This is also used to sync the two different rendered components\n\t// between small and large viewports.\n\tconst [ activeMenu, setActiveMenu ] = useState( PREFERENCES_MENU );\n\t/**\n\t * Create helper objects from `sections` for easier data handling.\n\t * `tabs` is used for creating the `TabPanel` and `sectionsContentMap`\n\t * is used for easier access to active tab's content.\n\t */\n\tconst { tabs, sectionsContentMap } = useMemo(\n\t\t() =>\n\t\t\tsections.reduce(\n\t\t\t\t( accumulator, { name, tabLabel: title, content } ) => {\n\t\t\t\t\taccumulator.tabs.push( { name, title } );\n\t\t\t\t\taccumulator.sectionsContentMap[ name ] = content;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ tabs: [], sectionsContentMap: {} }\n\t\t\t),\n\t\t[ sections ]\n\t);\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => sectionsContentMap[ tab.name ] || null,\n\t\t[ sectionsContentMap ]\n\t);\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\tlet modalContent;\n\t// We render different components based on the viewport size.\n\tif ( isLargeViewport ) {\n\t\tmodalContent = (\n\t\t\t<TabPanel\n\t\t\t\tclassName=\"edit-post-preferences__tabs\"\n\t\t\t\ttabs={ tabs }\n\t\t\t\tinitialTabName={\n\t\t\t\t\tactiveMenu !== PREFERENCES_MENU ? activeMenu : undefined\n\t\t\t\t}\n\t\t\t\tonSelect={ setActiveMenu }\n\t\t\t\torientation=\"vertical\"\n\t\t\t>\n\t\t\t\t{ getCurrentTab }\n\t\t\t</TabPanel>\n\t\t);\n\t} else {\n\t\tmodalContent = (\n\t\t\t<Navigation\n\t\t\t\tactiveMenu={ activeMenu }\n\t\t\t\tonActivateMenu={ setActiveMenu }\n\t\t\t>\n\t\t\t\t<NavigationMenu menu={ PREFERENCES_MENU }>\n\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\tnavigateToMenu={ tab.name }\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</NavigationMenu>\n\t\t\t\t{ sections.map( ( section ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<NavigationMenu\n\t\t\t\t\t\t\tkey={ `${ section.name }-menu` }\n\t\t\t\t\t\t\tmenu={ section.name }\n\t\t\t\t\t\t\ttitle={ section.tabLabel }\n\t\t\t\t\t\t\tparentMenu={ PREFERENCES_MENU }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<NavigationItem>{ section.content }</NavigationItem>\n\t\t\t\t\t\t</NavigationMenu>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Navigation>\n\t\t);\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-preferences-modal\"\n\t\t\ttitle={ __( 'Preferences' ) }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t>\n\t\t\t{ modalContent }\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/preferences-modal/index.js"],"names":["MODAL_NAME","PREFERENCES_MENU","NavigationButton","as","Tag","Button","path","isBack","props","navigator","push","PreferencesModal","isLargeViewport","closeModal","editPostStore","isModalActive","isViewable","select","getEditedPostAttribute","editorStore","getPostType","coreStore","postType","showBlockBreadcrumbsOption","getEditorSettings","getEditorMode","isFeatureActive","mode","isRichEditingEnabled","richEditingEnabled","hasReducedUI","sections","name","tabLabel","content","taxonomy","slug","activeMenu","setActiveMenu","tabs","sectionsContentMap","reduce","accumulator","title","getCurrentTab","tab","modalContent","undefined","map","Item","chevronLeft","chevronRight","section"],"mappings":";;;;;;;;;AA4BA;;;;AAzBA;;AAKA;;AAiBA;;AACA;;AACA;;AAEA;;AAQA;;AACA;;AAKA;;AACA;;AAMA;;AACA;;AACA;;AApDA;AACA;AACA;;AAGA;AACA;AACA;;AAiCA;AACA;AACA;AAYA,MAAMA,UAAU,GAAG,uBAAnB;AACA,MAAMC,gBAAgB,GAAG,kBAAzB;;AAEA,SAASC,gBAAT,CAA2B;AAC1BC,EAAAA,EAAE,EAAEC,GAAG,GAAGC,kBADgB;AAE1BC,EAAAA,IAF0B;AAG1BC,EAAAA,MAAM,GAAG,KAHiB;AAI1B,KAAGC;AAJuB,CAA3B,EAKI;AACH,QAAMC,SAAS,GAAG,6CAAlB;AACA,SACC,4BAAC,GAAD;AACC,IAAA,OAAO,EAAG,MAAMA,SAAS,CAACC,IAAV,CAAgBJ,IAAhB,EAAsB;AAAEC,MAAAA;AAAF,KAAtB;AADjB,KAEMC,KAFN,EADD;AAMA;;AAEc,SAASG,gBAAT,GAA4B;AAC1C,QAAMC,eAAe,GAAG,+BAAkB,QAAlB,CAAxB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAiB,uBAAaC,YAAb,CAAvB;AACA,QAAM;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAgC,qBAAaC,MAAF,IAAc;AAC9D,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEE,aAAF,CAAzC;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAkBH,MAAM,CAAEI,eAAF,CAA9B;AACA,UAAMC,QAAQ,GAAGF,WAAW,CAAEF,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AACA,WAAO;AACNH,MAAAA,aAAa,EAAEE,MAAM,CAAEH,YAAF,CAAN,CAAwBC,aAAxB,CAAuCf,UAAvC,CADT;AAENgB,MAAAA,UAAU,EAAE,iBAAKM,QAAL,EAAe,CAAE,UAAF,CAAf,EAA+B,KAA/B;AAFN,KAAP;AAIA,GARqC,EAQnC,EARmC,CAAtC;AASA,QAAMC,0BAA0B,GAAG,qBAChCN,MAAF,IAAc;AACb,UAAM;AAAEO,MAAAA;AAAF,QAAwBP,MAAM,CAAEE,aAAF,CAApC;AACA,UAAM;AAAEM,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB,QAAqCT,MAAM,CAAEH,YAAF,CAAjD;AACA,UAAMa,IAAI,GAAGF,aAAa,EAA1B;AACA,UAAMG,oBAAoB,GAAGJ,iBAAiB,GAAGK,kBAAjD;AACA,UAAMC,YAAY,GAAGJ,eAAe,CAAE,WAAF,CAApC;AACA,WACC,CAAEI,YAAF,IACAlB,eADA,IAEAgB,oBAFA,IAGAD,IAAI,KAAK,QAJV;AAMA,GAbiC,EAclC,CAAEf,eAAF,CAdkC,CAAnC;AAgBA,QAAMmB,QAAQ,GAAG,sBAChB,MAAM,CACL;AACCC,IAAAA,IAAI,EAAE,SADP;AAECC,IAAAA,QAAQ,EAAE,cAAI,SAAJ,CAFX;AAGCC,IAAAA,OAAO,EACN,qDACGtB,eAAe,IAChB,4BAAC,gBAAD;AACC,MAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,uCADa;AAFf,OAMC,4BAAC,mCAAD;AACC,MAAA,IAAI,EAAG,cACN,+CADM,CADR;AAIC,MAAA,KAAK,EAAG,cACP,+BADO;AAJT,MAND,CAFF,EAmBC,4BAAC,gBAAD;AACC,MAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,2EADa;AAFf,OAMC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,WADb;AAEC,MAAA,IAAI,EAAG,cACN,+CADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,sBAAJ;AALT,MAND,EAaC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,WADb;AAEC,MAAA,IAAI,EAAG,cACN,uDADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,gBAAJ;AALT,MAbD,EAoBC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,gBADb;AAEC,MAAA,IAAI,EAAG,cAAI,8BAAJ,CAFR;AAGC,MAAA,KAAK,EAAG,cAAI,uBAAJ;AAHT,MApBD,EAyBC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,aADb;AAEC,MAAA,IAAI,EAAG,cACN,uCADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,kBAAJ;AALT,MAzBD,EAgCGW,0BAA0B,IAC3B,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,sBADb;AAEC,MAAA,IAAI,EAAG,cACN,sDADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,2BAAJ;AALT,MAjCF,CAnBD;AAJF,GADK,EAqEL;AACCS,IAAAA,IAAI,EAAE,QADP;AAECC,IAAAA,QAAQ,EAAE,cAAI,QAAJ,CAFX;AAGCC,IAAAA,OAAO,EACN,qDACC,4BAAC,gBAAD;AACC,MAAA,KAAK,EAAG,cAAI,oBAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,iFADa;AAFf,OAMC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,gBADb;AAEC,MAAA,IAAI,EAAG,cACN,uDADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,uBAAJ;AALT,MAND,EAaC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,sBADb;AAEC,MAAA,IAAI,EAAG,cACN,iEADM,CAFR;AAKC,MAAA,KAAK,EAAG,cACP,kCADO;AALT,MAbD,CADD,EAwBC,4BAAC,gBAAD;AACC,MAAA,KAAK,EAAG,cAAI,gBAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,yGADa;AAFf,OAMC,4BAAC,qBAAD,OAND,CAxBD;AAJF,GArEK,EA4GL;AACCF,IAAAA,IAAI,EAAE,QADP;AAECC,IAAAA,QAAQ,EAAE,cAAI,QAAJ,CAFX;AAGCC,IAAAA,OAAO,EACN,qDACC,4BAAC,gBAAD;AACC,MAAA,KAAK,EAAG,cAAI,mBAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,oCADa;AAFf,OAMC,4BAAC,+CAAD,CAAwC,IAAxC,OAND,EAOGlB,UAAU,IACX,4BAAC,0BAAD;AACC,MAAA,KAAK,EAAG,cAAI,WAAJ,CADT;AAEC,MAAA,SAAS,EAAC;AAFX,MARF,EAaGA,UAAU,IACX,4BAAC,0BAAD;AACC,MAAA,KAAK,EAAG,cAAI,UAAJ,CADT;AAEC,MAAA,SAAS,EAAC;AAFX,MAdF,EAmBC,4BAAC,sBAAD;AACC,MAAA,eAAe,EAAG,CAAEkB,OAAF,EAAWC,QAAX,KACjB,4BAAC,0BAAD;AACC,QAAA,KAAK,EAAG,iBAAKA,QAAL,EAAe,CACtB,QADsB,EAEtB,WAFsB,CAAf,CADT;AAKC,QAAA,SAAS,EAAI,kBAAkBA,QAAQ,CAACC,IAAM;AAL/C;AAFF,MAnBD,EA8BC,4BAAC,8BAAD,QACC,4BAAC,0BAAD;AACC,MAAA,KAAK,EAAG,cAAI,gBAAJ,CADT;AAEC,MAAA,SAAS,EAAC;AAFX,MADD,CA9BD,EAoCC,4BAAC,wBAAD,QACC,4BAAC,0BAAD;AACC,MAAA,KAAK,EAAG,cAAI,SAAJ,CADT;AAEC,MAAA,SAAS,EAAC;AAFX,MADD,CApCD,EA0CC,4BAAC,4BAAD;AACC,MAAA,WAAW,EAAG,CAAE,UAAF,EAAc,YAAd;AADf,OAGC,4BAAC,0BAAD;AACC,MAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,MAAA,SAAS,EAAC;AAFX,MAHD,CA1CD,EAkDC,4BAAC,2BAAD,QACC,4BAAC,0BAAD;AACC,MAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,MAAA,SAAS,EAAC;AAFX,MADD,CAlDD,CADD,EA0DC,4BAAC,yBAAD;AACC,MAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,gCADa;AAFf,MA1DD;AAJF,GA5GK,CADU,EAqLhB,CAAEpB,UAAF,EAAcJ,eAAd,EAA+BW,0BAA/B,CArLgB,CAAjB,CA5B0C,CAoN1C;AACA;;AACA,QAAM,CAAEc,UAAF,EAAcC,aAAd,IAAgC,uBAAUrC,gBAAV,CAAtC;AACA;AACD;AACA;AACA;AACA;;AACC,QAAM;AAAEsC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAA+B,sBACpC,MACCT,QAAQ,CAACU,MAAT,CACC,CAAEC,WAAF,EAAe;AAAEV,IAAAA,IAAF;AAAQC,IAAAA,QAAQ,EAAEU,KAAlB;AAAyBT,IAAAA;AAAzB,GAAf,KAAuD;AACtDQ,IAAAA,WAAW,CAACH,IAAZ,CAAiB7B,IAAjB,CAAuB;AAAEsB,MAAAA,IAAF;AAAQW,MAAAA;AAAR,KAAvB;AACAD,IAAAA,WAAW,CAACF,kBAAZ,CAAgCR,IAAhC,IAAyCE,OAAzC;AACA,WAAOQ,WAAP;AACA,GALF,EAMC;AAAEH,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,kBAAkB,EAAE;AAAhC,GAND,CAFmC,EAUpC,CAAET,QAAF,CAVoC,CAArC;AAYA,QAAMa,aAAa,GAAG,0BACnBC,GAAF,IAAWL,kBAAkB,CAAEK,GAAG,CAACb,IAAN,CAAlB,IAAkC,IADxB,EAErB,CAAEQ,kBAAF,CAFqB,CAAtB;;AAIA,MAAK,CAAEzB,aAAP,EAAuB;AACtB,WAAO,IAAP;AACA;;AACD,MAAI+B,YAAJ,CA/O0C,CAgP1C;;AACA,MAAKlC,eAAL,EAAuB;AACtBkC,IAAAA,YAAY,GACX,4BAAC,oBAAD;AACC,MAAA,SAAS,EAAC,6BADX;AAEC,MAAA,IAAI,EAAGP,IAFR;AAGC,MAAA,cAAc,EACbF,UAAU,KAAKpC,gBAAf,GAAkCoC,UAAlC,GAA+CU,SAJjD;AAMC,MAAA,QAAQ,EAAGT,aANZ;AAOC,MAAA,WAAW,EAAC;AAPb,OASGM,aATH,CADD;AAaA,GAdD,MAcO;AACNE,IAAAA,YAAY,GACX,4BAAC,2CAAD;AAAmB,MAAA,WAAW,EAAC;AAA/B,OACC,4BAAC,yCAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB,OACC,4BAAC,gBAAD;AAAM,MAAA,YAAY,MAAlB;AAAmB,MAAA,IAAI,EAAC;AAAxB,OACC,4BAAC,oBAAD,QACC,4BAAC,mCAAD,QACGP,IAAI,CAACS,GAAL,CAAYH,GAAF,IAAW;AACtB,aACC,4BAAC,gBAAD;AACC,QAAA,GAAG,EAAGA,GAAG,CAACb,IADX;AAEC,QAAA,IAAI,EAAGa,GAAG,CAACb,IAFZ;AAGC,QAAA,EAAE,EAAGiB,8BAHN;AAIC,QAAA,QAAQ;AAJT,SAMC,4BAAC,gCAAD;AAAQ,QAAA,OAAO,EAAC;AAAhB,SACC,4BAAC,oBAAD,QACC,4BAAC,kCAAD,QACGJ,GAAG,CAACF,KADP,CADD,CADD,EAMC,4BAAC,oBAAD,QACC,4BAAC,WAAD;AACC,QAAA,IAAI,EACH,qBACGO,kBADH,GAEGC;AAJL,QADD,CAND,CAND,CADD;AAyBA,KA1BC,CADH,CADD,CADD,CADD,CADD,EAoCGpB,QAAQ,CAACiB,GAAT,CAAgBI,OAAF,IAAe;AAC9B,aACC,4BAAC,yCAAD;AACC,QAAA,GAAG,EAAI,GAAGA,OAAO,CAACpB,IAAM,OADzB;AAEC,QAAA,IAAI,EAAGoB,OAAO,CAACpB;AAFhB,SAIC,4BAAC,gBAAD;AAAM,QAAA,YAAY,MAAlB;AAAmB,QAAA,IAAI,EAAC;AAAxB,SACC,4BAAC,sBAAD;AACC,QAAA,YAAY,EAAG,KADhB;AAEC,QAAA,OAAO,EAAC,MAFT;AAGC,QAAA,IAAI,EAAC,OAHN;AAIC,QAAA,GAAG,EAAC;AAJL,SAMC,4BAAC,gBAAD;AACC,QAAA,IAAI,EAAC,GADN;AAEC,QAAA,IAAI,EACH,qBAAUmB,mBAAV,GAAyBD,kBAH3B;AAKC,QAAA,MAAM,MALP;AAMC,sBAAa,cACZ,+BADY;AANd,QAND,EAgBC,4BAAC,8BAAD;AAAM,QAAA,IAAI,EAAC;AAAX,SAAkBE,OAAO,CAACnB,QAA1B,CAhBD,CADD,EAmBC,4BAAC,oBAAD,QAAYmB,OAAO,CAAClB,OAApB,CAnBD,CAJD,CADD;AA4BA,KA7BC,CApCH,CADD;AAqEA;;AACD,SACC,4BAAC,iBAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,KAAK,EAAG,cAAI,aAAJ,CAFT;AAGC,IAAA,UAAU,EAAG,cAAI,OAAJ,CAHd;AAIC,IAAA,cAAc,EAAGrB;AAJlB,KAMGiC,YANH,CADD;AAUA","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\t__experimentalTruncate as Truncate,\n\tFlexItem,\n\tModal,\n\tTabPanel,\n\tButton,\n\tCard,\n\tCardHeader,\n\tCardBody,\n} from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport {\n\tPostTaxonomies,\n\tPostExcerptCheck,\n\tPageAttributesCheck,\n\tPostFeaturedImageCheck,\n\tPostTypeSupportCheck,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { chevronLeft, chevronRight, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Section from './section';\nimport {\n\tEnablePluginDocumentSettingPanelOption,\n\tEnablePublishSidebarOption,\n\tEnablePanelOption,\n\tEnableFeature,\n} from './options';\nimport MetaBoxesSection from './meta-boxes-section';\nimport { store as editPostStore } from '../../store';\nimport BlockManager from '../block-manager';\n\nconst MODAL_NAME = 'edit-post/preferences';\nconst PREFERENCES_MENU = 'preferences-menu';\n\nfunction NavigationButton( {\n\tas: Tag = Button,\n\tpath,\n\tisBack = false,\n\t...props\n} ) {\n\tconst navigator = useNavigator();\n\treturn (\n\t\t<Tag\n\t\t\tonClick={ () => navigator.push( path, { isBack } ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default function PreferencesModal() {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { closeModal } = useDispatch( editPostStore );\n\tconst { isModalActive, isViewable } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\t\treturn {\n\t\t\tisModalActive: select( editPostStore ).isModalActive( MODAL_NAME ),\n\t\t\tisViewable: get( postType, [ 'viewable' ], false ),\n\t\t};\n\t}, [] );\n\tconst showBlockBreadcrumbsOption = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getEditorMode, isFeatureActive } = select( editPostStore );\n\t\t\tconst mode = getEditorMode();\n\t\t\tconst isRichEditingEnabled = getEditorSettings().richEditingEnabled;\n\t\t\tconst hasReducedUI = isFeatureActive( 'reducedUI' );\n\t\t\treturn (\n\t\t\t\t! hasReducedUI &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tmode === 'visual'\n\t\t\t);\n\t\t},\n\t\t[ isLargeViewport ]\n\t);\n\tconst sections = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tname: 'general',\n\t\t\t\ttabLabel: __( 'General' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\t\ttitle={ __( 'Publishing' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\t'Change options related to publishing.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EnablePublishSidebarOption\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Review settings, such as visibility and tags.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Include pre-publish checklist'\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</Section>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"reducedUI\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Compacts options and outlines in the toolbar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Reduce the interface' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\t\t\thelp={ __( 'Shows text instead of icons.' ) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Display button labels' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"themeStyles\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Make the editor look like your theme.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Use theme styles' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ showBlockBreadcrumbsOption && (\n\t\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'blocks',\n\t\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"mostUsedBlocks\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Places the most frequent blocks in the block library.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show most used blocks' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Contain text cursor inside block'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Visible blocks' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\"Disable blocks that you don't want to appear in the inserter. They can always be toggled back on later.\"\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockManager />\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'panels',\n\t\t\t\ttabLabel: __( 'Panels' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Section\n\t\t\t\t\t\t\ttitle={ __( 'Document settings' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Choose what displays in the panel.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EnablePluginDocumentSettingPanelOption.Slot />\n\t\t\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Permalink' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"post-link\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"template\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<PostTaxonomies\n\t\t\t\t\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => (\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ get( taxonomy, [\n\t\t\t\t\t\t\t\t\t\t\t'labels',\n\t\t\t\t\t\t\t\t\t\t\t'menu_name',\n\t\t\t\t\t\t\t\t\t\t] ) }\n\t\t\t\t\t\t\t\t\t\tpanelName={ `taxonomy-panel-${ taxonomy.slug }` }\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\t<PostFeaturedImageCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"featured-image\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostFeaturedImageCheck>\n\t\t\t\t\t\t\t<PostExcerptCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Excerpt' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"post-excerpt\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostExcerptCheck>\n\t\t\t\t\t\t\t<PostTypeSupportCheck\n\t\t\t\t\t\t\t\tsupportKeys={ [ 'comments', 'trackbacks' ] }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Discussion' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"discussion-panel\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostTypeSupportCheck>\n\t\t\t\t\t\t\t<PageAttributesCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Page attributes' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"page-attributes\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PageAttributesCheck>\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t\t<MetaBoxesSection\n\t\t\t\t\t\t\ttitle={ __( 'Additional' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Add extra areas to the editor.'\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\t[ isViewable, isLargeViewport, showBlockBreadcrumbsOption ]\n\t);\n\n\t// This is also used to sync the two different rendered components\n\t// between small and large viewports.\n\tconst [ activeMenu, setActiveMenu ] = useState( PREFERENCES_MENU );\n\t/**\n\t * Create helper objects from `sections` for easier data handling.\n\t * `tabs` is used for creating the `TabPanel` and `sectionsContentMap`\n\t * is used for easier access to active tab's content.\n\t */\n\tconst { tabs, sectionsContentMap } = useMemo(\n\t\t() =>\n\t\t\tsections.reduce(\n\t\t\t\t( accumulator, { name, tabLabel: title, content } ) => {\n\t\t\t\t\taccumulator.tabs.push( { name, title } );\n\t\t\t\t\taccumulator.sectionsContentMap[ name ] = content;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ tabs: [], sectionsContentMap: {} }\n\t\t\t),\n\t\t[ sections ]\n\t);\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => sectionsContentMap[ tab.name ] || null,\n\t\t[ sectionsContentMap ]\n\t);\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\tlet modalContent;\n\t// We render different components based on the viewport size.\n\tif ( isLargeViewport ) {\n\t\tmodalContent = (\n\t\t\t<TabPanel\n\t\t\t\tclassName=\"edit-post-preferences__tabs\"\n\t\t\t\ttabs={ tabs }\n\t\t\t\tinitialTabName={\n\t\t\t\t\tactiveMenu !== PREFERENCES_MENU ? activeMenu : undefined\n\t\t\t\t}\n\t\t\t\tonSelect={ setActiveMenu }\n\t\t\t\torientation=\"vertical\"\n\t\t\t>\n\t\t\t\t{ getCurrentTab }\n\t\t\t</TabPanel>\n\t\t);\n\t} else {\n\t\tmodalContent = (\n\t\t\t<NavigatorProvider initialPath=\"/\">\n\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t<Card isBorderless size=\"small\">\n\t\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<NavigationButton\n\t\t\t\t\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\t\t\t\t\tpath={ tab.name }\n\t\t\t\t\t\t\t\t\t\t\tas={ Item }\n\t\t\t\t\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Truncate>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisRTL()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? chevronLeft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: chevronRight\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t\t\t</NavigationButton>\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</ItemGroup>\n\t\t\t\t\t\t</CardBody>\n\t\t\t\t\t</Card>\n\t\t\t\t</NavigatorScreen>\n\t\t\t\t{ sections.map( ( section ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<NavigatorScreen\n\t\t\t\t\t\t\tkey={ `${ section.name }-menu` }\n\t\t\t\t\t\t\tpath={ section.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Card isBorderless size=\"large\">\n\t\t\t\t\t\t\t\t<CardHeader\n\t\t\t\t\t\t\t\t\tisBorderless={ false }\n\t\t\t\t\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tgap=\"6\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<NavigationButton\n\t\t\t\t\t\t\t\t\t\tpath=\"/\"\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronRight : chevronLeft\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisBack\n\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Navigate to the previous view'\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\t<Text size=\"16\">{ section.tabLabel }</Text>\n\t\t\t\t\t\t\t\t</CardHeader>\n\t\t\t\t\t\t\t\t<CardBody>{ section.content }</CardBody>\n\t\t\t\t\t\t\t</Card>\n\t\t\t\t\t\t</NavigatorScreen>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</NavigatorProvider>\n\t\t);\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-preferences-modal\"\n\t\t\ttitle={ __( 'Preferences' ) }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t>\n\t\t\t{ modalContent }\n\t\t</Modal>\n\t);\n}\n"]}
@@ -67,7 +67,8 @@ function InserterSidebar() {
67
67
  showInserterHelpPanel: true,
68
68
  shouldFocusBlock: isMobileViewport,
69
69
  rootClientId: insertionPoint.rootClientId,
70
- __experimentalInsertionIndex: insertionPoint.insertionIndex
70
+ __experimentalInsertionIndex: insertionPoint.insertionIndex,
71
+ __experimentalFilterValue: insertionPoint.filterValue
71
72
  })));
72
73
  }
73
74
  //# sourceMappingURL=inserter-sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/inserter-sidebar.js"],"names":["InserterSidebar","insertionPoint","showMostUsedBlocks","select","isFeatureActive","__experimentalGetInsertionPoint","editPostStore","setIsInserterOpened","isMobileViewport","inserterDialogRef","inserterDialogProps","onClose","close","rootClientId","insertionIndex"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAQA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGe,SAASA,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAyC,qBAAaC,MAAF,IAAc;AACvE,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAuDF,MAAM,CAClEG,YADkE,CAAnE;AAGA,WAAO;AACNL,MAAAA,cAAc,EAAEI,+BAA+B,EADzC;AAENH,MAAAA,kBAAkB,EAAEE,eAAe,CAAE,gBAAF;AAF7B,KAAP;AAIA,GAR8C,EAQ5C,EAR4C,CAA/C;AASA,QAAM;AAAEG,IAAAA;AAAF,MAA0B,uBAAaD,YAAb,CAAhC;AAEA,QAAME,gBAAgB,GAAG,+BAAkB,QAAlB,EAA4B,GAA5B,CAAzB;AACA,QAAM,CAAEC,iBAAF,EAAqBC,mBAArB,IAA6C,sCAAW;AAC7DC,IAAAA,OAAO,EAAE,MAAMJ,mBAAmB,CAAE,KAAF;AAD2B,GAAX,CAAnD;AAIA,SACC;AACC,IAAA,GAAG,EAAGE;AADP,KAEMC,mBAFN;AAGC,IAAA,SAAS,EAAC;AAHX,MAKC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGE,YADR;AAEC,IAAA,OAAO,EAAG,MAAML,mBAAmB,CAAE,KAAF;AAFpC,IADD,CALD,EAWC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kCAAD;AACC,IAAA,kBAAkB,EAAGL,kBADtB;AAEC,IAAA,qBAAqB,MAFtB;AAGC,IAAA,gBAAgB,EAAGM,gBAHpB;AAIC,IAAA,YAAY,EAAGP,cAAc,CAACY,YAJ/B;AAKC,IAAA,4BAA4B,EAC3BZ,cAAc,CAACa;AANjB,IADD,CAXD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport { close } from '@wordpress/icons';\nimport {\n\tuseViewportMatch,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function InserterSidebar() {\n\tconst { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {\n\t\tconst { isFeatureActive, __experimentalGetInsertionPoint } = select(\n\t\t\teditPostStore\n\t\t);\n\t\treturn {\n\t\t\tinsertionPoint: __experimentalGetInsertionPoint(),\n\t\t\tshowMostUsedBlocks: isFeatureActive( 'mostUsedBlocks' ),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened } = useDispatch( editPostStore );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ inserterDialogRef, inserterDialogProps ] = useDialog( {\n\t\tonClose: () => setIsInserterOpened( false ),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ inserterDialogRef }\n\t\t\t{ ...inserterDialogProps }\n\t\t\tclassName=\"edit-post-editor__inserter-panel\"\n\t\t>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-header\">\n\t\t\t\t<Button\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tonClick={ () => setIsInserterOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-content\">\n\t\t\t\t<Library\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tshouldFocusBlock={ isMobileViewport }\n\t\t\t\t\trootClientId={ insertionPoint.rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\tinsertionPoint.insertionIndex\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/inserter-sidebar.js"],"names":["InserterSidebar","insertionPoint","showMostUsedBlocks","select","isFeatureActive","__experimentalGetInsertionPoint","editPostStore","setIsInserterOpened","isMobileViewport","inserterDialogRef","inserterDialogProps","onClose","close","rootClientId","insertionIndex","filterValue"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAQA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGe,SAASA,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAyC,qBAAaC,MAAF,IAAc;AACvE,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAuDF,MAAM,CAClEG,YADkE,CAAnE;AAGA,WAAO;AACNL,MAAAA,cAAc,EAAEI,+BAA+B,EADzC;AAENH,MAAAA,kBAAkB,EAAEE,eAAe,CAAE,gBAAF;AAF7B,KAAP;AAIA,GAR8C,EAQ5C,EAR4C,CAA/C;AASA,QAAM;AAAEG,IAAAA;AAAF,MAA0B,uBAAaD,YAAb,CAAhC;AAEA,QAAME,gBAAgB,GAAG,+BAAkB,QAAlB,EAA4B,GAA5B,CAAzB;AACA,QAAM,CAAEC,iBAAF,EAAqBC,mBAArB,IAA6C,sCAAW;AAC7DC,IAAAA,OAAO,EAAE,MAAMJ,mBAAmB,CAAE,KAAF;AAD2B,GAAX,CAAnD;AAIA,SACC;AACC,IAAA,GAAG,EAAGE;AADP,KAEMC,mBAFN;AAGC,IAAA,SAAS,EAAC;AAHX,MAKC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGE,YADR;AAEC,IAAA,OAAO,EAAG,MAAML,mBAAmB,CAAE,KAAF;AAFpC,IADD,CALD,EAWC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kCAAD;AACC,IAAA,kBAAkB,EAAGL,kBADtB;AAEC,IAAA,qBAAqB,MAFtB;AAGC,IAAA,gBAAgB,EAAGM,gBAHpB;AAIC,IAAA,YAAY,EAAGP,cAAc,CAACY,YAJ/B;AAKC,IAAA,4BAA4B,EAC3BZ,cAAc,CAACa,cANjB;AAQC,IAAA,yBAAyB,EAAGb,cAAc,CAACc;AAR5C,IADD,CAXD,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport { close } from '@wordpress/icons';\nimport {\n\tuseViewportMatch,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function InserterSidebar() {\n\tconst { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {\n\t\tconst { isFeatureActive, __experimentalGetInsertionPoint } = select(\n\t\t\teditPostStore\n\t\t);\n\t\treturn {\n\t\t\tinsertionPoint: __experimentalGetInsertionPoint(),\n\t\t\tshowMostUsedBlocks: isFeatureActive( 'mostUsedBlocks' ),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened } = useDispatch( editPostStore );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ inserterDialogRef, inserterDialogProps ] = useDialog( {\n\t\tonClose: () => setIsInserterOpened( false ),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ inserterDialogRef }\n\t\t\t{ ...inserterDialogProps }\n\t\t\tclassName=\"edit-post-editor__inserter-panel\"\n\t\t>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-header\">\n\t\t\t\t<Button\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tonClick={ () => setIsInserterOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"edit-post-editor__inserter-panel-content\">\n\t\t\t\t<Library\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tshouldFocusBlock={ isMobileViewport }\n\t\t\t\t\trootClientId={ insertionPoint.rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\tinsertionPoint.insertionIndex\n\t\t\t\t\t}\n\t\t\t\t\t__experimentalFilterValue={ insertionPoint.filterValue }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -75,6 +75,7 @@ function ListViewSidebar() {
75
75
  }, (0, _element.createElement)(_blockEditor.__experimentalListView, {
76
76
  onSelect: selectEditorBlock,
77
77
  showNestedBlocks: true,
78
+ __experimentalFeatures: true,
78
79
  __experimentalPersistentListViewFeatures: true
79
80
  })))
80
81
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/list-view-sidebar.js"],"names":["ListViewSidebar","setIsListViewOpened","editPostStore","clearSelectedBlock","selectBlock","blockEditorStore","selectEditorBlock","clientId","focusOnMountRef","focusReturnRef","closeOnEscape","event","keyCode","ESCAPE","defaultPrevented","preventDefault","instanceId","labelId","closeSmall"],"mappings":";;;;;;;;;AAGA;;AAIA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAKA;;AAtBA;AACA;AACA;;AAiBA;AACA;AACA;AAGe,SAASA,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,YAAb,CAAhC;AAEA,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAAsC,uBAAaC,kBAAb,CAA5C;;AACA,iBAAeC,iBAAf,CAAkCC,QAAlC,EAA6C;AAC5C,UAAMJ,kBAAkB,EAAxB;AACAC,IAAAA,WAAW,CAAEG,QAAF,EAAY,CAAC,CAAb,CAAX;AACA;;AAED,QAAMC,eAAe,GAAG,8BAAiB,cAAjB,CAAxB;AACA,QAAMC,cAAc,GAAG,8BAAvB;;AACA,WAASC,aAAT,CAAwBC,KAAxB,EAAgC;AAC/B,QAAKA,KAAK,CAACC,OAAN,KAAkBC,gBAAlB,IAA4B,CAAEF,KAAK,CAACG,gBAAzC,EAA4D;AAC3DH,MAAAA,KAAK,CAACI,cAAN;AACAd,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;AACD;;AAED,QAAMe,UAAU,GAAG,4BAAehB,eAAf,CAAnB;AACA,QAAMiB,OAAO,GAAI,2CAA2CD,UAAY,EAAxE;AAEA,SACC;AACA;AACC,yBAAkBC,OADnB;AAEC,MAAA,SAAS,EAAC,mCAFX;AAGC,MAAA,SAAS,EAAGP;AAHb,OAKC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAQ,MAAA,EAAE,EAAGO;AAAb,OAAyB,cAAI,WAAJ,CAAzB,CADD,EAEC,4BAAC,kBAAD;AACC,MAAA,IAAI,EAAGC,iBADR;AAEC,MAAA,KAAK,EAAG,cAAI,yBAAJ,CAFT;AAGC,MAAA,OAAO,EAAG,MAAMjB,mBAAmB,CAAE,KAAF;AAHpC,MAFD,CALD,EAaC;AACC,MAAA,SAAS,EAAC,2CADX;AAEC,MAAA,GAAG,EAAG,2BAAc,CAAEQ,cAAF,EAAkBD,eAAlB,CAAd;AAFP,OAIC,4BAAC,mCAAD;AACC,MAAA,QAAQ,EAAGF,iBADZ;AAEC,MAAA,gBAAgB,MAFjB;AAGC,MAAA,wCAAwC;AAHzC,MAJD,CAbD;AAFD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalListView as ListView,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseInstanceId,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst { clearSelectedBlock, selectBlock } = useDispatch( blockEditorStore );\n\tasync function selectEditorBlock( clientId ) {\n\t\tawait clearSelectedBlock();\n\t\tselectBlock( clientId, -1 );\n\t}\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst focusReturnRef = useFocusReturn();\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( false );\n\t\t}\n\t}\n\n\tconst instanceId = useInstanceId( ListViewSidebar );\n\tconst labelId = `edit-post-editor__list-view-panel-label-${ instanceId }`;\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\taria-labelledby={ labelId }\n\t\t\tclassName=\"edit-post-editor__list-view-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div className=\"edit-post-editor__list-view-panel-header\">\n\t\t\t\t<strong id={ labelId }>{ __( 'List view' ) }</strong>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close list view sidebar' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__list-view-panel-content\"\n\t\t\t\tref={ useMergeRefs( [ focusReturnRef, focusOnMountRef ] ) }\n\t\t\t>\n\t\t\t\t<ListView\n\t\t\t\t\tonSelect={ selectEditorBlock }\n\t\t\t\t\tshowNestedBlocks\n\t\t\t\t\t__experimentalPersistentListViewFeatures\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/secondary-sidebar/list-view-sidebar.js"],"names":["ListViewSidebar","setIsListViewOpened","editPostStore","clearSelectedBlock","selectBlock","blockEditorStore","selectEditorBlock","clientId","focusOnMountRef","focusReturnRef","closeOnEscape","event","keyCode","ESCAPE","defaultPrevented","preventDefault","instanceId","labelId","closeSmall"],"mappings":";;;;;;;;;AAGA;;AAIA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAKA;;AAtBA;AACA;AACA;;AAiBA;AACA;AACA;AAGe,SAASA,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,YAAb,CAAhC;AAEA,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAAsC,uBAAaC,kBAAb,CAA5C;;AACA,iBAAeC,iBAAf,CAAkCC,QAAlC,EAA6C;AAC5C,UAAMJ,kBAAkB,EAAxB;AACAC,IAAAA,WAAW,CAAEG,QAAF,EAAY,CAAC,CAAb,CAAX;AACA;;AAED,QAAMC,eAAe,GAAG,8BAAiB,cAAjB,CAAxB;AACA,QAAMC,cAAc,GAAG,8BAAvB;;AACA,WAASC,aAAT,CAAwBC,KAAxB,EAAgC;AAC/B,QAAKA,KAAK,CAACC,OAAN,KAAkBC,gBAAlB,IAA4B,CAAEF,KAAK,CAACG,gBAAzC,EAA4D;AAC3DH,MAAAA,KAAK,CAACI,cAAN;AACAd,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;AACD;;AAED,QAAMe,UAAU,GAAG,4BAAehB,eAAf,CAAnB;AACA,QAAMiB,OAAO,GAAI,2CAA2CD,UAAY,EAAxE;AAEA,SACC;AACA;AACC,yBAAkBC,OADnB;AAEC,MAAA,SAAS,EAAC,mCAFX;AAGC,MAAA,SAAS,EAAGP;AAHb,OAKC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAQ,MAAA,EAAE,EAAGO;AAAb,OAAyB,cAAI,WAAJ,CAAzB,CADD,EAEC,4BAAC,kBAAD;AACC,MAAA,IAAI,EAAGC,iBADR;AAEC,MAAA,KAAK,EAAG,cAAI,yBAAJ,CAFT;AAGC,MAAA,OAAO,EAAG,MAAMjB,mBAAmB,CAAE,KAAF;AAHpC,MAFD,CALD,EAaC;AACC,MAAA,SAAS,EAAC,2CADX;AAEC,MAAA,GAAG,EAAG,2BAAc,CAAEQ,cAAF,EAAkBD,eAAlB,CAAd;AAFP,OAIC,4BAAC,mCAAD;AACC,MAAA,QAAQ,EAAGF,iBADZ;AAEC,MAAA,gBAAgB,MAFjB;AAGC,MAAA,sBAAsB,MAHvB;AAIC,MAAA,wCAAwC;AAJzC,MAJD,CAbD;AAFD;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalListView as ListView,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseInstanceId,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editPostStore );\n\n\tconst { clearSelectedBlock, selectBlock } = useDispatch( blockEditorStore );\n\tasync function selectEditorBlock( clientId ) {\n\t\tawait clearSelectedBlock();\n\t\tselectBlock( clientId, -1 );\n\t}\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst focusReturnRef = useFocusReturn();\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( false );\n\t\t}\n\t}\n\n\tconst instanceId = useInstanceId( ListViewSidebar );\n\tconst labelId = `edit-post-editor__list-view-panel-label-${ instanceId }`;\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\taria-labelledby={ labelId }\n\t\t\tclassName=\"edit-post-editor__list-view-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div className=\"edit-post-editor__list-view-panel-header\">\n\t\t\t\t<strong id={ labelId }>{ __( 'List view' ) }</strong>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close list view sidebar' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-editor__list-view-panel-content\"\n\t\t\t\tref={ useMergeRefs( [ focusReturnRef, focusOnMountRef ] ) }\n\t\t\t>\n\t\t\t\t<ListView\n\t\t\t\t\tonSelect={ selectEditorBlock }\n\t\t\t\t\tshowNestedBlocks\n\t\t\t\t\t__experimentalFeatures\n\t\t\t\t\t__experimentalPersistentListViewFeatures\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -110,7 +110,7 @@ function PluginSidebarEditPost({
110
110
  shortcut: select(_keyboardShortcuts.store).getShortcutRepresentation('core/edit-post/toggle-sidebar'),
111
111
  showIconLabels: select(_store.store).isFeatureActive('showIconLabels')
112
112
  };
113
- });
113
+ }, []);
114
114
  return (0, _element.createElement)(_interface.ComplementaryArea, (0, _extends2.default)({
115
115
  panelClassName: className,
116
116
  className: "edit-post-sidebar",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-sidebar/index.js"],"names":["PluginSidebarEditPost","className","props","postTitle","shortcut","showIconLabels","select","editorStore","getEditedPostAttribute","keyboardShortcutsStore","getShortcutRepresentation","editPostStore","isFeatureActive"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,qBAAT,CAAgC;AAAEC,EAAAA,SAAF;AAAa,KAAGC;AAAhB,CAAhC,EAA0D;AACxE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,MAA0C,qBAAaC,MAAF,IAAc;AACxE,WAAO;AACNH,MAAAA,SAAS,EAAEG,MAAM,CAAEC,aAAF,CAAN,CAAsBC,sBAAtB,CAA8C,OAA9C,CADL;AAENJ,MAAAA,QAAQ,EAAEE,MAAM,CACfG,wBADe,CAAN,CAERC,yBAFQ,CAEmB,+BAFnB,CAFJ;AAKNL,MAAAA,cAAc,EAAEC,MAAM,CAAEK,YAAF,CAAN,CAAwBC,eAAxB,CACf,gBADe;AALV,KAAP;AASA,GAV+C,CAAhD;AAWA,SACC,4BAAC,4BAAD;AACC,IAAA,cAAc,EAAGX,SADlB;AAEC,IAAA,SAAS,EAAC,mBAFX;AAGC,IAAA,gBAAgB,EAAGE,SAAS,IAAI,cAAI,YAAJ,CAHjC;AAIC,IAAA,KAAK,EAAC,gBAJP;AAKC,IAAA,cAAc,EAAGC,QALlB;AAMC,IAAA,cAAc,EAAGC;AANlB,KAOMH,KAPN,EADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar.\n * It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`.\n * If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:\n *\n * ```js\n * wp.data.dispatch( 'core/edit-post' ).openGeneralSidebar( 'plugin-name/sidebar-name' );\n * ```\n *\n * @see PluginSidebarMoreMenuItem\n *\n * @param {Object} props Element props.\n * @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin.\n * @param {string} [props.className] An optional class name added to the sidebar body.\n * @param {string} props.title Title displayed at the top of the sidebar.\n * @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item.\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 *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var el = wp.element.createElement;\n * var PanelBody = wp.components.PanelBody;\n * var PluginSidebar = wp.editPost.PluginSidebar;\n * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.\n *\n * function MyPluginSidebar() {\n * \treturn el(\n * \t\t\tPluginSidebar,\n * \t\t\t{\n * \t\t\t\tname: 'my-sidebar',\n * \t\t\t\ttitle: 'My sidebar title',\n * \t\t\t\ticon: moreIcon,\n * \t\t\t},\n * \t\t\tel(\n * \t\t\t\tPanelBody,\n * \t\t\t\t{},\n * \t\t\t\t__( 'My sidebar content' )\n * \t\t\t)\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PanelBody } from '@wordpress/components';\n * import { PluginSidebar } from '@wordpress/edit-post';\n * import { more } from '@wordpress/icons';\n *\n * const MyPluginSidebar = () => (\n * \t<PluginSidebar\n * \t\tname=\"my-sidebar\"\n * \t\ttitle=\"My sidebar title\"\n * \t\ticon={ more }\n * \t>\n * \t\t<PanelBody>\n * \t\t\t{ __( 'My sidebar content' ) }\n * \t\t</PanelBody>\n * \t</PluginSidebar>\n * );\n * ```\n */\nexport default function PluginSidebarEditPost( { className, ...props } ) {\n\tconst { postTitle, shortcut, showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostTitle: select( editorStore ).getEditedPostAttribute( 'title' ),\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t} );\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tpanelClassName={ className }\n\t\t\tclassName=\"edit-post-sidebar\"\n\t\t\tsmallScreenTitle={ postTitle || __( '(no title)' ) }\n\t\t\tscope=\"core/edit-post\"\n\t\t\ttoggleShortcut={ shortcut }\n\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-sidebar/index.js"],"names":["PluginSidebarEditPost","className","props","postTitle","shortcut","showIconLabels","select","editorStore","getEditedPostAttribute","keyboardShortcutsStore","getShortcutRepresentation","editPostStore","isFeatureActive"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,qBAAT,CAAgC;AAAEC,EAAAA,SAAF;AAAa,KAAGC;AAAhB,CAAhC,EAA0D;AACxE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,MAA0C,qBAAaC,MAAF,IAAc;AACxE,WAAO;AACNH,MAAAA,SAAS,EAAEG,MAAM,CAAEC,aAAF,CAAN,CAAsBC,sBAAtB,CAA8C,OAA9C,CADL;AAENJ,MAAAA,QAAQ,EAAEE,MAAM,CACfG,wBADe,CAAN,CAERC,yBAFQ,CAEmB,+BAFnB,CAFJ;AAKNL,MAAAA,cAAc,EAAEC,MAAM,CAAEK,YAAF,CAAN,CAAwBC,eAAxB,CACf,gBADe;AALV,KAAP;AASA,GAV+C,EAU7C,EAV6C,CAAhD;AAWA,SACC,4BAAC,4BAAD;AACC,IAAA,cAAc,EAAGX,SADlB;AAEC,IAAA,SAAS,EAAC,mBAFX;AAGC,IAAA,gBAAgB,EAAGE,SAAS,IAAI,cAAI,YAAJ,CAHjC;AAIC,IAAA,KAAK,EAAC,gBAJP;AAKC,IAAA,cAAc,EAAGC,QALlB;AAMC,IAAA,cAAc,EAAGC;AANlB,KAOMH,KAPN,EADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar.\n * It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`.\n * If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:\n *\n * ```js\n * wp.data.dispatch( 'core/edit-post' ).openGeneralSidebar( 'plugin-name/sidebar-name' );\n * ```\n *\n * @see PluginSidebarMoreMenuItem\n *\n * @param {Object} props Element props.\n * @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin.\n * @param {string} [props.className] An optional class name added to the sidebar body.\n * @param {string} props.title Title displayed at the top of the sidebar.\n * @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item.\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 *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var el = wp.element.createElement;\n * var PanelBody = wp.components.PanelBody;\n * var PluginSidebar = wp.editPost.PluginSidebar;\n * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.\n *\n * function MyPluginSidebar() {\n * \treturn el(\n * \t\t\tPluginSidebar,\n * \t\t\t{\n * \t\t\t\tname: 'my-sidebar',\n * \t\t\t\ttitle: 'My sidebar title',\n * \t\t\t\ticon: moreIcon,\n * \t\t\t},\n * \t\t\tel(\n * \t\t\t\tPanelBody,\n * \t\t\t\t{},\n * \t\t\t\t__( 'My sidebar content' )\n * \t\t\t)\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PanelBody } from '@wordpress/components';\n * import { PluginSidebar } from '@wordpress/edit-post';\n * import { more } from '@wordpress/icons';\n *\n * const MyPluginSidebar = () => (\n * \t<PluginSidebar\n * \t\tname=\"my-sidebar\"\n * \t\ttitle=\"My sidebar title\"\n * \t\ticon={ more }\n * \t>\n * \t\t<PanelBody>\n * \t\t\t{ __( 'My sidebar content' ) }\n * \t\t</PanelBody>\n * \t</PluginSidebar>\n * );\n * ```\n */\nexport default function PluginSidebarEditPost( { className, ...props } ) {\n\tconst { postTitle, shortcut, showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostTitle: select( editorStore ).getEditedPostAttribute( 'title' ),\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' ),\n\t\t\tshowIconLabels: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tpanelClassName={ className }\n\t\t\tclassName=\"edit-post-sidebar\"\n\t\t\tsmallScreenTitle={ postTitle || __( '(no title)' ) }\n\t\t\tscope=\"core/edit-post\"\n\t\t\ttoggleShortcut={ shortcut }\n\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
@@ -78,6 +78,11 @@ function PostTemplateActions() {
78
78
 
79
79
  async function onCreateTemplate(event) {
80
80
  event.preventDefault();
81
+
82
+ if (isBusy) {
83
+ return;
84
+ }
85
+
81
86
  setIsBusy(true);
82
87
  const newTemplateContent = defaultTemplate !== null && defaultTemplate !== void 0 ? defaultTemplate : (0, _blocks.serialize)([(0, _blocks.createBlock)('core/group', {
83
88
  tagName: 'header',
@@ -123,7 +128,7 @@ function PostTemplateActions() {
123
128
  },
124
129
  overlayClassName: "edit-post-template__modal"
125
130
  }, (0, _element.createElement)("form", {
126
- onSubmit: isBusy ? undefined : onCreateTemplate
131
+ onSubmit: onCreateTemplate
127
132
  }, (0, _element.createElement)(_components.Flex, {
128
133
  align: "flex-start",
129
134
  gap: 8
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/actions.js"],"names":["PostTemplateActions","isModalOpen","setIsModalOpen","isBusy","setIsBusy","title","setTitle","template","supportsTemplateMode","defaultTemplate","select","getCurrentPostType","getEditorSettings","editorStore","getPostType","coreStore","getEditedPostTemplate","editPostStore","isViewable","viewable","_supportsTemplateMode","defaultBlockTemplate","__unstableCreateTemplate","__unstableSwitchToTemplateMode","defaultTitle","onCreateTemplate","event","preventDefault","newTemplateContent","tagName","layout","inherit","slug","content","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tModal,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\nimport { createBlock, serialize } from '@wordpress/blocks';\n\nfunction PostTemplateActions() {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { template, supportsTemplateMode, defaultTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPostType, getEditorSettings } = select(\n\t\t\t\teditorStore\n\t\t\t);\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( getCurrentPostType() )?.viewable ?? false;\n\t\t\tconst _supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode && isViewable;\n\n\t\t\treturn {\n\t\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\t\tdefaultTemplate: getEditorSettings().defaultBlockTemplate,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst {\n\t\t__unstableCreateTemplate,\n\t\t__unstableSwitchToTemplateMode,\n\t} = useDispatch( editPostStore );\n\n\tif ( ! supportsTemplateMode ) {\n\t\treturn null;\n\t}\n\n\tconst defaultTitle = __( 'Custom Template' );\n\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tawait __unstableCreateTemplate( {\n\t\t\tslug: 'wp-custom-template-' + kebabCase( title || defaultTitle ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || defaultTitle,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tsetIsModalOpen( false );\n\n\t\t__unstableSwitchToTemplateMode( true );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-post-template__actions\">\n\t\t\t\t{ !! template && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => __unstableSwitchToTemplateMode() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<Button variant=\"link\" onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t\t{ __( 'New' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"edit-post-template__modal\"\n\t\t\t\t>\n\t\t\t\t\t<form onSubmit={ isBusy ? undefined : onCreateTemplate }>\n\t\t\t\t\t\t<Flex align=\"flex-start\" gap={ 8 }>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the template, e.g. \"Full Width\". Custom templates can be applied to any post or page.'\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</FlexItem>\n\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"edit-post-template__modal-actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\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\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PostTemplateActions;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/actions.js"],"names":["PostTemplateActions","isModalOpen","setIsModalOpen","isBusy","setIsBusy","title","setTitle","template","supportsTemplateMode","defaultTemplate","select","getCurrentPostType","getEditorSettings","editorStore","getPostType","coreStore","getEditedPostTemplate","editPostStore","isViewable","viewable","_supportsTemplateMode","defaultBlockTemplate","__unstableCreateTemplate","__unstableSwitchToTemplateMode","defaultTitle","onCreateTemplate","event","preventDefault","newTemplateContent","tagName","layout","inherit","slug","content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tModal,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\nimport { createBlock, serialize } from '@wordpress/blocks';\n\nfunction PostTemplateActions() {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { template, supportsTemplateMode, defaultTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPostType, getEditorSettings } = select(\n\t\t\t\teditorStore\n\t\t\t);\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( getCurrentPostType() )?.viewable ?? false;\n\t\t\tconst _supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode && isViewable;\n\n\t\t\treturn {\n\t\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\t\tdefaultTemplate: getEditorSettings().defaultBlockTemplate,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst {\n\t\t__unstableCreateTemplate,\n\t\t__unstableSwitchToTemplateMode,\n\t} = useDispatch( editPostStore );\n\n\tif ( ! supportsTemplateMode ) {\n\t\treturn null;\n\t}\n\n\tconst defaultTitle = __( 'Custom Template' );\n\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tawait __unstableCreateTemplate( {\n\t\t\tslug: 'wp-custom-template-' + kebabCase( title || defaultTitle ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || defaultTitle,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tsetIsModalOpen( false );\n\n\t\t__unstableSwitchToTemplateMode( true );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-post-template__actions\">\n\t\t\t\t{ !! template && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => __unstableSwitchToTemplateMode() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<Button variant=\"link\" onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t\t{ __( 'New' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"edit-post-template__modal\"\n\t\t\t\t>\n\t\t\t\t\t<form onSubmit={ onCreateTemplate }>\n\t\t\t\t\t\t<Flex align=\"flex-start\" gap={ 8 }>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the template, e.g. \"Full Width\". Custom templates can be applied to any post or page.'\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</FlexItem>\n\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"edit-post-template__modal-actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\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\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PostTemplateActions;\n"]}
@@ -72,12 +72,15 @@ function TemplatePanel() {
72
72
  getEntityRecords,
73
73
  canUser
74
74
  } = select(_coreData.store);
75
+ const currentPostType = getCurrentPostType();
75
76
 
76
- const _isViewable = (_getPostType$viewable = (_getPostType = getPostType(getCurrentPostType())) === null || _getPostType === void 0 ? void 0 : _getPostType.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
77
+ const _isViewable = (_getPostType$viewable = (_getPostType = getPostType(currentPostType)) === null || _getPostType === void 0 ? void 0 : _getPostType.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
77
78
 
78
79
  const _supportsTemplateMode = select(_editor.store).getEditorSettings().supportsTemplateMode && _isViewable;
79
80
 
80
- const wpTemplates = getEntityRecords('postType', 'wp_template');
81
+ const wpTemplates = getEntityRecords('postType', 'wp_template', {
82
+ post_type: currentPostType
83
+ });
81
84
  const newAvailableTemplates = (0, _lodash.fromPairs)((wpTemplates || []).map(({
82
85
  slug,
83
86
  title
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/index.js"],"names":["PANEL_NAME","TemplatePanel","isEnabled","isOpened","selectedTemplate","availableTemplates","fetchedTemplates","isViewable","template","supportsTemplateMode","canUserCreate","select","isEditorPanelEnabled","isEditorPanelOpened","getEditedPostTemplate","editPostStore","getEditedPostAttribute","getEditorSettings","getCurrentPostType","editorStore","getPostType","getEntityRecords","canUser","coreStore","_isViewable","viewable","_supportsTemplateMode","wpTemplates","newAvailableTemplates","map","slug","title","rendered","templates","toggleEditorPanelOpened","editPost","onTogglePanel","panelTitle","Object","keys","includes","templateSlug","templateName","value","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { partial, isEmpty, map, fromPairs } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { PanelBody, SelectControl } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateActions from './actions';\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'template';\n\nexport function TemplatePanel() {\n\tconst {\n\t\tisEnabled,\n\t\tisOpened,\n\t\tselectedTemplate,\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tisViewable,\n\t\ttemplate,\n\t\tsupportsTemplateMode,\n\t\tcanUserCreate,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditorPanelEnabled,\n\t\t\tisEditorPanelOpened,\n\t\t\tgetEditedPostTemplate,\n\t\t} = select( editPostStore );\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditorSettings,\n\t\t\tgetCurrentPostType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEntityRecords, canUser } = select( coreStore );\n\t\tconst _isViewable =\n\t\t\tgetPostType( getCurrentPostType() )?.viewable ?? false;\n\t\tconst _supportsTemplateMode =\n\t\t\tselect( editorStore ).getEditorSettings().supportsTemplateMode &&\n\t\t\t_isViewable;\n\n\t\tconst wpTemplates = getEntityRecords( 'postType', 'wp_template' );\n\n\t\tconst newAvailableTemplates = fromPairs(\n\t\t\t( wpTemplates || [] ).map( ( { slug, title } ) => [\n\t\t\t\tslug,\n\t\t\t\ttitle.rendered,\n\t\t\t] )\n\t\t);\n\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tselectedTemplate: getEditedPostAttribute( 'template' ),\n\t\t\tavailableTemplates: getEditorSettings().availableTemplates,\n\t\t\tfetchedTemplates: newAvailableTemplates,\n\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\tisViewable: _isViewable,\n\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\tcanUserCreate: canUser( 'create', 'templates' ),\n\t\t};\n\t}, [] );\n\n\tconst templates = useMemo( () => {\n\t\treturn {\n\t\t\t...availableTemplates,\n\t\t\t...fetchedTemplates,\n\t\t};\n\t}, [ availableTemplates, fetchedTemplates ] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editPostStore );\n\tconst { editPost } = useDispatch( editorStore );\n\n\tif (\n\t\t! isEnabled ||\n\t\t! isViewable ||\n\t\t( isEmpty( availableTemplates ) &&\n\t\t\t( ! supportsTemplateMode || ! canUserCreate ) )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst onTogglePanel = partial( toggleEditorPanelOpened, PANEL_NAME );\n\n\tlet panelTitle = __( 'Template' );\n\tif ( !! template ) {\n\t\tpanelTitle = sprintf(\n\t\t\t/* translators: %s: template title */\n\t\t\t__( 'Template: %s' ),\n\t\t\ttemplate?.title ?? template.slug\n\t\t);\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ panelTitle }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\thideLabelFromVision\n\t\t\t\tlabel={ __( 'Template:' ) }\n\t\t\t\tvalue={\n\t\t\t\t\tObject.keys( templates ).includes( selectedTemplate )\n\t\t\t\t\t\t? selectedTemplate\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t\tonChange={ ( templateSlug ) => {\n\t\t\t\t\teditPost( {\n\t\t\t\t\t\ttemplate: templateSlug || '',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\toptions={ map( templates, ( templateName, templateSlug ) => ( {\n\t\t\t\t\tvalue: templateSlug,\n\t\t\t\t\tlabel: templateName,\n\t\t\t\t} ) ) }\n\t\t\t/>\n\t\t\t{ canUserCreate && <PostTemplateActions /> }\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplatePanel;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template/index.js"],"names":["PANEL_NAME","TemplatePanel","isEnabled","isOpened","selectedTemplate","availableTemplates","fetchedTemplates","isViewable","template","supportsTemplateMode","canUserCreate","select","isEditorPanelEnabled","isEditorPanelOpened","getEditedPostTemplate","editPostStore","getEditedPostAttribute","getEditorSettings","getCurrentPostType","editorStore","getPostType","getEntityRecords","canUser","coreStore","currentPostType","_isViewable","viewable","_supportsTemplateMode","wpTemplates","post_type","newAvailableTemplates","map","slug","title","rendered","templates","toggleEditorPanelOpened","editPost","onTogglePanel","panelTitle","Object","keys","includes","templateSlug","templateName","value","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { partial, isEmpty, map, fromPairs } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { PanelBody, SelectControl } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateActions from './actions';\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'template';\n\nexport function TemplatePanel() {\n\tconst {\n\t\tisEnabled,\n\t\tisOpened,\n\t\tselectedTemplate,\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tisViewable,\n\t\ttemplate,\n\t\tsupportsTemplateMode,\n\t\tcanUserCreate,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditorPanelEnabled,\n\t\t\tisEditorPanelOpened,\n\t\t\tgetEditedPostTemplate,\n\t\t} = select( editPostStore );\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditorSettings,\n\t\t\tgetCurrentPostType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEntityRecords, canUser } = select( coreStore );\n\t\tconst currentPostType = getCurrentPostType();\n\t\tconst _isViewable = getPostType( currentPostType )?.viewable ?? false;\n\t\tconst _supportsTemplateMode =\n\t\t\tselect( editorStore ).getEditorSettings().supportsTemplateMode &&\n\t\t\t_isViewable;\n\n\t\tconst wpTemplates = getEntityRecords( 'postType', 'wp_template', {\n\t\t\tpost_type: currentPostType,\n\t\t} );\n\n\t\tconst newAvailableTemplates = fromPairs(\n\t\t\t( wpTemplates || [] ).map( ( { slug, title } ) => [\n\t\t\t\tslug,\n\t\t\t\ttitle.rendered,\n\t\t\t] )\n\t\t);\n\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tselectedTemplate: getEditedPostAttribute( 'template' ),\n\t\t\tavailableTemplates: getEditorSettings().availableTemplates,\n\t\t\tfetchedTemplates: newAvailableTemplates,\n\t\t\ttemplate: _supportsTemplateMode && getEditedPostTemplate(),\n\t\t\tisViewable: _isViewable,\n\t\t\tsupportsTemplateMode: _supportsTemplateMode,\n\t\t\tcanUserCreate: canUser( 'create', 'templates' ),\n\t\t};\n\t}, [] );\n\n\tconst templates = useMemo( () => {\n\t\treturn {\n\t\t\t...availableTemplates,\n\t\t\t...fetchedTemplates,\n\t\t};\n\t}, [ availableTemplates, fetchedTemplates ] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editPostStore );\n\tconst { editPost } = useDispatch( editorStore );\n\n\tif (\n\t\t! isEnabled ||\n\t\t! isViewable ||\n\t\t( isEmpty( availableTemplates ) &&\n\t\t\t( ! supportsTemplateMode || ! canUserCreate ) )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst onTogglePanel = partial( toggleEditorPanelOpened, PANEL_NAME );\n\n\tlet panelTitle = __( 'Template' );\n\tif ( !! template ) {\n\t\tpanelTitle = sprintf(\n\t\t\t/* translators: %s: template title */\n\t\t\t__( 'Template: %s' ),\n\t\t\ttemplate?.title ?? template.slug\n\t\t);\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ panelTitle }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\thideLabelFromVision\n\t\t\t\tlabel={ __( 'Template:' ) }\n\t\t\t\tvalue={\n\t\t\t\t\tObject.keys( templates ).includes( selectedTemplate )\n\t\t\t\t\t\t? selectedTemplate\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t\tonChange={ ( templateSlug ) => {\n\t\t\t\t\teditPost( {\n\t\t\t\t\t\ttemplate: templateSlug || '',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\toptions={ map( templates, ( templateName, templateSlug ) => ( {\n\t\t\t\t\tvalue: templateSlug,\n\t\t\t\t\tlabel: templateName,\n\t\t\t\t} ) ) }\n\t\t\t/>\n\t\t\t{ canUserCreate && <PostTemplateActions /> }\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplatePanel;\n"]}
@@ -35,7 +35,8 @@ function TemplateSummary() {
35
35
  }
36
36
 
37
37
  return (0, _element.createElement)(_components.PanelBody, null, (0, _element.createElement)(_components.Flex, {
38
- align: "flex-start"
38
+ align: "flex-start",
39
+ gap: "3"
39
40
  }, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_icons.Icon, {
40
41
  icon: _icons.layout
41
42
  })), (0, _element.createElement)(_components.FlexBlock, null, (0, _element.createElement)("h2", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template-summary/index.js"],"names":["TemplateSummary","template","select","getEditedPostTemplate","editPostStore","layout","title","slug","description"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGA,SAASA,eAAT,GAA2B;AAC1B,QAAMC,QAAQ,GAAG,qBAAaC,MAAF,IAAc;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAA4BD,MAAM,CAAEE,YAAF,CAAxC;AACA,WAAOD,qBAAqB,EAA5B;AACA,GAHgB,EAGd,EAHc,CAAjB;;AAKA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,qBAAD,QACC,4BAAC,gBAAD;AAAM,IAAA,KAAK,EAAC;AAAZ,KACC,4BAAC,oBAAD,QACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGI;AAAb,IADD,CADD,EAKC,4BAAC,qBAAD,QACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,CAAAJ,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEK,KAAV,MAAmBL,QAAnB,aAAmBA,QAAnB,uBAAmBA,QAAQ,CAAEM,IAA7B,CADH,CADD,EAIC,uCAAKN,QAAL,aAAKA,QAAL,uBAAKA,QAAQ,CAAEO,WAAf,CAJD,CALD,CADD,CADD;AAgBA;;eAEcR,e","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon, layout } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { Flex, FlexItem, FlexBlock, PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nfunction TemplateSummary() {\n\tconst template = useSelect( ( select ) => {\n\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\t\treturn getEditedPostTemplate();\n\t}, [] );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody>\n\t\t\t<Flex align=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Icon icon={ layout } />\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<h2 className=\"edit-post-template-summary__title\">\n\t\t\t\t\t\t{ template?.title || template?.slug }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>{ template?.description }</p>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplateSummary;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/template-summary/index.js"],"names":["TemplateSummary","template","select","getEditedPostTemplate","editPostStore","layout","title","slug","description"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGA,SAASA,eAAT,GAA2B;AAC1B,QAAMC,QAAQ,GAAG,qBAAaC,MAAF,IAAc;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAA4BD,MAAM,CAAEE,YAAF,CAAxC;AACA,WAAOD,qBAAqB,EAA5B;AACA,GAHgB,EAGd,EAHc,CAAjB;;AAKA,MAAK,CAAEF,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,qBAAD,QACC,4BAAC,gBAAD;AAAM,IAAA,KAAK,EAAC,YAAZ;AAAyB,IAAA,GAAG,EAAC;AAA7B,KACC,4BAAC,oBAAD,QACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGI;AAAb,IADD,CADD,EAKC,4BAAC,qBAAD,QACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,CAAAJ,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEK,KAAV,MAAmBL,QAAnB,aAAmBA,QAAnB,uBAAmBA,QAAQ,CAAEM,IAA7B,CADH,CADD,EAIC,uCAAKN,QAAL,aAAKA,QAAL,uBAAKA,QAAQ,CAAEO,WAAf,CAJD,CALD,CADD,CADD;AAgBA;;eAEcR,e","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon, layout } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { Flex, FlexItem, FlexBlock, PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nfunction TemplateSummary() {\n\tconst template = useSelect( ( select ) => {\n\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\t\treturn getEditedPostTemplate();\n\t}, [] );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody>\n\t\t\t<Flex align=\"flex-start\" gap=\"3\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Icon icon={ layout } />\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<h2 className=\"edit-post-template-summary__title\">\n\t\t\t\t\t\t{ template?.title || template?.slug }\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>{ template?.description }</p>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\n\t\t</PanelBody>\n\t);\n}\n\nexport default TemplateSummary;\n"]}
package/build/editor.js CHANGED
@@ -23,6 +23,8 @@ var _components = require("@wordpress/components");
23
23
 
24
24
  var _coreData = require("@wordpress/core-data");
25
25
 
26
+ var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
27
+
26
28
  var _preventEventDiscovery = _interopRequireDefault(require("./prevent-event-discovery"));
27
29
 
28
30
  var _layout = _interopRequireDefault(require("./components/layout"));
@@ -116,7 +118,7 @@ function Editor({
116
118
  template: supportsTemplateMode && isViewable ? getEditedPostTemplate() : null,
117
119
  post: postObject
118
120
  };
119
- });
121
+ }, [postType, postId]);
120
122
  const {
121
123
  updatePreferredStyleVariations,
122
124
  setIsInserterOpened
@@ -147,16 +149,24 @@ function Editor({
147
149
  return result;
148
150
  }, [settings, hasFixedToolbar, focusMode, hasReducedUI, hiddenBlockTypes, blockTypes, preferredStyleVariations, __experimentalLocalAutosaveInterval, setIsInserterOpened, updatePreferredStyleVariations, keepCaretInsideBlock]);
149
151
  const styles = (0, _element.useMemo)(() => {
150
- var _settings$styles;
151
-
152
- return hasThemeStyles && (_settings$styles = settings.styles) !== null && _settings$styles !== void 0 && _settings$styles.length ? settings.styles : settings.defaultEditorStyles;
152
+ const themeStyles = [];
153
+ const presetStyles = [];
154
+ settings.styles.forEach(style => {
155
+ if (!style.__unstableType || style.__unstableType === 'theme') {
156
+ themeStyles.push(style);
157
+ } else {
158
+ presetStyles.push(style);
159
+ }
160
+ });
161
+ const defaultEditorStyles = [...settings.defaultEditorStyles, ...presetStyles];
162
+ return hasThemeStyles && themeStyles.length ? settings.styles : defaultEditorStyles;
153
163
  }, [settings, hasThemeStyles]);
154
164
 
155
165
  if (!post) {
156
166
  return null;
157
167
  }
158
168
 
159
- return (0, _element.createElement)(_element.StrictMode, null, (0, _element.createElement)(_editPostSettings.default.Provider, {
169
+ return (0, _element.createElement)(_element.StrictMode, null, (0, _element.createElement)(_keyboardShortcuts.ShortcutProvider, null, (0, _element.createElement)(_editPostSettings.default.Provider, {
160
170
  value: settings
161
171
  }, (0, _element.createElement)(_components.SlotFillProvider, null, (0, _element.createElement)(_editor.EditorProvider, (0, _extends2.default)({
162
172
  settings: editorSettings,
@@ -172,7 +182,7 @@ function Editor({
172
182
  styles: styles
173
183
  }), (0, _element.createElement)(_components.KeyboardShortcuts, {
174
184
  shortcuts: _preventEventDiscovery.default
175
- })), (0, _element.createElement)(_editor.PostLockedModal, null)))));
185
+ })), (0, _element.createElement)(_editor.PostLockedModal, null))))));
176
186
  }
177
187
 
178
188
  var _default = Editor;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["Editor","postId","postType","settings","initialEdits","onError","props","hasFixedToolbar","focusMode","hasReducedUI","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","__experimentalLocalAutosaveInterval","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","getPreference","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","editPostStore","getEntityRecord","getPostType","getEntityRecords","coreStore","getEditorSettings","editorStore","getBlockTypes","blocksStore","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","styles","length","defaultEditorStyles","undefined","preventEventDiscovery"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size, map, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tEditorProvider,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { StrictMode, useMemo } from '@wordpress/element';\nimport { KeyboardShortcuts, SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport preventEventDiscovery from './prevent-event-discovery';\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport EditPostSettings from './components/edit-post-settings';\nimport { store as editPostStore } from './store';\n\nfunction Editor( {\n\tpostId,\n\tpostType,\n\tsettings,\n\tinitialEdits,\n\tonError,\n\t...props\n} ) {\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tgetPreference,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t} = select( editPostStore );\n\t\tconst { getEntityRecord, getPostType, getEntityRecords } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\tpostType\n\t\t);\n\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t// to avoid the special case.\n\t\tlet postObject;\n\t\tif ( isTemplate ) {\n\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\twp_id: postId,\n\t\t\t} );\n\t\t\tpostObject = posts?.[ 0 ];\n\t\t} else {\n\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t}\n\t\tconst supportsTemplateMode = getEditorSettings().supportsTemplateMode;\n\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\n\t\treturn {\n\t\t\thasFixedToolbar:\n\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\thasReducedUI: isFeatureActive( 'reducedUI' ),\n\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\tpreferredStyleVariations: getPreference(\n\t\t\t\t'preferredStyleVariations'\n\t\t\t),\n\t\t\thiddenBlockTypes: getPreference( 'hiddenBlockTypes' ),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t\t__experimentalLocalAutosaveInterval: getPreference(\n\t\t\t\t'localAutosaveInterval'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\ttemplate:\n\t\t\t\tsupportsTemplateMode && isViewable\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: null,\n\t\t\tpost: postObject,\n\t\t};\n\t} );\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } = useDispatch(\n\t\teditPostStore\n\t);\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thasReducedUI,\n\t\t\t__experimentalLocalAutosaveInterval,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( size( hiddenBlockTypes ) > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? map( blockTypes, 'name' )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = without(\n\t\t\t\tdefaultAllowedBlockTypes,\n\t\t\t\t...hiddenBlockTypes\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\treturn hasThemeStyles && settings.styles?.length\n\t\t\t? settings.styles\n\t\t\t: settings.defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StrictMode>\n\t\t\t<EditPostSettings.Provider value={ settings }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ post }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\t\tisTemplateMode ? template : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\tshortcuts={ preventEventDiscovery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</EditPostSettings.Provider>\n\t\t</StrictMode>\n\t);\n}\n\nexport default Editor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["Editor","postId","postType","settings","initialEdits","onError","props","hasFixedToolbar","focusMode","hasReducedUI","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","__experimentalLocalAutosaveInterval","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","getPreference","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","editPostStore","getEntityRecord","getPostType","getEntityRecords","coreStore","getEditorSettings","editorStore","getBlockTypes","blocksStore","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","styles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","length","undefined","preventEventDiscovery"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size, map, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tEditorProvider,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { StrictMode, useMemo } from '@wordpress/element';\nimport { KeyboardShortcuts, SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport preventEventDiscovery from './prevent-event-discovery';\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport EditPostSettings from './components/edit-post-settings';\nimport { store as editPostStore } from './store';\n\nfunction Editor( {\n\tpostId,\n\tpostType,\n\tsettings,\n\tinitialEdits,\n\tonError,\n\t...props\n} ) {\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\tgetPreference,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode = getEditorSettings()\n\t\t\t\t.supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\thasReducedUI: isFeatureActive( 'reducedUI' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: getPreference(\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getPreference( 'hiddenBlockTypes' ),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\t__experimentalLocalAutosaveInterval: getPreference(\n\t\t\t\t\t'localAutosaveInterval'\n\t\t\t\t),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable\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[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } = useDispatch(\n\t\teditPostStore\n\t);\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thasReducedUI,\n\t\t\t__experimentalLocalAutosaveInterval,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( size( hiddenBlockTypes ) > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? map( blockTypes, 'name' )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = without(\n\t\t\t\tdefaultAllowedBlockTypes,\n\t\t\t\t...hiddenBlockTypes\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thasReducedUI,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\t__experimentalLocalAutosaveInterval,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tsettings.styles.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StrictMode>\n\t\t\t<ShortcutProvider>\n\t\t\t\t<EditPostSettings.Provider value={ settings }>\n\t\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\t\tpost={ post }\n\t\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\t\t\tisTemplateMode ? template : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\t\tshortcuts={ preventEventDiscovery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t</EditorProvider>\n\t\t\t\t\t</SlotFillProvider>\n\t\t\t\t</EditPostSettings.Provider>\n\t\t\t</ShortcutProvider>\n\t\t</StrictMode>\n\t);\n}\n\nexport default Editor;\n"]}
@@ -98,7 +98,7 @@ const withMultipleValidation = (0, _compose.createHigherOrderComponent)(BlockEdi
98
98
  variant: "secondary",
99
99
  onClick: () => props.onReplace((0, _blocks.createBlock)(outboundType.name, props.attributes))
100
100
  }, (0, _i18n.__)('Transform into:'), " ", outboundType.title)]
101
- }, (0, _element.createElement)("strong", null, blockType.title, ": "), (0, _i18n.__)('This block can only be used once.'))];
101
+ }, (0, _element.createElement)("strong", null, blockType === null || blockType === void 0 ? void 0 : blockType.title, ": "), (0, _i18n.__)('This block can only be used once.'))];
102
102
  });
103
103
  }, 'withMultipleValidation');
104
104
  /**