@wordpress/edit-site 5.10.0 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +7 -22
  3. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  4. package/build/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +11 -21
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  6. package/build/components/add-new-template/new-template.js +98 -65
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/block-editor/index.js +1 -3
  9. package/build/components/block-editor/index.js.map +1 -1
  10. package/build/components/create-template-part-modal/index.js +6 -7
  11. package/build/components/create-template-part-modal/index.js.map +1 -1
  12. package/build/components/editor/index.js +15 -40
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/editor-canvas-container/index.js +10 -3
  15. package/build/components/editor-canvas-container/index.js.map +1 -1
  16. package/build/components/global-styles/screen-block.js +80 -3
  17. package/build/components/global-styles/screen-block.js.map +1 -1
  18. package/build/components/global-styles/screen-revisions/index.js +3 -10
  19. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  20. package/build/components/global-styles/screen-revisions/revisions-buttons.js +16 -18
  21. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  22. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -24
  23. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  24. package/build/components/global-styles/screen-root.js +4 -4
  25. package/build/components/global-styles/screen-root.js.map +1 -1
  26. package/build/components/global-styles/style-variations-container.js +6 -10
  27. package/build/components/global-styles/style-variations-container.js.map +1 -1
  28. package/build/components/global-styles/ui.js +9 -9
  29. package/build/components/global-styles/ui.js.map +1 -1
  30. package/build/components/header-edit-mode/document-actions/index.js +28 -103
  31. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  32. package/build/components/header-edit-mode/index.js +14 -1
  33. package/build/components/header-edit-mode/index.js.map +1 -1
  34. package/build/components/layout/hooks.js +54 -0
  35. package/build/components/layout/hooks.js.map +1 -0
  36. package/build/components/layout/index.js +45 -98
  37. package/build/components/layout/index.js.map +1 -1
  38. package/build/components/list/actions/index.js +5 -2
  39. package/build/components/list/actions/index.js.map +1 -1
  40. package/build/components/resizable-frame/index.js +242 -0
  41. package/build/components/resizable-frame/index.js.map +1 -0
  42. package/build/components/revisions/index.js +2 -1
  43. package/build/components/revisions/index.js.map +1 -1
  44. package/build/components/secondary-sidebar/list-view-sidebar.js +4 -3
  45. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  46. package/build/components/sidebar/index.js +4 -4
  47. package/build/components/sidebar/index.js.map +1 -1
  48. package/build/components/sidebar-edit-mode/template-revisions/index.js +1 -1
  49. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +1 -1
  50. package/build/components/sidebar-navigation-screen-global-styles/index.js +75 -11
  51. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  52. package/build/components/sidebar-navigation-screen-main/index.js +24 -33
  53. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  54. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +162 -0
  55. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  56. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +17 -0
  57. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  58. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +53 -103
  59. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  60. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +87 -0
  61. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  62. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +14 -71
  63. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  64. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +53 -0
  65. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  66. package/build/components/sidebar-navigation-screen-templates/index.js +36 -11
  67. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  68. package/build/components/site-hub/index.js +1 -3
  69. package/build/components/site-hub/index.js.map +1 -1
  70. package/build/components/style-book/index.js +93 -19
  71. package/build/components/style-book/index.js.map +1 -1
  72. package/build/components/use-edited-entity-record/index.js +8 -4
  73. package/build/components/use-edited-entity-record/index.js.map +1 -1
  74. package/build/hooks/commands/use-edit-mode-commands.js +105 -0
  75. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -0
  76. package/build/store/actions.js +5 -3
  77. package/build/store/actions.js.map +1 -1
  78. package/build-module/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +8 -20
  79. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  80. package/build-module/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +13 -22
  81. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  82. package/build-module/components/add-new-template/new-template.js +98 -67
  83. package/build-module/components/add-new-template/new-template.js.map +1 -1
  84. package/build-module/components/block-editor/index.js +1 -3
  85. package/build-module/components/block-editor/index.js.map +1 -1
  86. package/build-module/components/create-template-part-modal/index.js +7 -8
  87. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  88. package/build-module/components/editor/index.js +16 -43
  89. package/build-module/components/editor/index.js.map +1 -1
  90. package/build-module/components/editor-canvas-container/index.js +7 -3
  91. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  92. package/build-module/components/global-styles/screen-block.js +82 -4
  93. package/build-module/components/global-styles/screen-block.js.map +1 -1
  94. package/build-module/components/global-styles/screen-revisions/index.js +3 -10
  95. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  96. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +16 -19
  97. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  98. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -24
  99. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  100. package/build-module/components/global-styles/screen-root.js +4 -4
  101. package/build-module/components/global-styles/screen-root.js.map +1 -1
  102. package/build-module/components/global-styles/style-variations-container.js +7 -11
  103. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  104. package/build-module/components/global-styles/ui.js +10 -10
  105. package/build-module/components/global-styles/ui.js.map +1 -1
  106. package/build-module/components/header-edit-mode/document-actions/index.js +31 -107
  107. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  108. package/build-module/components/header-edit-mode/index.js +14 -2
  109. package/build-module/components/header-edit-mode/index.js.map +1 -1
  110. package/build-module/components/layout/hooks.js +41 -0
  111. package/build-module/components/layout/hooks.js.map +1 -0
  112. package/build-module/components/layout/index.js +46 -101
  113. package/build-module/components/layout/index.js.map +1 -1
  114. package/build-module/components/list/actions/index.js +6 -3
  115. package/build-module/components/list/actions/index.js.map +1 -1
  116. package/build-module/components/resizable-frame/index.js +228 -0
  117. package/build-module/components/resizable-frame/index.js.map +1 -0
  118. package/build-module/components/revisions/index.js +2 -1
  119. package/build-module/components/revisions/index.js.map +1 -1
  120. package/build-module/components/secondary-sidebar/list-view-sidebar.js +3 -3
  121. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  122. package/build-module/components/sidebar/index.js +3 -3
  123. package/build-module/components/sidebar/index.js.map +1 -1
  124. package/build-module/components/sidebar-edit-mode/template-revisions/index.js +1 -1
  125. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +1 -1
  126. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +70 -14
  127. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  128. package/build-module/components/sidebar-navigation-screen-main/index.js +21 -32
  129. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  130. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +141 -0
  131. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  132. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +10 -0
  133. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  134. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +52 -103
  135. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  136. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +71 -0
  137. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  138. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +12 -71
  139. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  140. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +40 -0
  141. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  142. package/build-module/components/sidebar-navigation-screen-templates/index.js +35 -11
  143. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  144. package/build-module/components/site-hub/index.js +1 -3
  145. package/build-module/components/site-hub/index.js.map +1 -1
  146. package/build-module/components/style-book/index.js +93 -20
  147. package/build-module/components/style-book/index.js.map +1 -1
  148. package/build-module/components/use-edited-entity-record/index.js +8 -4
  149. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  150. package/build-module/hooks/commands/use-edit-mode-commands.js +86 -0
  151. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -0
  152. package/build-module/store/actions.js +5 -3
  153. package/build-module/store/actions.js.map +1 -1
  154. package/build-style/style-rtl.css +233 -210
  155. package/build-style/style.css +234 -210
  156. package/package.json +37 -37
  157. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +82 -0
  158. package/src/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +13 -26
  159. package/src/components/add-new-template/new-template.js +139 -153
  160. package/src/components/add-new-template/style.scss +79 -66
  161. package/src/components/block-editor/index.js +2 -3
  162. package/src/components/create-template-part-modal/index.js +19 -25
  163. package/src/components/editor/index.js +16 -45
  164. package/src/components/editor/style.scss +21 -6
  165. package/src/components/editor-canvas-container/index.js +28 -19
  166. package/src/components/global-styles/screen-block.js +74 -3
  167. package/src/components/global-styles/screen-revisions/index.js +3 -11
  168. package/src/components/global-styles/screen-revisions/revisions-buttons.js +33 -25
  169. package/src/components/global-styles/screen-revisions/style.scss +3 -2
  170. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +16 -3
  171. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -19
  172. package/src/components/global-styles/screen-root.js +5 -3
  173. package/src/components/global-styles/style-variations-container.js +13 -18
  174. package/src/components/global-styles/style.scss +3 -0
  175. package/src/components/global-styles/ui.js +11 -9
  176. package/src/components/header-edit-mode/document-actions/index.js +26 -129
  177. package/src/components/header-edit-mode/document-actions/style.scss +28 -59
  178. package/src/components/header-edit-mode/index.js +18 -0
  179. package/src/components/header-edit-mode/style.scss +1 -0
  180. package/src/components/layout/hooks.js +46 -0
  181. package/src/components/layout/index.js +56 -125
  182. package/src/components/layout/style.scss +8 -2
  183. package/src/components/list/actions/index.js +12 -5
  184. package/src/components/list/style.scss +1 -0
  185. package/src/components/resizable-frame/index.js +253 -0
  186. package/src/components/resizable-frame/style.scss +69 -0
  187. package/src/components/revisions/index.js +1 -0
  188. package/src/components/secondary-sidebar/list-view-sidebar.js +2 -1
  189. package/src/components/sidebar/index.js +4 -4
  190. package/src/components/sidebar-edit-mode/template-revisions/index.js +1 -2
  191. package/src/components/sidebar-navigation-item/style.scss +9 -0
  192. package/src/components/sidebar-navigation-screen/style.scss +1 -2
  193. package/src/components/sidebar-navigation-screen-global-styles/index.js +106 -21
  194. package/src/components/sidebar-navigation-screen-main/index.js +35 -52
  195. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +157 -0
  196. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +9 -0
  197. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +63 -117
  198. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +83 -0
  199. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +6 -72
  200. package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +47 -0
  201. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +6 -20
  202. package/src/components/sidebar-navigation-screen-templates/index.js +53 -14
  203. package/src/components/site-hub/index.js +8 -9
  204. package/src/components/start-template-options/style.scss +20 -21
  205. package/src/components/style-book/index.js +132 -43
  206. package/src/components/style-book/style.scss +19 -0
  207. package/src/components/use-edited-entity-record/index.js +12 -3
  208. package/src/hooks/commands/use-edit-mode-commands.js +79 -0
  209. package/src/store/actions.js +4 -5
  210. package/src/store/test/utils.js +15 -5
  211. package/src/style.scss +1 -1
  212. package/build/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  213. package/build/components/add-new-template/add-custom-template-modal.js.map +0 -1
  214. package/build/components/global-styles/border-panel.js +0 -135
  215. package/build/components/global-styles/border-panel.js.map +0 -1
  216. package/build/components/navigate-to-link/index.js +0 -51
  217. package/build/components/navigate-to-link/index.js.map +0 -1
  218. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -19
  219. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  220. package/build/components/template-details/edit-template-title.js +0 -42
  221. package/build/components/template-details/edit-template-title.js.map +0 -1
  222. package/build/components/template-details/index.js +0 -103
  223. package/build/components/template-details/index.js.map +0 -1
  224. package/build/components/template-details/template-areas.js +0 -166
  225. package/build/components/template-details/template-areas.js.map +0 -1
  226. package/build/components/template-details/template-part-area-selector.js +0 -48
  227. package/build/components/template-details/template-part-area-selector.js.map +0 -1
  228. package/build-module/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  229. package/build-module/components/add-new-template/add-custom-template-modal.js.map +0 -1
  230. package/build-module/components/global-styles/border-panel.js +0 -125
  231. package/build-module/components/global-styles/border-panel.js.map +0 -1
  232. package/build-module/components/navigate-to-link/index.js +0 -39
  233. package/build-module/components/navigate-to-link/index.js.map +0 -1
  234. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -11
  235. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  236. package/build-module/components/template-details/edit-template-title.js +0 -33
  237. package/build-module/components/template-details/edit-template-title.js.map +0 -1
  238. package/build-module/components/template-details/index.js +0 -83
  239. package/build-module/components/template-details/index.js.map +0 -1
  240. package/build-module/components/template-details/template-areas.js +0 -145
  241. package/build-module/components/template-details/template-areas.js.map +0 -1
  242. package/build-module/components/template-details/template-part-area-selector.js +0 -36
  243. package/build-module/components/template-details/template-part-area-selector.js.map +0 -1
  244. package/src/components/add-new-template/add-custom-generic-template-modal.js +0 -101
  245. package/src/components/global-styles/border-panel.js +0 -114
  246. package/src/components/navigate-to-link/index.js +0 -46
  247. package/src/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -9
  248. package/src/components/template-details/edit-template-title.js +0 -41
  249. package/src/components/template-details/index.js +0 -113
  250. package/src/components/template-details/style.scss +0 -72
  251. package/src/components/template-details/template-areas.js +0 -167
  252. package/src/components/template-details/template-part-area-selector.js +0 -39
