@wordpress/edit-site 3.0.8 → 3.0.12

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/build/components/add-new-template/index.js +49 -0
  2. package/build/components/add-new-template/index.js.map +1 -0
  3. package/build/components/add-new-template/new-template-part.js +95 -0
  4. package/build/components/add-new-template/new-template-part.js.map +1 -0
  5. package/build/components/add-new-template/new-template.js +133 -0
  6. package/build/components/add-new-template/new-template.js.map +1 -0
  7. package/build/components/block-editor/index.js +3 -1
  8. package/build/components/block-editor/index.js.map +1 -1
  9. package/build/components/create-template-part-modal/index.js +115 -0
  10. package/build/components/create-template-part-modal/index.js.map +1 -0
  11. package/build/components/editor/index.js +20 -16
  12. package/build/components/editor/index.js.map +1 -1
  13. package/build/components/global-styles/color-palette-panel.js +29 -6
  14. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  15. package/build/components/global-styles/global-styles-provider.js +9 -47
  16. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  17. package/build/components/global-styles/gradients-palette-panel.js +56 -0
  18. package/build/components/global-styles/gradients-palette-panel.js.map +1 -0
  19. package/build/components/global-styles/hooks.js +29 -27
  20. package/build/components/global-styles/hooks.js.map +1 -1
  21. package/build/components/global-styles/palette.js +11 -5
  22. package/build/components/global-styles/palette.js.map +1 -1
  23. package/build/components/global-styles/screen-background-color.js +2 -1
  24. package/build/components/global-styles/screen-background-color.js.map +1 -1
  25. package/build/components/global-styles/screen-block-list.js +9 -1
  26. package/build/components/global-styles/screen-block-list.js.map +1 -1
  27. package/build/components/global-styles/screen-color-palette.js +23 -3
  28. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  29. package/build/components/global-styles/screen-link-color.js +2 -1
  30. package/build/components/global-styles/screen-link-color.js.map +1 -1
  31. package/build/components/global-styles/screen-text-color.js +2 -1
  32. package/build/components/global-styles/screen-text-color.js.map +1 -1
  33. package/build/components/global-styles/screen-typography-element.js +54 -0
  34. package/build/components/global-styles/screen-typography-element.js.map +1 -0
  35. package/build/components/global-styles/screen-typography.js +74 -6
  36. package/build/components/global-styles/screen-typography.js.map +1 -1
  37. package/build/components/global-styles/typography-panel.js +28 -8
  38. package/build/components/global-styles/typography-panel.js.map +1 -1
  39. package/build/components/global-styles/ui.js +12 -0
  40. package/build/components/global-styles/ui.js.map +1 -1
  41. package/build/components/global-styles/use-global-styles-output.js +2 -2
  42. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  43. package/build/components/global-styles/utils.js +1 -1
  44. package/build/components/global-styles/utils.js.map +1 -1
  45. package/build/components/header/index.js +1 -5
  46. package/build/components/header/index.js.map +1 -1
  47. package/build/components/keyboard-shortcuts/index.js +26 -0
  48. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  49. package/build/components/list/actions/index.js +104 -0
  50. package/build/components/list/actions/index.js.map +1 -0
  51. package/build/components/list/actions/rename-menu-item.js +112 -0
  52. package/build/components/list/actions/rename-menu-item.js.map +1 -0
  53. package/build/components/list/added-by.js +180 -0
  54. package/build/components/list/added-by.js.map +1 -0
  55. package/build/components/list/header.js +50 -0
  56. package/build/components/list/header.js.map +1 -0
  57. package/build/components/list/index.js +102 -0
  58. package/build/components/list/index.js.map +1 -0
  59. package/build/components/list/table.js +114 -0
  60. package/build/components/list/table.js.map +1 -0
  61. package/build/components/list/use-register-shortcuts.js +52 -0
  62. package/build/components/list/use-register-shortcuts.js.map +1 -0
  63. package/build/components/navigation-sidebar/index.js +26 -10
  64. package/build/components/navigation-sidebar/index.js.map +1 -1
  65. package/build/components/navigation-sidebar/navigation-panel/index.js +42 -44
  66. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  67. package/build/components/navigation-sidebar/navigation-toggle/index.js +5 -17
  68. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  69. package/build/components/template-details/index.js +3 -2
  70. package/build/components/template-details/index.js.map +1 -1
  71. package/build/components/template-part-converter/convert-to-template-part.js +20 -84
  72. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  73. package/build/components/welcome-guide/editor.js +58 -0
  74. package/build/components/welcome-guide/editor.js.map +1 -0
  75. package/build/components/welcome-guide/image.js +27 -0
  76. package/build/components/welcome-guide/image.js.map +1 -0
  77. package/build/components/welcome-guide/index.js +49 -0
  78. package/build/components/welcome-guide/index.js.map +1 -0
  79. package/build/components/welcome-guide/styles.js +83 -0
  80. package/build/components/welcome-guide/styles.js.map +1 -0
  81. package/build/index.js +36 -6
  82. package/build/index.js.map +1 -1
  83. package/build/plugins/index.js +4 -2
  84. package/build/plugins/index.js.map +1 -1
  85. package/build/plugins/welcome-guide-menu-item.js +39 -0
  86. package/build/plugins/welcome-guide-menu-item.js.map +1 -0
  87. package/build/store/actions.js +50 -24
  88. package/build/store/actions.js.map +1 -1
  89. package/build/store/defaults.js +4 -1
  90. package/build/store/defaults.js.map +1 -1
  91. package/build/store/selectors.js +25 -5
  92. package/build/store/selectors.js.map +1 -1
  93. package/build/utils/is-template-removable.js +21 -0
  94. package/build/utils/is-template-removable.js.map +1 -0
  95. package/build-module/components/add-new-template/index.js +36 -0
  96. package/build-module/components/add-new-template/index.js.map +1 -0
  97. package/build-module/components/add-new-template/new-template-part.js +79 -0
  98. package/build-module/components/add-new-template/new-template-part.js.map +1 -0
  99. package/build-module/components/add-new-template/new-template.js +114 -0
  100. package/build-module/components/add-new-template/new-template.js.map +1 -0
  101. package/build-module/components/block-editor/index.js +2 -1
  102. package/build-module/components/block-editor/index.js.map +1 -1
  103. package/build-module/components/create-template-part-modal/index.js +102 -0
  104. package/build-module/components/create-template-part-modal/index.js.map +1 -0
  105. package/build-module/components/editor/index.js +19 -17
  106. package/build-module/components/editor/index.js.map +1 -1
  107. package/build-module/components/global-styles/color-palette-panel.js +29 -7
  108. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  109. package/build-module/components/global-styles/global-styles-provider.js +10 -43
  110. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  111. package/build-module/components/global-styles/gradients-palette-panel.js +46 -0
  112. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -0
  113. package/build-module/components/global-styles/hooks.js +30 -28
  114. package/build-module/components/global-styles/hooks.js.map +1 -1
  115. package/build-module/components/global-styles/palette.js +12 -5
  116. package/build-module/components/global-styles/palette.js.map +1 -1
  117. package/build-module/components/global-styles/screen-background-color.js +2 -1
  118. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  119. package/build-module/components/global-styles/screen-block-list.js +7 -1
  120. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  121. package/build-module/components/global-styles/screen-color-palette.js +22 -3
  122. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  123. package/build-module/components/global-styles/screen-link-color.js +2 -1
  124. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  125. package/build-module/components/global-styles/screen-text-color.js +2 -1
  126. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  127. package/build-module/components/global-styles/screen-typography-element.js +41 -0
  128. package/build-module/components/global-styles/screen-typography-element.js.map +1 -0
  129. package/build-module/components/global-styles/screen-typography.js +70 -6
  130. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  131. package/build-module/components/global-styles/typography-panel.js +28 -8
  132. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  133. package/build-module/components/global-styles/ui.js +11 -0
  134. package/build-module/components/global-styles/ui.js.map +1 -1
  135. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  136. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  137. package/build-module/components/global-styles/utils.js +1 -1
  138. package/build-module/components/global-styles/utils.js.map +1 -1
  139. package/build-module/components/header/index.js +1 -3
  140. package/build-module/components/header/index.js.map +1 -1
  141. package/build-module/components/keyboard-shortcuts/index.js +26 -0
  142. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  143. package/build-module/components/list/actions/index.js +85 -0
  144. package/build-module/components/list/actions/index.js.map +1 -0
  145. package/build-module/components/list/actions/rename-menu-item.js +101 -0
  146. package/build-module/components/list/actions/rename-menu-item.js.map +1 -0
  147. package/build-module/components/list/added-by.js +166 -0
  148. package/build-module/components/list/added-by.js.map +1 -0
  149. package/build-module/components/list/header.js +37 -0
  150. package/build-module/components/list/header.js.map +1 -0
  151. package/build-module/components/list/index.js +81 -0
  152. package/build-module/components/list/index.js.map +1 -0
  153. package/build-module/components/list/table.js +98 -0
  154. package/build-module/components/list/table.js.map +1 -0
  155. package/build-module/components/list/use-register-shortcuts.js +41 -0
  156. package/build-module/components/list/use-register-shortcuts.js.map +1 -0
  157. package/build-module/components/navigation-sidebar/index.js +26 -10
  158. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  159. package/build-module/components/navigation-sidebar/navigation-panel/index.js +41 -44
  160. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  161. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +6 -18
  162. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  163. package/build-module/components/template-details/index.js +3 -2
  164. package/build-module/components/template-details/index.js.map +1 -1
  165. package/build-module/components/template-part-converter/convert-to-template-part.js +20 -84
  166. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  167. package/build-module/components/welcome-guide/editor.js +45 -0
  168. package/build-module/components/welcome-guide/editor.js.map +1 -0
  169. package/build-module/components/welcome-guide/image.js +19 -0
  170. package/build-module/components/welcome-guide/image.js.map +1 -0
  171. package/build-module/components/welcome-guide/index.js +35 -0
  172. package/build-module/components/welcome-guide/index.js.map +1 -0
  173. package/build-module/components/welcome-guide/styles.js +69 -0
  174. package/build-module/components/welcome-guide/styles.js.map +1 -0
  175. package/build-module/index.js +28 -3
  176. package/build-module/index.js.map +1 -1
  177. package/build-module/plugins/index.js +3 -2
  178. package/build-module/plugins/index.js.map +1 -1
  179. package/build-module/plugins/welcome-guide-menu-item.js +27 -0
  180. package/build-module/plugins/welcome-guide-menu-item.js.map +1 -0
  181. package/build-module/store/actions.js +51 -25
  182. package/build-module/store/actions.js.map +1 -1
  183. package/build-module/store/defaults.js +4 -1
  184. package/build-module/store/defaults.js.map +1 -1
  185. package/build-module/store/selectors.js +21 -3
  186. package/build-module/store/selectors.js.map +1 -1
  187. package/build-module/utils/is-template-removable.js +14 -0
  188. package/build-module/utils/is-template-removable.js.map +1 -0
  189. package/build-style/style-rtl.css +468 -33
  190. package/build-style/style.css +468 -33
  191. package/package.json +10 -8
  192. package/src/components/add-new-template/index.js +30 -0
  193. package/src/components/add-new-template/new-template-part.js +81 -0
  194. package/src/components/add-new-template/new-template.js +136 -0
  195. package/src/components/add-new-template/style.scss +11 -0
  196. package/src/components/block-editor/index.js +2 -0
  197. package/src/components/create-template-part-modal/index.js +132 -0
  198. package/src/components/{template-part-converter → create-template-part-modal}/style.scss +9 -9
  199. package/src/components/editor/index.js +22 -15
  200. package/src/components/editor/style.scss +8 -0
  201. package/src/components/global-styles/color-palette-panel.js +64 -7
  202. package/src/components/global-styles/global-styles-provider.js +7 -36
  203. package/src/components/global-styles/gradients-palette-panel.js +79 -0
  204. package/src/components/global-styles/hooks.js +59 -27
  205. package/src/components/global-styles/palette.js +30 -10
  206. package/src/components/global-styles/screen-background-color.js +1 -0
  207. package/src/components/global-styles/screen-block-list.js +11 -1
  208. package/src/components/global-styles/screen-color-palette.js +30 -3
  209. package/src/components/global-styles/screen-link-color.js +1 -0
  210. package/src/components/global-styles/screen-text-color.js +1 -0
  211. package/src/components/global-styles/screen-typography-element.js +39 -0
  212. package/src/components/global-styles/screen-typography.js +84 -3
  213. package/src/components/global-styles/style.scss +33 -0
  214. package/src/components/global-styles/test/use-global-styles-output.js +3 -3
  215. package/src/components/global-styles/test/utils.js +1 -1
  216. package/src/components/global-styles/typography-panel.js +37 -7
  217. package/src/components/global-styles/ui.js +9 -0
  218. package/src/components/global-styles/use-global-styles-output.js +2 -2
  219. package/src/components/global-styles/utils.js +1 -1
  220. package/src/components/header/index.js +0 -6
  221. package/src/components/keyboard-shortcuts/index.js +32 -0
  222. package/src/components/list/actions/index.js +95 -0
  223. package/src/components/list/actions/rename-menu-item.js +134 -0
  224. package/src/components/list/added-by.js +179 -0
  225. package/src/components/list/header.js +34 -0
  226. package/src/components/list/index.js +96 -0
  227. package/src/components/list/style.scss +208 -0
  228. package/src/components/list/table.js +121 -0
  229. package/src/components/list/use-register-shortcuts.js +45 -0
  230. package/src/components/navigation-sidebar/index.js +24 -8
  231. package/src/components/navigation-sidebar/navigation-panel/index.js +57 -51
  232. package/src/components/navigation-sidebar/navigation-panel/style.scss +4 -2
  233. package/src/components/navigation-sidebar/navigation-toggle/index.js +24 -36
  234. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +2 -0
  235. package/src/components/sidebar/style.scss +2 -1
  236. package/src/components/template-details/index.js +3 -2
  237. package/src/components/template-part-converter/convert-to-template-part.js +20 -140
  238. package/src/components/welcome-guide/editor.js +63 -0
  239. package/src/components/welcome-guide/image.js +11 -0
  240. package/src/components/welcome-guide/index.js +33 -0
  241. package/src/components/welcome-guide/style.scss +37 -0
  242. package/src/components/welcome-guide/styles.js +116 -0
  243. package/src/index.js +31 -3
  244. package/src/plugins/index.js +3 -1
  245. package/src/plugins/welcome-guide-menu-item.js +35 -0
  246. package/src/store/actions.js +85 -35
  247. package/src/store/defaults.js +4 -1
  248. package/src/store/selectors.js +22 -4
  249. package/src/store/test/actions.js +0 -30
  250. package/src/store/test/selectors.js +24 -0
  251. package/src/style.scss +9 -6
  252. package/src/utils/is-template-removable.js +13 -0
  253. package/build/components/header/navigation-link/index.js +0 -87
  254. package/build/components/header/navigation-link/index.js.map +0 -1
  255. package/build-module/components/header/navigation-link/index.js +0 -74
  256. package/build-module/components/header/navigation-link/index.js.map +0 -1
  257. package/src/components/header/navigation-link/index.js +0 -71
  258. package/src/components/header/navigation-link/style.scss +0 -69
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = AddNewTemplate;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _data = require("@wordpress/data");
13
+
14
+ var _coreData = require("@wordpress/core-data");
15
+
16
+ var _newTemplate = _interopRequireDefault(require("./new-template"));
17
+
18
+ var _newTemplatePart = _interopRequireDefault(require("./new-template-part"));
19
+
20
+ /**
21
+ * WordPress dependencies
22
+ */
23
+
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+ function AddNewTemplate(_ref) {
28
+ let {
29
+ templateType = 'wp_template'
30
+ } = _ref;
31
+ const postType = (0, _data.useSelect)(select => select(_coreData.store).getPostType(templateType), [templateType]);
32
+
33
+ if (!postType) {
34
+ return null;
35
+ }
36
+
37
+ if (templateType === 'wp_template') {
38
+ return (0, _element.createElement)(_newTemplate.default, {
39
+ postType: postType
40
+ });
41
+ } else if (templateType === 'wp_template_part') {
42
+ return (0, _element.createElement)(_newTemplatePart.default, {
43
+ postType: postType
44
+ });
45
+ }
46
+
47
+ return null;
48
+ }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"names":["AddNewTemplate","templateType","postType","select","coreStore","getPostType"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIe,SAASA,cAAT,OAA4D;AAAA,MAAnC;AAAEC,IAAAA,YAAY,GAAG;AAAjB,GAAmC;AAC1E,QAAMC,QAAQ,GAAG,qBACdC,MAAF,IAAcA,MAAM,CAAEC,eAAF,CAAN,CAAoBC,WAApB,CAAiCJ,YAAjC,CADE,EAEhB,CAAEA,YAAF,CAFgB,CAAjB;;AAKA,MAAK,CAAEC,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,MAAKD,YAAY,KAAK,aAAtB,EAAsC;AACrC,WAAO,4BAAC,oBAAD;AAAa,MAAA,QAAQ,EAAGC;AAAxB,MAAP;AACA,GAFD,MAEO,IAAKD,YAAY,KAAK,kBAAtB,EAA2C;AACjD,WAAO,4BAAC,wBAAD;AAAiB,MAAA,QAAQ,EAAGC;AAA5B,MAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport NewTemplate from './new-template';\nimport NewTemplatePart from './new-template-part';\n\nexport default function AddNewTemplate( { templateType = 'wp_template' } ) {\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\tif ( templateType === 'wp_template' ) {\n\t\treturn <NewTemplate postType={ postType } />;\n\t} else if ( templateType === 'wp_template_part' ) {\n\t\treturn <NewTemplatePart postType={ postType } />;\n\t}\n\n\treturn null;\n}\n"]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = NewTemplatePart;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _lodash = require("lodash");
13
+
14
+ var _data = require("@wordpress/data");
15
+
16
+ var _components = require("@wordpress/components");
17
+
18
+ var _url = require("@wordpress/url");
19
+
20
+ var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
21
+
22
+ var _i18n = require("@wordpress/i18n");
23
+
24
+ var _notices = require("@wordpress/notices");
25
+
26
+ var _createTemplatePartModal = _interopRequireDefault(require("../create-template-part-modal"));
27
+
28
+ /**
29
+ * External dependencies
30
+ */
31
+
32
+ /**
33
+ * WordPress dependencies
34
+ */
35
+
36
+ /**
37
+ * Internal dependencies
38
+ */
39
+ function NewTemplatePart(_ref) {
40
+ let {
41
+ postType
42
+ } = _ref;
43
+ const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
44
+ const {
45
+ createErrorNotice
46
+ } = (0, _data.useDispatch)(_notices.store);
47
+
48
+ async function createTemplatePart(_ref2) {
49
+ let {
50
+ title,
51
+ area
52
+ } = _ref2;
53
+
54
+ if (!title) {
55
+ createErrorNotice((0, _i18n.__)('Title is not defined.'), {
56
+ type: 'snackbar'
57
+ });
58
+ return;
59
+ }
60
+
61
+ try {
62
+ const templatePart = await (0, _apiFetch.default)({
63
+ path: '/wp/v2/template-parts',
64
+ method: 'POST',
65
+ data: {
66
+ slug: (0, _lodash.kebabCase)(title),
67
+ title,
68
+ content: '',
69
+ area
70
+ }
71
+ }); // Navigate to the created template part editor.
72
+
73
+ window.location.href = (0, _url.addQueryArgs)(window.location.href, {
74
+ postId: templatePart.id,
75
+ postType: 'wp_template_part'
76
+ });
77
+ } catch (error) {
78
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while creating the template part.');
79
+ createErrorNotice(errorMessage, {
80
+ type: 'snackbar'
81
+ });
82
+ }
83
+ }
84
+
85
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
86
+ variant: "primary",
87
+ onClick: () => {
88
+ setIsModalOpen(true);
89
+ }
90
+ }, postType.labels.add_new), isModalOpen && (0, _element.createElement)(_createTemplatePartModal.default, {
91
+ closeModal: () => setIsModalOpen(false),
92
+ onCreate: createTemplatePart
93
+ }));
94
+ }
95
+ //# sourceMappingURL=new-template-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template-part.js"],"names":["NewTemplatePart","postType","isModalOpen","setIsModalOpen","createErrorNotice","noticesStore","createTemplatePart","title","area","type","templatePart","path","method","data","slug","content","window","location","href","postId","id","error","errorMessage","message","code","labels","add_new"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;AAGe,SAASA,eAAT,OAAyC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACvD,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,KAAV,CAAxC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;;AAEA,iBAAeC,kBAAf,QAAqD;AAAA,QAAlB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAkB;;AACpD,QAAK,CAAED,KAAP,EAAe;AACdH,MAAAA,iBAAiB,CAAE,cAAI,uBAAJ,CAAF,EAAiC;AACjDK,QAAAA,IAAI,EAAE;AAD2C,OAAjC,CAAjB;AAGA;AACA;;AAED,QAAI;AACH,YAAMC,YAAY,GAAG,MAAM,uBAAU;AACpCC,QAAAA,IAAI,EAAE,uBAD8B;AAEpCC,QAAAA,MAAM,EAAE,MAF4B;AAGpCC,QAAAA,IAAI,EAAE;AACLC,UAAAA,IAAI,EAAE,uBAAWP,KAAX,CADD;AAELA,UAAAA,KAFK;AAGLQ,UAAAA,OAAO,EAAE,EAHJ;AAILP,UAAAA;AAJK;AAH8B,OAAV,CAA3B,CADG,CAYH;;AACAQ,MAAAA,MAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuB,uBAAcF,MAAM,CAACC,QAAP,CAAgBC,IAA9B,EAAoC;AAC1DC,QAAAA,MAAM,EAAET,YAAY,CAACU,EADqC;AAE1DnB,QAAAA,QAAQ,EAAE;AAFgD,OAApC,CAAvB;AAIA,KAjBD,CAiBE,OAAQoB,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cACA,qDADA,CAHJ;AAOAnB,MAAAA,iBAAiB,CAAEkB,YAAF,EAAgB;AAAEb,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACA;AACD;;AAED,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfN,MAAAA,cAAc,CAAE,IAAF,CAAd;AACA;AAJF,KAMGF,QAAQ,CAACwB,MAAT,CAAgBC,OANnB,CADD,EASGxB,WAAW,IACZ,4BAAC,gCAAD;AACC,IAAA,UAAU,EAAG,MAAMC,cAAc,CAAE,KAAF,CADlC;AAEC,IAAA,QAAQ,EAAGG;AAFZ,IAVF,CADD;AAkBA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nexport default function NewTemplatePart( { postType } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tasync function createTemplatePart( { title, area } ) {\n\t\tif ( ! title ) {\n\t\t\tcreateErrorNotice( __( 'Title is not defined.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templatePart = await apiFetch( {\n\t\t\t\tpath: '/wp/v2/template-parts',\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdata: {\n\t\t\t\t\tslug: kebabCase( title ),\n\t\t\t\t\ttitle,\n\t\t\t\t\tcontent: '',\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// Navigate to the created template part editor.\n\t\t\twindow.location.href = addQueryArgs( window.location.href, {\n\t\t\t\tpostId: templatePart.id,\n\t\t\t\tpostType: 'wp_template_part',\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: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new }\n\t\t\t</Button>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\tonCreate={ createTemplatePart }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = NewTemplate;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _lodash = require("lodash");
13
+
14
+ var _components = require("@wordpress/components");
15
+
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _coreData = require("@wordpress/core-data");
19
+
20
+ var _editor = require("@wordpress/editor");
21
+
22
+ var _url = require("@wordpress/url");
23
+
24
+ var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
25
+
26
+ var _i18n = require("@wordpress/i18n");
27
+
28
+ var _notices = require("@wordpress/notices");
29
+
30
+ /**
31
+ * External dependencies
32
+ */
33
+
34
+ /**
35
+ * WordPress dependencies
36
+ */
37
+ const DEFAULT_TEMPLATE_SLUGS = ['front-page', 'single-post', 'page', 'archive', 'search', '404', 'index'];
38
+
39
+ function NewTemplate(_ref) {
40
+ let {
41
+ postType
42
+ } = _ref;
43
+ const {
44
+ templates,
45
+ defaultTemplateTypes
46
+ } = (0, _data.useSelect)(select => ({
47
+ templates: select(_coreData.store).getEntityRecords('postType', 'wp_template', {
48
+ per_page: -1
49
+ }),
50
+ defaultTemplateTypes: select(_editor.store).__experimentalGetDefaultTemplateTypes()
51
+ }), []);
52
+ const {
53
+ createErrorNotice
54
+ } = (0, _data.useDispatch)(_notices.store);
55
+
56
+ async function createTemplate(_ref2) {
57
+ let {
58
+ slug
59
+ } = _ref2;
60
+
61
+ try {
62
+ const {
63
+ title,
64
+ description
65
+ } = (0, _lodash.find)(defaultTemplateTypes, {
66
+ slug
67
+ });
68
+ const template = await (0, _apiFetch.default)({
69
+ path: '/wp/v2/templates',
70
+ method: 'POST',
71
+ data: {
72
+ excerpt: description,
73
+ // Slugs need to be strings, so this is for template `404`
74
+ slug: slug.toString(),
75
+ status: 'publish',
76
+ title
77
+ }
78
+ }); // Navigate to the created template editor.
79
+
80
+ window.location.href = (0, _url.addQueryArgs)(window.location.href, {
81
+ postId: template.id,
82
+ postType: 'wp_template'
83
+ }); // Wait for async navigation to happen before closing the modal.
84
+
85
+ await new Promise(() => {});
86
+ } catch (error) {
87
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while creating the template.');
88
+ createErrorNotice(errorMessage, {
89
+ type: 'snackbar'
90
+ });
91
+ }
92
+ }
93
+
94
+ const existingTemplateSlugs = (0, _lodash.map)(templates, 'slug');
95
+ const missingTemplates = (0, _lodash.filter)(defaultTemplateTypes, template => (0, _lodash.includes)(DEFAULT_TEMPLATE_SLUGS, template.slug) && !(0, _lodash.includes)(existingTemplateSlugs, template.slug));
96
+
97
+ if (!missingTemplates.length) {
98
+ return null;
99
+ }
100
+
101
+ return (0, _element.createElement)(_components.DropdownMenu, {
102
+ className: "edit-site-new-template-dropdown",
103
+ icon: null,
104
+ text: postType.labels.add_new,
105
+ label: postType.labels.add_new_item,
106
+ popoverProps: {
107
+ noArrow: false
108
+ },
109
+ toggleProps: {
110
+ variant: 'primary'
111
+ }
112
+ }, () => (0, _element.createElement)(_components.NavigableMenu, {
113
+ className: "edit-site-new-template-dropdown__popover"
114
+ }, (0, _element.createElement)(_components.MenuGroup, {
115
+ label: postType.labels.add_new_item
116
+ }, (0, _lodash.map)(missingTemplates, _ref3 => {
117
+ let {
118
+ title,
119
+ description,
120
+ slug
121
+ } = _ref3;
122
+ return (0, _element.createElement)(_components.MenuItem, {
123
+ info: description,
124
+ key: slug,
125
+ onClick: () => {
126
+ createTemplate({
127
+ slug
128
+ }); // We will be navigated way so no need to close the dropdown.
129
+ }
130
+ }, title);
131
+ }))));
132
+ }
133
+ //# sourceMappingURL=new-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"names":["DEFAULT_TEMPLATE_SLUGS","NewTemplate","postType","templates","defaultTemplateTypes","select","coreStore","getEntityRecords","per_page","editorStore","__experimentalGetDefaultTemplateTypes","createErrorNotice","noticesStore","createTemplate","slug","title","description","template","path","method","data","excerpt","toString","status","window","location","href","postId","id","Promise","error","errorMessage","message","code","type","existingTemplateSlugs","missingTemplates","length","labels","add_new","add_new_item","noArrow","variant"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, find, includes, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tNavigableMenu,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'single-post',\n\t'page',\n\t'archive',\n\t'search',\n\t'404',\n\t'index',\n];\n\nexport default function NewTemplate( { postType } ) {\n\tconst { templates, defaultTemplateTypes } = useSelect(\n\t\t( select ) => ( {\n\t\t\ttemplates: select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\t{ per_page: -1 }\n\t\t\t),\n\t\t\tdefaultTemplateTypes: select(\n\t\t\t\teditorStore\n\t\t\t).__experimentalGetDefaultTemplateTypes(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tasync function createTemplate( { slug } ) {\n\t\ttry {\n\t\t\tconst { title, description } = find( defaultTemplateTypes, {\n\t\t\t\tslug,\n\t\t\t} );\n\n\t\t\tconst template = await apiFetch( {\n\t\t\t\tpath: '/wp/v2/templates',\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdata: {\n\t\t\t\t\texcerpt: description,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// Navigate to the created template editor.\n\t\t\twindow.location.href = addQueryArgs( window.location.href, {\n\t\t\t\tpostId: template.id,\n\t\t\t\tpostType: 'wp_template',\n\t\t\t} );\n\n\t\t\t// Wait for async navigation to happen before closing the modal.\n\t\t\tawait new Promise( () => {} );\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 creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst existingTemplateSlugs = map( templates, 'slug' );\n\n\tconst missingTemplates = filter(\n\t\tdefaultTemplateTypes,\n\t\t( template ) =>\n\t\t\tincludes( DEFAULT_TEMPLATE_SLUGS, template.slug ) &&\n\t\t\t! includes( existingTemplateSlugs, template.slug )\n\t);\n\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"edit-site-new-template-dropdown\"\n\t\t\ticon={ null }\n\t\t\ttext={ postType.labels.add_new }\n\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\tpopoverProps={ {\n\t\t\t\tnoArrow: false,\n\t\t\t} }\n\t\t\ttoggleProps={ {\n\t\t\t\tvariant: 'primary',\n\t\t\t} }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<NavigableMenu className=\"edit-site-new-template-dropdown__popover\">\n\t\t\t\t\t<MenuGroup label={ postType.labels.add_new_item }>\n\t\t\t\t\t\t{ map(\n\t\t\t\t\t\t\tmissingTemplates,\n\t\t\t\t\t\t\t( { title, description, slug } ) => (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tinfo={ description }\n\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tcreateTemplate( { slug } );\n\t\t\t\t\t\t\t\t\t\t// We will be navigated way so no need to close the dropdown.\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</NavigableMenu>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"]}
@@ -21,6 +21,8 @@ var _blockEditor = require("@wordpress/block-editor");
21
21
 
