@wordpress/edit-site 5.28.2 → 5.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +18 -8
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/block-editor/use-site-editor-settings.js +2 -1
  5. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  6. package/build/components/code-editor/index.js +3 -2
  7. package/build/components/code-editor/index.js.map +1 -1
  8. package/build/components/editor/index.js +4 -4
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/editor-canvas-container/index.js +1 -1
  11. package/build/components/editor-canvas-container/index.js.map +1 -1
  12. package/build/components/global-styles/block-preview-panel.js +2 -2
  13. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  15. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/font-collection.js +84 -7
  17. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  19. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/installed-fonts.js +10 -7
  21. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  22. package/build/components/header-edit-mode/document-tools/index.js +1 -2
  23. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  24. package/build/components/header-edit-mode/index.js +3 -1
  25. package/build/components/header-edit-mode/index.js.map +1 -1
  26. package/build/components/header-edit-mode/more-menu/index.js +7 -4
  27. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  28. package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
  29. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  30. package/build/components/keyboard-shortcuts/register.js +0 -18
  31. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  32. package/build/components/layout/index.js +8 -4
  33. package/build/components/layout/index.js.map +1 -1
  34. package/build/components/layout/router.js +26 -5
  35. package/build/components/layout/router.js.map +1 -1
  36. package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
  37. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  38. package/build/components/page-patterns/header.js +2 -1
  39. package/build/components/page-patterns/header.js.map +1 -1
  40. package/build/components/page-patterns/index.js +0 -1
  41. package/build/components/page-patterns/index.js.map +1 -1
  42. package/build/components/page-patterns/use-patterns.js +10 -5
  43. package/build/components/page-patterns/use-patterns.js.map +1 -1
  44. package/build/components/page-templates-template-parts/index.js +1 -0
  45. package/build/components/page-templates-template-parts/index.js.map +1 -1
  46. package/build/components/save-button/index.js +2 -1
  47. package/build/components/save-button/index.js.map +1 -1
  48. package/build/components/sidebar/index.js +5 -2
  49. package/build/components/sidebar/index.js.map +1 -1
  50. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  51. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  52. package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  53. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  54. package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
  55. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  56. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  57. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  58. package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  59. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  60. package/build/components/sidebar-navigation-screen-pages/index.js +3 -1
  61. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  62. package/build/components/style-book/index.js +2 -0
  63. package/build/components/style-book/index.js.map +1 -1
  64. package/build/hooks/commands/use-edit-mode-commands.js +3 -171
  65. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  66. package/build/hooks/index.js +0 -1
  67. package/build/hooks/index.js.map +1 -1
  68. package/build/hooks/push-changes-to-global-styles/index.js +4 -5
  69. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  70. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +91 -0
  71. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  72. package/build/store/actions.js +19 -50
  73. package/build/store/actions.js.map +1 -1
  74. package/build/store/private-actions.js +3 -1
  75. package/build/store/private-actions.js.map +1 -1
  76. package/build/utils/clone-deep.js +15 -0
  77. package/build/utils/clone-deep.js.map +1 -0
  78. package/build-module/components/add-new-pattern/index.js +18 -8
  79. package/build-module/components/add-new-pattern/index.js.map +1 -1
  80. package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
  81. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  82. package/build-module/components/code-editor/index.js +3 -2
  83. package/build-module/components/code-editor/index.js.map +1 -1
  84. package/build-module/components/editor/index.js +4 -4
  85. package/build-module/components/editor/index.js.map +1 -1
  86. package/build-module/components/editor-canvas-container/index.js +2 -2
  87. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  88. package/build-module/components/global-styles/block-preview-panel.js +2 -2
  89. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  90. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  91. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  92. package/build-module/components/global-styles/font-library-modal/font-collection.js +87 -10
  93. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  94. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  95. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  96. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +11 -8
  97. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  98. package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
  99. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  100. package/build-module/components/header-edit-mode/index.js +3 -1
  101. package/build-module/components/header-edit-mode/index.js.map +1 -1
  102. package/build-module/components/header-edit-mode/more-menu/index.js +6 -3
  103. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  104. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
  105. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  106. package/build-module/components/keyboard-shortcuts/register.js +0 -18
  107. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  108. package/build-module/components/layout/index.js +9 -5
  109. package/build-module/components/layout/index.js.map +1 -1
  110. package/build-module/components/layout/router.js +26 -5
  111. package/build-module/components/layout/router.js.map +1 -1
  112. package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
  113. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  114. package/build-module/components/page-patterns/header.js +2 -1
  115. package/build-module/components/page-patterns/header.js.map +1 -1
  116. package/build-module/components/page-patterns/index.js +0 -1
  117. package/build-module/components/page-patterns/index.js.map +1 -1
  118. package/build-module/components/page-patterns/use-patterns.js +10 -5
  119. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  120. package/build-module/components/page-templates-template-parts/index.js +1 -0
  121. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  122. package/build-module/components/save-button/index.js +2 -1
  123. package/build-module/components/save-button/index.js.map +1 -1
  124. package/build-module/components/sidebar/index.js +5 -2
  125. package/build-module/components/sidebar/index.js.map +1 -1
  126. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  127. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  128. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  129. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  130. package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
  131. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  132. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  133. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  134. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  135. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  136. package/build-module/components/sidebar-navigation-screen-pages/index.js +3 -1
  137. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  138. package/build-module/components/style-book/index.js +2 -0
  139. package/build-module/components/style-book/index.js.map +1 -1
  140. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
  141. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  142. package/build-module/hooks/index.js +0 -1
  143. package/build-module/hooks/index.js.map +1 -1
  144. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
  145. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  146. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +82 -0
  147. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  148. package/build-module/store/actions.js +19 -50
  149. package/build-module/store/actions.js.map +1 -1
  150. package/build-module/store/private-actions.js +3 -1
  151. package/build-module/store/private-actions.js.map +1 -1
  152. package/build-module/utils/clone-deep.js +9 -0
  153. package/build-module/utils/clone-deep.js.map +1 -0
  154. package/build-style/style-rtl.css +46 -209
  155. package/build-style/style.css +46 -209
  156. package/package.json +43 -42
  157. package/src/components/add-new-pattern/index.js +27 -11
  158. package/src/components/block-editor/use-site-editor-settings.js +1 -0
  159. package/src/components/code-editor/index.js +3 -2
  160. package/src/components/editor/index.js +11 -7
  161. package/src/components/editor-canvas-container/index.js +2 -5
  162. package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
  163. package/src/components/global-styles/block-preview-panel.js +2 -2
  164. package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  165. package/src/components/global-styles/font-library-modal/font-collection.js +118 -13
  166. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  167. package/src/components/global-styles/font-library-modal/installed-fonts.js +25 -23
  168. package/src/components/global-styles/font-library-modal/style.scss +2 -5
  169. package/src/components/global-styles/screen-revisions/style.scss +2 -2
  170. package/src/components/global-styles/style.scss +1 -1
  171. package/src/components/header-edit-mode/document-tools/index.js +1 -2
  172. package/src/components/header-edit-mode/index.js +1 -1
  173. package/src/components/header-edit-mode/more-menu/index.js +8 -3
  174. package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
  175. package/src/components/keyboard-shortcuts/register.js +0 -19
  176. package/src/components/layout/index.js +47 -32
  177. package/src/components/layout/router.js +31 -2
  178. package/src/components/layout/style.scss +7 -0
  179. package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
  180. package/src/components/page-patterns/header.js +1 -0
  181. package/src/components/page-patterns/index.js +0 -1
  182. package/src/components/page-patterns/style.scss +8 -180
  183. package/src/components/page-patterns/use-patterns.js +13 -5
  184. package/src/components/page-templates-template-parts/index.js +1 -0
  185. package/src/components/page-templates-template-parts/style.scss +6 -0
  186. package/src/components/save-button/index.js +2 -1
  187. package/src/components/save-hub/style.scss +1 -1
  188. package/src/components/sidebar/index.js +8 -3
  189. package/src/components/sidebar-button/style.scss +1 -1
  190. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
  191. package/src/components/sidebar-edit-mode/style.scss +4 -0
  192. package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
  193. package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
  194. package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
  195. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
  196. package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  197. package/src/components/sidebar-navigation-screen-pages/index.js +10 -6
  198. package/src/components/style-book/index.js +5 -1
  199. package/src/hooks/commands/use-edit-mode-commands.js +3 -184
  200. package/src/hooks/index.js +0 -1
  201. package/src/hooks/push-changes-to-global-styles/index.js +1 -4
  202. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +964 -0
  203. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +92 -0
  204. package/src/store/actions.js +21 -85
  205. package/src/store/private-actions.js +4 -0
  206. package/src/store/test/actions.js +0 -75
  207. package/src/style.scss +1 -6
  208. package/src/utils/clone-deep.js +8 -0
  209. package/build/components/global-styles/font-library-modal/fonts-grid.js +0 -57
  210. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  211. package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
  212. package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  213. package/build/components/page-patterns/duplicate-menu-item.js +0 -93
  214. package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
  215. package/build/components/page-patterns/grid-item.js +0 -223
  216. package/build/components/page-patterns/grid-item.js.map +0 -1
  217. package/build/components/page-patterns/grid.js +0 -31
  218. package/build/components/page-patterns/grid.js.map +0 -1
  219. package/build/components/page-patterns/no-patterns.js +0 -18
  220. package/build/components/page-patterns/no-patterns.js.map +0 -1
  221. package/build/components/page-patterns/patterns-list.js +0 -168
  222. package/build/components/page-patterns/patterns-list.js.map +0 -1
  223. package/build/components/page-patterns/rename-menu-item.js +0 -105
  224. package/build/components/page-patterns/rename-menu-item.js.map +0 -1
  225. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
  226. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  227. package/build/hooks/navigation-menu-edit.js +0 -82
  228. package/build/hooks/navigation-menu-edit.js.map +0 -1
  229. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +0 -50
  230. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  231. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
  232. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  233. package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
  234. package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
  235. package/build-module/components/page-patterns/grid-item.js +0 -215
  236. package/build-module/components/page-patterns/grid-item.js.map +0 -1
  237. package/build-module/components/page-patterns/grid.js +0 -23
  238. package/build-module/components/page-patterns/grid.js.map +0 -1
  239. package/build-module/components/page-patterns/no-patterns.js +0 -11
  240. package/build-module/components/page-patterns/no-patterns.js.map +0 -1
  241. package/build-module/components/page-patterns/patterns-list.js +0 -160
  242. package/build-module/components/page-patterns/patterns-list.js.map +0 -1
  243. package/build-module/components/page-patterns/rename-menu-item.js +0 -98
  244. package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
  245. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
  246. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  247. package/build-module/hooks/navigation-menu-edit.js +0 -75
  248. package/build-module/hooks/navigation-menu-edit.js.map +0 -1
  249. package/src/components/global-styles/font-library-modal/fonts-grid.js +0 -59
  250. package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
  251. package/src/components/page-patterns/duplicate-menu-item.js +0 -105
  252. package/src/components/page-patterns/grid-item.js +0 -331
  253. package/src/components/page-patterns/grid.js +0 -22
  254. package/src/components/page-patterns/no-patterns.js +0 -12
  255. package/src/components/page-patterns/patterns-list.js +0 -229
  256. package/src/components/page-patterns/rename-menu-item.js +0 -132
  257. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
  258. package/src/hooks/navigation-menu-edit.js +0 -92