@@ -6,51 +6,40 @@ import { createElement } from "@wordpress/element";
6
6
  import { __experimentalItemGroup as ItemGroup, __experimentalNavigatorButton as NavigatorButton } from '@wordpress/components';
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { layout, symbol, navigation, styles, page } from '@wordpress/icons';
9
- import { useSelect } from '@wordpress/data';
10
- import { store as coreStore } from '@wordpress/core-data';
9
+ import { useDispatch, useSelect } from '@wordpress/data';
10
+ import { useEffect } from '@wordpress/element';
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
14
 
15
15
  import SidebarNavigationScreen from '../sidebar-navigation-screen';
16
16
  import SidebarNavigationItem from '../sidebar-navigation-item';
17
+ import { SidebarNavigationItemGlobalStyles } from '../sidebar-navigation-screen-global-styles';
18
+ import { unlock } from '../../private-apis';
19
+ import { store as editSiteStore } from '../../store';
20
+ import SidebarNavigationScreenNavigationMenuButton from '../sidebar-navigation-screen-navigation-menus/navigator-button';
17
21
  export default function SidebarNavigationScreenMain() {
22
+ const editorCanvasContainerView = useSelect(select => {
23
+ return unlock(select(editSiteStore)).getEditorCanvasContainerView();
24
+ }, []);
18
25
  const {
19
- hasNavigationMenus,
20
- hasGlobalStyleVariations
21
- } = useSelect(select => {
22
- var _experimentalGetCurr;
23
-
24
- const {
25
- getEntityRecords,
26
- __experimentalGetCurrentThemeGlobalStylesVariations
27
- } = select(coreStore); // The query needs to be the same as in the "SidebarNavigationScreenNavigationMenus" component,
28
- // to avoid double network calls.
26
+ setEditorCanvasContainerView
27
+ } = unlock(useDispatch(editSiteStore)); // Clear the editor canvas container view when accessing the main navigation screen.
29
28
 
30
- const navigationMenus = getEntityRecords('postType', 'wp_navigation', {
31
- per_page: 1,
32
- status: 'publish',
33
- order: 'desc',
34
- orderby: 'date'
35
- });
36
- return {
37
- hasNavigationMenus: !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length),
38
- hasGlobalStyleVariations: !!((_experimentalGetCurr = __experimentalGetCurrentThemeGlobalStylesVariations()) !== null && _experimentalGetCurr !== void 0 && _experimentalGetCurr.length)
39
- };
40
- }, []);
41
- const showNavigationScreen = process.env.IS_GUTENBERG_PLUGIN ? hasNavigationMenus : false;
29
+ useEffect(() => {
30
+ if (editorCanvasContainerView) {
31
+ setEditorCanvasContainerView(undefined);
32
+ }
33
+ }, [editorCanvasContainerView, setEditorCanvasContainerView]);
42
34
  return createElement(SidebarNavigationScreen, {
43
35
  isRoot: true,
44
36
  title: __('Design'),
45
37
  description: __('Customize the appearance of your website using the block editor.'),
46
- content: createElement(ItemGroup, null, showNavigationScreen && createElement(NavigatorButton, {
47
- as: SidebarNavigationItem,
48
- path: "/navigation",
38
+ content: createElement(ItemGroup, null, createElement(SidebarNavigationScreenNavigationMenuButton, {
49
39
  withChevron: true,
50
- icon: navigation
51
- }, __('Navigation')), hasGlobalStyleVariations && createElement(NavigatorButton, {
52
- as: SidebarNavigationItem,
53
- path: "/wp_global_styles",
40
+ icon: navigation,
41
+ as: SidebarNavigationItem
42
+ }, __('Navigation')), createElement(SidebarNavigationItemGlobalStyles, {
54
43
  withChevron: true,
55
44
  icon: styles
56
45
  }, __('Styles')), createElement(NavigatorButton, {
@@ -68,7 +57,7 @@ export default function SidebarNavigationScreenMain() {
68
57
  path: "/wp_template_part",
69
58
  withChevron: true,
70
59
  icon: symbol
71
- }, __('Template Parts')))
60
+ }, __('Library')))
72
61
  });
73
62
  }