22
22
  var _compose = require("@wordpress/compose");
23
23
 
24
+ var _reusableBlocks = require("@wordpress/reusable-blocks");
25
+
24
26
  var _templatePartConverter = _interopRequireDefault(require("../template-part-converter"));
25
27
 
26
28
  var _navigateToLink = _interopRequireDefault(require("../navigate-to-link"));
@@ -125,6 +127,6 @@ function BlockEditor(_ref) {
125
127
  return (0, _element.createElement)(_blockInspectorButton.default, {
126
128
  onClick: onClose
127
129
  });
128
- })));
130
+ })), (0, _element.createElement)(_reusableBlocks.ReusableBlocksMenuItems, null));
129
131
  }
130
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["LAYOUT","type","alignments","BlockEditor","setIsInserterOpen","settings","templateType","templateId","page","select","getSettings","getEditedPostType","getEditedPostId","getPage","editSiteStore","blocks","onInput","onChange","setPage","contentRef","mergedRefs","isMobileViewport","clearSelectedBlock","blockEditorStore","isTemplatePart","fillProps","event","target","currentTarget","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockList,\n\tBlockEditorProvider,\n\t__experimentalLinkControl,\n\tBlockInspector,\n\tBlockTools,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMergeRefs, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport NavigateToLink from '../navigate-to-link';\nimport { SidebarInspectorFill } from '../sidebar';\nimport { store as editSiteStore } from '../../store';\nimport BlockInspectorButton from './block-inspector-button';\nimport EditTemplatePartMenuButton from '../edit-template-part-menu-button';\nimport BackButton from './back-button';\nimport ResizableEditor from './resizable-editor';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function BlockEditor( { setIsInserterOpen } ) {\n\tconst { settings, templateType, templateId, page } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetPage,\n\t\t\t} = select( editSiteStore );\n\n\t\t\treturn {\n\t\t\t\tsettings: getSettings( setIsInserterOpen ),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t\ttemplateId: getEditedPostId(),\n\t\t\t\tpage: getPage(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpen ]\n\t);\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\tconst { setPage } = useDispatch( editSiteStore );\n\tconst contentRef = useRef();\n\tconst mergedRefs = useMergeRefs( [ contentRef, useTypingObserver() ] );\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst isTemplatePart = templateType === 'wp_template_part';\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ onInput }\n\t\t\tonChange={ onChange }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t<EditTemplatePartMenuButton />\n\t\t\t<TemplatePartConverter />\n\t\t\t<__experimentalLinkControl.ViewerFill>\n\t\t\t\t{ useCallback(\n\t\t\t\t\t( fillProps ) => (\n\t\t\t\t\t\t<NavigateToLink\n\t\t\t\t\t\t\t{ ...fillProps }\n\t\t\t\t\t\t\tactivePage={ page }\n\t\t\t\t\t\t\tonActivePageChange={ setPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\t[ page ]\n\t\t\t\t) }\n\t\t\t</__experimentalLinkControl.ViewerFill>\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\t\t\t<BlockTools\n\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t'is-focus-mode': isTemplatePart,\n\t\t\t\t} ) }\n\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t// Clear selected block when clicking on the gray background.\n\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<BackButton />\n\n\t\t\t\t<ResizableEditor\n\t\t\t\t\t// Reinitialize the editor and reset the states when the template changes.\n\t\t\t\t\tkey={ templateId }\n\t\t\t\t\tenableResizing={\n\t\t\t\t\t\tisTemplatePart &&\n\t\t\t\t\t\t// Disable resizing in mobile viewport.\n\t\t\t\t\t\t! isMobileViewport\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tcontentRef={ mergedRefs }\n\t\t\t\t>\n\t\t\t\t\t<BlockList\n\t\t\t\t\t\tclassName=\"edit-site-block-editor__block-list wp-site-blocks\"\n\t\t\t\t\t\t__experimentalLayout={ LAYOUT }\n\t\t\t\t\t/>\n\t\t\t\t</ResizableEditor>\n\n\t\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t\t</BlockTools>\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["LAYOUT","type","alignments","BlockEditor","setIsInserterOpen","settings","templateType","templateId","page","select","getSettings","getEditedPostType","getEditedPostId","getPage","editSiteStore","blocks","onInput","onChange","setPage","contentRef","mergedRefs","isMobileViewport","clearSelectedBlock","blockEditorStore","isTemplatePart","fillProps","event","target","currentTarget","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockList,\n\tBlockEditorProvider,\n\t__experimentalLinkControl,\n\tBlockInspector,\n\tBlockTools,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMergeRefs, useViewportMatch } from '@wordpress/compose';\nimport { ReusableBlocksMenuItems } from '@wordpress/reusable-blocks';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport NavigateToLink from '../navigate-to-link';\nimport { SidebarInspectorFill } from '../sidebar';\nimport { store as editSiteStore } from '../../store';\nimport BlockInspectorButton from './block-inspector-button';\nimport EditTemplatePartMenuButton from '../edit-template-part-menu-button';\nimport BackButton from './back-button';\nimport ResizableEditor from './resizable-editor';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function BlockEditor( { setIsInserterOpen } ) {\n\tconst { settings, templateType, templateId, page } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetPage,\n\t\t\t} = select( editSiteStore );\n\n\t\t\treturn {\n\t\t\t\tsettings: getSettings( setIsInserterOpen ),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t\ttemplateId: getEditedPostId(),\n\t\t\t\tpage: getPage(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpen ]\n\t);\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\tconst { setPage } = useDispatch( editSiteStore );\n\tconst contentRef = useRef();\n\tconst mergedRefs = useMergeRefs( [ contentRef, useTypingObserver() ] );\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst isTemplatePart = templateType === 'wp_template_part';\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ onInput }\n\t\t\tonChange={ onChange }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t<EditTemplatePartMenuButton />\n\t\t\t<TemplatePartConverter />\n\t\t\t<__experimentalLinkControl.ViewerFill>\n\t\t\t\t{ useCallback(\n\t\t\t\t\t( fillProps ) => (\n\t\t\t\t\t\t<NavigateToLink\n\t\t\t\t\t\t\t{ ...fillProps }\n\t\t\t\t\t\t\tactivePage={ page }\n\t\t\t\t\t\t\tonActivePageChange={ setPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\t[ page ]\n\t\t\t\t) }\n\t\t\t</__experimentalLinkControl.ViewerFill>\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\t\t\t<BlockTools\n\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t'is-focus-mode': isTemplatePart,\n\t\t\t\t} ) }\n\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t// Clear selected block when clicking on the gray background.\n\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<BackButton />\n\n\t\t\t\t<ResizableEditor\n\t\t\t\t\t// Reinitialize the editor and reset the states when the template changes.\n\t\t\t\t\tkey={ templateId }\n\t\t\t\t\tenableResizing={\n\t\t\t\t\t\tisTemplatePart &&\n\t\t\t\t\t\t// Disable resizing in mobile viewport.\n\t\t\t\t\t\t! isMobileViewport\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tcontentRef={ mergedRefs }\n\t\t\t\t>\n\t\t\t\t\t<BlockList\n\t\t\t\t\t\tclassName=\"edit-site-block-editor__block-list wp-site-blocks\"\n\t\t\t\t\t\t__experimentalLayout={ LAYOUT }\n\t\t\t\t\t/>\n\t\t\t\t</ResizableEditor>\n\n\t\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t\t</BlockTools>\n\t\t\t<ReusableBlocksMenuItems />\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CreateTemplatePartModal;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _data = require("@wordpress/data");
11
+
12
+ var _components = require("@wordpress/components");
13
+
14
+ var _i18n = require("@wordpress/i18n");
15
+
16
+ var _compose = require("@wordpress/compose");
17
+
18
+ var _editor = require("@wordpress/editor");
19
+
20
+ var _icons = require("@wordpress/icons");
21
+
22
+ var _constants = require("../../store/constants");
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies
30
+ */
31
+ function CreateTemplatePartModal(_ref) {
32
+ let {
33
+ closeModal,
34
+ onCreate
35
+ } = _ref;
36
+ const [title, setTitle] = (0, _element.useState)('');
37
+ const [area, setArea] = (0, _element.useState)(_constants.TEMPLATE_PART_AREA_GENERAL);
38
+ const [isSubmitting, setIsSubmitting] = (0, _element.useState)(false);
39
+ const instanceId = (0, _compose.useInstanceId)(CreateTemplatePartModal);
40
+ const templatePartAreas = (0, _data.useSelect)(select => select(_editor.store).__experimentalGetDefaultTemplatePartAreas(), []);
41
+ return (0, _element.createElement)(_components.Modal, {
42
+ title: (0, _i18n.__)('Create a template part'),
43
+ closeLabel: (0, _i18n.__)('Close'),
44
+ onRequestClose: closeModal,
45
+ overlayClassName: "edit-site-create-template-part-modal"
46
+ }, (0, _element.createElement)("form", {
47
+ onSubmit: async event => {
48
+ event.preventDefault();
49
+
50
+ if (!title) {
51
+ return;
52
+ }
53
+
54
+ setIsSubmitting(true);
55
+ await onCreate({
56
+ title,
57
+ area
58
+ });
59
+ setIsSubmitting(false);
60
+ closeModal();
61
+ }
62
+ }, (0, _element.createElement)(_components.TextControl, {
63
+ label: (0, _i18n.__)('Name'),
64
+ value: title,
65
+ onChange: setTitle,
66
+ required: true
67
+ }), (0, _element.createElement)(_components.BaseControl, {
68
+ label: (0, _i18n.__)('Area'),
69
+ id: `edit-site-create-template-part-modal__area-selection-${instanceId}`,
70
+ className: "edit-site-create-template-part-modal__area-base-control"
71
+ }, (0, _element.createElement)(_components.__experimentalRadioGroup, {
72
+ label: (0, _i18n.__)('Area'),
73
+ className: "edit-site-create-template-part-modal__area-radio-group",
74
+ id: `edit-site-create-template-part-modal__area-selection-${instanceId}`,
75
+ onChange: setArea,
76
+ checked: area
77
+ }, templatePartAreas.map(_ref2 => {
78
+ let {
79
+ icon,
80
+ label,
81
+ area: value,
82
+ description
83
+ } = _ref2;
84
+ return (0, _element.createElement)(_components.__experimentalRadio, {
85
+ key: label,
86
+ value: value,
87
+ className: "edit-site-create-template-part-modal__area-radio"
88
+ }, (0, _element.createElement)(_components.Flex, {
89
+ align: "start",
90
+ justify: "start"
91
+ }, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Icon, {
92
+ icon: icon
93
+ })), (0, _element.createElement)(_components.FlexBlock, {
94
+ className: "edit-site-create-template-part-modal__option-label"
95
+ }, label, (0, _element.createElement)("div", null, description)), (0, _element.createElement)(_components.FlexItem, {
96
+ className: "edit-site-create-template-part-modal__checkbox"
97
+ }, area === value && (0, _element.createElement)(_components.Icon, {
98
+ icon: _icons.check
99
+ }))));
100
+ }))), (0, _element.createElement)(_components.Flex, {
101
+ className: "edit-site-create-template-part-modal__modal-actions",
102
+ justify: "flex-end"
103
+ }, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Button, {
104
+ variant: "secondary",
105
+ onClick: () => {
106
+ closeModal();
107
+ }
108
+ }, (0, _i18n.__)('Cancel'))), (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Button, {
109
+ variant: "primary",
110
+ type: "submit",
111
+ disabled: !title,
112
+ isBusy: isSubmitting
113
+ }, (0, _i18n.__)('Create'))))));
114
+ }
115
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"names":["CreateTemplatePartModal","closeModal","onCreate","title","setTitle","area","setArea","TEMPLATE_PART_AREA_GENERAL","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","editorStore","__experimentalGetDefaultTemplatePartAreas","event","preventDefault","map","icon","label","value","description","check"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_AREA_GENERAL } from '../../store/constants';\n\nexport default function CreateTemplatePartModal( { closeModal, onCreate } ) {\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_GENERAL );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create a template part' ) }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! title ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait onCreate( { title, area } );\n\t\t\t\t\tsetIsSubmitting( false );\n\t\t\t\t\tcloseModal();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<TextControl\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\trequired\n\t\t\t\t/>\n\t\t\t\t<BaseControl\n\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t>\n\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t( { icon, label, area: value, description } ) => (\n\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RadioGroup>\n\t\t\t\t</BaseControl>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__modal-actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! title }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -31,6 +31,8 @@ var _header = _interopRequireDefault(require("../header"));
31
31
 
