@wordpress/edit-site 5.10.0 → 5.11.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 (252) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +7 -22
  3. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  4. package/build/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +11 -21
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  6. package/build/components/add-new-template/new-template.js +98 -65
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/block-editor/index.js +1 -3
  9. package/build/components/block-editor/index.js.map +1 -1
  10. package/build/components/create-template-part-modal/index.js +6 -7
  11. package/build/components/create-template-part-modal/index.js.map +1 -1
  12. package/build/components/editor/index.js +15 -40
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/editor-canvas-container/index.js +10 -3
  15. package/build/components/editor-canvas-container/index.js.map +1 -1
  16. package/build/components/global-styles/screen-block.js +80 -3
  17. package/build/components/global-styles/screen-block.js.map +1 -1
  18. package/build/components/global-styles/screen-revisions/index.js +3 -10
  19. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  20. package/build/components/global-styles/screen-revisions/revisions-buttons.js +16 -18
  21. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  22. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -24
  23. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  24. package/build/components/global-styles/screen-root.js +4 -4
  25. package/build/components/global-styles/screen-root.js.map +1 -1
  26. package/build/components/global-styles/style-variations-container.js +6 -10
  27. package/build/components/global-styles/style-variations-container.js.map +1 -1
  28. package/build/components/global-styles/ui.js +9 -9
  29. package/build/components/global-styles/ui.js.map +1 -1
  30. package/build/components/header-edit-mode/document-actions/index.js +28 -103
  31. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  32. package/build/components/header-edit-mode/index.js +14 -1
  33. package/build/components/header-edit-mode/index.js.map +1 -1
  34. package/build/components/layout/hooks.js +54 -0
  35. package/build/components/layout/hooks.js.map +1 -0
  36. package/build/components/layout/index.js +45 -98
  37. package/build/components/layout/index.js.map +1 -1
  38. package/build/components/list/actions/index.js +5 -2
  39. package/build/components/list/actions/index.js.map +1 -1
  40. package/build/components/resizable-frame/index.js +242 -0
  41. package/build/components/resizable-frame/index.js.map +1 -0
  42. package/build/components/revisions/index.js +2 -1
  43. package/build/components/revisions/index.js.map +1 -1
  44. package/build/components/secondary-sidebar/list-view-sidebar.js +4 -3
  45. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  46. package/build/components/sidebar/index.js +4 -4
  47. package/build/components/sidebar/index.js.map +1 -1
  48. package/build/components/sidebar-edit-mode/template-revisions/index.js +1 -1
  49. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +1 -1
  50. package/build/components/sidebar-navigation-screen-global-styles/index.js +75 -11
  51. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  52. package/build/components/sidebar-navigation-screen-main/index.js +24 -33
  53. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  54. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +162 -0
  55. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  56. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +17 -0
  57. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  58. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +53 -103
  59. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  60. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +87 -0
  61. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  62. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +14 -71
  63. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  64. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +53 -0
  65. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  66. package/build/components/sidebar-navigation-screen-templates/index.js +36 -11
  67. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  68. package/build/components/site-hub/index.js +1 -3
  69. package/build/components/site-hub/index.js.map +1 -1
  70. package/build/components/style-book/index.js +93 -19
  71. package/build/components/style-book/index.js.map +1 -1
  72. package/build/components/use-edited-entity-record/index.js +8 -4
  73. package/build/components/use-edited-entity-record/index.js.map +1 -1
  74. package/build/hooks/commands/use-edit-mode-commands.js +105 -0
  75. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -0
  76. package/build/store/actions.js +5 -3
  77. package/build/store/actions.js.map +1 -1
  78. package/build-module/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +8 -20
  79. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  80. package/build-module/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +13 -22
  81. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  82. package/build-module/components/add-new-template/new-template.js +98 -67
  83. package/build-module/components/add-new-template/new-template.js.map +1 -1
  84. package/build-module/components/block-editor/index.js +1 -3
  85. package/build-module/components/block-editor/index.js.map +1 -1
  86. package/build-module/components/create-template-part-modal/index.js +7 -8
  87. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  88. package/build-module/components/editor/index.js +16 -43
  89. package/build-module/components/editor/index.js.map +1 -1
  90. package/build-module/components/editor-canvas-container/index.js +7 -3
  91. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  92. package/build-module/components/global-styles/screen-block.js +82 -4
  93. package/build-module/components/global-styles/screen-block.js.map +1 -1
  94. package/build-module/components/global-styles/screen-revisions/index.js +3 -10
  95. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  96. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +16 -19
  97. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  98. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -24
  99. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  100. package/build-module/components/global-styles/screen-root.js +4 -4
  101. package/build-module/components/global-styles/screen-root.js.map +1 -1
  102. package/build-module/components/global-styles/style-variations-container.js +7 -11
  103. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  104. package/build-module/components/global-styles/ui.js +10 -10
  105. package/build-module/components/global-styles/ui.js.map +1 -1
  106. package/build-module/components/header-edit-mode/document-actions/index.js +31 -107
  107. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  108. package/build-module/components/header-edit-mode/index.js +14 -2
  109. package/build-module/components/header-edit-mode/index.js.map +1 -1
  110. package/build-module/components/layout/hooks.js +41 -0
  111. package/build-module/components/layout/hooks.js.map +1 -0
  112. package/build-module/components/layout/index.js +46 -101
  113. package/build-module/components/layout/index.js.map +1 -1
  114. package/build-module/components/list/actions/index.js +6 -3
  115. package/build-module/components/list/actions/index.js.map +1 -1
  116. package/build-module/components/resizable-frame/index.js +228 -0
  117. package/build-module/components/resizable-frame/index.js.map +1 -0
  118. package/build-module/components/revisions/index.js +2 -1
  119. package/build-module/components/revisions/index.js.map +1 -1
  120. package/build-module/components/secondary-sidebar/list-view-sidebar.js +3 -3
  121. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  122. package/build-module/components/sidebar/index.js +3 -3
  123. package/build-module/components/sidebar/index.js.map +1 -1
  124. package/build-module/components/sidebar-edit-mode/template-revisions/index.js +1 -1
  125. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +1 -1
  126. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +70 -14
  127. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  128. package/build-module/components/sidebar-navigation-screen-main/index.js +21 -32
  129. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  130. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +141 -0
  131. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  132. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +10 -0
  133. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  134. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +52 -103
  135. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  136. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +71 -0
  137. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  138. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +12 -71
  139. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  140. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +40 -0
  141. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  142. package/build-module/components/sidebar-navigation-screen-templates/index.js +35 -11
  143. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  144. package/build-module/components/site-hub/index.js +1 -3
  145. package/build-module/components/site-hub/index.js.map +1 -1
  146. package/build-module/components/style-book/index.js +93 -20
  147. package/build-module/components/style-book/index.js.map +1 -1
  148. package/build-module/components/use-edited-entity-record/index.js +8 -4
  149. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  150. package/build-module/hooks/commands/use-edit-mode-commands.js +86 -0
  151. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -0
  152. package/build-module/store/actions.js +5 -3
  153. package/build-module/store/actions.js.map +1 -1
  154. package/build-style/style-rtl.css +233 -210
  155. package/build-style/style.css +234 -210
  156. package/package.json +37 -37
  157. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +82 -0
  158. package/src/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +13 -26
  159. package/src/components/add-new-template/new-template.js +139 -153
  160. package/src/components/add-new-template/style.scss +79 -66
  161. package/src/components/block-editor/index.js +2 -3
  162. package/src/components/create-template-part-modal/index.js +19 -25
  163. package/src/components/editor/index.js +16 -45
  164. package/src/components/editor/style.scss +21 -6
  165. package/src/components/editor-canvas-container/index.js +28 -19
  166. package/src/components/global-styles/screen-block.js +74 -3
  167. package/src/components/global-styles/screen-revisions/index.js +3 -11
  168. package/src/components/global-styles/screen-revisions/revisions-buttons.js +33 -25
  169. package/src/components/global-styles/screen-revisions/style.scss +3 -2
  170. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +16 -3
  171. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -19
  172. package/src/components/global-styles/screen-root.js +5 -3
  173. package/src/components/global-styles/style-variations-container.js +13 -18
  174. package/src/components/global-styles/style.scss +3 -0
  175. package/src/components/global-styles/ui.js +11 -9
  176. package/src/components/header-edit-mode/document-actions/index.js +26 -129
  177. package/src/components/header-edit-mode/document-actions/style.scss +28 -59
  178. package/src/components/header-edit-mode/index.js +18 -0
  179. package/src/components/header-edit-mode/style.scss +1 -0
  180. package/src/components/layout/hooks.js +46 -0
  181. package/src/components/layout/index.js +56 -125
  182. package/src/components/layout/style.scss +8 -2
  183. package/src/components/list/actions/index.js +12 -5
  184. package/src/components/list/style.scss +1 -0
  185. package/src/components/resizable-frame/index.js +253 -0
  186. package/src/components/resizable-frame/style.scss +69 -0
  187. package/src/components/revisions/index.js +1 -0
  188. package/src/components/secondary-sidebar/list-view-sidebar.js +2 -1
  189. package/src/components/sidebar/index.js +4 -4
  190. package/src/components/sidebar-edit-mode/template-revisions/index.js +1 -2
  191. package/src/components/sidebar-navigation-item/style.scss +9 -0
  192. package/src/components/sidebar-navigation-screen/style.scss +1 -2
  193. package/src/components/sidebar-navigation-screen-global-styles/index.js +106 -21
  194. package/src/components/sidebar-navigation-screen-main/index.js +35 -52
  195. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +157 -0
  196. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +9 -0
  197. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +63 -117
  198. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +83 -0
  199. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +6 -72
  200. package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +47 -0
  201. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +6 -20
  202. package/src/components/sidebar-navigation-screen-templates/index.js +53 -14
  203. package/src/components/site-hub/index.js +8 -9
  204. package/src/components/start-template-options/style.scss +20 -21
  205. package/src/components/style-book/index.js +132 -43
  206. package/src/components/style-book/style.scss +19 -0
  207. package/src/components/use-edited-entity-record/index.js +12 -3
  208. package/src/hooks/commands/use-edit-mode-commands.js +79 -0
  209. package/src/store/actions.js +4 -5
  210. package/src/store/test/utils.js +15 -5
  211. package/src/style.scss +1 -1
  212. package/build/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  213. package/build/components/add-new-template/add-custom-template-modal.js.map +0 -1
  214. package/build/components/global-styles/border-panel.js +0 -135
  215. package/build/components/global-styles/border-panel.js.map +0 -1
  216. package/build/components/navigate-to-link/index.js +0 -51
  217. package/build/components/navigate-to-link/index.js.map +0 -1
  218. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -19
  219. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  220. package/build/components/template-details/edit-template-title.js +0 -42
  221. package/build/components/template-details/edit-template-title.js.map +0 -1
  222. package/build/components/template-details/index.js +0 -103
  223. package/build/components/template-details/index.js.map +0 -1
  224. package/build/components/template-details/template-areas.js +0 -166
  225. package/build/components/template-details/template-areas.js.map +0 -1
  226. package/build/components/template-details/template-part-area-selector.js +0 -48
  227. package/build/components/template-details/template-part-area-selector.js.map +0 -1
  228. package/build-module/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  229. package/build-module/components/add-new-template/add-custom-template-modal.js.map +0 -1
  230. package/build-module/components/global-styles/border-panel.js +0 -125
  231. package/build-module/components/global-styles/border-panel.js.map +0 -1
  232. package/build-module/components/navigate-to-link/index.js +0 -39
  233. package/build-module/components/navigate-to-link/index.js.map +0 -1
  234. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -11
  235. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  236. package/build-module/components/template-details/edit-template-title.js +0 -33
  237. package/build-module/components/template-details/edit-template-title.js.map +0 -1
  238. package/build-module/components/template-details/index.js +0 -83
  239. package/build-module/components/template-details/index.js.map +0 -1
  240. package/build-module/components/template-details/template-areas.js +0 -145
  241. package/build-module/components/template-details/template-areas.js.map +0 -1
  242. package/build-module/components/template-details/template-part-area-selector.js +0 -36
  243. package/build-module/components/template-details/template-part-area-selector.js.map +0 -1
  244. package/src/components/add-new-template/add-custom-generic-template-modal.js +0 -101
  245. package/src/components/global-styles/border-panel.js +0 -114
  246. package/src/components/navigate-to-link/index.js +0 -46
  247. package/src/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -9
  248. package/src/components/template-details/edit-template-title.js +0 -41
  249. package/src/components/template-details/index.js +0 -113
  250. package/src/components/template-details/style.scss +0 -72
  251. package/src/components/template-details/template-areas.js +0 -167
  252. package/src/components/template-details/template-part-area-selector.js +0 -39
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useEditModeCommands = useEditModeCommands;
9
+
10
+ var _data = require("@wordpress/data");
11
+
12
+ var _i18n = require("@wordpress/i18n");
13
+
14
+ var _icons = require("@wordpress/icons");
15
+
16
+ var _commands = require("@wordpress/commands");
17
+
18
+ var _router = require("@wordpress/router");
19
+
20
+ var _store = require("../../store");
21
+
22
+ var _useEditedEntityRecord = _interopRequireDefault(require("../../components/use-edited-entity-record"));
23
+
24
+ var _isTemplateRemovable = _interopRequireDefault(require("../../utils/is-template-removable"));
25
+
26
+ var _isTemplateRevertable = _interopRequireDefault(require("../../utils/is-template-revertable"));
27
+
28
+ var _privateApis = require("../../private-apis");
29
+
30
+ /**
31
+ * WordPress dependencies
32
+ */
33
+
34
+ /**
35
+ * Internal dependencies
36
+ */
37
+ const {
38
+ useHistory
39
+ } = (0, _privateApis.unlock)(_router.privateApis);
40
+
41
+ function useEditModeCommandLoader() {
42
+ const {
43
+ removeTemplate,
44
+ revertTemplate
45
+ } = (0, _data.useDispatch)(_store.store);
46
+ const history = useHistory();
47
+ const {
48
+ isLoaded,
49
+ record: template
50
+ } = (0, _useEditedEntityRecord.default)();
51
+ const isRemovable = isLoaded && !!template && (0, _isTemplateRemovable.default)(template);
52
+ const isRevertable = isLoaded && !!template && (0, _isTemplateRevertable.default)(template);
53
+ const commands = [];
54
+
55
+ if (isRemovable) {
56
+ const label = template.type === 'wp_template' ? (0, _i18n.__)('Delete template') : (0, _i18n.__)('Delete template part');
57
+ commands.push({
58
+ name: 'core/remove-template',
59
+ label,
60
+ icon: _icons.trash,
61
+ context: 'site-editor-edit',
62
+ callback: _ref => {
63
+ let {
64
+ close
65
+ } = _ref;
66
+ removeTemplate(template); // Navigate to the template list
67
+
68
+ history.push({
69
+ path: '/' + template.type
70
+ });
71
+ close();
72
+ }
73
+ });
74
+ }
75
+
76
+ if (isRevertable) {
77
+ const label = template.type === 'wp_template' ? (0, _i18n.__)('Reset template') : (0, _i18n.__)('Reset template part');
78
+ commands.push({
79
+ name: 'core/reset-template',
80
+ label,
81
+ icon: _icons.backup,
82
+ callback: _ref2 => {
83
+ let {
84
+ close
85
+ } = _ref2;
86
+ revertTemplate(template);
87
+ close();
88
+ }
89
+ });
90
+ }
91
+
92
+ return {
93
+ isLoading: !isLoaded,
94
+ commands
95
+ };
96
+ }
97
+
98
+ function useEditModeCommands() {
99
+ (0, _commands.useCommandLoader)({
100
+ name: 'core/edit-site/manipulate-document',
101
+ hook: useEditModeCommandLoader,
102
+ context: 'site-editor-edit'
103
+ });
104
+ }
105
+ //# sourceMappingURL=use-edit-mode-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/hooks/commands/use-edit-mode-commands.js"],"names":["useHistory","routerPrivateApis","useEditModeCommandLoader","removeTemplate","revertTemplate","editSiteStore","history","isLoaded","record","template","isRemovable","isRevertable","commands","label","type","push","name","icon","trash","context","callback","close","path","backup","isLoading","useEditModeCommands","hook"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAOA;AACA;AACA;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAiB,yBAAQC,mBAAR,CAAvB;;AAEA,SAASC,wBAAT,GAAoC;AACnC,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAqC,uBAAaC,YAAb,CAA3C;AACA,QAAMC,OAAO,GAAGN,UAAU,EAA1B;AACA,QAAM;AAAEO,IAAAA,QAAF;AAAYC,IAAAA,MAAM,EAAEC;AAApB,MAAiC,qCAAvC;AACA,QAAMC,WAAW,GAChBH,QAAQ,IAAI,CAAC,CAAEE,QAAf,IAA2B,kCAAqBA,QAArB,CAD5B;AAEA,QAAME,YAAY,GACjBJ,QAAQ,IAAI,CAAC,CAAEE,QAAf,IAA2B,mCAAsBA,QAAtB,CAD5B;AAGA,QAAMG,QAAQ,GAAG,EAAjB;;AACA,MAAKF,WAAL,EAAmB;AAClB,UAAMG,KAAK,GACVJ,QAAQ,CAACK,IAAT,KAAkB,aAAlB,GACG,cAAI,iBAAJ,CADH,GAEG,cAAI,sBAAJ,CAHJ;AAIAF,IAAAA,QAAQ,CAACG,IAAT,CAAe;AACdC,MAAAA,IAAI,EAAE,sBADQ;AAEdH,MAAAA,KAFc;AAGdI,MAAAA,IAAI,EAAEC,YAHQ;AAIdC,MAAAA,OAAO,EAAE,kBAJK;AAKdC,MAAAA,QAAQ,EAAE,QAAiB;AAAA,YAAf;AAAEC,UAAAA;AAAF,SAAe;AAC1BlB,QAAAA,cAAc,CAAEM,QAAF,CAAd,CAD0B,CAE1B;;AACAH,QAAAA,OAAO,CAACS,IAAR,CAAc;AACbO,UAAAA,IAAI,EAAE,MAAMb,QAAQ,CAACK;AADR,SAAd;AAGAO,QAAAA,KAAK;AACL;AAZa,KAAf;AAcA;;AACD,MAAKV,YAAL,EAAoB;AACnB,UAAME,KAAK,GACVJ,QAAQ,CAACK,IAAT,KAAkB,aAAlB,GACG,cAAI,gBAAJ,CADH,GAEG,cAAI,qBAAJ,CAHJ;AAIAF,IAAAA,QAAQ,CAACG,IAAT,CAAe;AACdC,MAAAA,IAAI,EAAE,qBADQ;AAEdH,MAAAA,KAFc;AAGdI,MAAAA,IAAI,EAAEM,aAHQ;AAIdH,MAAAA,QAAQ,EAAE,SAAiB;AAAA,YAAf;AAAEC,UAAAA;AAAF,SAAe;AAC1BjB,QAAAA,cAAc,CAAEK,QAAF,CAAd;AACAY,QAAAA,KAAK;AACL;AAPa,KAAf;AASA;;AAED,SAAO;AACNG,IAAAA,SAAS,EAAE,CAAEjB,QADP;AAENK,IAAAA;AAFM,GAAP;AAIA;;AAEM,SAASa,mBAAT,GAA+B;AACrC,kCAAkB;AACjBT,IAAAA,IAAI,EAAE,oCADW;AAEjBU,IAAAA,IAAI,EAAExB,wBAFW;AAGjBiB,IAAAA,OAAO,EAAE;AAHQ,GAAlB;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { trash, backup } from '@wordpress/icons';\nimport { useCommandLoader } from '@wordpress/commands';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport useEditedEntityRecord from '../../components/use-edited-entity-record';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport { unlock } from '../../private-apis';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction useEditModeCommandLoader() {\n\tconst { removeTemplate, revertTemplate } = useDispatch( editSiteStore );\n\tconst history = useHistory();\n\tconst { isLoaded, record: template } = useEditedEntityRecord();\n\tconst isRemovable =\n\t\tisLoaded && !! template && isTemplateRemovable( template );\n\tconst isRevertable =\n\t\tisLoaded && !! template && isTemplateRevertable( template );\n\n\tconst commands = [];\n\tif ( isRemovable ) {\n\t\tconst label =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? __( 'Delete template' )\n\t\t\t\t: __( 'Delete template part' );\n\t\tcommands.push( {\n\t\t\tname: 'core/remove-template',\n\t\t\tlabel,\n\t\t\ticon: trash,\n\t\t\tcontext: 'site-editor-edit',\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tremoveTemplate( template );\n\t\t\t\t// Navigate to the template list\n\t\t\t\thistory.push( {\n\t\t\t\t\tpath: '/' + template.type,\n\t\t\t\t} );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\tif ( isRevertable ) {\n\t\tconst label =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? __( 'Reset template' )\n\t\t\t\t: __( 'Reset template part' );\n\t\tcommands.push( {\n\t\t\tname: 'core/reset-template',\n\t\t\tlabel,\n\t\t\ticon: backup,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\trevertTemplate( template );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn {\n\t\tisLoading: ! isLoaded,\n\t\tcommands,\n\t};\n}\n\nexport function useEditModeCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/manipulate-document',\n\t\thook: useEditModeCommandLoader,\n\t\tcontext: 'site-editor-edit',\n\t} );\n}\n"]}
@@ -181,7 +181,8 @@ const removeTemplate = template => async _ref4 => {
181
181
  registry.dispatch(_notices.store).createSuccessNotice((0, _i18n.sprintf)(
182
182
  /* translators: The template/part's name. */
183
183
  (0, _i18n.__)('"%s" deleted.'), template.title.rendered), {
184
- type: 'snackbar'
184
+ type: 'snackbar',
185
+ id: 'site-editor-template-deleted-success'
185
186
  });
186
187
  } catch (error) {
187
188
  const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while deleting the template.');
@@ -414,6 +415,8 @@ const revertTemplate = function (template) {
414
415
  let {
415
416
  registry
416
417
  } = _ref6;
418
+ const noticeId = 'edit-site-template-reverted';
419
+ registry.dispatch(_notices.store).removeNotice(noticeId);
417
420
 
418
421
  if (!(0, _isTemplateRevertable.default)(template)) {
419
422
  registry.dispatch(_notices.store).createErrorNotice((0, _i18n.__)('This template is not revertable.'), {
@@ -488,13 +491,12 @@ const revertTemplate = function (template) {
488
491
 
489
492
  registry.dispatch(_notices.store).createSuccessNotice((0, _i18n.__)('Template reverted.'), {
490
493
  type: 'snackbar',
494
+ id: noticeId,
491
495
  actions: [{
492
496
  label: (0, _i18n.__)('Undo'),
493
497
  onClick: undoRevert
494
498
  }]
495
499
  });
496
- } else {
497
- registry.dispatch(_notices.store).createSuccessNotice((0, _i18n.__)('Template reverted.'));
498
500
  }
499
501
  } catch (error) {
500
502
  const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('Template revert failed. Please reload.');
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/store/actions.js"],"names":["toggleFeature","featureName","registry","since","alternative","dispatch","preferencesStore","toggle","__experimentalSetPreviewDeviceType","deviceType","type","setTemplate","templateId","templateSlug","template","resolveSelect","coreStore","getEntityRecord","slug","error","postType","id","context","addTemplate","newTemplate","saveEntityRecord","content","editEntityRecord","blocks","undoIgnore","removeTemplate","deleteEntityRecord","force","lastError","select","getLastEntityDeleteError","noticesStore","createSuccessNotice","title","rendered","errorMessage","message","code","createErrorNotice","setTemplatePart","templatePartId","setHomeTemplateId","version","setEditedPostContext","setPage","page","path","postId","entity","link","__experimentalGetTemplateForLink","setNavigationPanelActiveMenu","openNavigationPanelToMenu","setIsNavigationPanelOpened","setIsInserterOpened","value","updateSettings","settings","setIsListViewOpened","isOpen","setIsSaveViewOpened","revertTemplate","allowUndo","templateEntityConfig","getEntityConfig","fileTemplatePath","baseURL","source","fileTemplate","serializeBlocks","blocksForSerialization","edited","getEditedEntityRecord","raw","undoRevert","actions","label","onClick","openGeneralSidebar","name","interfaceStore","enableComplementaryArea","editSiteStoreName","closeGeneralSidebar","disableComplementaryArea","switchEditorMode","mode","set","blockEditorStore","clearSelectedBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport { addQueryArgs, getPathAndQueryString } from '@wordpress/url';\nimport { __, sprintf } 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 { 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';\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( \"select( 'core/edit-site' ).toggleFeature( featureName )\", {\n\t\t\tsince: '6.0',\n\t\t\talternative:\n\t\t\t\t\"select( 'core/preferences').toggle( 'core/edit-site', featureName )\",\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 * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Action that sets a template, optionally fetching it from REST API.\n *\n * @param {number} templateId The template ID.\n * @param {string} templateSlug The template slug.\n * @return {Object} Action object.\n */\nexport const setTemplate =\n\t( templateId, templateSlug ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! templateSlug ) {\n\t\t\ttry {\n\t\t\t\tconst template = await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getEntityRecord( 'postType', 'wp_template', templateId );\n\t\t\t\ttemplateSlug = template?.slug;\n\t\t\t} catch ( error ) {}\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITED_POST',\n\t\t\tpostType: 'wp_template',\n\t\t\tid: templateId,\n\t\t\tcontext: { templateSlug },\n\t\t} );\n\t};\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 * @return {Object} Action object used to set the current template.\n */\nexport const addTemplate =\n\t( template ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst newTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', 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\t'wp_template',\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: 'wp_template',\n\t\t\tid: newTemplate.id,\n\t\t\tcontext: { templateSlug: newTemplate.slug },\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 =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\ttry {\n\t\t\tawait registry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.deleteEntityRecord( 'postType', template.type, template.id, {\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\n\t\t\tconst lastError = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getLastEntityDeleteError(\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\tif ( lastError ) {\n\t\t\t\tthrow lastError;\n\t\t\t}\n\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice(\n\t\t\t\tsprintf(\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\ttemplate.title.rendered\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\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: __( 'An error occurred while deleting the template.' );\n\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/**\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: 'wp_template_part',\n\t\tid: templatePartId,\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 {number} The resolved template ID for the page route.\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 * @param {Object} page The page object.\n * @param {string} page.type The page type.\n * @param {string} page.slug The page slug.\n * @param {string} page.path The page path.\n * @param {Object} page.context The page context.\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport const setPage =\n\t( page ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! page.path && page.context?.postId ) {\n\t\t\tconst entity = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpage.context.postType || 'post',\n\t\t\t\t\tpage.context.postId\n\t\t\t\t);\n\t\t\t// If the entity is undefined for some reason, path will resolve to \"/\"\n\t\t\tpage.path = getPathAndQueryString( entity?.link );\n\t\t}\n\n\t\tconst template = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.__experimentalGetTemplateForLink( page.path );\n\n\t\tif ( ! template ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITED_POST',\n\t\t\tpostType: 'wp_template',\n\t\t\tid: template.id,\n\t\t\tcontext: {\n\t\t\t\t...page.context,\n\t\t\t\ttemplateSlug: template.slug,\n\t\t\t},\n\t\t} );\n\n\t\treturn template.id;\n\t};\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 * Opens or closes the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\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 list view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the list view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\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\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\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} else {\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}\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\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( 'core/preferences' )\n\t\t\t.set( 'core/edit-site', '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\tspeak( __( 'Code editor selected' ), 'assertive' );\n\t\t}\n\t};\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/store/actions.js"],"names":["toggleFeature","featureName","registry","since","alternative","dispatch","preferencesStore","toggle","__experimentalSetPreviewDeviceType","deviceType","type","setTemplate","templateId","templateSlug","template","resolveSelect","coreStore","getEntityRecord","slug","error","postType","id","context","addTemplate","newTemplate","saveEntityRecord","content","editEntityRecord","blocks","undoIgnore","removeTemplate","deleteEntityRecord","force","lastError","select","getLastEntityDeleteError","noticesStore","createSuccessNotice","title","rendered","errorMessage","message","code","createErrorNotice","setTemplatePart","templatePartId","setHomeTemplateId","version","setEditedPostContext","setPage","page","path","postId","entity","link","__experimentalGetTemplateForLink","setNavigationPanelActiveMenu","openNavigationPanelToMenu","setIsNavigationPanelOpened","setIsInserterOpened","value","updateSettings","settings","setIsListViewOpened","isOpen","setIsSaveViewOpened","revertTemplate","allowUndo","noticeId","removeNotice","templateEntityConfig","getEntityConfig","fileTemplatePath","baseURL","source","fileTemplate","serializeBlocks","blocksForSerialization","edited","getEditedEntityRecord","raw","undoRevert","actions","label","onClick","openGeneralSidebar","name","interfaceStore","enableComplementaryArea","editSiteStoreName","closeGeneralSidebar","disableComplementaryArea","switchEditorMode","mode","set","blockEditorStore","clearSelectedBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\nimport { addQueryArgs, getPathAndQueryString } from '@wordpress/url';\nimport { __, sprintf } 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 { 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';\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( \"select( 'core/edit-site' ).toggleFeature( featureName )\", {\n\t\t\tsince: '6.0',\n\t\t\talternative:\n\t\t\t\t\"select( 'core/preferences').toggle( 'core/edit-site', featureName )\",\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 * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Action that sets a template, optionally fetching it from REST API.\n *\n * @param {number} templateId The template ID.\n * @param {string} templateSlug The template slug.\n * @return {Object} Action object.\n */\nexport const setTemplate =\n\t( templateId, templateSlug ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! templateSlug ) {\n\t\t\ttry {\n\t\t\t\tconst template = await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getEntityRecord( 'postType', 'wp_template', templateId );\n\t\t\t\ttemplateSlug = template?.slug;\n\t\t\t} catch ( error ) {}\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITED_POST',\n\t\t\tpostType: 'wp_template',\n\t\t\tid: templateId,\n\t\t\tcontext: { templateSlug },\n\t\t} );\n\t};\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 * @return {Object} Action object used to set the current template.\n */\nexport const addTemplate =\n\t( template ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst newTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', 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\t'wp_template',\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: 'wp_template',\n\t\t\tid: newTemplate.id,\n\t\t\tcontext: { templateSlug: newTemplate.slug },\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 =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\ttry {\n\t\t\tawait registry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.deleteEntityRecord( 'postType', template.type, template.id, {\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\n\t\t\tconst lastError = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getLastEntityDeleteError(\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\tif ( lastError ) {\n\t\t\t\tthrow lastError;\n\t\t\t}\n\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice(\n\t\t\t\tsprintf(\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\ttemplate.title.rendered\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'site-editor-template-deleted-success' }\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: __( 'An error occurred while deleting the template.' );\n\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/**\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: 'wp_template_part',\n\t\tid: templatePartId,\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 {number} The resolved template ID for the page route.\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 * @param {Object} page The page object.\n * @param {string} page.type The page type.\n * @param {string} page.slug The page slug.\n * @param {string} page.path The page path.\n * @param {Object} page.context The page context.\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport const setPage =\n\t( page ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\tif ( ! page.path && page.context?.postId ) {\n\t\t\tconst entity = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpage.context.postType || 'post',\n\t\t\t\t\tpage.context.postId\n\t\t\t\t);\n\t\t\t// If the entity is undefined for some reason, path will resolve to \"/\"\n\t\t\tpage.path = getPathAndQueryString( entity?.link );\n\t\t}\n\n\t\tconst template = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.__experimentalGetTemplateForLink( page.path );\n\n\t\tif ( ! template ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITED_POST',\n\t\t\tpostType: 'wp_template',\n\t\t\tid: template.id,\n\t\t\tcontext: {\n\t\t\t\t...page.context,\n\t\t\t\ttemplateSlug: template.slug,\n\t\t\t},\n\t\t} );\n\n\t\treturn template.id;\n\t};\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 * Opens or closes the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\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 list view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the list view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\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\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( 'core/preferences' )\n\t\t\t.set( 'core/edit-site', '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\tspeak( __( 'Code editor selected' ), 'assertive' );\n\t\t}\n\t};\n"]}
@@ -10,18 +10,12 @@ import { kebabCase } from 'lodash';
10
10
 