74
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-main/index.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalNavigatorButton","NavigatorButton","__","layout","symbol","navigation","styles","page","useSelect","store","coreStore","SidebarNavigationScreen","SidebarNavigationItem","SidebarNavigationScreenMain","hasNavigationMenus","hasGlobalStyleVariations","select","getEntityRecords","__experimentalGetCurrentThemeGlobalStylesVariations","navigationMenus","per_page","status","order","orderby","length","showNavigationScreen","process","env","IS_GUTENBERG_PLUGIN"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,uBAAuB,IAAIC,SAD5B,EAECC,6BAA6B,IAAIC,eAFlC,QAGO,uBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,UAAzB,EAAqCC,MAArC,EAA6CC,IAA7C,QAAyD,kBAAzD;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AAEA,eAAe,SAASC,2BAAT,GAAuC;AACrD,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAAmDP,SAAS,CAC/DQ,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,gBADK;AAELC,MAAAA;AAFK,QAGFF,MAAM,CAAEN,SAAF,CAHV,CADa,CAKb;AACA;;AACA,UAAMS,eAAe,GAAGF,gBAAgB,CACvC,UADuC,EAEvC,eAFuC,EAGvC;AACCG,MAAAA,QAAQ,EAAE,CADX;AAECC,MAAAA,MAAM,EAAE,SAFT;AAGCC,MAAAA,KAAK,EAAE,MAHR;AAICC,MAAAA,OAAO,EAAE;AAJV,KAHuC,CAAxC;AAUA,WAAO;AACNT,MAAAA,kBAAkB,EAAE,CAAC,EAAEK,eAAF,aAAEA,eAAF,eAAEA,eAAe,CAAEK,MAAnB,CADf;AAENT,MAAAA,wBAAwB,EACvB,CAAC,0BAAEG,mDAAmD,EAArD,iDAAE,qBACAM,MADF;AAHI,KAAP;AAMA,GAxBgE,EAyBjE,EAzBiE,CAAlE;AA2BA,QAAMC,oBAAoB,GAAGC,OAAO,CAACC,GAAR,CAAYC,mBAAZ,GAC1Bd,kBAD0B,GAE1B,KAFH;AAGA,SACC,cAAC,uBAAD;AACC,IAAA,MAAM,MADP;AAEC,IAAA,KAAK,EAAGZ,EAAE,CAAE,QAAF,CAFX;AAGC,IAAA,WAAW,EAAGA,EAAE,CACf,kEADe,CAHjB;AAMC,IAAA,OAAO,EACN,cAAC,SAAD,QACGuB,oBAAoB,IACrB,cAAC,eAAD;AACC,MAAA,EAAE,EAAGb,qBADN;AAEC,MAAA,IAAI,EAAC,aAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGP;AAJR,OAMGH,EAAE,CAAE,YAAF,CANL,CAFF,EAWGa,wBAAwB,IACzB,cAAC,eAAD;AACC,MAAA,EAAE,EAAGH,qBADN;AAEC,MAAA,IAAI,EAAC,mBAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGN;AAJR,OAMGJ,EAAE,CAAE,QAAF,CANL,CAZF,EAsBC,cAAC,eAAD;AACC,MAAA,EAAE,EAAGU,qBADN;AAEC,MAAA,IAAI,EAAC,OAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGL;AAJR,OAMGL,EAAE,CAAE,OAAF,CANL,CAtBD,EA8BC,cAAC,eAAD;AACC,MAAA,EAAE,EAAGU,qBADN;AAEC,MAAA,IAAI,EAAC,cAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGT;AAJR,OAMGD,EAAE,CAAE,WAAF,CANL,CA9BD,EAsCC,cAAC,eAAD;AACC,MAAA,EAAE,EAAGU,qBADN;AAEC,MAAA,IAAI,EAAC,mBAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGR;AAJR,OAMGF,EAAE,CAAE,gBAAF,CANL,CAtCD;AAPF,IADD;AA0DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalNavigatorButton as NavigatorButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { layout, symbol, navigation, styles, page } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\n\nexport default function SidebarNavigationScreenMain() {\n\tconst { hasNavigationMenus, hasGlobalStyleVariations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\t__experimentalGetCurrentThemeGlobalStylesVariations,\n\t\t\t} = select( coreStore );\n\t\t\t// The query needs to be the same as in the \"SidebarNavigationScreenNavigationMenus\" component,\n\t\t\t// to avoid double network calls.\n\t\t\tconst navigationMenus = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\t{\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\torder: 'desc',\n\t\t\t\t\torderby: 'date',\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn {\n\t\t\t\thasNavigationMenus: !! navigationMenus?.length,\n\t\t\t\thasGlobalStyleVariations:\n\t\t\t\t\t!! __experimentalGetCurrentThemeGlobalStylesVariations()\n\t\t\t\t\t\t?.length,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst showNavigationScreen = process.env.IS_GUTENBERG_PLUGIN\n\t\t? hasNavigationMenus\n\t\t: false;\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot\n\t\t\ttitle={ __( 'Design' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Customize the appearance of your website using the block editor.'\n\t\t\t) }\n\t\t\tcontent={\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ showNavigationScreen && (\n\t\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\t\tpath=\"/navigation\"\n\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\ticon={ navigation }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasGlobalStyleVariations && (\n\t\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\t\tpath=\"/wp_global_styles\"\n\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\ticon={ styles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Styles' ) }\n\t\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\tpath=\"/page\"\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ page }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Pages' ) }\n\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\tpath=\"/wp_template\"\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Templates' ) }\n\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\tpath=\"/wp_template_part\"\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Template Parts' ) }\n\t\t\t\t\t</NavigatorButton>\n\t\t\t\t</ItemGroup>\n\t\t\t}\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-main/index.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalNavigatorButton","NavigatorButton","__","layout","symbol","navigation","styles","page","useDispatch","useSelect","useEffect","SidebarNavigationScreen","SidebarNavigationItem","SidebarNavigationItemGlobalStyles","unlock","store","editSiteStore","SidebarNavigationScreenNavigationMenuButton","SidebarNavigationScreenMain","editorCanvasContainerView","select","getEditorCanvasContainerView","setEditorCanvasContainerView","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,uBAAuB,IAAIC,SAD5B,EAECC,6BAA6B,IAAIC,eAFlC,QAGO,uBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,UAAzB,EAAqCC,MAArC,EAA6CC,IAA7C,QAAyD,kBAAzD;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AAEA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AACA,SAASC,iCAAT,QAAkD,4CAAlD;AACA,SAASC,MAAT,QAAuB,oBAAvB;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AACA,OAAOC,2CAAP,MAAwD,gEAAxD;AAEA,eAAe,SAASC,2BAAT,GAAuC;AACrD,QAAMC,yBAAyB,GAAGV,SAAS,CAAIW,MAAF,IAAc;AAC1D,WAAON,MAAM,CAAEM,MAAM,CAAEJ,aAAF,CAAR,CAAN,CAAkCK,4BAAlC,EAAP;AACA,GAF0C,EAExC,EAFwC,CAA3C;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAmCR,MAAM,CAC9CN,WAAW,CAAEQ,aAAF,CADmC,CAA/C,CALqD,CASrD;;AACAN,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKS,yBAAL,EAAiC;AAChCG,MAAAA,4BAA4B,CAAEC,SAAF,CAA5B;AACA;AACD,GAJQ,EAIN,CAAEJ,yBAAF,EAA6BG,4BAA7B,CAJM,CAAT;AAMA,SACC,cAAC,uBAAD;AACC,IAAA,MAAM,MADP;AAEC,IAAA,KAAK,EAAGpB,EAAE,CAAE,QAAF,CAFX;AAGC,IAAA,WAAW,EAAGA,EAAE,CACf,kEADe,CAHjB;AAMC,IAAA,OAAO,EACN,cAAC,SAAD,QACC,cAAC,2CAAD;AACC,MAAA,WAAW,MADZ;AAEC,MAAA,IAAI,EAAGG,UAFR;AAGC,MAAA,EAAE,EAAGO;AAHN,OAKGV,EAAE,CAAE,YAAF,CALL,CADD,EASC,cAAC,iCAAD;AACC,MAAA,WAAW,MADZ;AAEC,MAAA,IAAI,EAAGI;AAFR,OAIGJ,EAAE,CAAE,QAAF,CAJL,CATD,EAeC,cAAC,eAAD;AACC,MAAA,EAAE,EAAGU,qBADN;AAEC,MAAA,IAAI,EAAC,OAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGL;AAJR,OAMGL,EAAE,CAAE,OAAF,CANL,CAfD,EAuBC,cAAC,eAAD;AACC,MAAA,EAAE,EAAGU,qBADN;AAEC,MAAA,IAAI,EAAC,cAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGT;AAJR,OAMGD,EAAE,CAAE,WAAF,CANL,CAvBD,EA+BC,cAAC,eAAD;AACC,MAAA,EAAE,EAAGU,qBADN;AAEC,MAAA,IAAI,EAAC,mBAFN;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGR;AAJR,OAMGF,EAAE,CAAE,SAAF,CANL,CA/BD;AAPF,IADD;AAmDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalNavigatorButton as NavigatorButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { layout, symbol, navigation, styles, page } from '@wordpress/icons';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { SidebarNavigationItemGlobalStyles } from '../sidebar-navigation-screen-global-styles';\nimport { unlock } from '../../private-apis';\nimport { store as editSiteStore } from '../../store';\nimport SidebarNavigationScreenNavigationMenuButton from '../sidebar-navigation-screen-navigation-menus/navigator-button';\n\nexport default function SidebarNavigationScreenMain() {\n\tconst editorCanvasContainerView = useSelect( ( select ) => {\n\t\treturn unlock( select( editSiteStore ) ).getEditorCanvasContainerView();\n\t}, [] );\n\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\t// Clear the editor canvas container view when accessing the main navigation screen.\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView ) {\n\t\t\tsetEditorCanvasContainerView( undefined );\n\t\t}\n\t}, [ editorCanvasContainerView, setEditorCanvasContainerView ] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot\n\t\t\ttitle={ __( 'Design' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Customize the appearance of your website using the block editor.'\n\t\t\t) }\n\t\t\tcontent={\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t<SidebarNavigationScreenNavigationMenuButton\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ navigation }\n\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t</SidebarNavigationScreenNavigationMenuButton>\n\n\t\t\t\t\t<SidebarNavigationItemGlobalStyles\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ styles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Styles' ) }\n\t\t\t\t\t</SidebarNavigationItemGlobalStyles>\n\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\tpath=\"/page\"\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ page }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Pages' ) }\n\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\tpath=\"/wp_template\"\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Templates' ) }\n\t\t\t\t\t</NavigatorButton>\n\t\t\t\t\t<NavigatorButton\n\t\t\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\t\t\tpath=\"/wp_template_part\"\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Library' ) }\n\t\t\t\t\t</NavigatorButton>\n\t\t\t\t</ItemGroup>\n\t\t\t}\n\t\t/>\n\t);\n}\n"]}
@@ -0,0 +1,141 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { useEntityRecord } from '@wordpress/core-data';
7
+ import { __experimentalUseNavigator as useNavigator, Spinner } from '@wordpress/components';
8
+ import { __ } from '@wordpress/i18n';
9
+ import { useCallback, useMemo } from '@wordpress/element';
10
+ import { useSelect } from '@wordpress/data';
11
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
12
+ import { BlockEditorProvider } from '@wordpress/block-editor';
13
+ import { createBlock } from '@wordpress/blocks';
14
+ import { decodeEntities } from '@wordpress/html-entities';
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+
19
+ import { unlock } from '../../private-apis';
20
+ import { store as editSiteStore } from '../../store';
21
+ import { isPreviewingTheme, currentlyPreviewingTheme } from '../../utils/is-previewing-theme';
22
+ import { SidebarNavigationScreenWrapper } from '../sidebar-navigation-screen-navigation-menus';
23
+ import NavigationMenuContent from '../sidebar-navigation-screen-navigation-menus/navigation-menu-content';
24
+ const {
25
+ useHistory
26
+ } = unlock(routerPrivateApis);
27
+
28
+ const noop = () => {};
29
+
30
+ export default function SidebarNavigationScreenNavigationMenu() {
31
+ var _navigationMenu$title, _navigationMenu$conte;
32
+
33
+ const postType = `wp_navigation`;
34
+ const {
35
+ params: {
36
+ postId
37
+ }
38
+ } = useNavigator();
39
+ const {
40
+ record: navigationMenu,
41
+ isResolving: isLoading
42
+ } = useEntityRecord('postType', postType, postId);
43
+ const menuTitle = (navigationMenu === null || navigationMenu === void 0 ? void 0 : (_navigationMenu$title = navigationMenu.title) === null || _navigationMenu$title === void 0 ? void 0 : _navigationMenu$title.rendered) || (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.slug);
44
+
45
+ if (isLoading) {
46
+ return createElement(SidebarNavigationScreenWrapper, {
47
+ description: __('Navigation menus are a curated collection of blocks that allow visitors to get around your site.')
48
+ }, createElement(Spinner, {
49
+ className: "edit-site-sidebar-navigation-screen-navigation-menus__loading"
50
+ }));
51
+ }
52
+
53
+ if (!isLoading && !navigationMenu) {
54
+ return createElement(SidebarNavigationScreenWrapper, {
55
+ description: __('Navigation Menu missing.')
56
+ });
57
+ }
58
+
59
+ if (!(navigationMenu !== null && navigationMenu !== void 0 && (_navigationMenu$conte = navigationMenu.content) !== null && _navigationMenu$conte !== void 0 && _navigationMenu$conte.raw)) {
60
+ return createElement(SidebarNavigationScreenWrapper, {
61
+ title: decodeEntities(menuTitle),
62
+ description: __('This Navigation Menu is empty.')
63
+ });
64
+ }
65
+
66
+ return createElement(SidebarNavigationScreenWrapper, {
67
+ title: decodeEntities(menuTitle),
68
+ description: __('Navigation menus are a curated collection of blocks that allow visitors to get around your site.')
69
+ }, createElement(NavigationMenuEditor, {
70
+ navigationMenu: navigationMenu
71
+ }));
72
+ }
73
+
74
+ function NavigationMenuEditor(_ref) {
75
+ let {
76
+ navigationMenu
77
+ } = _ref;
78
+ const history = useHistory();
79
+ const onSelect = useCallback(selectedBlock => {
80
+ const {
81
+ attributes,
82
+ name
83
+ } = selectedBlock;
84
+
85
+ if (attributes.kind === 'post-type' && attributes.id && attributes.type && history) {
86
+ history.push({
87
+ postType: attributes.type,
88
+ postId: attributes.id,
89
+ ...(isPreviewingTheme() && {
90
+ theme_preview: currentlyPreviewingTheme()
91
+ })
92
+ });
93
+ }
94
+
95
+ if (name === 'core/page-list-item' && attributes.id && history) {
96
+ history.push({
97
+ postType: 'page',
98
+ postId: attributes.id,
99
+ ...(isPreviewingTheme() && {
100
+ theme_preview: currentlyPreviewingTheme()
101
+ })
102
+ });
103
+ }
104
+ }, [history]);
105
+ const {
106
+ storedSettings
107
+ } = useSelect(select => {
108
+ const {
109
+ getSettings
110
+ } = unlock(select(editSiteStore));
111
+ return {
112
+ storedSettings: getSettings(false)
113
+ };
114
+ }, []);
115
+ const blocks = useMemo(() => {
116
+ if (!NavigationMenuEditor) {
117
+ return [];
118
+ }
119
+
120
+ return [createBlock('core/navigation', {
121
+ ref: navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.id
122
+ })];
123
+ }, [navigationMenu]);
124
+
125
+ if (!navigationMenu || !(blocks !== null && blocks !== void 0 && blocks.length)) {
126
+ return null;
127
+ }
128
+
129
+ return createElement(BlockEditorProvider, {
130
+ settings: storedSettings,
131
+ value: blocks,
132
+ onChange: noop,
133
+ onInput: noop
134
+ }, createElement("div", {
135
+ className: "edit-site-sidebar-navigation-screen-navigation-menus__content"
136
+ }, createElement(NavigationMenuContent, {
137
+ rootClientId: blocks[0].clientId,
138
+ onSelect: onSelect
139
+ })));
140
+ }
141
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menu/index.js"],"names":["useEntityRecord","__experimentalUseNavigator","useNavigator","Spinner","__","useCallback","useMemo","useSelect","privateApis","routerPrivateApis","BlockEditorProvider","createBlock","decodeEntities","unlock","store","editSiteStore","isPreviewingTheme","currentlyPreviewingTheme","SidebarNavigationScreenWrapper","NavigationMenuContent","useHistory","noop","SidebarNavigationScreenNavigationMenu","postType","params","postId","record","navigationMenu","isResolving","isLoading","menuTitle","title","rendered","slug","content","raw","NavigationMenuEditor","history","onSelect","selectedBlock","attributes","name","kind","id","type","push","theme_preview","storedSettings","select","getSettings","blocks","ref","length","clientId"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecord } from '@wordpress/core-data';\nimport {\n\t__experimentalUseNavigator as useNavigator,\n\tSpinner,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { BlockEditorProvider } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\nimport { SidebarNavigationScreenWrapper } from '../sidebar-navigation-screen-navigation-menus';\nimport NavigationMenuContent from '../sidebar-navigation-screen-navigation-menus/navigation-menu-content';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst noop = () => {};\n\nexport default function SidebarNavigationScreenNavigationMenu() {\n\tconst postType = `wp_navigation`;\n\tconst {\n\t\tparams: { postId },\n\t} = useNavigator();\n\n\tconst { record: navigationMenu, isResolving: isLoading } = useEntityRecord(\n\t\t'postType',\n\t\tpostType,\n\t\tpostId\n\t);\n\n\tconst menuTitle = navigationMenu?.title?.rendered || navigationMenu?.slug;\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Navigation menus are a curated collection of blocks that allow visitors to get around your site.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<Spinner className=\"edit-site-sidebar-navigation-screen-navigation-menus__loading\" />\n\t\t\t</SidebarNavigationScreenWrapper>\n\t\t);\n\t}\n\n\tif ( ! isLoading && ! navigationMenu ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper\n\t\t\t\tdescription={ __( 'Navigation Menu missing.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( ! navigationMenu?.content?.raw ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper\n\t\t\t\ttitle={ decodeEntities( menuTitle ) }\n\t\t\t\tdescription={ __( 'This Navigation Menu is empty.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SidebarNavigationScreenWrapper\n\t\t\ttitle={ decodeEntities( menuTitle ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Navigation menus are a curated collection of blocks that allow visitors to get around your site.'\n\t\t\t) }\n\t\t>\n\t\t\t<NavigationMenuEditor navigationMenu={ navigationMenu } />\n\t\t</SidebarNavigationScreenWrapper>\n\t);\n}\n\nfunction NavigationMenuEditor( { navigationMenu } ) {\n\tconst history = useHistory();\n\n\tconst onSelect = useCallback(\n\t\t( selectedBlock ) => {\n\t\t\tconst { attributes, name } = selectedBlock;\n\t\t\tif (\n\t\t\t\tattributes.kind === 'post-type' &&\n\t\t\t\tattributes.id &&\n\t\t\t\tattributes.type &&\n\t\t\t\thistory\n\t\t\t) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostType: attributes.type,\n\t\t\t\t\tpostId: attributes.id,\n\t\t\t\t\t...( isPreviewingTheme() && {\n\t\t\t\t\t\ttheme_preview: currentlyPreviewingTheme(),\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif ( name === 'core/page-list-item' && attributes.id && history ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostType: 'page',\n\t\t\t\t\tpostId: attributes.id,\n\t\t\t\t\t...( isPreviewingTheme() && {\n\t\t\t\t\t\ttheme_preview: currentlyPreviewingTheme(),\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history ]\n\t);\n\n\tconst { storedSettings } = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\treturn {\n\t\t\tstoredSettings: getSettings( false ),\n\t\t};\n\t}, [] );\n\n\tconst blocks = useMemo( () => {\n\t\tif ( ! NavigationMenuEditor ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\tcreateBlock( 'core/navigation', { ref: navigationMenu?.id } ),\n\t\t];\n\t}, [ navigationMenu ] );\n\n\tif ( ! navigationMenu || ! blocks?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ storedSettings }\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ noop }\n\t\t\tonInput={ noop }\n\t\t>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-navigation-menus__content\">\n\t\t\t\t<NavigationMenuContent\n\t\t\t\t\trootClientId={ blocks[ 0 ].clientId }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ // This requested is preloaded in `gutenberg_preload_navigation_posts`.
2
+ // As unbounded queries are limited to 100 by `fetchAllMiddleware`
3
+ // on apiFetch this query is limited to 100.
4
+ export const PRELOADED_NAVIGATION_MENUS_QUERY = {
5
+ per_page: 100,
6
+ status: 'publish',
7
+ order: 'desc',
8
+ orderby: 'date'
9
+ };
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js"],"names":["PRELOADED_NAVIGATION_MENUS_QUERY","per_page","status","order","orderby"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,MAAMA,gCAAgC,GAAG;AAC/CC,EAAAA,QAAQ,EAAE,GADqC;AAE/CC,EAAAA,MAAM,EAAE,SAFuC;AAG/CC,EAAAA,KAAK,EAAE,MAHwC;AAI/CC,EAAAA,OAAO,EAAE;AAJsC,CAAzC","sourcesContent":["// This requested is preloaded in `gutenberg_preload_navigation_posts`.\n// As unbounded queries are limited to 100 by `fetchAllMiddleware`\n// on apiFetch this query is limited to 100.\nexport const PRELOADED_NAVIGATION_MENUS_QUERY = {\n\tper_page: 100,\n\tstatus: 'publish',\n\torder: 'desc',\n\torderby: 'date',\n};\n"]}
@@ -1,127 +1,76 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import { createElement } from "@wordpress/element";
2
3
 
