@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
@@ -3,27 +3,43 @@ import { createElement, Fragment } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
+ import { useEffect } from '@wordpress/element';
6
7
  import { createSlotFill } from '@wordpress/components';
7
- import { useSelect } from '@wordpress/data';
8
+ import { useViewportMatch } from '@wordpress/compose';
9
+ import { useDispatch } from '@wordpress/data';
8
10
  /**
9
11
  * Internal dependencies
10
12
  */
11
13
 
14
+ import { store as editSiteStore } from '../../store';
12
15
  import NavigationPanel from './navigation-panel';
13
16
  import NavigationToggle from './navigation-toggle';
14
- import { store as editSiteStore } from '../../store';
15
17
  export const {
16
18
  Fill: NavigationPanelPreviewFill,
17
19
  Slot: NavigationPanelPreviewSlot
18
20
  } = createSlotFill('EditSiteNavigationPanelPreview');
19
- export default function NavigationSidebar() {
20
- const isNavigationOpen = useSelect(select => {
21
- return select(editSiteStore).isNavigationOpened();
22
- }, []);
23
- return createElement(Fragment, null, createElement(NavigationToggle, {
24
- isOpen: isNavigationOpen
25
- }), createElement(NavigationPanel, {
26
- isOpen: isNavigationOpen
21
+ export default function NavigationSidebar(_ref) {
22
+ let {
23
+ isDefaultOpen = false,
24
+ activeTemplateType
25
+ } = _ref;
26
+ const isDesktopViewport = useViewportMatch('medium');
27
+ const {
28
+ setIsNavigationPanelOpened
29
+ } = useDispatch(editSiteStore);
30
+ useEffect(() => {
31
+ // When transitioning to desktop open the navigation if `isDefaultOpen` is true.
32
+ if (isDefaultOpen && isDesktopViewport) {
33
+ setIsNavigationPanelOpened(true);
34
+ } // When transitioning to mobile/tablet, close the navigation.
35
+
36
+
37
+ if (!isDesktopViewport) {
38
+ setIsNavigationPanelOpened(false);
39
+ }
40
+ }, [isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened]);
41
+ return createElement(Fragment, null, createElement(NavigationToggle, null), createElement(NavigationPanel, {
42
+ activeItem: activeTemplateType
27
43
  }), createElement(NavigationPanelPreviewSlot, null));
28
44
  }
29
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["createSlotFill","useSelect","NavigationPanel","NavigationToggle","store","editSiteStore","Fill","NavigationPanelPreviewFill","Slot","NavigationPanelPreviewSlot","NavigationSidebar","isNavigationOpen","select","isNavigationOpened"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,uBAA/B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AAEA,OAAO,MAAM;AACZC,EAAAA,IAAI,EAAEC,0BADM;AAEZC,EAAAA,IAAI,EAAEC;AAFM,IAGTT,cAAc,CAAE,gCAAF,CAHX;AAKP,eAAe,SAASU,iBAAT,GAA6B;AAC3C,QAAMC,gBAAgB,GAAGV,SAAS,CAAIW,MAAF,IAAc;AACjD,WAAOA,MAAM,CAAEP,aAAF,CAAN,CAAwBQ,kBAAxB,EAAP;AACA,GAFiC,EAE/B,EAF+B,CAAlC;AAIA,SACC,8BACC,cAAC,gBAAD;AAAkB,IAAA,MAAM,EAAGF;AAA3B,IADD,EAEC,cAAC,eAAD;AAAiB,IAAA,MAAM,EAAGA;AAA1B,IAFD,EAGC,cAAC,0BAAD,OAHD,CADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport NavigationPanel from './navigation-panel';\nimport NavigationToggle from './navigation-toggle';\nimport { store as editSiteStore } from '../../store';\n\nexport const {\n\tFill: NavigationPanelPreviewFill,\n\tSlot: NavigationPanelPreviewSlot,\n} = createSlotFill( 'EditSiteNavigationPanelPreview' );\n\nexport default function NavigationSidebar() {\n\tconst isNavigationOpen = useSelect( ( select ) => {\n\t\treturn select( editSiteStore ).isNavigationOpened();\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigationToggle isOpen={ isNavigationOpen } />\n\t\t\t<NavigationPanel isOpen={ isNavigationOpen } />\n\t\t\t<NavigationPanelPreviewSlot />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["useEffect","createSlotFill","useViewportMatch","useDispatch","store","editSiteStore","NavigationPanel","NavigationToggle","Fill","NavigationPanelPreviewFill","Slot","NavigationPanelPreviewSlot","NavigationSidebar","isDefaultOpen","activeTemplateType","isDesktopViewport","setIsNavigationPanelOpened"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AAEA,OAAO,MAAM;AACZC,EAAAA,IAAI,EAAEC,0BADM;AAEZC,EAAAA,IAAI,EAAEC;AAFM,IAGTV,cAAc,CAAE,gCAAF,CAHX;AAKP,eAAe,SAASW,iBAAT,OAGX;AAAA,MAHuC;AAC1CC,IAAAA,aAAa,GAAG,KAD0B;AAE1CC,IAAAA;AAF0C,GAGvC;AACH,QAAMC,iBAAiB,GAAGb,gBAAgB,CAAE,QAAF,CAA1C;AACA,QAAM;AAAEc,IAAAA;AAAF,MAAiCb,WAAW,CAAEE,aAAF,CAAlD;AAEAL,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA,QAAKa,aAAa,IAAIE,iBAAtB,EAA0C;AACzCC,MAAAA,0BAA0B,CAAE,IAAF,CAA1B;AACA,KAJe,CAMhB;;;AACA,QAAK,CAAED,iBAAP,EAA2B;AAC1BC,MAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA;AACD,GAVQ,EAUN,CAAEH,aAAF,EAAiBE,iBAAjB,EAAoCC,0BAApC,CAVM,CAAT;AAYA,SACC,8BACC,cAAC,gBAAD,OADD,EAEC,cAAC,eAAD;AAAiB,IAAA,UAAU,EAAGF;AAA9B,IAFD,EAGC,cAAC,0BAAD,OAHD,CADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { createSlotFill } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport NavigationPanel from './navigation-panel';\nimport NavigationToggle from './navigation-toggle';\n\nexport const {\n\tFill: NavigationPanelPreviewFill,\n\tSlot: NavigationPanelPreviewSlot,\n} = createSlotFill( 'EditSiteNavigationPanelPreview' );\n\nexport default function NavigationSidebar( {\n\tisDefaultOpen = false,\n\tactiveTemplateType,\n} ) {\n\tconst isDesktopViewport = useViewportMatch( 'medium' );\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\t// When transitioning to desktop open the navigation if `isDefaultOpen` is true.\n\t\tif ( isDefaultOpen && isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( true );\n\t\t}\n\n\t\t// When transitioning to mobile/tablet, close the navigation.\n\t\tif ( ! isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t}\n\t}, [ isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened ] );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigationToggle />\n\t\t\t<NavigationPanel activeItem={ activeTemplateType } />\n\t\t\t<NavigationPanelPreviewSlot />\n\t\t</>\n\t);\n}\n"]}
@@ -8,78 +8,51 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { __experimentalNavigation as Navigation, __experimentalNavigationBackButton as NavigationBackButton } from '@wordpress/components';
11
+ import { __experimentalNavigation as Navigation, __experimentalNavigationBackButton as NavigationBackButton, __experimentalNavigationGroup as NavigationGroup, __experimentalNavigationItem as NavigationItem, __experimentalNavigationMenu as NavigationMenu } from '@wordpress/components';
12
12
  import { store as coreDataStore } from '@wordpress/core-data';
13
13
  import { useSelect, useDispatch } from '@wordpress/data';
14
14
  import { useEffect, useRef } from '@wordpress/element';
15
15
  import { __ } from '@wordpress/i18n';
16
16
  import { ESCAPE } from '@wordpress/keycodes';
17
17
  import { decodeEntities } from '@wordpress/html-entities';
18
+ import { addQueryArgs } from '@wordpress/url';
19
+ import { home as siteIcon, layout as templateIcon, symbolFilled as templatePartIcon } from '@wordpress/icons';
18
20
  /**
19
21
  * Internal dependencies
20
22
  */
21
23
 
22
- import SiteMenu from './menus';
23
24
  import MainDashboardButton from '../../main-dashboard-button';
24
25
  import { store as editSiteStore } from '../../../store';
25
- import { MENU_ROOT } from './constants';
26
+ const SITE_EDITOR_KEY = 'site-editor';
26
27
 
27
28
  const NavigationPanel = _ref => {
28
29
  let {
29
- isOpen
30
+ activeItem = SITE_EDITOR_KEY
30
31
  } = _ref;
31
32
  const {
32
- page: {
33
- context: {
34
- postType,
35
- postId
36
- } = {}
37
- } = {},
38
- editedPostId,
39
- editedPostType,
40
- activeMenu,
33
+ isNavigationOpen,
41
34
  siteTitle
42
35
  } = useSelect(select => {
43
- const {
44
- getEditedPostType,
45
- getEditedPostId,
46
- getNavigationPanelActiveMenu,
47
- getPage
48
- } = select(editSiteStore);
49
36
  const {
50
37
  getEntityRecord
51
38
  } = select(coreDataStore);
52
39
  const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
53
40
  return {
54
- page: getPage(),
55
- editedPostId: getEditedPostId(),
56
- editedPostType: getEditedPostType(),
57
- activeMenu: getNavigationPanelActiveMenu(),
58
- siteTitle: siteData.name
41
+ siteTitle: siteData.name,
42
+ isNavigationOpen: select(editSiteStore).isNavigationOpened()
59
43
  };
60
44
  }, []);
61
45
  const {
62
- setNavigationPanelActiveMenu: setActive,
63
46
  setIsNavigationPanelOpened
64
- } = useDispatch(editSiteStore);
65
- let activeItem;
66
-
67
- if (activeMenu !== MENU_ROOT) {
68
- if (activeMenu.startsWith('content')) {
69
- activeItem = `${postType}-${postId}`;
70
- } else {
71
- activeItem = `${editedPostType}-${editedPostId}`;
72
- }
73
- } // Ensures focus is moved to the panel area when it is activated
47
+ } = useDispatch(editSiteStore); // Ensures focus is moved to the panel area when it is activated
74
48
  // from a separate component (such as document actions in the header).
75
49
 
76
-
77
50
  const panelRef = useRef();
78
51
  useEffect(() => {
79
- if (isOpen) {
52
+ if (isNavigationOpen) {
80
53
  panelRef.current.focus();
81
54
  }
82
- }, [activeMenu, isOpen]);
55
+ }, [activeItem, isNavigationOpen]);
83
56
 
84
57
  const closeOnEscape = event => {
85
58
  if (event.keyCode === ESCAPE && !event.defaultPrevented) {
@@ -91,7 +64,7 @@ const NavigationPanel = _ref => {
91
64
  return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
92
65
  createElement("div", {
93
66
  className: classnames(`edit-site-navigation-panel`, {
94
- 'is-open': isOpen
67
+ 'is-open': isNavigationOpen
95
68
  }),
96
69
  ref: panelRef,
97
70
  tabIndex: "-1",
@@ -105,14 +78,38 @@ const NavigationPanel = _ref => {
105
78
  }, decodeEntities(siteTitle))), createElement("div", {
106
79
  className: "edit-site-navigation-panel__scroll-container"
107
80
  }, createElement(Navigation, {
108
- activeItem: activeItem,
109
- activeMenu: activeMenu,
110
- onActivateMenu: setActive
111
- }, activeMenu === MENU_ROOT && createElement(MainDashboardButton.Slot, null, createElement(NavigationBackButton, {
81
+ activeItem: activeItem
82
+ }, createElement(MainDashboardButton.Slot, null, createElement(NavigationBackButton, {
112
83
  backButtonLabel: __('Dashboard'),
113
84
  className: "edit-site-navigation-panel__back-to-dashboard",
114
85
  href: "index.php"
115
- })), createElement(SiteMenu, null)))))
86
+ })), createElement(NavigationMenu, null, createElement(NavigationGroup, {
87
+ title: __('Editor')
88
+ }, createElement(NavigationItem, {
89
+ icon: siteIcon,
90
+ title: __('Site'),
91
+ item: SITE_EDITOR_KEY,
92
+ href: addQueryArgs(window.location.href, {
93
+ postId: undefined,
94
+ postType: undefined
95
+ })
96
+ }), createElement(NavigationItem, {
97
+ icon: templateIcon,
98
+ title: __('Templates'),
99
+ item: "wp_template",
100
+ href: addQueryArgs(window.location.href, {
101
+ postId: undefined,
102
+ postType: 'wp_template'
103
+ })
104
+ }), createElement(NavigationItem, {
105
+ icon: templatePartIcon,
106
+ title: __('Template Parts'),
107
+ item: "wp_template_part",
108
+ href: addQueryArgs(window.location.href, {
109
+ postId: undefined,
110
+ postType: 'wp_template_part'
111
+ })
112
+ })))))))
116
113
  );
117
114
  };
118
115
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/index.js"],"names":["classnames","__experimentalNavigation","Navigation","__experimentalNavigationBackButton","NavigationBackButton","store","coreDataStore","useSelect","useDispatch","useEffect","useRef","__","ESCAPE","decodeEntities","SiteMenu","MainDashboardButton","editSiteStore","MENU_ROOT","NavigationPanel","isOpen","page","context","postType","postId","editedPostId","editedPostType","activeMenu","siteTitle","select","getEditedPostType","getEditedPostId","getNavigationPanelActiveMenu","getPage","getEntityRecord","siteData","undefined","name","setNavigationPanelActiveMenu","setActive","setIsNavigationPanelOpened","activeItem","startsWith","panelRef","current","focus","closeOnEscape","event","keyCode","defaultPrevented","preventDefault"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigation as Navigation,\n\t__experimentalNavigationBackButton as NavigationBackButton,\n} from '@wordpress/components';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport SiteMenu from './menus';\nimport MainDashboardButton from '../../main-dashboard-button';\nimport { store as editSiteStore } from '../../../store';\nimport { MENU_ROOT } from './constants';\n\nconst NavigationPanel = ( { isOpen } ) => {\n\tconst {\n\t\tpage: { context: { postType, postId } = {} } = {},\n\t\teditedPostId,\n\t\teditedPostType,\n\t\tactiveMenu,\n\t\tsiteTitle,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetNavigationPanelActiveMenu,\n\t\t\tgetPage,\n\t\t} = select( editSiteStore );\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\n\t\tconst siteData =\n\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\treturn {\n\t\t\tpage: getPage(),\n\t\t\teditedPostId: getEditedPostId(),\n\t\t\teditedPostType: getEditedPostType(),\n\t\t\tactiveMenu: getNavigationPanelActiveMenu(),\n\t\t\tsiteTitle: siteData.name,\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\tsetNavigationPanelActiveMenu: setActive,\n\t\tsetIsNavigationPanelOpened,\n\t} = useDispatch( editSiteStore );\n\n\tlet activeItem;\n\tif ( activeMenu !== MENU_ROOT ) {\n\t\tif ( activeMenu.startsWith( 'content' ) ) {\n\t\t\tactiveItem = `${ postType }-${ postId }`;\n\t\t} else {\n\t\t\tactiveItem = `${ editedPostType }-${ editedPostId }`;\n\t\t}\n\t}\n\n\t// Ensures focus is moved to the panel area when it is activated\n\t// from a separate component (such as document actions in the header).\n\tconst panelRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isOpen ) {\n\t\t\tpanelRef.current.focus();\n\t\t}\n\t}, [ activeMenu, isOpen ] );\n\n\tconst closeOnEscape = ( event ) => {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t}\n\t};\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName={ classnames( `edit-site-navigation-panel`, {\n\t\t\t\t'is-open': isOpen,\n\t\t\t} ) }\n\t\t\tref={ panelRef }\n\t\t\ttabIndex=\"-1\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div className=\"edit-site-navigation-panel__inner\">\n\t\t\t\t<div className=\"edit-site-navigation-panel__site-title-container\">\n\t\t\t\t\t<div className=\"edit-site-navigation-panel__site-title\">\n\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"edit-site-navigation-panel__scroll-container\">\n\t\t\t\t\t<Navigation\n\t\t\t\t\t\tactiveItem={ activeItem }\n\t\t\t\t\t\tactiveMenu={ activeMenu }\n\t\t\t\t\t\tonActivateMenu={ setActive }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ activeMenu === MENU_ROOT && (\n\t\t\t\t\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t\t\t\t\t<NavigationBackButton\n\t\t\t\t\t\t\t\t\tbackButtonLabel={ __( 'Dashboard' ) }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-navigation-panel__back-to-dashboard\"\n\t\t\t\t\t\t\t\t\thref=\"index.php\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</MainDashboardButton.Slot>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<SiteMenu />\n\t\t\t\t\t</Navigation>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default NavigationPanel;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/index.js"],"names":["classnames","__experimentalNavigation","Navigation","__experimentalNavigationBackButton","NavigationBackButton","__experimentalNavigationGroup","NavigationGroup","__experimentalNavigationItem","NavigationItem","__experimentalNavigationMenu","NavigationMenu","store","coreDataStore","useSelect","useDispatch","useEffect","useRef","__","ESCAPE","decodeEntities","addQueryArgs","home","siteIcon","layout","templateIcon","symbolFilled","templatePartIcon","MainDashboardButton","editSiteStore","SITE_EDITOR_KEY","NavigationPanel","activeItem","isNavigationOpen","siteTitle","select","getEntityRecord","siteData","undefined","name","isNavigationOpened","setIsNavigationPanelOpened","panelRef","current","focus","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","window","location","href","postId","postType"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigation as Navigation,\n\t__experimentalNavigationBackButton as NavigationBackButton,\n\t__experimentalNavigationGroup as NavigationGroup,\n\t__experimentalNavigationItem as NavigationItem,\n\t__experimentalNavigationMenu as NavigationMenu,\n} from '@wordpress/components';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\nimport {\n\thome as siteIcon,\n\tlayout as templateIcon,\n\tsymbolFilled as templatePartIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MainDashboardButton from '../../main-dashboard-button';\nimport { store as editSiteStore } from '../../../store';\n\nconst SITE_EDITOR_KEY = 'site-editor';\n\nconst NavigationPanel = ( { activeItem = SITE_EDITOR_KEY } ) => {\n\tconst { isNavigationOpen, siteTitle } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\n\t\tconst siteData =\n\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\treturn {\n\t\t\tsiteTitle: siteData.name,\n\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\t// Ensures focus is moved to the panel area when it is activated\n\t// from a separate component (such as document actions in the header).\n\tconst panelRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tpanelRef.current.focus();\n\t\t}\n\t}, [ activeItem, isNavigationOpen ] );\n\n\tconst closeOnEscape = ( event ) => {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t}\n\t};\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName={ classnames( `edit-site-navigation-panel`, {\n\t\t\t\t'is-open': isNavigationOpen,\n\t\t\t} ) }\n\t\t\tref={ panelRef }\n\t\t\ttabIndex=\"-1\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div className=\"edit-site-navigation-panel__inner\">\n\t\t\t\t<div className=\"edit-site-navigation-panel__site-title-container\">\n\t\t\t\t\t<div className=\"edit-site-navigation-panel__site-title\">\n\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"edit-site-navigation-panel__scroll-container\">\n\t\t\t\t\t<Navigation activeItem={ activeItem }>\n\t\t\t\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t\t\t\t<NavigationBackButton\n\t\t\t\t\t\t\t\tbackButtonLabel={ __( 'Dashboard' ) }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-navigation-panel__back-to-dashboard\"\n\t\t\t\t\t\t\t\thref=\"index.php\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MainDashboardButton.Slot>\n\n\t\t\t\t\t\t<NavigationMenu>\n\t\t\t\t\t\t\t<NavigationGroup title={ __( 'Editor' ) }>\n\t\t\t\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\t\t\t\ticon={ siteIcon }\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Site' ) }\n\t\t\t\t\t\t\t\t\titem={ SITE_EDITOR_KEY }\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: undefined,\n\t\t\t\t\t\t\t\t\t\tpostType: undefined,\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<NavigationItem\n\t\t\t\t\t\t\t\t\ticon={ templateIcon }\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Templates' ) }\n\t\t\t\t\t\t\t\t\titem=\"wp_template\"\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: undefined,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template',\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<NavigationItem\n\t\t\t\t\t\t\t\t\ticon={ templatePartIcon }\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\t\t\t\t\t\t\titem=\"wp_template_part\"\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: undefined,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\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</NavigationGroup>\n\t\t\t\t\t\t</NavigationMenu>\n\t\t\t\t\t</Navigation>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default NavigationPanel;\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { useSelect, useDispatch } from '@wordpress/data';
7
7
  import { Button, Icon, __unstableMotion as motion } from '@wordpress/components';
8
8
  import { __ } from '@wordpress/i18n';
9
9
  import { wordpress } from '@wordpress/icons';
@@ -17,42 +17,30 @@ import { store as editSiteStore } from '../../../store';
17
17
 
18
18
  function NavigationToggle(_ref) {
19
19
  let {
20
- icon,
21
- isOpen
20
+ icon
22
21
  } = _ref;
23
22
  const {
23
+ isNavigationOpen,
24
24
  isRequestingSiteIcon,
25
- navigationPanelMenu,
26
25
  siteIconUrl
27
26
  } = useSelect(select => {
28
- const {
29
- getCurrentTemplateNavigationPanelSubMenu
30
- } = select(editSiteStore);
31
27
  const {
32
28
  getEntityRecord,
33
29
  isResolving
34
30
  } = select(coreDataStore);
35
31
  const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
36
32
  return {
33
+ isNavigationOpen: select(editSiteStore).isNavigationOpened(),
37
34
  isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
38
- navigationPanelMenu: getCurrentTemplateNavigationPanelSubMenu(),
39
35
  siteIconUrl: siteData.site_icon_url
40
36
  };
41
37
  }, []);
42
38
  const {
43
- openNavigationPanelToMenu,
44
39
  setIsNavigationPanelOpened
45
40
  } = useDispatch(editSiteStore);
46
41
  const disableMotion = useReducedMotion();
47
42
 
48
- const toggleNavigationPanel = () => {
49
- if (isOpen) {
50
- setIsNavigationPanelOpened(false);
51
- return;
52
- }
53
-
54
- openNavigationPanelToMenu(navigationPanelMenu);
55
- };
43
+ const toggleNavigationPanel = () => setIsNavigationPanelOpened(!isNavigationOpen);
56
44
 
57
45
  let buttonIcon = createElement(Icon, {
58
46
  size: "36px",
@@ -86,7 +74,7 @@ function NavigationToggle(_ref) {
86
74
  }
87
75
 
88
76
  return createElement(motion.div, {
89
- className: 'edit-site-navigation-toggle' + (isOpen ? ' is-open' : ''),
77
+ className: 'edit-site-navigation-toggle' + (isNavigationOpen ? ' is-open' : ''),
90
78
  whileHover: "expand"
91
79
  }, createElement(Button, {
92
80
  className: "edit-site-navigation-toggle__button has-icon",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["useDispatch","useSelect","Button","Icon","__unstableMotion","motion","__","wordpress","store","coreDataStore","useReducedMotion","editSiteStore","NavigationToggle","icon","isOpen","isRequestingSiteIcon","navigationPanelMenu","siteIconUrl","select","getCurrentTemplateNavigationPanelSubMenu","getEntityRecord","isResolving","siteData","undefined","site_icon_url","openNavigationPanelToMenu","setIsNavigationPanelOpened","disableMotion","toggleNavigationPanel","buttonIcon","effect","expand","scale","borderRadius","transition","type","duration"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SACCC,MADD,EAECC,IAFD,EAGCC,gBAAgB,IAAIC,MAHrB,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,sBAAvC;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;;AAEA,SAASC,gBAAT,OAA8C;AAAA,MAAnB;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAmB;AAC7C,QAAM;AACLC,IAAAA,oBADK;AAELC,IAAAA,mBAFK;AAGLC,IAAAA;AAHK,MAIFhB,SAAS,CAAIiB,MAAF,IAAc;AAC5B,UAAM;AAAEC,MAAAA;AAAF,QAA+CD,MAAM,CAC1DP,aAD0D,CAA3D;AAGA,UAAM;AAAES,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAmCH,MAAM,CAAET,aAAF,CAA/C;AACA,UAAMa,QAAQ,GACbF,eAAe,CAAE,MAAF,EAAU,gBAAV,EAA4BG,SAA5B,CAAf,IAA0D,EAD3D;AAGA,WAAO;AACNR,MAAAA,oBAAoB,EAAEM,WAAW,CAAE,MAAF,EAAU,iBAAV,EAA6B,CAC7D,MAD6D,EAE7D,gBAF6D,EAG7DE,SAH6D,CAA7B,CAD3B;AAMNP,MAAAA,mBAAmB,EAAEG,wCAAwC,EANvD;AAONF,MAAAA,WAAW,EAAEK,QAAQ,CAACE;AAPhB,KAAP;AASA,GAjBY,EAiBV,EAjBU,CAJb;AAuBA,QAAM;AACLC,IAAAA,yBADK;AAELC,IAAAA;AAFK,MAGF1B,WAAW,CAAEW,aAAF,CAHf;AAKA,QAAMgB,aAAa,GAAGjB,gBAAgB,EAAtC;;AAEA,QAAMkB,qBAAqB,GAAG,MAAM;AACnC,QAAKd,MAAL,EAAc;AACbY,MAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA;AACA;;AACDD,IAAAA,yBAAyB,CAAET,mBAAF,CAAzB;AACA,GAND;;AAQA,MAAIa,UAAU,GAAG,cAAC,IAAD;AAAM,IAAA,IAAI,EAAC,MAAX;AAAkB,IAAA,IAAI,EAAGtB;AAAzB,IAAjB;AAEA,QAAMuB,MAAM,GAAG;AACdC,IAAAA,MAAM,EAAE;AACPC,MAAAA,KAAK,EAAE,GADA;AAEPC,MAAAA,YAAY,EAAE,CAFP;AAGPC,MAAAA,UAAU,EAAE;AAAEC,QAAAA,IAAI,EAAE,OAAR;AAAiBC,QAAAA,QAAQ,EAAE;AAA3B;AAHL;AADM,GAAf;;AAQA,MAAKnB,WAAL,EAAmB;AAClBY,IAAAA,UAAU,GACT,cAAC,MAAD,CAAQ,GAAR;AACC,MAAA,QAAQ,EAAG,CAAEF,aAAF,IAAmBG,MAD/B;AAEC,MAAA,GAAG,EAAGxB,EAAE,CAAE,WAAF,CAFT;AAGC,MAAA,SAAS,EAAC,wCAHX;AAIC,MAAA,GAAG,EAAGW;AAJP,MADD;AAQA,GATD,MASO,IAAKF,oBAAL,EAA4B;AAClCc,IAAAA,UAAU,GAAG,IAAb;AACA,GAFM,MAEA,IAAKhB,IAAL,EAAY;AAClBgB,IAAAA,UAAU,GAAG,cAAC,IAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,IAAI,EAAGhB;AAAzB,MAAb;AACA;;AAED,SACC,cAAC,MAAD,CAAQ,GAAR;AACC,IAAA,SAAS,EACR,iCAAkCC,MAAM,GAAG,UAAH,GAAgB,EAAxD,CAFF;AAIC,IAAA,UAAU,EAAC;AAJZ,KAMC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,8CADX;AAEC,IAAA,KAAK,EAAGR,EAAE,CAAE,mBAAF,CAFX;AAGC,IAAA,OAAO,EAAGsB,qBAHX;AAIC,IAAA,WAAW;AAJZ,KAMGC,UANH,CAND,CADD;AAiBA;;AAED,eAAejB,gBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tIcon,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { wordpress } from '@wordpress/icons';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction NavigationToggle( { icon, isOpen } ) {\n\tconst {\n\t\tisRequestingSiteIcon,\n\t\tnavigationPanelMenu,\n\t\tsiteIconUrl,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentTemplateNavigationPanelSubMenu } = select(\n\t\t\teditSiteStore\n\t\t);\n\t\tconst { getEntityRecord, isResolving } = select( coreDataStore );\n\t\tconst siteData =\n\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\treturn {\n\t\t\tisRequestingSiteIcon: isResolving( 'core', 'getEntityRecord', [\n\t\t\t\t'root',\n\t\t\t\t'__unstableBase',\n\t\t\t\tundefined,\n\t\t\t] ),\n\t\t\tnavigationPanelMenu: getCurrentTemplateNavigationPanelSubMenu(),\n\t\t\tsiteIconUrl: siteData.site_icon_url,\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\topenNavigationPanelToMenu,\n\t\tsetIsNavigationPanelOpened,\n\t} = useDispatch( editSiteStore );\n\n\tconst disableMotion = useReducedMotion();\n\n\tconst toggleNavigationPanel = () => {\n\t\tif ( isOpen ) {\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t\treturn;\n\t\t}\n\t\topenNavigationPanelToMenu( navigationPanelMenu );\n\t};\n\n\tlet buttonIcon = <Icon size=\"36px\" icon={ wordpress } />;\n\n\tconst effect = {\n\t\texpand: {\n\t\t\tscale: 1.7,\n\t\t\tborderRadius: 0,\n\t\t\ttransition: { type: 'tween', duration: '0.2' },\n\t\t},\n\t};\n\n\tif ( siteIconUrl ) {\n\t\tbuttonIcon = (\n\t\t\t<motion.img\n\t\t\t\tvariants={ ! disableMotion && effect }\n\t\t\t\talt={ __( 'Site Icon' ) }\n\t\t\t\tclassName=\"edit-site-navigation-toggle__site-icon\"\n\t\t\t\tsrc={ siteIconUrl }\n\t\t\t/>\n\t\t);\n\t} else if ( isRequestingSiteIcon ) {\n\t\tbuttonIcon = null;\n\t} else if ( icon ) {\n\t\tbuttonIcon = <Icon size=\"36px\" icon={ icon } />;\n\t}\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName={\n\t\t\t\t'edit-site-navigation-toggle' + ( isOpen ? ' is-open' : '' )\n\t\t\t}\n\t\t\twhileHover=\"expand\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-navigation-toggle__button has-icon\"\n\t\t\t\tlabel={ __( 'Toggle navigation' ) }\n\t\t\t\tonClick={ toggleNavigationPanel }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ buttonIcon }\n\t\t\t</Button>\n\t\t</motion.div>\n\t);\n}\n\nexport default NavigationToggle;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-toggle/index.js"],"names":["useSelect","useDispatch","Button","Icon","__unstableMotion","motion","__","wordpress","store","coreDataStore","useReducedMotion","editSiteStore","NavigationToggle","icon","isNavigationOpen","isRequestingSiteIcon","siteIconUrl","select","getEntityRecord","isResolving","siteData","undefined","isNavigationOpened","site_icon_url","setIsNavigationPanelOpened","disableMotion","toggleNavigationPanel","buttonIcon","effect","expand","scale","borderRadius","transition","type","duration"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tIcon,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { wordpress } from '@wordpress/icons';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction NavigationToggle( { icon } ) {\n\tconst { isNavigationOpen, isRequestingSiteIcon, siteIconUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, isResolving } = select( coreDataStore );\n\t\t\tconst siteData =\n\t\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\t\treturn {\n\t\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t\t\tisRequestingSiteIcon: isResolving( 'core', 'getEntityRecord', [\n\t\t\t\t\t'root',\n\t\t\t\t\t'__unstableBase',\n\t\t\t\t\tundefined,\n\t\t\t\t] ),\n\t\t\t\tsiteIconUrl: siteData.site_icon_url,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tconst disableMotion = useReducedMotion();\n\n\tconst toggleNavigationPanel = () =>\n\t\tsetIsNavigationPanelOpened( ! isNavigationOpen );\n\n\tlet buttonIcon = <Icon size=\"36px\" icon={ wordpress } />;\n\n\tconst effect = {\n\t\texpand: {\n\t\t\tscale: 1.7,\n\t\t\tborderRadius: 0,\n\t\t\ttransition: { type: 'tween', duration: '0.2' },\n\t\t},\n\t};\n\n\tif ( siteIconUrl ) {\n\t\tbuttonIcon = (\n\t\t\t<motion.img\n\t\t\t\tvariants={ ! disableMotion && effect }\n\t\t\t\talt={ __( 'Site Icon' ) }\n\t\t\t\tclassName=\"edit-site-navigation-toggle__site-icon\"\n\t\t\t\tsrc={ siteIconUrl }\n\t\t\t/>\n\t\t);\n\t} else if ( isRequestingSiteIcon ) {\n\t\tbuttonIcon = null;\n\t} else if ( icon ) {\n\t\tbuttonIcon = <Icon size=\"36px\" icon={ icon } />;\n\t}\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName={\n\t\t\t\t'edit-site-navigation-toggle' +\n\t\t\t\t( isNavigationOpen ? ' is-open' : '' )\n\t\t\t}\n\t\t\twhileHover=\"expand\"\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-navigation-toggle__button has-icon\"\n\t\t\t\tlabel={ __( 'Toggle navigation' ) }\n\t\t\t\tonClick={ toggleNavigationPanel }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ buttonIcon }\n\t\t\t</Button>\n\t\t</motion.div>\n\t);\n}\n\nexport default NavigationToggle;\n"]}
@@ -76,9 +76,10 @@ export default function TemplateDetails(_ref) {
76
76
  onClick: revert
77
77
  }, __('Clear customizations'))), createElement(Button, {
78
78
  className: "edit-site-template-details__show-all-button",
79
- href: addQueryArgs('edit.php', {
79
+ href: addQueryArgs(window.location.href, {
80
80
  // TODO: We should update this to filter by template part's areas as well.
81
- post_type: template.type
81
+ postId: undefined,
82
+ postType: template.type
82
83
  })
83
84
  }, sprintf(
84
85
  /* translators: the template part's area name ("Headers", "Sidebars") or "templates". */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/template-details/index.js"],"names":["useMemo","sprintf","__","Button","MenuGroup","MenuItem","__experimentalHeading","Heading","__experimentalText","Text","useDispatch","useSelect","store","editorStore","addQueryArgs","isTemplateRevertable","MENU_TEMPLATES","TEMPLATE_PARTS_SUB_MENUS","editSiteStore","TemplateAreas","TemplateDetails","template","onClose","title","description","select","__experimentalGetTemplateInfo","revertTemplate","templateSubMenu","type","menu","find","area","revert","post_type"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport {\n\tMENU_TEMPLATES,\n\tTEMPLATE_PARTS_SUB_MENUS,\n} from '../navigation-sidebar/navigation-panel/constants';\nimport { store as editSiteStore } from '../../store';\nimport TemplateAreas from './template-areas';\n\nexport default function TemplateDetails( { template, onClose } ) {\n\tconst { title, description } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetTemplateInfo( template ),\n\t\t[]\n\t);\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\n\tconst templateSubMenu = useMemo( () => {\n\t\tif ( template?.type === 'wp_template' ) {\n\t\t\treturn { title: __( 'templates' ), menu: MENU_TEMPLATES };\n\t\t}\n\n\t\treturn TEMPLATE_PARTS_SUB_MENUS.find(\n\t\t\t( { area } ) => area === template?.area\n\t\t);\n\t}, [ template ] );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\tconst revert = () => {\n\t\trevertTemplate( template );\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<div className=\"edit-site-template-details\">\n\t\t\t<div className=\"edit-site-template-details__group\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 4 }\n\t\t\t\t\tweight={ 600 }\n\t\t\t\t\tclassName=\"edit-site-template-details__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\tclassName=\"edit-site-template-details__description\"\n\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t<TemplateAreas closeTemplateDetailsDropdown={ onClose } />\n\n\t\t\t{ isTemplateRevertable( template ) && (\n\t\t\t\t<MenuGroup className=\"edit-site-template-details__group edit-site-template-details__revert\">\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tclassName=\"edit-site-template-details__revert-button\"\n\t\t\t\t\t\tinfo={ __( 'Restore template to theme default' ) }\n\t\t\t\t\t\tonClick={ revert }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear customizations' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-template-details__show-all-button\"\n\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t// TODO: We should update this to filter by template part's areas as well.\n\t\t\t\t\tpost_type: template.type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: the template part's area name (\"Headers\", \"Sidebars\") or \"templates\". */\n\t\t\t\t\t__( 'Browse all %s' ),\n\t\t\t\t\ttemplateSubMenu.title\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/template-details/index.js"],"names":["useMemo","sprintf","__","Button","MenuGroup","MenuItem","__experimentalHeading","Heading","__experimentalText","Text","useDispatch","useSelect","store","editorStore","addQueryArgs","isTemplateRevertable","MENU_TEMPLATES","TEMPLATE_PARTS_SUB_MENUS","editSiteStore","TemplateAreas","TemplateDetails","template","onClose","title","description","select","__experimentalGetTemplateInfo","revertTemplate","templateSubMenu","type","menu","find","area","revert","window","location","href","postId","undefined","postType"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport {\n\tMENU_TEMPLATES,\n\tTEMPLATE_PARTS_SUB_MENUS,\n} from '../navigation-sidebar/navigation-panel/constants';\nimport { store as editSiteStore } from '../../store';\nimport TemplateAreas from './template-areas';\n\nexport default function TemplateDetails( { template, onClose } ) {\n\tconst { title, description } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetTemplateInfo( template ),\n\t\t[]\n\t);\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\n\tconst templateSubMenu = useMemo( () => {\n\t\tif ( template?.type === 'wp_template' ) {\n\t\t\treturn { title: __( 'templates' ), menu: MENU_TEMPLATES };\n\t\t}\n\n\t\treturn TEMPLATE_PARTS_SUB_MENUS.find(\n\t\t\t( { area } ) => area === template?.area\n\t\t);\n\t}, [ template ] );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\tconst revert = () => {\n\t\trevertTemplate( template );\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<div className=\"edit-site-template-details\">\n\t\t\t<div className=\"edit-site-template-details__group\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 4 }\n\t\t\t\t\tweight={ 600 }\n\t\t\t\t\tclassName=\"edit-site-template-details__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\tclassName=\"edit-site-template-details__description\"\n\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t<TemplateAreas closeTemplateDetailsDropdown={ onClose } />\n\n\t\t\t{ isTemplateRevertable( template ) && (\n\t\t\t\t<MenuGroup className=\"edit-site-template-details__group edit-site-template-details__revert\">\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tclassName=\"edit-site-template-details__revert-button\"\n\t\t\t\t\t\tinfo={ __( 'Restore template to theme default' ) }\n\t\t\t\t\t\tonClick={ revert }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear customizations' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-template-details__show-all-button\"\n\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t// TODO: We should update this to filter by template part's areas as well.\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t\tpostType: template.type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: the template part's area name (\"Headers\", \"Sidebars\") or \"templates\". */\n\t\t\t\t\t__( 'Browse all %s' ),\n\t\t\t\t\ttemplateSubMenu.title\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"]}
@@ -8,30 +8,25 @@ import { kebabCase } from 'lodash';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { useDispatch, useSelect } from '@wordpress/data';
11
+ import { useDispatch } from '@wordpress/data';
12
12
  import { BlockSettingsMenuControls, store as blockEditorStore } from '@wordpress/block-editor';
13
- import { MenuItem, Icon, BaseControl, TextControl, Flex, FlexItem, FlexBlock, Button, Modal, __experimentalRadioGroup as RadioGroup, __experimentalRadio as Radio } from '@wordpress/components';
14
- import { useInstanceId } from '@wordpress/compose';
13
+ import { MenuItem } from '@wordpress/components';
15
14
  import { createBlock, serialize } from '@wordpress/blocks';
16
15
  import { __ } from '@wordpress/i18n';
17
16
  import { useState } from '@wordpress/element';
18
17
  import { store as coreStore } from '@wordpress/core-data';
19
18
  import { store as noticesStore } from '@wordpress/notices';
20
- import { store as editorStore } from '@wordpress/editor';
21
- import { check } from '@wordpress/icons';
22
19
  /**
23
20
  * Internal dependencies
24
21
  */
25
22
 
26
- import { TEMPLATE_PART_AREA_GENERAL } from '../../store/constants';
23
+ import CreateTemplatePartModal from '../create-template-part-modal';
27
24
  export default function ConvertToTemplatePart(_ref) {
28
25
  let {
29
26
  clientIds,
30
27
  blocks
31
28
  } = _ref;
32
- const instanceId = useInstanceId(ConvertToTemplatePart);
33
29
  const [isModalOpen, setIsModalOpen] = useState(false);
34
- const [title, setTitle] = useState('');
35
30
  const {
36
31
  replaceBlocks
37
32
  } = useDispatch(blockEditorStore);
@@ -41,15 +36,15 @@ export default function ConvertToTemplatePart(_ref) {
41
36
  const {
42
37
  createSuccessNotice
43
38
  } = useDispatch(noticesStore);
44
- const [area, setArea] = useState(TEMPLATE_PART_AREA_GENERAL);
45
- const templatePartAreas = useSelect(select => select(editorStore).__experimentalGetDefaultTemplatePartAreas(), []);
46
-
47
- const onConvert = async templatePartTitle => {
48
- const defaultTitle = __('Untitled Template Part');
49
39
 
40
+ const onConvert = async _ref2 => {
41
+ let {
42
+ title,
43
+ area
44
+ } = _ref2;
50
45
  const templatePart = await saveEntityRecord('postType', 'wp_template_part', {
51
- slug: kebabCase(templatePartTitle || defaultTitle),
52
- title: templatePartTitle || defaultTitle,
46
+ slug: kebabCase(title),
47
+ title,
53
48
  content: serialize(blocks),
54
49
  area
55
50
  });
@@ -62,80 +57,21 @@ export default function ConvertToTemplatePart(_ref) {
62
57
  });
63
58
  };
64
59
 
65
- return createElement(BlockSettingsMenuControls, null, _ref2 => {
60
+ return createElement(Fragment, null, createElement(BlockSettingsMenuControls, null, _ref3 => {
66
61
  let {
67
62
  onClose
68
- } = _ref2;
69
- return createElement(Fragment, null, createElement(MenuItem, {
63
+ } = _ref3;
64
+ return createElement(MenuItem, {
70
65
  onClick: () => {
71
66
  setIsModalOpen(true);
72
- }
73
- }, __('Make template part')), isModalOpen && createElement(Modal, {
74
- title: __('Create a template part'),
75
- closeLabel: __('Close'),
76
- onRequestClose: () => {
77
- setIsModalOpen(false);
78
- setTitle('');
79
- },
80
- overlayClassName: "edit-site-template-part-converter__modal"
81
- }, createElement("form", {
82
- onSubmit: event => {
83
- event.preventDefault();
84
- onConvert(title);
85
- setIsModalOpen(false);
86
- setTitle('');
87
67
  onClose();
88
68
  }
89
- }, createElement(TextControl, {
90
- label: __('Name'),
91
- value: title,
92
- onChange: setTitle
93
- }), createElement(BaseControl, {
94
- label: __('Area'),
95
- id: `edit-site-template-part-converter__area-selection-${instanceId}`,
96
- className: "edit-site-template-part-converter__area-base-control"
97
- }, createElement(RadioGroup, {
98
- label: __('Area'),
99
- className: "edit-site-template-part-converter__area-radio-group",
100
- id: `edit-site-template-part-converter__area-selection-${instanceId}`,
101
- onChange: setArea,
102
- checked: area
103
- }, templatePartAreas.map(_ref3 => {
104
- let {
105
- icon,
106
- label,
107
- area: value,
108
- description
109
- } = _ref3;
110
- return createElement(Radio, {
111
- key: label,
112
- value: value,
113
- className: "edit-site-template-part-converter__area-radio"
114
- }, createElement(Flex, {
115
- align: "start",
116
- justify: "start"
117
- }, createElement(FlexItem, null, createElement(Icon, {
118
- icon: icon
119
- })), createElement(FlexBlock, {
120
- className: "edit-site-template-part-converter__option-label"
121
- }, label, createElement("div", null, description)), createElement(FlexItem, {
122
- className: "edit-site-template-part-converter__checkbox"
123
- }, area === value && createElement(Icon, {
124
- icon: check
125
- }))));
126
- }))), createElement(Flex, {
127
- className: "edit-site-template-part-converter__convert-modal-actions",
128
- justify: "flex-end"
129
- }, createElement(FlexItem, null, createElement(Button, {
130
- variant: "secondary",
131
- onClick: () => {
132
- setIsModalOpen(false);
133
- setTitle('');
134
- }
135
- }, __('Cancel'))), createElement(FlexItem, null, createElement(Button, {
136
- variant: "primary",
137
- type: "submit"
138
- }, __('Create')))))));
139
- });
69
+ }, __('Make template part'));
70
+ }), isModalOpen && createElement(CreateTemplatePartModal, {
71
+ closeModal: () => {
72
+ setIsModalOpen(false);
73
+ },
74
+ onCreate: onConvert
75
+ }));
140
76
  }
141
77
  //# sourceMappingURL=convert-to-template-part.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/template-part-converter/convert-to-template-part.js"],"names":["kebabCase","useDispatch","useSelect","BlockSettingsMenuControls","store","blockEditorStore","MenuItem","Icon","BaseControl","TextControl","Flex","FlexItem","FlexBlock","Button","Modal","__experimentalRadioGroup","RadioGroup","__experimentalRadio","Radio","useInstanceId","createBlock","serialize","__","useState","coreStore","noticesStore","editorStore","check","TEMPLATE_PART_AREA_GENERAL","ConvertToTemplatePart","clientIds","blocks","instanceId","isModalOpen","setIsModalOpen","title","setTitle","replaceBlocks","saveEntityRecord","createSuccessNotice","area","setArea","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","onConvert","templatePartTitle","defaultTitle","templatePart","slug","content","theme","type","onClose","event","preventDefault","map","icon","label","value","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tMenuItem,\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 { useInstanceId } from '@wordpress/compose';\nimport { createBlock, serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\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 ConvertToTemplatePart( { clientIds, blocks } ) {\n\tconst instanceId = useInstanceId( ConvertToTemplatePart );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_GENERAL );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tconst onConvert = async ( templatePartTitle ) => {\n\t\tconst defaultTitle = __( 'Untitled Template Part' );\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{\n\t\t\t\tslug: kebabCase( templatePartTitle || defaultTitle ),\n\t\t\t\ttitle: templatePartTitle || defaultTitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tarea,\n\t\t\t}\n\t\t);\n\t\treplaceBlocks(\n\t\t\tclientIds,\n\t\t\tcreateBlock( 'core/template-part', {\n\t\t\t\tslug: templatePart.slug,\n\t\t\t\ttheme: templatePart.theme,\n\t\t\t} )\n\t\t);\n\t\tcreateSuccessNotice( __( 'Template part created.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Make template part' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t\t<Modal\n\t\t\t\t\t\t\ttitle={ __( 'Create a template part' ) }\n\t\t\t\t\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toverlayClassName=\"edit-site-template-part-converter__modal\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<form\n\t\t\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tonConvert( title );\n\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<BaseControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\t\t\tid={ `edit-site-template-part-converter__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__area-base-control\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__area-radio-group\"\n\t\t\t\t\t\t\t\t\t\tid={ `edit-site-template-part-converter__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__area-radio\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-template-part-converter__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-template-part-converter__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ area ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-template-part-converter__convert-modal-actions\"\n\t\t\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</Modal>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</BlockSettingsMenuControls>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/template-part-converter/convert-to-template-part.js"],"names":["kebabCase","useDispatch","BlockSettingsMenuControls","store","blockEditorStore","MenuItem","createBlock","serialize","__","useState","coreStore","noticesStore","CreateTemplatePartModal","ConvertToTemplatePart","clientIds","blocks","isModalOpen","setIsModalOpen","replaceBlocks","saveEntityRecord","createSuccessNotice","onConvert","title","area","templatePart","slug","content","theme","type","onClose"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SACCC,yBADD,EAECC,KAAK,IAAIC,gBAFV,QAGO,yBAHP;AAIA,SAASC,QAAT,QAAyB,uBAAzB;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,mBAAvC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASN,KAAK,IAAIO,SAAlB,QAAmC,sBAAnC;AACA,SAASP,KAAK,IAAIQ,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEA,eAAe,SAASC,qBAAT,OAAwD;AAAA,MAAxB;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,GAAwB;AACtE,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCR,QAAQ,CAAE,KAAF,CAAhD;AACA,QAAM;AAAES,IAAAA;AAAF,MAAoBjB,WAAW,CAAEG,gBAAF,CAArC;AACA,QAAM;AAAEe,IAAAA;AAAF,MAAuBlB,WAAW,CAAES,SAAF,CAAxC;AACA,QAAM;AAAEU,IAAAA;AAAF,MAA0BnB,WAAW,CAAEU,YAAF,CAA3C;;AAEA,QAAMU,SAAS,GAAG,eAA6B;AAAA,QAArB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAqB;AAC9C,UAAMC,YAAY,GAAG,MAAML,gBAAgB,CAC1C,UAD0C,EAE1C,kBAF0C,EAG1C;AACCM,MAAAA,IAAI,EAAEzB,SAAS,CAAEsB,KAAF,CADhB;AAECA,MAAAA,KAFD;AAGCI,MAAAA,OAAO,EAAEnB,SAAS,CAAEQ,MAAF,CAHnB;AAICQ,MAAAA;AAJD,KAH0C,CAA3C;AAUAL,IAAAA,aAAa,CACZJ,SADY,EAEZR,WAAW,CAAE,oBAAF,EAAwB;AAClCmB,MAAAA,IAAI,EAAED,YAAY,CAACC,IADe;AAElCE,MAAAA,KAAK,EAAEH,YAAY,CAACG;AAFc,KAAxB,CAFC,CAAb;AAOAP,IAAAA,mBAAmB,CAAEZ,EAAE,CAAE,wBAAF,CAAJ,EAAkC;AACpDoB,MAAAA,IAAI,EAAE;AAD8C,KAAlC,CAAnB;AAGA,GArBD;;AAuBA,SACC,8BACC,cAAC,yBAAD,QACG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,cAAC,QAAD;AACC,MAAA,OAAO,EAAG,MAAM;AACfZ,QAAAA,cAAc,CAAE,IAAF,CAAd;AACAY,QAAAA,OAAO;AACP;AAJF,OAMGrB,EAAE,CAAE,oBAAF,CANL,CADC;AAAA,GADH,CADD,EAaGQ,WAAW,IACZ,cAAC,uBAAD;AACC,IAAA,UAAU,EAAG,MAAM;AAClBC,MAAAA,cAAc,CAAE,KAAF,CAAd;AACA,KAHF;AAIC,IAAA,QAAQ,EAAGI;AAJZ,IAdF,CADD;AAwBA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { MenuItem } from '@wordpress/components';\nimport { createBlock, serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nexport default function ConvertToTemplatePart( { clientIds, blocks } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onConvert = async ( { title, area } ) => {\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\t{\n\t\t\t\tslug: kebabCase( title ),\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tarea,\n\t\t\t}\n\t\t);\n\t\treplaceBlocks(\n\t\t\tclientIds,\n\t\t\tcreateBlock( 'core/template-part', {\n\t\t\t\tslug: templatePart.slug,\n\t\t\t\ttheme: templatePart.theme,\n\t\t\t} )\n\t\t);\n\t\tcreateSuccessNotice( __( 'Template part created.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsModalOpen( true );\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{ __( 'Make template part' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t) }\n\t\t\t</BlockSettingsMenuControls>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCreate={ onConvert }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}