11
11
  import { useState } from '@wordpress/element';
12
12
  import { __ } from '@wordpress/i18n';
13
- import { Button, Modal, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
14
- /**
15
- * Internal dependencies
16
- */
13
+ import { Button, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
17
14
 
18
- import TemplateActionsLoadingScreen from './template-actions-loading-screen';
19
-
20
- function AddCustomGenericTemplateModal(_ref) {
15
+ function AddCustomGenericTemplateModalContent(_ref) {
21
16
  let {
22
17
  onClose,
23
- createTemplate,
24
- isCreatingTemplate
18
+ createTemplate
25
19
  } = _ref;
26
20
  const [title, setTitle] = useState('');
27
21
 
@@ -48,13 +42,7 @@ function AddCustomGenericTemplateModal(_ref) {
48
42
  }
49
43
  }
50
44
 
51
- return createElement(Modal, {
52
- title: __('Create custom template'),
53
- onRequestClose: () => {
54
- onClose();
55
- },
56
- overlayClassName: "edit-site-custom-generic-template__modal"
57
- }, isCreatingTemplate && createElement(TemplateActionsLoadingScreen, null), createElement("form", {
45
+ return createElement("form", {
58
46
  onSubmit: onCreateTemplate
59
47
  }, createElement(VStack, {
60
48
  spacing: 6
@@ -65,7 +53,7 @@ function AddCustomGenericTemplateModal(_ref) {
65
53
  onChange: setTitle,
66
54
  placeholder: defaultTitle,
67
55
  disabled: isBusy,
68
- help: __('Describe the template, e.g. "Post with sidebar".')
56
+ help: __('Describe the template, e.g. "Post with sidebar". A custom template can be manually applied to any post or page.')
69
57
  }), createElement(HStack, {
70
58
  className: "edit-site-custom-generic-template__modal-actions",
71
59
  justify: "right"
@@ -79,8 +67,8 @@ function AddCustomGenericTemplateModal(_ref) {
79
67
  type: "submit",
80
68
  isBusy: isBusy,
81
69
  "aria-disabled": isBusy
82
- }, __('Create'))))));
70
+ }, __('Create')))));
83
71
  }