@@ -32,7 +32,6 @@ var _coreData = require("@wordpress/core-data");
32
32
  var _interface = require("@wordpress/interface");
33
33
  var _blockEditor = require("@wordpress/block-editor");
34
34
  var _editor = require("@wordpress/editor");
35
- var _a11y = require("@wordpress/a11y");
36
35
  var _preferences = require("@wordpress/preferences");
37
36
  var _constants = require("./constants");
38
37
  var _isTemplateRevertable = _interopRequireDefault(require("../utils/is-template-revertable"));
@@ -443,13 +442,8 @@ const revertTemplate = (template, {
443
442
  */
444
443
  exports.revertTemplate = revertTemplate;
445
444
  const openGeneralSidebar = name => ({
446
- dispatch,
447
445
  registry
448
446
  }) => {
449
- const isDistractionFree = registry.select(_preferences.store).get('core', 'distractionFree');
450
- if (isDistractionFree) {
451
- dispatch.toggleDistractionFree();
452
- }
453
447
  registry.dispatch(_interface.store).enableComplementaryArea(_constants.STORE_NAME, name);
454
448
  };
455
449
 
@@ -462,26 +456,23 @@ const closeGeneralSidebar = () => ({
462
456
  }) => {
463
457
  registry.dispatch(_interface.store).disableComplementaryArea(_constants.STORE_NAME);
464
458
  };
459
+
460
+ /**
461
+ * Triggers an action used to switch editor mode.
462
+ *
463
+ * @deprecated
464
+ *
465
+ * @param {string} mode The editor mode.
466
+ */
465
467
  exports.closeGeneralSidebar = closeGeneralSidebar;
466
468
  const switchEditorMode = mode => ({
467
- dispatch,
468
469
  registry
469
470
  }) => {
470
- registry.dispatch('core/preferences').set('core', 'editorMode', mode);
471
-
472
- // Unselect blocks when we switch to a non visual mode.
473
- if (mode !== 'visual') {
474
- registry.dispatch(_blockEditor.store).clearSelectedBlock();
475
- }
476
- if (mode === 'visual') {
477
- (0, _a11y.speak)((0, _i18n.__)('Visual editor selected'), 'assertive');
478
- } else if (mode === 'text') {
479
- const isDistractionFree = registry.select(_preferences.store).get('core', 'distractionFree');
480
- if (isDistractionFree) {
481
- dispatch.toggleDistractionFree();
482
- }
483
- (0, _a11y.speak)((0, _i18n.__)('Code editor selected'), 'assertive');
484
- }
471
+ (0, _deprecated.default)("dispatch( 'core/edit-site' ).switchEditorMode", {
472
+ since: '6.6',
473
+ alternative: "dispatch( 'core/editor').switchEditorMode"
474
+ });
475
+ registry.dispatch(_editor.store).switchEditorMode(mode);
485
476
  };
486
477
 
487
478
  /**
@@ -512,40 +503,18 @@ const setHasPageContentFocus = hasPageContentFocus => ({
512
503
  * Action that toggles Distraction free mode.
513
504
  * Distraction free mode expects there are no sidebars, as due to the
514
505
  * z-index values set, you can't close sidebars.
506
+ *
507
+ * @deprecated
515
508
  */
516
509
  exports.setHasPageContentFocus = setHasPageContentFocus;
517
510
  const toggleDistractionFree = () => ({
518
- dispatch,
519
511
  registry
520
512
  }) => {
521
- const isDistractionFree = registry.select(_preferences.store).get('core', 'distractionFree');
522
- if (isDistractionFree) {
523
- registry.dispatch(_preferences.store).set('core', 'fixedToolbar', false);
524
- }
525
- if (!isDistractionFree) {
526
- registry.batch(() => {
527
- registry.dispatch(_preferences.store).set('core', 'fixedToolbar', true);
528
- registry.dispatch(_editor.store).setIsInserterOpened(false);
529
- registry.dispatch(_editor.store).setIsListViewOpened(false);
530
- dispatch.closeGeneralSidebar();
531
- });
532
- }
533
- registry.batch(() => {
534
- registry.dispatch(_preferences.store).set('core', 'distractionFree', !isDistractionFree);
535
- registry.dispatch(_notices.store).createInfoNotice(isDistractionFree ? (0, _i18n.__)('Distraction free off.') : (0, _i18n.__)('Distraction free on.'), {
536
- id: 'core/edit-site/distraction-free-mode/notice',
537
- type: 'snackbar',
538
- actions: [{
539
- label: (0, _i18n.__)('Undo'),
540
- onClick: () => {
541
- registry.batch(() => {
542
- registry.dispatch(_preferences.store).set('core', 'fixedToolbar', isDistractionFree ? true : false);
543
- registry.dispatch(_preferences.store).toggle('core', 'distractionFree');
544
- });
545
- }
546
- }]
547
- });
513
+ (0, _deprecated.default)("dispatch( 'core/edit-site' ).toggleDistractionFree", {
514
+ since: '6.6',
515
+ alternative: "dispatch( 'core/editor').toggleDistractionFree"
548
516
  });
517
+ registry.dispatch(_editor.store).toggleDistractionFree();
549
518
  };
550
519
  exports.toggleDistractionFree = toggleDistractionFree;
551
520
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_apiFetch","_interopRequireDefault","require","_blocks","_deprecated","_url","_i18n","_notices","_coreData","_interface","_blockEditor","_editor","_a11y","_preferences","_constants","_isTemplateRevertable","_constants2","_privateActions","toggleFeature","featureName","registry","deprecated","since","alternative","dispatch","preferencesStore","toggle","__experimentalSetPreviewDeviceType","deviceType","version","hint","editorStore","setDeviceType","exports","setTemplate","type","addTemplate","template","newTemplate","coreStore","saveEntityRecord","TEMPLATE_POST_TYPE","content","editEntityRecord","id","blocks","parse","undoIgnore","postType","removeTemplate","removeTemplates","setTemplatePart","templatePartId","TEMPLATE_PART_POST_TYPE","setNavigationMenu","navigationMenuId","NAVIGATION_POST_TYPE","setEditedEntity","postId","context","setHomeTemplateId","setEditedPostContext","setPage","setNavigationPanelActiveMenu","openNavigationPanelToMenu","setIsNavigationPanelOpened","setIsInserterOpened","value","setIsListViewOpened","isOpen","updateSettings","settings","setIsSaveViewOpened","revertTemplate","allowUndo","noticeId","noticesStore","removeNotice","isTemplateRevertable","createErrorNotice","__","templateEntityConfig","select","getEntityConfig","fileTemplatePath","addQueryArgs","baseURL","source","fileTemplate","apiFetch","path","serializeBlocks","blocksForSerialization","__unstableSerializeAndClean","edited","getEditedEntityRecord","raw","undoRevert","createSuccessNotice","actions","label","onClick","error","errorMessage","message","code","openGeneralSidebar","name","isDistractionFree","get","toggleDistractionFree","interfaceStore","enableComplementaryArea","editSiteStoreName","closeGeneralSidebar","disableComplementaryArea","switchEditorMode","mode","set","blockEditorStore","clearSelectedBlock","speak","setHasPageContentFocus","hasPageContentFocus","batch","createInfoNotice"],"sources":["@wordpress/edit-site/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport { addQueryArgs } from '@wordpress/url';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { speak } from '@wordpress/a11y';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME as editSiteStoreName } from './constants';\nimport isTemplateRevertable from '../utils/is-template-revertable';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n} from '../utils/constants';\nimport { removeTemplates } from './private-actions';\n\n/**\n * Dispatches an action that toggles a feature flag.\n *\n * @param {string} featureName Feature name.\n */\nexport function toggleFeature( featureName ) {\n\treturn function ( { registry } ) {\n\t\tdeprecated(\n\t\t\t\"dispatch( 'core/edit-site' ).toggleFeature( featureName )\",\n\t\t\t{\n\t\t\t\tsince: '6.0',\n\t\t\t\talternative:\n\t\t\t\t\t\"dispatch( 'core/preferences').toggle( 'core/edit-site', featureName )\",\n\t\t\t}\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-site', featureName );\n\t};\n}\n\n/**\n * Action that changes the width of the editing canvas.\n *\n * @deprecated\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport const __experimentalSetPreviewDeviceType =\n\t( deviceType ) =>\n\t( { registry } ) => {\n\t\tdeprecated(\n\t\t\t\"dispatch( 'core/edit-site' ).__experimentalSetPreviewDeviceType\",\n\t\t\t{\n\t\t\t\tsince: '6.5',\n\t\t\t\tversion: '6.7',\n\t\t\t\thint: 'registry.dispatch( editorStore ).setDeviceType',\n\t\t\t}\n\t\t);\n\t\tregistry.dispatch( editorStore ).setDeviceType( deviceType );\n\t};\n\n/**\n * Action that sets a template, optionally fetching it from REST API.\n *\n * @return {Object} Action object.\n */\nexport function setTemplate() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setTemplate\", {\n\t\tsince: '6.5',\n\t\tversion: '6.8',\n\t\thint: 'The setTemplate is not needed anymore, the correct entity is resolved from the URL automatically.',\n\t} );\n\n\treturn {\n\t\ttype: 'NOTHING',\n\t};\n}\n\n/**\n * Action that adds a new template and sets it as the current template.\n *\n * @param {Object} template The template.\n *\n * @deprecated\n *\n * @return {Object} Action object used to set the current template.\n */\nexport const addTemplate =\n\t( template ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).addTemplate\", {\n\t\t\tsince: '6.5',\n\t\t\tversion: '6.8',\n\t\t\thint: 'use saveEntityRecord directly',\n\t\t} );\n\n\t\tconst newTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', TEMPLATE_POST_TYPE, template );\n\n\t\tif ( template.content ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tnewTemplate.id,\n\t\t\t\t\t{ blocks: parse( template.content ) },\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITED_POST',\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tid: newTemplate.id,\n\t\t} );\n\t};\n\n/**\n * Action that removes a template.\n *\n * @param {Object} template The template object.\n */\nexport const removeTemplate = ( template ) => {\n\treturn removeTemplates( [ template ] );\n};\n\n/**\n * Action that sets a template part.\n *\n * @param {string} templatePartId The template part ID.\n *\n * @return {Object} Action object.\n */\nexport function setTemplatePart( templatePartId ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tid: templatePartId,\n\t};\n}\n\n/**\n * Action that sets a navigation menu.\n *\n * @param {string} navigationMenuId The Navigation Menu Post ID.\n *\n * @return {Object} Action object.\n */\nexport function setNavigationMenu( navigationMenuId ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType: NAVIGATION_POST_TYPE,\n\t\tid: navigationMenuId,\n\t};\n}\n\n/**\n * Action that sets an edited entity.\n *\n * @param {string} postType The entity's post type.\n * @param {string} postId The entity's ID.\n * @param {Object} context The entity's context.\n *\n * @return {Object} Action object.\n */\nexport function setEditedEntity( postType, postId, context ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType,\n\t\tid: postId,\n\t\tcontext,\n\t};\n}\n\n/**\n * @deprecated\n */\nexport function setHomeTemplateId() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setHomeTemplateId\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn {\n\t\ttype: 'NOTHING',\n\t};\n}\n\n/**\n * Set's the current block editor context.\n *\n * @param {Object} context The context object.\n *\n * @return {Object} Action object.\n */\nexport function setEditedPostContext( context ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST_CONTEXT',\n\t\tcontext,\n\t};\n}\n\n/**\n * Resolves the template for a page and displays both. If no path is given, attempts\n * to use the postId to generate a path like `?p=${ postId }`.\n *\n * @deprecated\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport function setPage() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setPage\", {\n\t\tsince: '6.5',\n\t\tversion: '6.8',\n\t\thint: 'The setPage is not needed anymore, the correct entity is resolved from the URL automatically.',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Action that sets the active navigation panel menu.\n *\n * @deprecated\n *\n * @return {Object} Action object.\n */\nexport function setNavigationPanelActiveMenu() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setNavigationPanelActiveMenu\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Opens the navigation panel and sets its active menu at the same time.\n *\n * @deprecated\n */\nexport function openNavigationPanelToMenu() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).openNavigationPanelToMenu\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Sets whether the navigation panel should be open.\n *\n * @deprecated\n */\nexport function setIsNavigationPanelOpened() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setIsNavigationPanelOpened\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @deprecated\n *\n * @param {boolean|Object} value Whether the inserter should be opened (true) or closed (false).\n */\nexport const setIsInserterOpened =\n\t( value ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).setIsInserterOpened\", {\n\t\t\tsince: '6.5',\n\t\t\talternative: \"dispatch( 'core/editor').setIsInserterOpened\",\n\t\t} );\n\t\tregistry.dispatch( editorStore ).setIsInserterOpened( value );\n\t};\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @deprecated\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n */\nexport const setIsListViewOpened =\n\t( isOpen ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).setIsListViewOpened\", {\n\t\t\tsince: '6.5',\n\t\t\talternative: \"dispatch( 'core/editor').setIsListViewOpened\",\n\t\t} );\n\t\tregistry.dispatch( editorStore ).setIsListViewOpened( isOpen );\n\t};\n\n/**\n * Returns an action object used to update the settings.\n *\n * @param {Object} settings New settings.\n *\n * @return {Object} Action object.\n */\nexport function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Sets whether the save view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the save view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsSaveViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_SAVE_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport const revertTemplate =\n\t( template, { allowUndo = true } = {} ) =>\n\tasync ( { registry } ) => {\n\t\tconst noticeId = 'edit-site-template-reverted';\n\t\tregistry.dispatch( noticesStore ).removeNotice( noticeId );\n\t\tif ( ! isTemplateRevertable( template ) ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( __( 'This template is not revertable.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templateEntityConfig = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityConfig( 'postType', template.type );\n\n\t\t\tif ( ! templateEntityConfig ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t\t{ context: 'edit', source: 'theme' }\n\t\t\t);\n\n\t\t\tconst fileTemplate = await apiFetch( { path: fileTemplatePath } );\n\t\t\tif ( ! fileTemplate ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst serializeBlocks = ( {\n\t\t\t\tblocks: blocksForSerialization = [],\n\t\t\t} ) => __unstableSerializeAndClean( blocksForSerialization );\n\n\t\t\tconst edited = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t\t// the revert in the header toolbar correctly.\n\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\ttemplate.type,\n\t\t\t\ttemplate.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord( 'postType', template.type, fileTemplate.id, {\n\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\tblocks,\n\t\t\t\t\tsource: 'theme',\n\t\t\t\t} );\n\n\t\t\tif ( allowUndo ) {\n\t\t\t\tconst undoRevert = () => {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\tedited.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reverted.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: noticeId,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\t\tonClick: undoRevert,\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}\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'Template revert failed. Please reload.' );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n/**\n * Action that opens an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { dispatch, registry } ) => {\n\t\tconst isDistractionFree = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core', 'distractionFree' );\n\t\tif ( isDistractionFree ) {\n\t\t\tdispatch.toggleDistractionFree();\n\t\t}\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editSiteStoreName, name );\n\t};\n\n/**\n * Action that closes the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editSiteStoreName );\n\t};\n\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { dispatch, registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( 'core/preferences' )\n\t\t\t.set( 'core', 'editorMode', mode );\n\n\t\t// Unselect blocks when we switch to a non visual mode.\n\t\tif ( mode !== 'visual' ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\n\t\tif ( mode === 'visual' ) {\n\t\t\tspeak( __( 'Visual editor selected' ), 'assertive' );\n\t\t} else if ( mode === 'text' ) {\n\t\t\tconst isDistractionFree = registry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'distractionFree' );\n\t\t\tif ( isDistractionFree ) {\n\t\t\t\tdispatch.toggleDistractionFree();\n\t\t\t}\n\t\t\tspeak( __( 'Code editor selected' ), 'assertive' );\n\t\t}\n\t};\n\n/**\n * Sets whether or not the editor allows only page content to be edited.\n *\n * @param {boolean} hasPageContentFocus True to allow only page content to be\n * edited, false to allow template to be\n * edited.\n */\nexport const setHasPageContentFocus =\n\t( hasPageContentFocus ) =>\n\t( { dispatch, registry } ) => {\n\t\tdeprecated( `dispatch( 'core/edit-site' ).setHasPageContentFocus`, {\n\t\t\tsince: '6.5',\n\t\t} );\n\n\t\tif ( hasPageContentFocus ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\t\tdispatch( {\n\t\t\ttype: 'SET_HAS_PAGE_CONTENT_FOCUS',\n\t\t\thasPageContentFocus,\n\t\t} );\n\t};\n\n/**\n * Action that toggles Distraction free mode.\n * Distraction free mode expects there are no sidebars, as due to the\n * z-index values set, you can't close sidebars.\n */\nexport const toggleDistractionFree =\n\t() =>\n\t( { dispatch, registry } ) => {\n\t\tconst isDistractionFree = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core', 'distractionFree' );\n\t\tif ( isDistractionFree ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( 'core', 'fixedToolbar', false );\n\t\t}\n\t\tif ( ! isDistractionFree ) {\n\t\t\tregistry.batch( () => {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t\t.set( 'core', 'fixedToolbar', true );\n\t\t\t\tregistry.dispatch( editorStore ).setIsInserterOpened( false );\n\t\t\t\tregistry.dispatch( editorStore ).setIsListViewOpened( false );\n\t\t\t\tdispatch.closeGeneralSidebar();\n\t\t\t} );\n\t\t}\n\t\tregistry.batch( () => {\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( 'core', 'distractionFree', ! isDistractionFree );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createInfoNotice(\n\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t? __( 'Distraction free off.' )\n\t\t\t\t\t\t: __( 'Distraction free on.' ),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'core/edit-site/distraction-free-mode/notice',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\t\tregistry\n\t\t\t\t\t\t\t\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t\t\t\t\t\t\t\t.set(\n\t\t\t\t\t\t\t\t\t\t\t\t'core',\n\t\t\t\t\t\t\t\t\t\t\t\t'fixedToolbar',\n\t\t\t\t\t\t\t\t\t\t\t\tisDistractionFree ? true : false\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tregistry\n\t\t\t\t\t\t\t\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t\t\t\t\t\t\t\t.toggle(\n\t\t\t\t\t\t\t\t\t\t\t\t'core',\n\t\t\t\t\t\t\t\t\t\t\t\t'distractionFree'\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t} );\n\t};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_apiFetch","_interopRequireDefault","require","_blocks","_deprecated","_url","_i18n","_notices","_coreData","_interface","_blockEditor","_editor","_preferences","_constants","_isTemplateRevertable","_constants2","_privateActions","toggleFeature","featureName","registry","deprecated","since","alternative","dispatch","preferencesStore","toggle","__experimentalSetPreviewDeviceType","deviceType","version","hint","editorStore","setDeviceType","exports","setTemplate","type","addTemplate","template","newTemplate","coreStore","saveEntityRecord","TEMPLATE_POST_TYPE","content","editEntityRecord","id","blocks","parse","undoIgnore","postType","removeTemplate","removeTemplates","setTemplatePart","templatePartId","TEMPLATE_PART_POST_TYPE","setNavigationMenu","navigationMenuId","NAVIGATION_POST_TYPE","setEditedEntity","postId","context","setHomeTemplateId","setEditedPostContext","setPage","setNavigationPanelActiveMenu","openNavigationPanelToMenu","setIsNavigationPanelOpened","setIsInserterOpened","value","setIsListViewOpened","isOpen","updateSettings","settings","setIsSaveViewOpened","revertTemplate","allowUndo","noticeId","noticesStore","removeNotice","isTemplateRevertable","createErrorNotice","__","templateEntityConfig","select","getEntityConfig","fileTemplatePath","addQueryArgs","baseURL","source","fileTemplate","apiFetch","path","serializeBlocks","blocksForSerialization","__unstableSerializeAndClean","edited","getEditedEntityRecord","raw","undoRevert","createSuccessNotice","actions","label","onClick","error","errorMessage","message","code","openGeneralSidebar","name","interfaceStore","enableComplementaryArea","editSiteStoreName","closeGeneralSidebar","disableComplementaryArea","switchEditorMode","mode","setHasPageContentFocus","hasPageContentFocus","blockEditorStore","clearSelectedBlock","toggleDistractionFree"],"sources":["@wordpress/edit-site/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport { addQueryArgs } from '@wordpress/url';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME as editSiteStoreName } from './constants';\nimport isTemplateRevertable from '../utils/is-template-revertable';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n} from '../utils/constants';\nimport { removeTemplates } from './private-actions';\n\n/**\n * Dispatches an action that toggles a feature flag.\n *\n * @param {string} featureName Feature name.\n */\nexport function toggleFeature( featureName ) {\n\treturn function ( { registry } ) {\n\t\tdeprecated(\n\t\t\t\"dispatch( 'core/edit-site' ).toggleFeature( featureName )\",\n\t\t\t{\n\t\t\t\tsince: '6.0',\n\t\t\t\talternative:\n\t\t\t\t\t\"dispatch( 'core/preferences').toggle( 'core/edit-site', featureName )\",\n\t\t\t}\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-site', featureName );\n\t};\n}\n\n/**\n * Action that changes the width of the editing canvas.\n *\n * @deprecated\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport const __experimentalSetPreviewDeviceType =\n\t( deviceType ) =>\n\t( { registry } ) => {\n\t\tdeprecated(\n\t\t\t\"dispatch( 'core/edit-site' ).__experimentalSetPreviewDeviceType\",\n\t\t\t{\n\t\t\t\tsince: '6.5',\n\t\t\t\tversion: '6.7',\n\t\t\t\thint: 'registry.dispatch( editorStore ).setDeviceType',\n\t\t\t}\n\t\t);\n\t\tregistry.dispatch( editorStore ).setDeviceType( deviceType );\n\t};\n\n/**\n * Action that sets a template, optionally fetching it from REST API.\n *\n * @return {Object} Action object.\n */\nexport function setTemplate() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setTemplate\", {\n\t\tsince: '6.5',\n\t\tversion: '6.8',\n\t\thint: 'The setTemplate is not needed anymore, the correct entity is resolved from the URL automatically.',\n\t} );\n\n\treturn {\n\t\ttype: 'NOTHING',\n\t};\n}\n\n/**\n * Action that adds a new template and sets it as the current template.\n *\n * @param {Object} template The template.\n *\n * @deprecated\n *\n * @return {Object} Action object used to set the current template.\n */\nexport const addTemplate =\n\t( template ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).addTemplate\", {\n\t\t\tsince: '6.5',\n\t\t\tversion: '6.8',\n\t\t\thint: 'use saveEntityRecord directly',\n\t\t} );\n\n\t\tconst newTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', TEMPLATE_POST_TYPE, template );\n\n\t\tif ( template.content ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tnewTemplate.id,\n\t\t\t\t\t{ blocks: parse( template.content ) },\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITED_POST',\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tid: newTemplate.id,\n\t\t} );\n\t};\n\n/**\n * Action that removes a template.\n *\n * @param {Object} template The template object.\n */\nexport const removeTemplate = ( template ) => {\n\treturn removeTemplates( [ template ] );\n};\n\n/**\n * Action that sets a template part.\n *\n * @param {string} templatePartId The template part ID.\n *\n * @return {Object} Action object.\n */\nexport function setTemplatePart( templatePartId ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tid: templatePartId,\n\t};\n}\n\n/**\n * Action that sets a navigation menu.\n *\n * @param {string} navigationMenuId The Navigation Menu Post ID.\n *\n * @return {Object} Action object.\n */\nexport function setNavigationMenu( navigationMenuId ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType: NAVIGATION_POST_TYPE,\n\t\tid: navigationMenuId,\n\t};\n}\n\n/**\n * Action that sets an edited entity.\n *\n * @param {string} postType The entity's post type.\n * @param {string} postId The entity's ID.\n * @param {Object} context The entity's context.\n *\n * @return {Object} Action object.\n */\nexport function setEditedEntity( postType, postId, context ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST',\n\t\tpostType,\n\t\tid: postId,\n\t\tcontext,\n\t};\n}\n\n/**\n * @deprecated\n */\nexport function setHomeTemplateId() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setHomeTemplateId\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn {\n\t\ttype: 'NOTHING',\n\t};\n}\n\n/**\n * Set's the current block editor context.\n *\n * @param {Object} context The context object.\n *\n * @return {Object} Action object.\n */\nexport function setEditedPostContext( context ) {\n\treturn {\n\t\ttype: 'SET_EDITED_POST_CONTEXT',\n\t\tcontext,\n\t};\n}\n\n/**\n * Resolves the template for a page and displays both. If no path is given, attempts\n * to use the postId to generate a path like `?p=${ postId }`.\n *\n * @deprecated\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport function setPage() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setPage\", {\n\t\tsince: '6.5',\n\t\tversion: '6.8',\n\t\thint: 'The setPage is not needed anymore, the correct entity is resolved from the URL automatically.',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Action that sets the active navigation panel menu.\n *\n * @deprecated\n *\n * @return {Object} Action object.\n */\nexport function setNavigationPanelActiveMenu() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setNavigationPanelActiveMenu\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Opens the navigation panel and sets its active menu at the same time.\n *\n * @deprecated\n */\nexport function openNavigationPanelToMenu() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).openNavigationPanelToMenu\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Sets whether the navigation panel should be open.\n *\n * @deprecated\n */\nexport function setIsNavigationPanelOpened() {\n\tdeprecated( \"dispatch( 'core/edit-site' ).setIsNavigationPanelOpened\", {\n\t\tsince: '6.2',\n\t\tversion: '6.4',\n\t} );\n\n\treturn { type: 'NOTHING' };\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @deprecated\n *\n * @param {boolean|Object} value Whether the inserter should be opened (true) or closed (false).\n */\nexport const setIsInserterOpened =\n\t( value ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).setIsInserterOpened\", {\n\t\t\tsince: '6.5',\n\t\t\talternative: \"dispatch( 'core/editor').setIsInserterOpened\",\n\t\t} );\n\t\tregistry.dispatch( editorStore ).setIsInserterOpened( value );\n\t};\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @deprecated\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n */\nexport const setIsListViewOpened =\n\t( isOpen ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).setIsListViewOpened\", {\n\t\t\tsince: '6.5',\n\t\t\talternative: \"dispatch( 'core/editor').setIsListViewOpened\",\n\t\t} );\n\t\tregistry.dispatch( editorStore ).setIsListViewOpened( isOpen );\n\t};\n\n/**\n * Returns an action object used to update the settings.\n *\n * @param {Object} settings New settings.\n *\n * @return {Object} Action object.\n */\nexport function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Sets whether the save view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the save view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsSaveViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_SAVE_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport const revertTemplate =\n\t( template, { allowUndo = true } = {} ) =>\n\tasync ( { registry } ) => {\n\t\tconst noticeId = 'edit-site-template-reverted';\n\t\tregistry.dispatch( noticesStore ).removeNotice( noticeId );\n\t\tif ( ! isTemplateRevertable( template ) ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( __( 'This template is not revertable.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templateEntityConfig = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityConfig( 'postType', template.type );\n\n\t\t\tif ( ! templateEntityConfig ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t\t{ context: 'edit', source: 'theme' }\n\t\t\t);\n\n\t\t\tconst fileTemplate = await apiFetch( { path: fileTemplatePath } );\n\t\t\tif ( ! fileTemplate ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst serializeBlocks = ( {\n\t\t\t\tblocks: blocksForSerialization = [],\n\t\t\t} ) => __unstableSerializeAndClean( blocksForSerialization );\n\n\t\t\tconst edited = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t\t// the revert in the header toolbar correctly.\n\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\ttemplate.type,\n\t\t\t\ttemplate.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord( 'postType', template.type, fileTemplate.id, {\n\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\tblocks,\n\t\t\t\t\tsource: 'theme',\n\t\t\t\t} );\n\n\t\t\tif ( allowUndo ) {\n\t\t\t\tconst undoRevert = () => {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\tedited.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reverted.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: noticeId,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\t\tonClick: undoRevert,\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}\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'Template revert failed. Please reload.' );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n/**\n * Action that opens an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editSiteStoreName, name );\n\t};\n\n/**\n * Action that closes the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editSiteStoreName );\n\t};\n\n/**\n * Triggers an action used to switch editor mode.\n *\n * @deprecated\n *\n * @param {string} mode The editor mode.\n */\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).switchEditorMode\", {\n\t\t\tsince: '6.6',\n\t\t\talternative: \"dispatch( 'core/editor').switchEditorMode\",\n\t\t} );\n\t\tregistry.dispatch( editorStore ).switchEditorMode( mode );\n\t};\n\n/**\n * Sets whether or not the editor allows only page content to be edited.\n *\n * @param {boolean} hasPageContentFocus True to allow only page content to be\n * edited, false to allow template to be\n * edited.\n */\nexport const setHasPageContentFocus =\n\t( hasPageContentFocus ) =>\n\t( { dispatch, registry } ) => {\n\t\tdeprecated( `dispatch( 'core/edit-site' ).setHasPageContentFocus`, {\n\t\t\tsince: '6.5',\n\t\t} );\n\n\t\tif ( hasPageContentFocus ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\t\tdispatch( {\n\t\t\ttype: 'SET_HAS_PAGE_CONTENT_FOCUS',\n\t\t\thasPageContentFocus,\n\t\t} );\n\t};\n\n/**\n * Action that toggles Distraction free mode.\n * Distraction free mode expects there are no sidebars, as due to the\n * z-index values set, you can't close sidebars.\n *\n * @deprecated\n */\nexport const toggleDistractionFree =\n\t() =>\n\t( { registry } ) => {\n\t\tdeprecated( \"dispatch( 'core/edit-site' ).toggleDistractionFree\", {\n\t\t\tsince: '6.6',\n\t\t\talternative: \"dispatch( 'core/editor').toggleDistractionFree\",\n\t\t} );\n\t\tregistry.dispatch( editorStore ).toggleDistractionFree();\n\t};\n"],"mappings":"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"}
@@ -29,6 +29,7 @@ const setCanvasMode = mode => ({
29
29
  registry,
30
30
  dispatch
31
31
  }) => {
32
+ const isMediumOrBigger = window.matchMedia('(min-width: 782px)').matches;
32
33
  registry.dispatch(_blockEditor.store).__unstableSetEditorMode('edit');
33
34
  dispatch({
34
35
  type: 'SET_CANVAS_MODE',
@@ -36,7 +37,8 @@ const setCanvasMode = mode => ({
36
37
  });
37
38
  // Check if the block list view should be open by default.
38
39
  // If `distractionFree` mode is enabled, the block list view should not be open.
39
- if (mode === 'edit' && registry.select(_preferences.store).get('core', 'showListViewByDefault') && !registry.select(_preferences.store).get('core', 'distractionFree')) {
40
+ // This behavior is disabled for small viewports.
41
+ if (isMediumOrBigger && mode === 'edit' && registry.select(_preferences.store).get('core', 'showListViewByDefault') && !registry.select(_preferences.store).get('core', 'distractionFree')) {
40
42
  registry.dispatch(_editor.store).setIsListViewOpened(true);
41
43
  } else {
42
44
  registry.dispatch(_editor.store).setIsListViewOpened(false);
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_preferences","_editor","_coreData","_notices","_i18n","_htmlEntities","_constants","setCanvasMode","mode","registry","dispatch","blockEditorStore","__unstableSetEditorMode","type","select","preferencesStore","get","editorStore","setIsListViewOpened","setIsInserterOpened","exports","setEditorCanvasContainerView","view","removeTemplates","items","isTemplate","TEMPLATE_POST_TYPE","promiseResult","Promise","allSettled","map","item","coreStore","deleteEntityRecord","id","force","throwOnError","every","status","successMessage","length","title","rendered","sprintf","__","decodeEntities","noticesStore","createSuccessNotice","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","createErrorNotice"],"sources":["@wordpress/edit-site/src/store/private-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../utils/constants';\n\n/**\n * Action that switches the canvas mode.\n *\n * @param {?string} mode Canvas mode.\n */\nexport const setCanvasMode =\n\t( mode ) =>\n\t( { registry, dispatch } ) => {\n\t\tregistry.dispatch( blockEditorStore ).__unstableSetEditorMode( 'edit' );\n\t\tdispatch( {\n\t\t\ttype: 'SET_CANVAS_MODE',\n\t\t\tmode,\n\t\t} );\n\t\t// Check if the block list view should be open by default.\n\t\t// If `distractionFree` mode is enabled, the block list view should not be open.\n\t\tif (\n\t\t\tmode === 'edit' &&\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'showListViewByDefault' ) &&\n\t\t\t! registry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'distractionFree' )\n\t\t) {\n\t\t\tregistry.dispatch( editorStore ).setIsListViewOpened( true );\n\t\t} else {\n\t\t\tregistry.dispatch( editorStore ).setIsListViewOpened( false );\n\t\t}\n\t\tregistry.dispatch( editorStore ).setIsInserterOpened( false );\n\t};\n\n/**\n * Action that switches the editor canvas container view.\n *\n * @param {?string} view Editor canvas container view.\n */\nexport const setEditorCanvasContainerView =\n\t( view ) =>\n\t( { dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITOR_CANVAS_CONTAINER_VIEW',\n\t\t\tview,\n\t\t} );\n\t};\n\n/**\n * Action that removes an array of templates.\n *\n * @param {Array} items An array of template or template part objects to remove.\n */\nexport const removeTemplates =\n\t( items ) =>\n\tasync ( { registry } ) => {\n\t\tconst isTemplate = items[ 0 ].type === TEMPLATE_POST_TYPE;\n\t\tconst promiseResult = await Promise.allSettled(\n\t\t\titems.map( ( item ) => {\n\t\t\t\treturn registry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\titem.type,\n\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t} )\n\t\t);\n\n\t\t// If all the promises were fulfilled with sucess.\n\t\tif ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\t\tlet successMessage;\n\n\t\t\tif ( items.length === 1 ) {\n\t\t\t\t// Depending on how the entity was retrieved its title might be\n\t\t\t\t// an object or simple string.\n\t\t\t\tconst title =\n\t\t\t\t\ttypeof items[ 0 ].title === 'string'\n\t\t\t\t\t\t? items[ 0 ].title\n\t\t\t\t\t\t: items[ 0 ].title?.rendered;\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsuccessMessage = isTemplate\n\t\t\t\t\t? __( 'Templates deleted.' )\n\t\t\t\t\t: __( 'Template parts deleted.' );\n\t\t\t}\n\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createSuccessNotice( successMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'site-editor-template-deleted-success',\n\t\t\t\t} );\n\t\t} else {\n\t\t\t// If there was at lease one failure.\n\t\t\tlet errorMessage;\n\t\t\t// If we were trying to delete a single template.\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? __( 'An error occurred while deleting the template.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while deleting the template part.'\n\t\t\t\t\t\t );\n\t\t\t\t}\n\t\t\t\t// If we were trying to delete a multiple templates\n\t\t\t} else {\n\t\t\t\tconst errorMessages = new Set();\n\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t);\n\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\terrorMessages.add( failedPromise.reason.message );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'An error occurred while deleting the templates.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while deleting the template parts.'\n\t\t\t\t\t\t );\n\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while deleting the templates: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while deleting the template parts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while deleting the templates: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while deleting the template parts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t );\n\t\t\t\t}\n\t\t\t}\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blockEditor","require","_preferences","_editor","_coreData","_notices","_i18n","_htmlEntities","_constants","setCanvasMode","mode","registry","dispatch","isMediumOrBigger","window","matchMedia","matches","blockEditorStore","__unstableSetEditorMode","type","select","preferencesStore","get","editorStore","setIsListViewOpened","setIsInserterOpened","exports","setEditorCanvasContainerView","view","removeTemplates","items","isTemplate","TEMPLATE_POST_TYPE","promiseResult","Promise","allSettled","map","item","coreStore","deleteEntityRecord","id","force","throwOnError","every","status","successMessage","length","title","rendered","sprintf","__","decodeEntities","noticesStore","createSuccessNotice","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","createErrorNotice"],"sources":["@wordpress/edit-site/src/store/private-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../utils/constants';\n\n/**\n * Action that switches the canvas mode.\n *\n * @param {?string} mode Canvas mode.\n */\nexport const setCanvasMode =\n\t( mode ) =>\n\t( { registry, dispatch } ) => {\n\t\tconst isMediumOrBigger =\n\t\t\twindow.matchMedia( '(min-width: 782px)' ).matches;\n\t\tregistry.dispatch( blockEditorStore ).__unstableSetEditorMode( 'edit' );\n\t\tdispatch( {\n\t\t\ttype: 'SET_CANVAS_MODE',\n\t\t\tmode,\n\t\t} );\n\t\t// Check if the block list view should be open by default.\n\t\t// If `distractionFree` mode is enabled, the block list view should not be open.\n\t\t// This behavior is disabled for small viewports.\n\t\tif (\n\t\t\tisMediumOrBigger &&\n\t\t\tmode === 'edit' &&\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'showListViewByDefault' ) &&\n\t\t\t! registry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'distractionFree' )\n\t\t) {\n\t\t\tregistry.dispatch( editorStore ).setIsListViewOpened( true );\n\t\t} else {\n\t\t\tregistry.dispatch( editorStore ).setIsListViewOpened( false );\n\t\t}\n\t\tregistry.dispatch( editorStore ).setIsInserterOpened( false );\n\t};\n\n/**\n * Action that switches the editor canvas container view.\n *\n * @param {?string} view Editor canvas container view.\n */\nexport const setEditorCanvasContainerView =\n\t( view ) =>\n\t( { dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITOR_CANVAS_CONTAINER_VIEW',\n\t\t\tview,\n\t\t} );\n\t};\n\n/**\n * Action that removes an array of templates.\n *\n * @param {Array} items An array of template or template part objects to remove.\n */\nexport const removeTemplates =\n\t( items ) =>\n\tasync ( { registry } ) => {\n\t\tconst isTemplate = items[ 0 ].type === TEMPLATE_POST_TYPE;\n\t\tconst promiseResult = await Promise.allSettled(\n\t\t\titems.map( ( item ) => {\n\t\t\t\treturn registry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\titem.type,\n\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t} )\n\t\t);\n\n\t\t// If all the promises were fulfilled with sucess.\n\t\tif ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\t\tlet successMessage;\n\n\t\t\tif ( items.length === 1 ) {\n\t\t\t\t// Depending on how the entity was retrieved its title might be\n\t\t\t\t// an object or simple string.\n\t\t\t\tconst title =\n\t\t\t\t\ttypeof items[ 0 ].title === 'string'\n\t\t\t\t\t\t? items[ 0 ].title\n\t\t\t\t\t\t: items[ 0 ].title?.rendered;\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsuccessMessage = isTemplate\n\t\t\t\t\t? __( 'Templates deleted.' )\n\t\t\t\t\t: __( 'Template parts deleted.' );\n\t\t\t}\n\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createSuccessNotice( successMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'site-editor-template-deleted-success',\n\t\t\t\t} );\n\t\t} else {\n\t\t\t// If there was at lease one failure.\n\t\t\tlet errorMessage;\n\t\t\t// If we were trying to delete a single template.\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? __( 'An error occurred while deleting the template.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while deleting the template part.'\n\t\t\t\t\t\t );\n\t\t\t\t}\n\t\t\t\t// If we were trying to delete a multiple templates\n\t\t\t} else {\n\t\t\t\tconst errorMessages = new Set();\n\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t);\n\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\terrorMessages.add( failedPromise.reason.message );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'An error occurred while deleting the templates.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while deleting the template parts.'\n\t\t\t\t\t\t );\n\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while deleting the templates: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while deleting the template parts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = isTemplate\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while deleting the templates: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while deleting the template parts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t );\n\t\t\t\t}\n\t\t\t}\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = cloneDeep;
7
+ /**
8
+ * Makes a copy of an object without storing any references to the original object.
9
+ * @param {Object} object
10
+ * @return {Object} The cloned object.
11
+ */
12
+ function cloneDeep(object) {
13
+ return !object ? {} : JSON.parse(JSON.stringify(object));
14
+ }
15
+ //# sourceMappingURL=clone-deep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cloneDeep","object","JSON","parse","stringify"],"sources":["@wordpress/edit-site/src/utils/clone-deep.js"],"sourcesContent":["/**\n * Makes a copy of an object without storing any references to the original object.\n * @param {Object} object\n * @return {Object} The cloned object.\n */\nexport default function cloneDeep( object ) {\n\treturn ! object ? {} : JSON.parse( JSON.stringify( object ) );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACe,SAASA,SAASA,CAAEC,MAAM,EAAG;EAC3C,OAAO,CAAEA,MAAM,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAAED,IAAI,CAACE,SAAS,CAAEH,MAAO,CAAE,CAAC;AAC9D"}
@@ -19,13 +19,13 @@ import CreateTemplatePartModal from '../create-template-part-modal';
19
19
  import SidebarButton from '../sidebar-button';
20
20
  import { unlock } from '../../lock-unlock';
21
21
  import { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY, TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
22
- import usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';
23
22
  const {
24
23
  useHistory,
25
24
  useLocation
26
25
  } = unlock(routerPrivateApis);
27
26
  const {
28
- CreatePatternModal
27
+ CreatePatternModal,
28
+ useAddPatternCategory
29
29
  } = unlock(editPatternsPrivateApis);
30
30
  export default function AddNewPattern() {
31
31
  const history = useHistory();
@@ -45,9 +45,6 @@ export default function AddNewPattern() {
45
45
  createErrorNotice
46
46
  } = useDispatch(noticesStore);
47
47
  const patternUploadInputRef = useRef();
48
- const {
49
- patternCategories
50
- } = usePatternCategories();
51
48
  function handleCreatePattern({
52
49
  pattern,
53
50
  categoryId
@@ -94,6 +91,10 @@ export default function AddNewPattern() {
94
91
  },
95
92
  title: __('Import pattern from JSON')
96
93
  });
94
+ const {
95
+ categoryMap,
96
+ findOrCreateTerm
97
+ } = useAddPatternCategory();
97
98
  return createElement(Fragment, null, createElement(DropdownMenu, {
98
99
  controls: controls,
99
100
  toggleProps: {
@@ -119,12 +120,21 @@ export default function AddNewPattern() {
119
120
  const file = event.target.files?.[0];
120
121
  if (!file) return;
121
122
  try {
122
- const currentCategoryId = params.categoryType !== TEMPLATE_PART_POST_TYPE && patternCategories.find(category => category.name === params.categoryId)?.id;
123
+ let currentCategoryId;
124
+ // When we're not handling template parts, we should
125
+ // add or create the proper pattern category.
126
+ if (params.categoryType !== TEMPLATE_PART_POST_TYPE) {
127
+ const currentCategory = categoryMap.values().find(term => term.name === params.categoryId);
128
+ if (!!currentCategory) {
129
+ currentCategoryId = currentCategory.id || (await findOrCreateTerm(currentCategory.label));
130
+ }
131
+ }
123
132
  const pattern = await createPatternFromFile(file, currentCategoryId ? [currentCategoryId] : undefined);
124
133
 
125
134
  // Navigate to the All patterns category for the newly created pattern
126
- // if we're not on that page already.
127
- if (!currentCategoryId) {
135
+ // if we're not on that page already and if we're not in the `my-patterns`
136
+ // category.
137
+ if (!currentCategoryId && params.categoryId !== 'my-patterns') {
128
138
  history.push({
129
139
  path: `/patterns`,
130
140
  categoryType: PATTERN_TYPES.theme,
@@ -1 +1 @@
1
- {"version":3,"names":["DropdownMenu","useState","useRef","__","sprintf","plus","symbol","symbolFilled","upload","useSelect","useDispatch","privateApis","routerPrivateApis","editPatternsPrivateApis","store","patternsStore","coreStore","noticesStore","CreateTemplatePartModal","SidebarButton","unlock","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","TEMPLATE_PART_POST_TYPE","usePatternCategories","useHistory","useLocation","CreatePatternModal","AddNewPattern","history","params","showPatternModal","setShowPatternModal","showTemplatePartModal","setShowTemplatePartModal","isBlockBasedTheme","select","getCurrentTheme","is_block_theme","createPatternFromFile","createSuccessNotice","createErrorNotice","patternUploadInputRef","patternCategories","handleCreatePattern","pattern","categoryId","push","postId","id","postType","user","categoryType","theme","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","onClick","title","current","click","createElement","Fragment","toggleProps","as","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","find","category","name","undefined","path","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus, symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal } = unlock( editPatternsPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst { patternCategories } = usePatternCategories();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\tcategoryId,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\n\t\t\t/>\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) return;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst currentCategoryId =\n\t\t\t\t\t\t\tparams.categoryType !== TEMPLATE_PART_POST_TYPE &&\n\t\t\t\t\t\t\tpatternCategories.find(\n\t\t\t\t\t\t\t\t( category ) =>\n\t\t\t\t\t\t\t\t\tcategory.name === params.categoryId\n\t\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already.\n\t\t\t\t\t\tif ( ! currentCategoryId ) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["DropdownMenu","useState","useRef","__","sprintf","plus","symbol","symbolFilled","upload","useSelect","useDispatch","privateApis","routerPrivateApis","editPatternsPrivateApis","store","patternsStore","coreStore","noticesStore","CreateTemplatePartModal","SidebarButton","unlock","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","TEMPLATE_PART_POST_TYPE","useHistory","useLocation","CreatePatternModal","useAddPatternCategory","AddNewPattern","history","params","showPatternModal","setShowPatternModal","showTemplatePartModal","setShowTemplatePartModal","isBlockBasedTheme","select","getCurrentTheme","is_block_theme","createPatternFromFile","createSuccessNotice","createErrorNotice","patternUploadInputRef","handleCreatePattern","pattern","categoryId","push","postId","id","postType","user","categoryType","theme","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","onClick","title","current","click","categoryMap","findOrCreateTerm","createElement","Fragment","toggleProps","as","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","currentCategory","values","find","term","name","undefined","path","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus, symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\tcategoryId,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\n\t\t\t/>\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) return;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( params.categoryType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find(\n\t\t\t\t\t\t\t\t\t( term ) => term.name === params.categoryId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( !! currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\t\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tparams.categoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -147,7 +147,8 @@ export function useSpecificEditorSettings() {
147
147
  onNavigateToPreviousEntityRecord,
148
148
  // I wonder if they should be set in the post editor too
149
149
  __experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
150
- __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel
150
+ __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,
151
+ __unstableIsPreviewMode: canvasMode === 'view'
151
152
  };
152
153
  }, [settings, canvasMode, defaultRenderingMode, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord, archiveLabels.archiveTypeLabel, archiveLabels.archiveNameLabel]);
153
154
  return defaultEditorSettings;
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","postWithTemplate","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.postId &&\n\t\t\tpreviousLocation?.params.postType &&\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { templateSlug, canvasMode, settings, postWithTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetEditedPostContext,\n\t\t\t\tgetCanvasMode,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( editSiteStore ) );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst usedPostType = getEditedPostType();\n\t\t\tconst usedPostId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tusedPostType,\n\t\t\t\tusedPostId\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\ttemplateSlug: _record.slug,\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\tpostWithTemplate: _context?.postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = postWithTemplate\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASD,WAAW,IAAIE,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AACA,SAASL,KAAK,IAAIM,aAAa,QAAQ,aAAa;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,SAASC,kBAAkB,QAAQ,uBAAuB;AAE1D,MAAM;EAAEC;AAAuB,CAAC,GAAGH,MAAM,CAAEJ,iBAAkB,CAAC;AAC9D,MAAM;EAAEQ,WAAW;EAAEC;AAAW,CAAC,GAAGL,MAAM,CAAEH,iBAAkB,CAAC;AAE/D,SAASS,eAAeA,CAAEC,YAAY,EAAG;EACxC,MAAMC,eAAe,GAAGD,YAAY,EAAEE,KAAK,CAC1C,8EACD,CAAC;EACD,IAAIC,QAAQ;EACZ,IAAIC,IAAI;EACR,IAAIC,QAAQ,GAAG,KAAK;EACpB,IAAIC,UAAU;EACd,IAAKL,eAAe,EAAG;IACtB;IACA,IAAKA,eAAe,CAAE,CAAC,CAAE,EAAG;MAC3BE,QAAQ,GAAGF,eAAe,CAAE,CAAC,CAAE,GAC5BA,eAAe,CAAE,CAAC,CAAE,GACpBA,eAAe,CAAE,CAAC,CAAE;IACxB;IACA;IAAA,KACK,IAAKA,eAAe,CAAE,CAAC,CAAE,EAAG;MAChCE,QAAQ,GAAGF,eAAe,CAAE,CAAC,CAAE,GAC5BA,eAAe,CAAE,CAAC,CAAE,GACpBA,eAAe,CAAE,CAAC,CAAE;MACvBG,IAAI,GAAGH,eAAe,CAAE,CAAC,CAAE;IAC5B;IACAE,QAAQ,GAAGA,QAAQ,KAAK,KAAK,GAAG,UAAU,GAAGA,QAAQ;;IAErD;IACA;EACD,CAAC,MAAM;IACN,MAAMI,aAAa,GAAGP,YAAY,EAAEE,KAAK,CAAE,0BAA2B,CAAC;IACvE,IAAKK,aAAa,EAAG;MACpBF,QAAQ,GAAG,IAAI;MACf,IAAKE,aAAa,CAAE,CAAC,CAAE,EAAG;QACzBD,UAAU,GAAGC,aAAa,CAAE,CAAC,CAAE;MAChC;IACD;EACD;EACA,OAAOvB,SAAS,CACbwB,MAAM,IAAM;IACb,MAAM;MAAEC,gBAAgB;MAAEC,WAAW;MAAEC;IAAW,CAAC,GAClDH,MAAM,CAAErB,SAAU,CAAC;IACpB,IAAIyB,gBAAgB;IACpB,IAAIC,gBAAgB;IACpB,IAAKV,QAAQ,EAAG;MACfS,gBAAgB,GACfF,WAAW,CAAEP,QAAS,CAAC,EAAEW,MAAM,EAAEC,aAAa;IAChD;IACA,IAAKX,IAAI,EAAG;MACX,MAAMY,OAAO,GAAGP,gBAAgB,CAAE,UAAU,EAAEN,QAAQ,EAAE;QACvDc,IAAI,EAAEb,IAAI;QACVc,QAAQ,EAAE;MACX,CAAE,CAAC;MACH,IAAKF,OAAO,IAAIA,OAAO,CAAE,CAAC,CAAE,EAAG;QAC9BH,gBAAgB,GAAGG,OAAO,CAAE,CAAC,CAAE,CAACG,IAAI;MACrC;IACD;IACA,IAAKd,QAAQ,EAAG;MACfO,gBAAgB,GAAG,QAAQ;MAC3B,IAAKN,UAAU,EAAG;QACjB,MAAMc,aAAa,GAAGT,UAAU,CAAE;UAAEM,IAAI,EAAEX;QAAW,CAAE,CAAC;QACxD,IAAKc,aAAa,IAAIA,aAAa,CAAE,CAAC,CAAE,EAAG;UAC1CP,gBAAgB,GAAGO,aAAa,CAAE,CAAC,CAAE,CAACD,IAAI;QAC3C;MACD;IACD;IACA,OAAO;MACNP,gBAAgB;MAChBC;IACD,CAAC;EACF,CAAC,EACD,CAAEP,UAAU,EAAED,QAAQ,EAAEF,QAAQ,EAAEC,IAAI,CACvC,CAAC;AACF;AAEA,SAASiB,iCAAiCA,CAAA,EAAG;EAC5C,MAAMC,QAAQ,GAAGzB,WAAW,CAAC,CAAC;EAC9B,MAAM0B,gBAAgB,GAAGhC,WAAW,CAAE+B,QAAS,CAAC;EAChD,MAAME,OAAO,GAAG1B,UAAU,CAAC,CAAC;EAC5B,MAAM2B,MAAM,GAAGxC,OAAO,CAAE,MAAM;IAC7B,MAAMyC,WAAW,GAChBJ,QAAQ,CAACK,MAAM,CAACC,SAAS,IACvBN,QAAQ,CAACK,MAAM,CAACE,MAAM,IACvBlC,kBAAkB,CAACmC,QAAQ,CAAER,QAAQ,CAACK,MAAM,CAACI,QAAS,CAAG;IAC3D,MAAMC,uBAAuB,GAC5BT,gBAAgB,EAAEI,MAAM,CAACE,MAAM,IAC/BN,gBAAgB,EAAEI,MAAM,CAACI,QAAQ,IACjCR,gBAAgB,EAAEI,MAAM,CAACM,MAAM,KAAK,MAAM;IAC3C,MAAMC,cAAc,GAAGR,WAAW,IAAIM,uBAAuB;IAC7D,OAAOE,cAAc,GAAG,MAAMV,OAAO,CAACW,IAAI,CAAC,CAAC,GAAGC,SAAS;IACxD;IACA;IACA;IACA;EACD,CAAC,EAAE,CAAEd,QAAQ,EAAEE,OAAO,CAAG,CAAC;EAC1B,OAAOC,MAAM;AACd;AAEA,OAAO,SAASY,yBAAyBA,CAAA,EAAG;EAC3C,MAAMC,wBAAwB,GAAG5C,yBAAyB,CAAC,CAAC;EAC5D,MAAM;IAAEM,YAAY;IAAEuC,UAAU;IAAEC,QAAQ;IAAEC;EAAiB,CAAC,GAAGzD,SAAS,CACvEwB,MAAM,IAAM;IACb,MAAM;MACLkC,iBAAiB;MACjBC,eAAe;MACfC,oBAAoB;MACpBC,aAAa;MACbC;IACD,CAAC,GAAGrD,MAAM,CAAEe,MAAM,CAAEhB,aAAc,CAAE,CAAC;IACrC,MAAM;MAAEuD;IAAsB,CAAC,GAAGvC,MAAM,CAAErB,SAAU,CAAC;IACrD,MAAM6D,YAAY,GAAGN,iBAAiB,CAAC,CAAC;IACxC,MAAMO,UAAU,GAAGN,eAAe,CAAC,CAAC;IACpC,MAAMO,OAAO,GAAGH,qBAAqB,CACpC,UAAU,EACVC,YAAY,EACZC,UACD,CAAC;IACD,MAAME,QAAQ,GAAGP,oBAAoB,CAAC,CAAC;IACvC,OAAO;MACN5C,YAAY,EAAEkD,OAAO,CAACjC,IAAI;MAC1BsB,UAAU,EAAEM,aAAa,CAAC,CAAC;MAC3BL,QAAQ,EAAEM,WAAW,CAAC,CAAC;MACvBL,gBAAgB,EAAEU,QAAQ,EAAEtB;IAC7B,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAMuB,aAAa,GAAGrD,eAAe,CAAEC,YAAa,CAAC;EACrD,MAAMqD,oBAAoB,GAAGZ,gBAAgB,GAC1C,iBAAiB,GACjB,WAAW;EACd,MAAMa,gCAAgC,GACrCjC,iCAAiC,CAAC,CAAC;EACpC,MAAMkC,qBAAqB,GAAGtE,OAAO,CAAE,MAAM;IAC5C,OAAO;MACN,GAAGuD,QAAQ;MAEXgB,kBAAkB,EAAE,IAAI;MACxBC,oBAAoB,EAAE,IAAI;MAC1B7B,SAAS,EAAEW,UAAU,KAAK,MAAM;MAChCc,oBAAoB;MACpBf,wBAAwB;MACxBgB,gCAAgC;MAChC;MACAI,mCAAmC,EAAEN,aAAa,CAACxC,gBAAgB;MACnE+C,mCAAmC,EAAEP,aAAa,CAACvC;IACpD,CAAC;EACF,CAAC,EAAE,CACF2B,QAAQ,EACRD,UAAU,EACVc,oBAAoB,EACpBf,wBAAwB,EACxBgB,gCAAgC,EAChCF,aAAa,CAACxC,gBAAgB,EAC9BwC,aAAa,CAACvC,gBAAgB,CAC7B,CAAC;EAEH,OAAO0C,qBAAqB;AAC7B;AAEA,eAAe,SAASK,qBAAqBA,CAAA,EAAG;EAC/C,MAAML,qBAAqB,GAAGlB,yBAAyB,CAAC,CAAC;EACzD,MAAM;IAAEN,QAAQ;IAAEF;EAAO,CAAC,GAAG7C,SAAS,CAAIwB,MAAM,IAAM;IACrD,MAAM;MAAEkC,iBAAiB;MAAEC;IAAgB,CAAC,GAAGlD,MAAM,CACpDe,MAAM,CAAEhB,aAAc,CACvB,CAAC;IACD,MAAMwD,YAAY,GAAGN,iBAAiB,CAAC,CAAC;IACxC,MAAMO,UAAU,GAAGN,eAAe,CAAC,CAAC;IACpC,OAAO;MACNZ,QAAQ,EAAEiB,YAAY;MACtBnB,MAAM,EAAEoB;IACT,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,OAAOrD,sBAAsB,CAAE2D,qBAAqB,EAAExB,QAAQ,EAAEF,MAAO,CAAC;AACzE"}
1
+ {"version":3,"names":["useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","postWithTemplate","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","__unstableIsPreviewMode","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.postId &&\n\t\t\tpreviousLocation?.params.postType &&\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { templateSlug, canvasMode, settings, postWithTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetEditedPostContext,\n\t\t\t\tgetCanvasMode,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( editSiteStore ) );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst usedPostType = getEditedPostType();\n\t\t\tconst usedPostId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tusedPostType,\n\t\t\t\tusedPostId\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\ttemplateSlug: _record.slug,\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\tpostWithTemplate: _context?.postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = postWithTemplate\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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"}
@@ -15,6 +15,7 @@ import { __ } from '@wordpress/i18n';
15
15
  import { Button, VisuallyHidden } from '@wordpress/components';
16
16
  import { useMemo } from '@wordpress/element';
17
17
  import { useInstanceId } from '@wordpress/compose';
18
+ import { store as editorStore } from '@wordpress/editor';
18
19
 
19
20
  /**
20
21
  * Internal dependencies
@@ -43,7 +44,7 @@ export default function CodeEditor() {
43
44
  const _id = getEditedPostId();
44
45
  const editedRecord = getEditedEntityRecord('postType', _type, _id);
45
46
  return {
46
- shortcut: getShortcutRepresentation('core/edit-site/toggle-mode'),
47
+ shortcut: getShortcutRepresentation('core/editor/toggle-mode'),
47
48
  content: editedRecord?.content,
48
49
  blocks: editedRecord?.blocks,
49
50
  type: _type,
@@ -69,7 +70,7 @@ export default function CodeEditor() {
69
70
  }, [content, blocks]);
70
71
  const {
71
72
  switchEditorMode
72
- } = useDispatch(editSiteStore);
73
+ } = useDispatch(editorStore);
73
74
  return createElement("div", {
74
75
  className: "edit-site-code-editor"
75
76
  }, createElement("div", {