3
4
  /**
4
5
  * WordPress dependencies
5
6
  */
6
7
  import { __ } from '@wordpress/i18n';
7
- import { useCallback, useMemo } from '@wordpress/element';
8
- import { useSelect } from '@wordpress/data';
9
- import { store as coreStore } from '@wordpress/core-data';
10
- import { BlockEditorProvider } from '@wordpress/block-editor';
11
- import { createBlock } from '@wordpress/blocks';
12
- import { privateApis as routerPrivateApis } from '@wordpress/router';
8
+ import { useEntityRecords } from '@wordpress/core-data';
9
+ import { decodeEntities } from '@wordpress/html-entities';
10
+ import { __experimentalItemGroup as ItemGroup, Spinner } from '@wordpress/components';
11
+ import { navigation } from '@wordpress/icons';
13
12
  /**
14
13
  * Internal dependencies
15
14
  */
16
15
 
17
16
  import SidebarNavigationScreen from '../sidebar-navigation-screen';
18
- import NavigationMenuContent from './navigation-menu-content';
19
- import { NavigationMenuLoader } from './loader';
20
- import { unlock } from '../../private-apis';
21
- import { store as editSiteStore } from '../../store';
22
- import { isPreviewingTheme, currentlyPreviewingTheme } from '../../utils/is-previewing-theme';
23
- const {
24
- useHistory
25
- } = unlock(routerPrivateApis);
17
+ import SidebarNavigationItem from '../sidebar-navigation-item';
18
+ import { PRELOADED_NAVIGATION_MENUS_QUERY } from './constants';
19
+ import { useLink } from '../routes/link';
20
+ export default function SidebarNavigationScreenNavigationMenus() {
21
+ const {
22
+ records: navigationMenus,
23
+ isResolving: isLoading
24
+ } = useEntityRecords('postType', `wp_navigation`, PRELOADED_NAVIGATION_MENUS_QUERY);
25
+ const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
26
26
 
27
- const noop = () => {};
27
+ if (isLoading) {
28
+ return createElement(SidebarNavigationScreenWrapper, null, createElement(Spinner, {
29
+ className: "edit-site-sidebar-navigation-screen-navigation-menus__loading"
30
+ }));
31
+ }
28
32
 
29
- const NAVIGATION_MENUS_QUERY = {
30
- per_page: 1,
31
- status: 'publish',
32
- order: 'desc',
33
- orderby: 'date'
34
- };
33
+ if (!isLoading && !hasNavigationMenus) {
34
+ return createElement(SidebarNavigationScreenWrapper, {
35
+ description: __('No Navigation Menus found.')
36
+ });
37
+ }
35
38
 
36
- function SidebarNavigationScreenWrapper(_ref) {
39
+ return createElement(SidebarNavigationScreenWrapper, null, createElement(ItemGroup, null, navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map(navMenu => {
40
+ var _navMenu$title;
41
+
42
+ return createElement(NavMenuItem, {
43
+ postId: navMenu.id,
44
+ key: navMenu.id,
45
+ withChevron: true,
46
+ icon: navigation
47
+ }, decodeEntities(((_navMenu$title = navMenu.title) === null || _navMenu$title === void 0 ? void 0 : _navMenu$title.rendered) || navMenu.slug));
48
+ })));
49
+ }
50
+ export function SidebarNavigationScreenWrapper(_ref) {
37
51
  let {
38
52
  children,
39
- actions
53
+ actions,
54
+ title,
55
+ description
40
56
  } = _ref;
41
57
  return createElement(SidebarNavigationScreen, {
42
- title: __('Navigation'),
58
+ title: title || __('Navigation'),
43
59
  actions: actions,
44
- description: __('Browse your site, edit pages, and manage your primary navigation menu.'),
60
+ description: description || __('Manage your Navigation menus.'),
45
61
  content: children
46
62
  });
47
63
  }
48
64
 
49
- export default function SidebarNavigationScreenNavigationMenus() {
50
- var _navigationMenus$;
51
-
52
- const history = useHistory();
53
- const {
54
- navigationMenus,
55
- hasResolvedNavigationMenus,
56
- storedSettings
57
- } = useSelect(select => {
58
- const {
59
- getSettings
60
- } = unlock(select(editSiteStore));
61
- const {
62
- getEntityRecords,
63
- hasFinishedResolution
64
- } = select(coreStore);
65
- const navigationMenusQuery = ['postType', 'wp_navigation', NAVIGATION_MENUS_QUERY];
66
- return {
67
- storedSettings: getSettings(false),
68
- navigationMenus: getEntityRecords(...navigationMenusQuery),
69
- hasResolvedNavigationMenus: hasFinishedResolution('getEntityRecords', navigationMenusQuery)
70
- };
71
- }, []);
72
- const firstNavigationMenu = navigationMenus === null || navigationMenus === void 0 ? void 0 : (_navigationMenus$ = navigationMenus[0]) === null || _navigationMenus$ === void 0 ? void 0 : _navigationMenus$.id;
73
- const blocks = useMemo(() => {
74
- return [createBlock('core/navigation', {
75
- ref: firstNavigationMenu
76
- })];
77
- }, [firstNavigationMenu]);
78
- const isLoading = !hasResolvedNavigationMenus;
79
- const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
80
- const onSelect = useCallback(selectedBlock => {
81
- const {
82
- attributes,
83
- name
84
- } = selectedBlock;
85
-
86
- if (attributes.kind === 'post-type' && attributes.id && attributes.type && history) {
87
- history.push({
88
- postType: attributes.type,
89
- postId: attributes.id,
90
- ...(isPreviewingTheme() && {
91
- theme_preview: currentlyPreviewingTheme()
92
- })
93
- });
94
- }
95
-
96
- if (name === 'core/page-list-item' && attributes.id && history) {
97
- history.push({
98
- postType: 'page',
99
- postId: attributes.id,
100
- ...(isPreviewingTheme() && {
101
- theme_preview: currentlyPreviewingTheme()
102
- })
103
- });
104
- }
105
- }, [history]);
106
-
107
- if (hasResolvedNavigationMenus && !hasNavigationMenus) {
108
- return createElement(SidebarNavigationScreenWrapper, null, __('There are no Navigation Menus.'));
109
- }
110
-
111
- if (!hasResolvedNavigationMenus || isLoading) {
112
- return createElement(SidebarNavigationScreenWrapper, null, createElement(NavigationMenuLoader, null));
113
- }
114
-
115
- return createElement(BlockEditorProvider, {
116
- settings: storedSettings,
117
- value: blocks,
118
- onChange: noop,
119
- onInput: noop
120
- }, createElement(SidebarNavigationScreenWrapper, null, createElement("div", {
121
- className: "edit-site-sidebar-navigation-screen-navigation-menus__content"
122
- }, createElement(NavigationMenuContent, {
123
- rootClientId: blocks[0].clientId,
124
- onSelect: onSelect
125
- }))));
126
- }
65
+ const NavMenuItem = _ref2 => {
66
+ let {
67
+ postId,
68
+ ...props
69
+ } = _ref2;
70
+ const linkInfo = useLink({
71
+ postId,
72
+ postType: 'wp_navigation'
73
+ });
74
+ return createElement(SidebarNavigationItem, _extends({}, linkInfo, props));
75
+ };
127
76
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menus/index.js"],"names":["__","useCallback","useMemo","useSelect","store","coreStore","BlockEditorProvider","createBlock","privateApis","routerPrivateApis","SidebarNavigationScreen","NavigationMenuContent","NavigationMenuLoader","unlock","editSiteStore","isPreviewingTheme","currentlyPreviewingTheme","useHistory","noop","NAVIGATION_MENUS_QUERY","per_page","status","order","orderby","SidebarNavigationScreenWrapper","children","actions","SidebarNavigationScreenNavigationMenus","history","navigationMenus","hasResolvedNavigationMenus","storedSettings","select","getSettings","getEntityRecords","hasFinishedResolution","navigationMenusQuery","firstNavigationMenu","id","blocks","ref","isLoading","hasNavigationMenus","length","onSelect","selectedBlock","attributes","name","kind","type","push","postType","postId","theme_preview","clientId"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { BlockEditorProvider } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport NavigationMenuContent from './navigation-menu-content';\nimport { NavigationMenuLoader } from './loader';\nimport { unlock } from '../../private-apis';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst noop = () => {};\nconst NAVIGATION_MENUS_QUERY = {\n\tper_page: 1,\n\tstatus: 'publish',\n\torder: 'desc',\n\torderby: 'date',\n};\n\nfunction SidebarNavigationScreenWrapper( { children, actions } ) {\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Navigation' ) }\n\t\t\tactions={ actions }\n\t\t\tdescription={ __(\n\t\t\t\t'Browse your site, edit pages, and manage your primary navigation menu.'\n\t\t\t) }\n\t\t\tcontent={ children }\n\t\t/>\n\t);\n}\n\nexport default function SidebarNavigationScreenNavigationMenus() {\n\tconst history = useHistory();\n\tconst { navigationMenus, hasResolvedNavigationMenus, storedSettings } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tconst navigationMenusQuery = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tNAVIGATION_MENUS_QUERY,\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tstoredSettings: getSettings( false ),\n\t\t\t\tnavigationMenus: getEntityRecords( ...navigationMenusQuery ),\n\t\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tnavigationMenusQuery\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\tconst firstNavigationMenu = navigationMenus?.[ 0 ]?.id;\n\tconst blocks = useMemo( () => {\n\t\treturn [\n\t\t\tcreateBlock( 'core/navigation', { ref: firstNavigationMenu } ),\n\t\t];\n\t}, [ firstNavigationMenu ] );\n\n\tconst isLoading = ! hasResolvedNavigationMenus;\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\tconst onSelect = useCallback(\n\t\t( selectedBlock ) => {\n\t\t\tconst { attributes, name } = selectedBlock;\n\t\t\tif (\n\t\t\t\tattributes.kind === 'post-type' &&\n\t\t\t\tattributes.id &&\n\t\t\t\tattributes.type &&\n\t\t\t\thistory\n\t\t\t) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostType: attributes.type,\n\t\t\t\t\tpostId: attributes.id,\n\t\t\t\t\t...( isPreviewingTheme() && {\n\t\t\t\t\t\ttheme_preview: currentlyPreviewingTheme(),\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif ( name === 'core/page-list-item' && attributes.id && history ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostType: 'page',\n\t\t\t\t\tpostId: attributes.id,\n\t\t\t\t\t...( isPreviewingTheme() && {\n\t\t\t\t\t\ttheme_preview: currentlyPreviewingTheme(),\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history ]\n\t);\n\n\tif ( hasResolvedNavigationMenus && ! hasNavigationMenus ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper>\n\t\t\t\t{ __( 'There are no Navigation Menus.' ) }\n\t\t\t</SidebarNavigationScreenWrapper>\n\t\t);\n\t}\n\n\tif ( ! hasResolvedNavigationMenus || isLoading ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper>\n\t\t\t\t<NavigationMenuLoader />\n\t\t\t</SidebarNavigationScreenWrapper>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ storedSettings }\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ noop }\n\t\t\tonInput={ noop }\n\t\t>\n\t\t\t<SidebarNavigationScreenWrapper>\n\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen-navigation-menus__content\">\n\t\t\t\t\t<NavigationMenuContent\n\t\t\t\t\t\trootClientId={ blocks[ 0 ].clientId }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</SidebarNavigationScreenWrapper>\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menus/index.js"],"names":["__","useEntityRecords","decodeEntities","__experimentalItemGroup","ItemGroup","Spinner","navigation","SidebarNavigationScreen","SidebarNavigationItem","PRELOADED_NAVIGATION_MENUS_QUERY","useLink","SidebarNavigationScreenNavigationMenus","records","navigationMenus","isResolving","isLoading","hasNavigationMenus","length","map","navMenu","id","title","rendered","slug","SidebarNavigationScreenWrapper","children","actions","description","NavMenuItem","postId","props","linkInfo","postType"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AAEA,SAASC,cAAT,QAA+B,0BAA/B;AACA,SACCC,uBAAuB,IAAIC,SAD5B,EAECC,OAFD,QAGO,uBAHP;AAIA,SAASC,UAAT,QAA2B,kBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AACA,SAASC,gCAAT,QAAiD,aAAjD;AACA,SAASC,OAAT,QAAwB,gBAAxB;AAEA,eAAe,SAASC,sCAAT,GAAkD;AAChE,QAAM;AAAEC,IAAAA,OAAO,EAAEC,eAAX;AAA4BC,IAAAA,WAAW,EAAEC;AAAzC,MACLd,gBAAgB,CACf,UADe,EAEd,eAFc,EAGfQ,gCAHe,CADjB;AAOA,QAAMO,kBAAkB,GAAG,CAAC,EAAEH,eAAF,aAAEA,eAAF,eAAEA,eAAe,CAAEI,MAAnB,CAA5B;;AAEA,MAAKF,SAAL,EAAiB;AAChB,WACC,cAAC,8BAAD,QACC,cAAC,OAAD;AAAS,MAAA,SAAS,EAAC;AAAnB,MADD,CADD;AAKA;;AAED,MAAK,CAAEA,SAAF,IAAe,CAAEC,kBAAtB,EAA2C;AAC1C,WACC,cAAC,8BAAD;AACC,MAAA,WAAW,EAAGhB,EAAE,CAAE,4BAAF;AADjB,MADD;AAKA;;AAED,SACC,cAAC,8BAAD,QACC,cAAC,SAAD,QACGa,eADH,aACGA,eADH,uBACGA,eAAe,CAAEK,GAAjB,CAAwBC,OAAF;AAAA;;AAAA,WACvB,cAAC,WAAD;AACC,MAAA,MAAM,EAAGA,OAAO,CAACC,EADlB;AAEC,MAAA,GAAG,EAAGD,OAAO,CAACC,EAFf;AAGC,MAAA,WAAW,MAHZ;AAIC,MAAA,IAAI,EAAGd;AAJR,OAMGJ,cAAc,CACf,mBAAAiB,OAAO,CAACE,KAAR,kEAAeC,QAAf,KAA2BH,OAAO,CAACI,IADpB,CANjB,CADuB;AAAA,GAAtB,CADH,CADD,CADD;AAkBA;AAED,OAAO,SAASC,8BAAT,OAKH;AAAA,MAL4C;AAC/CC,IAAAA,QAD+C;AAE/CC,IAAAA,OAF+C;AAG/CL,IAAAA,KAH+C;AAI/CM,IAAAA;AAJ+C,GAK5C;AACH,SACC,cAAC,uBAAD;AACC,IAAA,KAAK,EAAGN,KAAK,IAAIrB,EAAE,CAAE,YAAF,CADpB;AAEC,IAAA,OAAO,EAAG0B,OAFX;AAGC,IAAA,WAAW,EAAGC,WAAW,IAAI3B,EAAE,CAAE,+BAAF,CAHhC;AAIC,IAAA,OAAO,EAAGyB;AAJX,IADD;AAQA;;AAED,MAAMG,WAAW,GAAG,SAA4B;AAAA,MAA1B;AAAEC,IAAAA,MAAF;AAAU,OAAGC;AAAb,GAA0B;AAC/C,QAAMC,QAAQ,GAAGrB,OAAO,CAAE;AACzBmB,IAAAA,MADyB;AAEzBG,IAAAA,QAAQ,EAAE;AAFe,GAAF,CAAxB;AAIA,SAAO,cAAC,qBAAD,eAA4BD,QAA5B,EAA4CD,KAA5C,EAAP;AACA,CAND","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\n\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\tSpinner,\n} from '@wordpress/components';\nimport { navigation } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { PRELOADED_NAVIGATION_MENUS_QUERY } from './constants';\nimport { useLink } from '../routes/link';\n\nexport default function SidebarNavigationScreenNavigationMenus() {\n\tconst { records: navigationMenus, isResolving: isLoading } =\n\t\tuseEntityRecords(\n\t\t\t'postType',\n\t\t\t`wp_navigation`,\n\t\t\tPRELOADED_NAVIGATION_MENUS_QUERY\n\t\t);\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper>\n\t\t\t\t<Spinner className=\"edit-site-sidebar-navigation-screen-navigation-menus__loading\" />\n\t\t\t</SidebarNavigationScreenWrapper>\n\t\t);\n\t}\n\n\tif ( ! isLoading && ! hasNavigationMenus ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper\n\t\t\t\tdescription={ __( 'No Navigation Menus found.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SidebarNavigationScreenWrapper>\n\t\t\t<ItemGroup>\n\t\t\t\t{ navigationMenus?.map( ( navMenu ) => (\n\t\t\t\t\t<NavMenuItem\n\t\t\t\t\t\tpostId={ navMenu.id }\n\t\t\t\t\t\tkey={ navMenu.id }\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ navigation }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\tnavMenu.title?.rendered || navMenu.slug\n\t\t\t\t\t\t) }\n\t\t\t\t\t</NavMenuItem>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</SidebarNavigationScreenWrapper>\n\t);\n}\n\nexport function SidebarNavigationScreenWrapper( {\n\tchildren,\n\tactions,\n\ttitle,\n\tdescription,\n} ) {\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ title || __( 'Navigation' ) }\n\t\t\tactions={ actions }\n\t\t\tdescription={ description || __( 'Manage your Navigation menus.' ) }\n\t\t\tcontent={ children }\n\t\t/>\n\t);\n}\n\nconst NavMenuItem = ( { postId, ...props } ) => {\n\tconst linkInfo = useLink( {\n\t\tpostId,\n\t\tpostType: 'wp_navigation',\n\t} );\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n"]}
@@ -0,0 +1,71 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { createElement, Fragment } from "@wordpress/element";
3
+
4
+ /**
5
+ * WordPress dependencies
6
+ */
7
+ import { chevronUp, chevronDown, moreVertical } from '@wordpress/icons';
8
+ import { DropdownMenu, MenuItem, MenuGroup } from '@wordpress/components';
9
+ import { useDispatch, useSelect } from '@wordpress/data';
10
+ import { __, sprintf } from '@wordpress/i18n';
11
+ import { BlockTitle, store as blockEditorStore } from '@wordpress/block-editor';
12
+ const POPOVER_PROPS = {
13
+ className: 'block-editor-block-settings-menu__popover',
14
+ position: 'bottom right',
15
+ variant: 'toolbar'
16
+ };
17
+ export default function LeafMoreMenu(props) {
18
+ const {
19
+ block
20
+ } = props;
21
+ const {
22
+ clientId
23
+ } = block;
24
+ const {
25
+ moveBlocksDown,
26
+ moveBlocksUp,
27
+ removeBlocks
28
+ } = useDispatch(blockEditorStore);
29
+ const removeLabel = sprintf(
30
+ /* translators: %s: block name */
31
+ __('Remove %s'), BlockTitle({
32
+ clientId,
33
+ maximumLength: 25
34
+ }));
35
+ const rootClientId = useSelect(select => {
36
+ const {
37
+ getBlockRootClientId
38
+ } = select(blockEditorStore);
39
+ return getBlockRootClientId(clientId);
40
+ }, [clientId]);
41
+ return createElement(DropdownMenu, _extends({
42
+ icon: moreVertical,
43
+ label: __('Options'),
44
+ className: "block-editor-block-settings-menu",
45
+ popoverProps: POPOVER_PROPS,
46
+ noIcons: true
47
+ }, props), _ref => {
48
+ let {
49
+ onClose
50
+ } = _ref;
51
+ return createElement(Fragment, null, createElement(MenuGroup, null, createElement(MenuItem, {
52
+ icon: chevronUp,
53
+ onClick: () => {
54
+ moveBlocksUp([clientId], rootClientId);
55
+ onClose();
56
+ }
57
+ }, __('Move up')), createElement(MenuItem, {
58
+ icon: chevronDown,
59
+ onClick: () => {
60
+ moveBlocksDown([clientId], rootClientId);
61
+ onClose();
62
+ }
63
+ }, __('Move down'))), createElement(MenuGroup, null, createElement(MenuItem, {
64
+ onClick: () => {
65
+ removeBlocks([clientId], false);
66
+ onClose();
67
+ }
68
+ }, removeLabel)));
69
+ });
70
+ }
71
+ //# sourceMappingURL=leaf-more-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js"],"names":["chevronUp","chevronDown","moreVertical","DropdownMenu","MenuItem","MenuGroup","useDispatch","useSelect","__","sprintf","BlockTitle","store","blockEditorStore","POPOVER_PROPS","className","position","variant","LeafMoreMenu","props","block","clientId","moveBlocksDown","moveBlocksUp","removeBlocks","removeLabel","maximumLength","rootClientId","select","getBlockRootClientId","onClose"],"mappings":";;;AAAA;AACA;AACA;AAEA,SAASA,SAAT,EAAoBC,WAApB,EAAiCC,YAAjC,QAAqD,kBAArD;AACA,SAASC,YAAT,EAAuBC,QAAvB,EAAiCC,SAAjC,QAAkD,uBAAlD;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,UAAT,EAAqBC,KAAK,IAAIC,gBAA9B,QAAsD,yBAAtD;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,SAAS,EAAE,2CADU;AAErBC,EAAAA,QAAQ,EAAE,cAFW;AAGrBC,EAAAA,OAAO,EAAE;AAHY,CAAtB;AAMA,eAAe,SAASC,YAAT,CAAuBC,KAAvB,EAA+B;AAC7C,QAAM;AAAEC,IAAAA;AAAF,MAAYD,KAAlB;AACA,QAAM;AAAEE,IAAAA;AAAF,MAAeD,KAArB;AACA,QAAM;AAAEE,IAAAA,cAAF;AAAkBC,IAAAA,YAAlB;AAAgCC,IAAAA;AAAhC,MACLjB,WAAW,CAAEM,gBAAF,CADZ;AAGA,QAAMY,WAAW,GAAGf,OAAO;AAC1B;AACAD,EAAAA,EAAE,CAAE,WAAF,CAFwB,EAG1BE,UAAU,CAAE;AAAEU,IAAAA,QAAF;AAAYK,IAAAA,aAAa,EAAE;AAA3B,GAAF,CAHgB,CAA3B;AAMA,QAAMC,YAAY,GAAGnB,SAAS,CAC3BoB,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,MAAM,CAAEf,gBAAF,CAAvC;AAEA,WAAOgB,oBAAoB,CAAER,QAAF,CAA3B;AACA,GAL4B,EAM7B,CAAEA,QAAF,CAN6B,CAA9B;AASA,SACC,cAAC,YAAD;AACC,IAAA,IAAI,EAAGlB,YADR;AAEC,IAAA,KAAK,EAAGM,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,SAAS,EAAC,kCAHX;AAIC,IAAA,YAAY,EAAGK,aAJhB;AAKC,IAAA,OAAO;AALR,KAMMK,KANN,GAQG;AAAA,QAAE;AAAEW,MAAAA;AAAF,KAAF;AAAA,WACD,8BACC,cAAC,SAAD,QACC,cAAC,QAAD;AACC,MAAA,IAAI,EAAG7B,SADR;AAEC,MAAA,OAAO,EAAG,MAAM;AACfsB,QAAAA,YAAY,CAAE,CAAEF,QAAF,CAAF,EAAgBM,YAAhB,CAAZ;AACAG,QAAAA,OAAO;AACP;AALF,OAOGrB,EAAE,CAAE,SAAF,CAPL,CADD,EAUC,cAAC,QAAD;AACC,MAAA,IAAI,EAAGP,WADR;AAEC,MAAA,OAAO,EAAG,MAAM;AACfoB,QAAAA,cAAc,CAAE,CAAED,QAAF,CAAF,EAAgBM,YAAhB,CAAd;AACAG,QAAAA,OAAO;AACP;AALF,OAOGrB,EAAE,CAAE,WAAF,CAPL,CAVD,CADD,EAqBC,cAAC,SAAD,QACC,cAAC,QAAD;AACC,MAAA,OAAO,EAAG,MAAM;AACfe,QAAAA,YAAY,CAAE,CAAEH,QAAF,CAAF,EAAgB,KAAhB,CAAZ;AACAS,QAAAA,OAAO;AACP;AAJF,OAMGL,WANH,CADD,CArBD,CADC;AAAA,GARH,CADD;AA6CA","sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { chevronUp, chevronDown, moreVertical } from '@wordpress/icons';\nimport { DropdownMenu, MenuItem, MenuGroup } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BlockTitle, store as blockEditorStore } from '@wordpress/block-editor';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tposition: 'bottom right',\n\tvariant: 'toolbar',\n};\n\nexport default function LeafMoreMenu( props ) {\n\tconst { block } = props;\n\tconst { clientId } = block;\n\tconst { moveBlocksDown, moveBlocksUp, removeBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst removeLabel = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__( 'Remove %s' ),\n\t\tBlockTitle( { clientId, maximumLength: 25 } )\n\t);\n\n\tconst rootClientId = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn getBlockRootClientId( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tnoIcons\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Move up' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Move down' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tremoveBlocks( [ clientId ], false );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ removeLabel }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"]}