84
72
 
85
- export default AddCustomGenericTemplateModal;
86
- //# sourceMappingURL=add-custom-generic-template-modal.js.map
73
+ export default AddCustomGenericTemplateModalContent;
74
+ //# sourceMappingURL=add-custom-generic-template-modal-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-generic-template-modal-content.js"],"names":["kebabCase","useState","__","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","AddCustomGenericTemplateModalContent","onClose","createTemplate","title","setTitle","defaultTitle","isBusy","setIsBusy","onCreateTemplate","event","preventDefault","slug"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,MADD,EAECC,WAFD,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,oBAAoB,IAAIC,MAJzB,QAKO,uBALP;;AAOA,SAASC,oCAAT,OAA6E;AAAA,MAA9B;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,GAA8B;AAC5E,QAAM,CAAEC,KAAF,EAASC,QAAT,IAAsBZ,QAAQ,CAAE,EAAF,CAApC;;AACA,QAAMa,YAAY,GAAGZ,EAAE,CAAE,iBAAF,CAAvB;;AACA,QAAM,CAAEa,MAAF,EAAUC,SAAV,IAAwBf,QAAQ,CAAE,KAAF,CAAtC;;AACA,iBAAegB,gBAAf,CAAiCC,KAAjC,EAAyC;AACxCA,IAAAA,KAAK,CAACC,cAAN;;AACA,QAAKJ,MAAL,EAAc;AACb;AACA;;AACDC,IAAAA,SAAS,CAAE,IAAF,CAAT;;AACA,QAAI;AACH,YAAML,cAAc,CACnB;AACCS,QAAAA,IAAI,EACH,wBACApB,SAAS,CAAEY,KAAK,IAAIE,YAAX,CAHX;AAICF,QAAAA,KAAK,EAAEA,KAAK,IAAIE;AAJjB,OADmB,EAOnB,KAPmB,CAApB;AASA,KAVD,SAUU;AACTE,MAAAA,SAAS,CAAE,KAAF,CAAT;AACA;AACD;;AACD,SACC;AAAM,IAAA,QAAQ,EAAGC;AAAjB,KACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,cAAC,WAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGf,EAAE,CAAE,MAAF,CAFX;AAGC,IAAA,KAAK,EAAGU,KAHT;AAIC,IAAA,QAAQ,EAAGC,QAJZ;AAKC,IAAA,WAAW,EAAGC,YALf;AAMC,IAAA,QAAQ,EAAGC,MANZ;AAOC,IAAA,IAAI,EAAGb,EAAE,CACR,iHADQ;AAPV,IADD,EAYC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,kDADX;AAEC,IAAA,OAAO,EAAC;AAFT,KAIC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfQ,MAAAA,OAAO;AACP;AAJF,KAMGR,EAAE,CAAE,QAAF,CANL,CAJD,EAYC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,MAAM,EAAGa,MAHV;AAIC,qBAAgBA;AAJjB,KAMGb,EAAE,CAAE,QAAF,CANL,CAZD,CAZD,CADD,CADD;AAsCA;;AAED,eAAeO,oCAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nfunction AddCustomGenericTemplateModalContent( { onClose, createTemplate } ) {\n\tconst [ title, setTitle ] = useState( '' );\n\tconst defaultTitle = __( 'Custom Template' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsBusy( true );\n\t\ttry {\n\t\t\tawait createTemplate(\n\t\t\t\t{\n\t\t\t\t\tslug:\n\t\t\t\t\t\t'wp-custom-template-' +\n\t\t\t\t\t\tkebabCase( title || defaultTitle ),\n\t\t\t\t\ttitle: title || defaultTitle,\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsBusy( false );\n\t\t}\n\t}\n\treturn (\n\t\t<form onSubmit={ onCreateTemplate }>\n\t\t\t<VStack spacing={ 6 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". A custom template can be manually applied to any post or page.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-custom-generic-template__modal-actions\"\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nexport default AddCustomGenericTemplateModalContent;\n"]}
@@ -5,8 +5,8 @@ import { createElement, Fragment } from "@wordpress/element";
5
5
  * WordPress dependencies