32
32
  var _sidebar = require("../sidebar");
33
33
 
34
+ var _navigationSidebar = _interopRequireDefault(require("../navigation-sidebar"));
35
+
34
36
  var _blockEditor2 = _interopRequireDefault(require("../block-editor"));
35
37
 
36
38
  var _keyboardShortcuts2 = _interopRequireDefault(require("../keyboard-shortcuts"));
@@ -43,6 +45,8 @@ var _listViewSidebar = _interopRequireDefault(require("../secondary-sidebar/list
43
45
 
44
46
  var _errorBoundary = _interopRequireDefault(require("../error-boundary"));
45
47
 
48
+ var _welcomeGuide = _interopRequireDefault(require("../welcome-guide"));
49
+
46
50
  var _store = require("../../store");
47
51
 
48
52
  var _globalStylesRenderer = require("./global-styles-renderer");
@@ -57,7 +61,8 @@ var _globalStylesProvider = require("../global-styles/global-styles-provider");
57
61
  * Internal dependencies
58
62
  */
59
63
  const interfaceLabels = {
60
- secondarySidebar: (0, _i18n.__)('Block Library')
64
+ secondarySidebar: (0, _i18n.__)('Block Library'),
65
+ drawer: (0, _i18n.__)('Navigation Sidebar')
61
66
  };
62
67
 
63
68
  function Editor(_ref) {
@@ -75,7 +80,9 @@ function Editor(_ref) {
75
80
  page,
76
81
  template,
77
82
  templateResolved,
78
- isNavigationOpen
83
+ isNavigationOpen,
84
+ previousShortcut,
85
+ nextShortcut
79
86
  } = (0, _data.useSelect)(select => {
80
87
  const {
81
88
  isInserterOpened,
@@ -103,7 +110,9 @@ function Editor(_ref) {
103
110
  template: postId ? getEntityRecord('postType', postType, postId) : null,
104
111
  templateResolved: postId ? hasFinishedResolution('getEntityRecord', ['postType', postType, postId]) : false,
105
112
  entityId: postId,
106
- isNavigationOpen: isNavigationOpened()
113
+ isNavigationOpen: isNavigationOpened(),
114
+ previousShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/edit-site/previous-region'),
115
+ nextShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/edit-site/next-region')
107
116
  };
108
117
  }, []);
109
118
  const {
@@ -114,9 +123,6 @@ function Editor(_ref) {
114
123
  setIsInserterOpened,
115
124
  updateSettings
116
125
  } = (0, _data.useDispatch)(_store.store);
117
- const {
118
- enableComplementaryArea
119
- } = (0, _data.useDispatch)(_interface.store);
120
126
  (0, _element.useEffect)(() => {
121
127
  updateSettings(initialSettings);
122
128
  }, []); // Keep the defaultTemplateTypes in the core/editor settings too,
@@ -156,14 +162,7 @@ function Editor(_ref) {
156
162
  } else {
157
163
  document.body.classList.remove('is-navigation-sidebar-open');
158
164
  }
159
- }, [isNavigationOpen]);
160
- (0, _element.useEffect)(function openGlobalStylesOnLoad() {
161
- const searchParams = new URLSearchParams(window.location.search);
162
-
163
- if (searchParams.get('styles') === 'open') {
164
- enableComplementaryArea('core/edit-site', 'edit-site/global-styles');
165
- }
166
- }, [enableComplementaryArea]); // Don't render the Editor until the settings are set and loaded
165
+ }, [isNavigationOpen]); // Don't render the Editor until the settings are set and loaded
167
166
 
168
167
  const isReady = (settings === null || settings === void 0 ? void 0 : settings.siteUrl) && templateType !== undefined && entityId !== undefined;
169
168
 
@@ -198,6 +197,7 @@ function Editor(_ref) {
198
197
  sidebar: sidebarIsOpened && (0, _element.createElement)(_interface.ComplementaryArea.Slot, {
199
198
  scope: "core/edit-site"
200
199
  }),
200
+ drawer: (0, _element.createElement)(_navigationSidebar.default, null),
201
201
  header: (0, _element.createElement)(_header.default, {
202
202
  openEntitiesSavedStates: openEntitiesSavedStates
203
203
  }),
@@ -220,8 +220,12 @@ function Editor(_ref) {
220
220
  onClick: openEntitiesSavedStates,
221
221
  "aria-expanded": false
222
222
  }, (0, _i18n.__)('Open save panel')))),
223
- footer: (0, _element.createElement)(_blockEditor.BlockBreadcrumb, null)
224
- }), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, null)))))))));
223
+ footer: (0, _element.createElement)(_blockEditor.BlockBreadcrumb, null),
224
+ shortcuts: {
225
+ previous: previousShortcut,
226
+ next: nextShortcut
227
+ }
228
+ }), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, null)))))))));
225
229
  }
226
230
 
227
231
  var _default = Editor;