6
6
  */
7
7
  import { useState, useMemo, useEffect } from '@wordpress/element';
8
- import { __, sprintf } from '@wordpress/i18n';
9
- import { Button, Flex, FlexItem, Modal, SearchControl, TextHighlight, __experimentalText as Text, __experimentalVStack as VStack, __unstableComposite as Composite, __unstableUseCompositeState as useCompositeState, __unstableCompositeItem as CompositeItem } from '@wordpress/components';
8
+ import { __ } from '@wordpress/i18n';
9
+ import { Button, Flex, FlexItem, SearchControl, TextHighlight, __experimentalText as Text, __experimentalVStack as VStack, __unstableComposite as Composite, __unstableUseCompositeState as useCompositeState, __unstableCompositeItem as CompositeItem } from '@wordpress/components';
10
10
  import { useDebounce } from '@wordpress/compose';
11
11
  import { useEntityRecords } from '@wordpress/core-data';
12
12
  import { decodeEntities } from '@wordpress/html-entities';
@@ -14,7 +14,6 @@ import { decodeEntities } from '@wordpress/html-entities';
14
14
  * Internal dependencies
15
15
  */
16
16
 
17
- import TemplateActionsLoadingScreen from './template-actions-loading-screen';
18
17
  import { mapToIHasNameAndId } from './utils';
19
18
  const EMPTY_ARRAY = [];
20
19
 
@@ -139,26 +138,20 @@ function SuggestionList(_ref2) {
139
138
  }, labels.not_found));
140
139
  }
141
140
 
142
- function AddCustomTemplateModal(_ref3) {
141
+ function AddCustomTemplateModalContent(_ref3) {
143
142
  let {
144
- onClose,
145
143
  onSelect,
146
- entityForSuggestions,
147
- isCreatingTemplate
144
+ entityForSuggestions
148
145
  } = _ref3;
149
146
  const [showSearchEntities, setShowSearchEntities] = useState(entityForSuggestions.hasGeneralTemplate);
150
- const baseCssClass = 'edit-site-custom-template-modal';
151
- return createElement(Modal, {
152
- title: sprintf( // translators: %s: Name of the post type e.g: "Post".
153
- __('Add template: %s'), entityForSuggestions.labels.singular_name),
154
- className: baseCssClass,
155
- onRequestClose: onClose
156
- }, isCreatingTemplate && createElement(TemplateActionsLoadingScreen, null), !showSearchEntities && createElement(VStack, {
157
- spacing: 4
158
- }, createElement(Text, {
147
+ return createElement(VStack, {
148
+ spacing: 4,
149
+ className: "edit-site-custom-template-modal__contents-wrapper",
150
+ alignment: "left"
151
+ }, !showSearchEntities && createElement(Fragment, null, createElement(Text, {
159
152
  as: "p"
160
153
  }, __('Select whether to create a single template for all items or a specific one.')), createElement(Flex, {
161
- className: `${baseCssClass}__contents`,
154
+ className: "edit-site-custom-template-modal__contents",
162
155
  gap: "4",
163
156
  align: "initial"
164
157
  }, createElement(FlexItem, {
@@ -204,9 +197,7 @@ function AddCustomTemplateModal(_ref3) {
204
197
  lineHeight: 1.53846153846 // 20px
205
198
 
206
199
  }, // translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.
207
- __('For a specific item'))))), showSearchEntities && createElement(VStack, {
208
- spacing: 4
209
- }, createElement(Text, {
200
+ __('For a specific item'))))), showSearchEntities && createElement(Fragment, null, createElement(Text, {
210
201
  as: "p"
211
202
  }, __('This template will be used only for the specific item chosen.')), createElement(SuggestionList, {
212
203
  entityForSuggestions: entityForSuggestions,
@@ -214,5 +205,5 @@ function AddCustomTemplateModal(_ref3) {
214
205
  })));
215
206
  }
216
207
 
217
- export default AddCustomTemplateModal;
218
- //# sourceMappingURL=add-custom-template-modal.js.map
208
+ export default AddCustomTemplateModalContent;
209
+ //# sourceMappingURL=add-custom-template-modal-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","__experimentalText","Text","__experimentalVStack","VStack","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useDebounce","useEntityRecords","decodeEntities","mapToIHasNameAndId","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","composite","baseCssClass","config","getSpecificTemplate","name","link","useDebouncedInput","input","setInput","debounced","setter","setDebounced","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","search_items","map","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","title","description","templatePrefix","template","all_items","singular_name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n\tcomposite,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName={ baseCssClass }\n\t\t\tonClick={ () =>\n\t\t\t\tonSelect(\n\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\tsuggestion\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useDebouncedInput() {\n\tconst [ input, setInput ] = useState( '' );\n\tconst [ debounced, setter ] = useState( '' );\n\tconst setDebounced = useDebounce( setter, 250 );\n\tuseEffect( () => {\n\t\tif ( debounced !== input ) {\n\t\t\tsetDebounced( input );\n\t\t}\n\t}, [ debounced, input ] );\n\treturn [ input, setInput, debounced ];\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<Text\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\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\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"]}