@wordpress/block-library 7.0.0 → 7.0.2

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 (230) hide show
  1. package/README.md +16 -0
  2. package/build/button/edit.native.js +2 -2
  3. package/build/button/edit.native.js.map +1 -1
  4. package/build/columns/index.js +12 -0
  5. package/build/columns/index.js.map +1 -1
  6. package/build/comment-author-avatar/edit.js +17 -4
  7. package/build/comment-author-avatar/edit.js.map +1 -1
  8. package/build/comment-template/edit.js +94 -36
  9. package/build/comment-template/edit.js.map +1 -1
  10. package/build/comment-template/hooks.js +175 -0
  11. package/build/comment-template/hooks.js.map +1 -0
  12. package/build/comment-template/index.js +1 -1
  13. package/build/comment-template/util.js.map +1 -1
  14. package/build/comments-pagination-next/index.js +1 -1
  15. package/build/comments-pagination-numbers/index.js +1 -1
  16. package/build/comments-query-loop/edit/comments-inspector-controls.js +20 -9
  17. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  18. package/build/comments-query-loop/edit.js +1 -19
  19. package/build/comments-query-loop/edit.js.map +1 -1
  20. package/build/comments-query-loop/index.js +5 -0
  21. package/build/comments-query-loop/index.js.map +1 -1
  22. package/build/cover/edit.js +21 -22
  23. package/build/cover/edit.js.map +1 -1
  24. package/build/cover/edit.native.js +7 -5
  25. package/build/cover/edit.native.js.map +1 -1
  26. package/build/cover/overlay-color-settings.native.js +4 -3
  27. package/build/cover/overlay-color-settings.native.js.map +1 -1
  28. package/build/cover/transforms.js +4 -2
  29. package/build/cover/transforms.js.map +1 -1
  30. package/build/group/index.js +1 -0
  31. package/build/group/index.js.map +1 -1
  32. package/build/heading/edit.js +14 -2
  33. package/build/heading/edit.js.map +1 -1
  34. package/build/image/deprecated.js +89 -5
  35. package/build/image/deprecated.js.map +1 -1
  36. package/build/image/save.js +0 -7
  37. package/build/image/save.js.map +1 -1
  38. package/build/latest-posts/edit.js +1 -0
  39. package/build/latest-posts/edit.js.map +1 -1
  40. package/build/navigation/edit/index.js +17 -15
  41. package/build/navigation/edit/index.js.map +1 -1
  42. package/build/navigation/edit/navigation-menu-selector.js +44 -27
  43. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  44. package/build/navigation/edit/placeholder/index.js +8 -22
  45. package/build/navigation/edit/placeholder/index.js.map +1 -1
  46. package/build/navigation/use-navigation-menu.js +6 -6
  47. package/build/navigation/use-navigation-menu.js.map +1 -1
  48. package/build/navigation-submenu/edit.js +41 -9
  49. package/build/navigation-submenu/edit.js.map +1 -1
  50. package/build/page-list/edit.js +11 -17
  51. package/build/page-list/edit.js.map +1 -1
  52. package/build/social-links/deprecated.js +1 -62
  53. package/build/social-links/deprecated.js.map +1 -1
  54. package/build/template-part/edit/index.js +36 -64
  55. package/build/template-part/edit/index.js.map +1 -1
  56. package/build/template-part/edit/placeholder.js +64 -0
  57. package/build/template-part/edit/placeholder.js.map +1 -0
  58. package/build/template-part/edit/selection-modal.js +103 -0
  59. package/build/template-part/edit/selection-modal.js.map +1 -0
  60. package/build/template-part/edit/title-modal.js +54 -0
  61. package/build/template-part/edit/title-modal.js.map +1 -0
  62. package/build/template-part/edit/utils/hooks.js +156 -0
  63. package/build/template-part/edit/utils/hooks.js.map +1 -0
  64. package/build/template-part/index.js +3 -1
  65. package/build/template-part/index.js.map +1 -1
  66. package/build-module/button/edit.native.js +4 -4
  67. package/build-module/button/edit.native.js.map +1 -1
  68. package/build-module/columns/index.js +12 -0
  69. package/build-module/columns/index.js.map +1 -1
  70. package/build-module/comment-author-avatar/edit.js +18 -6
  71. package/build-module/comment-author-avatar/edit.js.map +1 -1
  72. package/build-module/comment-template/edit.js +95 -37
  73. package/build-module/comment-template/edit.js.map +1 -1
  74. package/build-module/comment-template/hooks.js +156 -0
  75. package/build-module/comment-template/hooks.js.map +1 -0
  76. package/build-module/comment-template/index.js +1 -1
  77. package/build-module/comment-template/util.js.map +1 -1
  78. package/build-module/comments-pagination-next/index.js +1 -1
  79. package/build-module/comments-pagination-numbers/index.js +1 -1
  80. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +20 -9
  81. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  82. package/build-module/comments-query-loop/edit.js +2 -19
  83. package/build-module/comments-query-loop/edit.js.map +1 -1
  84. package/build-module/comments-query-loop/index.js +5 -0
  85. package/build-module/comments-query-loop/index.js.map +1 -1
  86. package/build-module/cover/edit.js +23 -24
  87. package/build-module/cover/edit.js.map +1 -1
  88. package/build-module/cover/edit.native.js +10 -8
  89. package/build-module/cover/edit.native.js.map +1 -1
  90. package/build-module/cover/overlay-color-settings.native.js +4 -4
  91. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  92. package/build-module/cover/transforms.js +4 -2
  93. package/build-module/cover/transforms.js.map +1 -1
  94. package/build-module/group/index.js +1 -0
  95. package/build-module/group/index.js.map +1 -1
  96. package/build-module/heading/edit.js +15 -3
  97. package/build-module/heading/edit.js.map +1 -1
  98. package/build-module/image/deprecated.js +90 -7
  99. package/build-module/image/deprecated.js.map +1 -1
  100. package/build-module/image/save.js +0 -7
  101. package/build-module/image/save.js.map +1 -1
  102. package/build-module/latest-posts/edit.js +1 -0
  103. package/build-module/latest-posts/edit.js.map +1 -1
  104. package/build-module/navigation/edit/index.js +17 -15
  105. package/build-module/navigation/edit/index.js.map +1 -1
  106. package/build-module/navigation/edit/navigation-menu-selector.js +45 -27
  107. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  108. package/build-module/navigation/edit/placeholder/index.js +8 -21
  109. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  110. package/build-module/navigation/use-navigation-menu.js +6 -6
  111. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  112. package/build-module/navigation-submenu/edit.js +41 -10
  113. package/build-module/navigation-submenu/edit.js.map +1 -1
  114. package/build-module/page-list/edit.js +12 -18
  115. package/build-module/page-list/edit.js.map +1 -1
  116. package/build-module/social-links/deprecated.js +1 -62
  117. package/build-module/social-links/deprecated.js.map +1 -1
  118. package/build-module/template-part/edit/index.js +37 -65
  119. package/build-module/template-part/edit/index.js.map +1 -1
  120. package/build-module/template-part/edit/placeholder.js +52 -0
  121. package/build-module/template-part/edit/placeholder.js.map +1 -0
  122. package/build-module/template-part/edit/selection-modal.js +89 -0
  123. package/build-module/template-part/edit/selection-modal.js.map +1 -0
  124. package/build-module/template-part/edit/title-modal.js +46 -0
  125. package/build-module/template-part/edit/title-modal.js.map +1 -0
  126. package/build-module/template-part/edit/utils/hooks.js +135 -0
  127. package/build-module/template-part/edit/utils/hooks.js.map +1 -0
  128. package/build-module/template-part/index.js +2 -1
  129. package/build-module/template-part/index.js.map +1 -1
  130. package/build-style/comment-author-avatar/editor-rtl.css +83 -0
  131. package/build-style/comment-author-avatar/editor.css +83 -0
  132. package/build-style/cover/style-rtl.css +4 -0
  133. package/build-style/cover/style.css +4 -0
  134. package/build-style/editor-rtl.css +27 -81
  135. package/build-style/editor.css +27 -81
  136. package/build-style/image/editor-rtl.css +0 -16
  137. package/build-style/image/editor.css +0 -16
  138. package/build-style/image/style-rtl.css +2 -0
  139. package/build-style/image/style.css +2 -0
  140. package/build-style/navigation/style-rtl.css +14 -3
  141. package/build-style/navigation/style.css +14 -3
  142. package/build-style/page-list/editor-rtl.css +0 -9
  143. package/build-style/page-list/editor.css +0 -9
  144. package/build-style/style-rtl.css +20 -3
  145. package/build-style/style.css +20 -3
  146. package/build-style/template-part/editor-rtl.css +19 -56
  147. package/build-style/template-part/editor.css +19 -56
  148. package/package.json +15 -15
  149. package/src/archives/index.php +1 -1
  150. package/src/button/edit.native.js +3 -3
  151. package/src/columns/block.json +12 -0
  152. package/src/comment-author-avatar/edit.js +13 -8
  153. package/src/comment-author-avatar/editor.scss +7 -0
  154. package/src/comment-template/block.json +7 -1
  155. package/src/comment-template/edit.js +102 -40
  156. package/src/comment-template/hooks.js +151 -0
  157. package/src/comment-template/index.php +8 -0
  158. package/src/comment-template/util.js +1 -0
  159. package/src/comments-pagination-next/block.json +8 -1
  160. package/src/comments-pagination-next/index.php +6 -8
  161. package/src/comments-pagination-numbers/block.json +7 -1
  162. package/src/comments-pagination-numbers/index.php +3 -10
  163. package/src/comments-query-loop/block.json +5 -0
  164. package/src/comments-query-loop/edit/comments-inspector-controls.js +22 -4
  165. package/src/comments-query-loop/edit.js +1 -16
  166. package/src/cover/edit.js +15 -28
  167. package/src/cover/edit.native.js +15 -7
  168. package/src/cover/overlay-color-settings.native.js +3 -4
  169. package/src/cover/style.scss +4 -0
  170. package/src/cover/transforms.js +2 -0
  171. package/src/editor.scss +1 -0
  172. package/src/gallery/index.php +1 -8
  173. package/src/group/block.json +1 -0
  174. package/src/heading/edit.js +18 -5
  175. package/src/home-link/index.php +1 -19
  176. package/src/image/deprecated.js +105 -1
  177. package/src/image/editor.scss +0 -18
  178. package/src/image/save.js +0 -8
  179. package/src/image/style.scss +3 -0
  180. package/src/image/test/edit.native.js +0 -10
  181. package/src/latest-posts/edit.js +1 -0
  182. package/src/latest-posts/index.php +1 -1
  183. package/src/navigation/edit/index.js +25 -26
  184. package/src/navigation/edit/navigation-menu-selector.js +73 -28
  185. package/src/navigation/edit/placeholder/index.js +8 -32
  186. package/src/navigation/index.php +4 -4
  187. package/src/navigation/style.scss +22 -3
  188. package/src/navigation/use-navigation-menu.js +6 -6
  189. package/src/navigation-link/index.php +3 -22
  190. package/src/navigation-submenu/edit.js +50 -12
  191. package/src/navigation-submenu/index.php +3 -21
  192. package/src/page-list/edit.js +21 -25
  193. package/src/page-list/editor.scss +0 -10
  194. package/src/page-list/index.php +4 -4
  195. package/src/post-navigation-link/index.php +3 -3
  196. package/src/search/index.php +6 -3
  197. package/src/site-logo/index.php +1 -1
  198. package/src/social-links/deprecated.js +0 -59
  199. package/src/template-part/edit/index.js +61 -71
  200. package/src/template-part/edit/placeholder.js +78 -0
  201. package/src/template-part/edit/selection-modal.js +115 -0
  202. package/src/template-part/edit/title-modal.js +59 -0
  203. package/src/template-part/edit/utils/hooks.js +158 -0
  204. package/src/template-part/editor.scss +16 -74
  205. package/src/template-part/index.js +4 -1
  206. package/build/navigation/edit/existing-menus-options.js +0 -62
  207. package/build/navigation/edit/existing-menus-options.js.map +0 -1
  208. package/build/template-part/edit/placeholder/index.js +0 -141
  209. package/build/template-part/edit/placeholder/index.js.map +0 -1
  210. package/build/template-part/edit/placeholder/patterns-setup.js +0 -100
  211. package/build/template-part/edit/placeholder/patterns-setup.js.map +0 -1
  212. package/build/template-part/edit/selection/index.js +0 -45
  213. package/build/template-part/edit/selection/index.js.map +0 -1
  214. package/build/template-part/edit/selection/template-part-previews.js +0 -317
  215. package/build/template-part/edit/selection/template-part-previews.js.map +0 -1
  216. package/build-module/navigation/edit/existing-menus-options.js +0 -53
  217. package/build-module/navigation/edit/existing-menus-options.js.map +0 -1
  218. package/build-module/template-part/edit/placeholder/index.js +0 -124
  219. package/build-module/template-part/edit/placeholder/index.js.map +0 -1
  220. package/build-module/template-part/edit/placeholder/patterns-setup.js +0 -91
  221. package/build-module/template-part/edit/placeholder/patterns-setup.js.map +0 -1
  222. package/build-module/template-part/edit/selection/index.js +0 -35
  223. package/build-module/template-part/edit/selection/index.js.map +0 -1
  224. package/build-module/template-part/edit/selection/template-part-previews.js +0 -298
  225. package/build-module/template-part/edit/selection/template-part-previews.js.map +0 -1
  226. package/src/navigation/edit/existing-menus-options.js +0 -70
  227. package/src/template-part/edit/placeholder/index.js +0 -172
  228. package/src/template-part/edit/placeholder/patterns-setup.js +0 -124
  229. package/src/template-part/edit/selection/index.js +0 -37
  230. package/src/template-part/edit/selection/template-part-previews.js +0 -372
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","noop","useState","useEffect","useRef","useCallback","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","EntityProvider","useEntityProp","useDispatch","useSelect","useRegistry","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","ToolbarDropdownMenu","Button","__","useListViewModal","useNavigationMenu","useNavigationEntities","Placeholder","PlaceholderPreview","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","areaMenu","setAreaMenu","process","env","IS_GUTENBERG_PLUGIN","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","name","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","canUserUpdateNavigationEntity","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","startWithEmptyMenu","batch","hasUnsavedBlocks","post","id","PlaceholderComponent","isResponsive","overlayMenuPreviewClasses","open","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t_uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasUncontrolledInnerBlocks || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserDeleteNavigationEntity,\n\t\thasResolvedCanUserDeleteNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t! canUserUpdateNavigationEntity\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigation &&\n\t\t\t\t! canUserCreateNavigation\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t\tref,\n\t] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t\tsetIsPlaceholderShown( true );\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</nav>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcanUserSwitchNavigation={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\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<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\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\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\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\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\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\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\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\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationEntity &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcanUserCreateNavigation={ canUserCreateNavigation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! hasResolvedCanUserCreateNavigation ||\n\t\t\t\t\t\t( ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","noop","useState","useEffect","useRef","useCallback","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","EntityProvider","useEntityProp","useDispatch","useSelect","useRegistry","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","ToolbarDropdownMenu","Button","__","useListViewModal","useNavigationMenu","useNavigationEntities","Placeholder","PlaceholderPreview","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","areaMenu","setAreaMenu","process","env","IS_GUTENBERG_PLUGIN","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","name","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","startWithEmptyMenu","batch","hasUnsavedBlocks","post","id","PlaceholderComponent","isResponsive","overlayMenuPreviewClasses","open","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t_uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasUncontrolledInnerBlocks || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t\tsetIsPlaceholderShown( true );\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</nav>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\t\t\tshowManageActions\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</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\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<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\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\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\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\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\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\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\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\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcanUserCreateNavigationMenu={\n\t\t\t\t\t\t\t\tcanUserCreateNavigationMenu\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! hasResolvedCanUserCreateNavigationMenu ||\n\t\t\t\t\t\t( ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
@@ -4,7 +4,8 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * WordPress dependencies
5
5
  */
6
6
  import { MenuGroup, MenuItem } from '@wordpress/components';
7
- import { __ } from '@wordpress/i18n';
7
+ import { __, sprintf } from '@wordpress/i18n';
8
+ import { decodeEntities } from '@wordpress/html-entities';
8
9
  import { addQueryArgs } from '@wordpress/url';
9
10
  /**
10
11
  * Internal dependencies
@@ -14,28 +15,34 @@ import useNavigationMenu from '../use-navigation-menu';
14
15
  import useNavigationEntities from '../use-navigation-entities';
15
16
  import useConvertClassicMenu from '../use-convert-classic-menu';
16
17
  import useCreateNavigationMenu from './use-create-navigation-menu';
17
- import ExistingMenusOptions from './existing-menus-options';
18
18
  export default function NavigationMenuSelector(_ref) {
19
19
  let {
20
20
  clientId,
21
21
  onSelect,
22
22
  onCreateNew,
23
- canUserCreateNavigation = false,
24
- canUserSwitchNavigation = false
23
+ showManageActions = false,
24
+ actionLabel
25
25
  } = _ref;
26
+
27
+ /* translators: %s: The name of a menu. */
28
+ const createActionLabel = __("Create from '%s'");
29
+
30
+ actionLabel = actionLabel || createActionLabel;
26
31
  const {
27
- menus: classicMenus,
28
- hasMenus: hasClassicMenus
32
+ menus: classicMenus
29
33
  } = useNavigationEntities();
30
34
  const {
31
- navigationMenus
35
+ navigationMenus,
36
+ canUserCreateNavigationMenu,
37
+ canUserUpdateNavigationMenu,
38
+ canSwitchNavigationMenu
32
39
  } = useNavigationMenu();
33
40
  const createNavigationMenu = useCreateNavigationMenu(clientId);
34
41
 
35
42
  const onFinishMenuCreation = async function (blocks) {
36
43
  let navigationMenuTitle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
37
44
 
38
- if (!canUserCreateNavigation) {
45
+ if (!canUserCreateNavigationMenu) {
39
46
  return;
40
47
  }
41
48
 
@@ -44,31 +51,42 @@ export default function NavigationMenuSelector(_ref) {
44
51
  };
45
52
 
46
53
  const convertClassicMenuToBlocks = useConvertClassicMenu(onFinishMenuCreation);
47
- const showSelectMenus = (canUserSwitchNavigation || canUserCreateNavigation) && ((navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) || hasClassicMenus);
54
+ const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
55
+ const hasClassicMenus = !!(classicMenus !== null && classicMenus !== void 0 && classicMenus.length);
56
+ const showNavigationMenus = !!canSwitchNavigationMenu;
57
+ const showClassicMenus = !!canUserCreateNavigationMenu;
58
+ const hasManagePermissions = canUserCreateNavigationMenu || canUserUpdateNavigationMenu;
59
+ const showSelectMenus = (canSwitchNavigationMenu || canUserCreateNavigationMenu) && (hasNavigationMenus || hasClassicMenus);
48
60
 
49
61
  if (!showSelectMenus) {
50
62
  return null;
51
63
  }
52
64
 
53
- return createElement(Fragment, null, createElement(ExistingMenusOptions, {
54
- showNavigationMenus: canUserSwitchNavigation,
55
- showClassicMenus: canUserCreateNavigation,
56
- navigationMenus: navigationMenus,
57
- classicMenus: classicMenus,
58
- onSelectNavigationMenu: onSelect,
59
- onSelectClassicMenu: _ref2 => {
60
- let {
61
- id,
62
- name
63
- } = _ref2;
64
- return convertClassicMenuToBlocks(id, name);
65
- }
66
- /* translators: %s: The name of a menu. */
67
- ,
68
- actionLabel: __("Switch to '%s'")
69
- }), canUserCreateNavigation && createElement(MenuGroup, {
65
+ return createElement(Fragment, null, showNavigationMenus && hasNavigationMenus && createElement(MenuGroup, {
66
+ label: __('Menus')
67
+ }, navigationMenus.map(menu => {
68
+ const label = decodeEntities(menu.title.rendered);
69
+ return createElement(MenuItem, {
70
+ onClick: () => {
71
+ onSelect(menu);
72
+ },
73
+ key: menu.id,
74
+ "aria-label": sprintf(actionLabel, label)
75
+ }, label);
76
+ })), showClassicMenus && hasClassicMenus && createElement(MenuGroup, {
77
+ label: __('Classic Menus')
78
+ }, classicMenus.map(menu => {
79
+ const label = decodeEntities(menu.name);
80
+ return createElement(MenuItem, {
81
+ onClick: () => {
82
+ convertClassicMenuToBlocks(menu.id, menu.name);
83
+ },
84
+ key: menu.id,
85
+ "aria-label": sprintf(createActionLabel, label)
86
+ }, label);
87
+ })), showManageActions && hasManagePermissions && createElement(MenuGroup, {
70
88
  label: __('Tools')
71
- }, createElement(MenuItem, {
89
+ }, canUserCreateNavigationMenu && createElement(MenuItem, {
72
90
  onClick: onCreateNew
73
91
  }, __('Create new menu')), createElement(MenuItem, {
74
92
  href: addQueryArgs('edit.php', {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","__","addQueryArgs","useNavigationMenu","useNavigationEntities","useConvertClassicMenu","useCreateNavigationMenu","ExistingMenusOptions","NavigationMenuSelector","clientId","onSelect","onCreateNew","canUserCreateNavigation","canUserSwitchNavigation","menus","classicMenus","hasMenus","hasClassicMenus","navigationMenus","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","convertClassicMenuToBlocks","showSelectMenus","length","id","name","post_type"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,QAApB,QAAoC,uBAApC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,SAASC,YAAT,QAA6B,gBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AACA,OAAOC,qBAAP,MAAkC,6BAAlC;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AAEA,eAAe,SAASC,sBAAT,OAMX;AAAA,MAN4C;AAC/CC,IAAAA,QAD+C;AAE/CC,IAAAA,QAF+C;AAG/CC,IAAAA,WAH+C;AAI/CC,IAAAA,uBAAuB,GAAG,KAJqB;AAK/CC,IAAAA,uBAAuB,GAAG;AALqB,GAM5C;AACH,QAAM;AACLC,IAAAA,KAAK,EAAEC,YADF;AAELC,IAAAA,QAAQ,EAAEC;AAFL,MAGFb,qBAAqB,EAHzB;AAIA,QAAM;AAAEc,IAAAA;AAAF,MAAsBf,iBAAiB,EAA7C;AAEA,QAAMgB,oBAAoB,GAAGb,uBAAuB,CAAEG,QAAF,CAApD;;AAEA,QAAMW,oBAAoB,GAAG,gBAC5BC,MAD4B,EAGxB;AAAA,QADJC,mBACI,uEADkB,IAClB;;AACJ,QAAK,CAAEV,uBAAP,EAAiC;AAChC;AACA;;AAED,UAAMW,cAAc,GAAG,MAAMJ,oBAAoB,CAChDG,mBADgD,EAEhDD,MAFgD,CAAjD;AAIAX,IAAAA,QAAQ,CAAEa,cAAF,CAAR;AACA,GAbD;;AAeA,QAAMC,0BAA0B,GAAGnB,qBAAqB,CACvDe,oBADuD,CAAxD;AAIA,QAAMK,eAAe,GACpB,CAAEZ,uBAAuB,IAAID,uBAA7B,MACE,CAAAM,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEQ,MAAjB,KAA2BT,eAD7B,CADD;;AAIA,MAAK,CAAEQ,eAAP,EAAyB;AACxB,WAAO,IAAP;AACA;;AAED,SACC,8BACC,cAAC,oBAAD;AACC,IAAA,mBAAmB,EAAGZ,uBADvB;AAEC,IAAA,gBAAgB,EAAGD,uBAFpB;AAGC,IAAA,eAAe,EAAGM,eAHnB;AAIC,IAAA,YAAY,EAAGH,YAJhB;AAKC,IAAA,sBAAsB,EAAGL,QAL1B;AAMC,IAAA,mBAAmB,EAAG;AAAA,UAAE;AAAEiB,QAAAA,EAAF;AAAMC,QAAAA;AAAN,OAAF;AAAA,aACrBJ,0BAA0B,CAAEG,EAAF,EAAMC,IAAN,CADL;AAAA;AAGtB;AATD;AAUC,IAAA,WAAW,EAAG3B,EAAE,CAAE,gBAAF;AAVjB,IADD,EAcGW,uBAAuB,IACxB,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGX,EAAE,CAAE,OAAF;AAArB,KACC,cAAC,QAAD;AAAU,IAAA,OAAO,EAAGU;AAApB,KACGV,EAAE,CAAE,iBAAF,CADL,CADD,EAIC,cAAC,QAAD;AACC,IAAA,IAAI,EAAGC,YAAY,CAAE,UAAF,EAAc;AAChC2B,MAAAA,SAAS,EAAE;AADqB,KAAd;AADpB,KAKG5B,EAAE,CAAE,cAAF,CALL,CAJD,CAfF,CADD;AA+BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport useConvertClassicMenu from '../use-convert-classic-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport ExistingMenusOptions from './existing-menus-options';\n\nexport default function NavigationMenuSelector( {\n\tclientId,\n\tonSelect,\n\tonCreateNew,\n\tcanUserCreateNavigation = false,\n\tcanUserSwitchNavigation = false,\n} ) {\n\tconst {\n\t\tmenus: classicMenus,\n\t\thasMenus: hasClassicMenus,\n\t} = useNavigationEntities();\n\tconst { navigationMenus } = useNavigationMenu();\n\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonSelect( navigationMenu );\n\t};\n\n\tconst convertClassicMenuToBlocks = useConvertClassicMenu(\n\t\tonFinishMenuCreation\n\t);\n\n\tconst showSelectMenus =\n\t\t( canUserSwitchNavigation || canUserCreateNavigation ) &&\n\t\t( navigationMenus?.length || hasClassicMenus );\n\n\tif ( ! showSelectMenus ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ExistingMenusOptions\n\t\t\t\tshowNavigationMenus={ canUserSwitchNavigation }\n\t\t\t\tshowClassicMenus={ canUserCreateNavigation }\n\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\tclassicMenus={ classicMenus }\n\t\t\t\tonSelectNavigationMenu={ onSelect }\n\t\t\t\tonSelectClassicMenu={ ( { id, name } ) =>\n\t\t\t\t\tconvertClassicMenuToBlocks( id, name )\n\t\t\t\t}\n\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t/>\n\n\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","__","sprintf","decodeEntities","addQueryArgs","useNavigationMenu","useNavigationEntities","useConvertClassicMenu","useCreateNavigationMenu","NavigationMenuSelector","clientId","onSelect","onCreateNew","showManageActions","actionLabel","createActionLabel","menus","classicMenus","navigationMenus","canUserCreateNavigationMenu","canUserUpdateNavigationMenu","canSwitchNavigationMenu","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","convertClassicMenuToBlocks","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","hasManagePermissions","showSelectMenus","map","menu","label","title","rendered","id","name","post_type"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport useConvertClassicMenu from '../use-convert-classic-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\n\nexport default function NavigationMenuSelector( {\n\tclientId,\n\tonSelect,\n\tonCreateNew,\n\tshowManageActions = false,\n\tactionLabel,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigationMenu ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonSelect( navigationMenu );\n\t};\n\n\tconst convertClassicMenuToBlocks = useConvertClassicMenu(\n\t\tonFinishMenuCreation\n\t);\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\tconst showSelectMenus =\n\t\t( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&\n\t\t( hasNavigationMenus || hasClassicMenus );\n\n\tif ( ! showSelectMenus ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t{ navigationMenus.map( ( menu ) => {\n\t\t\t\t\t\tconst label = decodeEntities( menu.title.rendered );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonSelect( menu );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\taria-label={ sprintf( actionLabel, label ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t{ classicMenus.map( ( menu ) => {\n\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tconvertClassicMenuToBlocks(\n\t\t\t\t\t\t\t\t\t\tmenu.id,\n\t\t\t\t\t\t\t\t\t\tmenu.name\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\tkey={ menu.id }\n\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\tlabel\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{ label }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\n\t\t\t{ showManageActions && hasManagePermissions && (\n\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -14,22 +14,21 @@ import useNavigationEntities from '../../use-navigation-entities';
14
14
  import PlaceholderPreview from './placeholder-preview';
15
15
  import useNavigationMenu from '../../use-navigation-menu';
16
16
  import useCreateNavigationMenu from '../use-create-navigation-menu';
17
- import useConvertClassicMenu from '../../use-convert-classic-menu';
18
- import ExistingMenusOptions from '../existing-menus-options';
17
+ import NavigationMenuSelector from '../navigation-menu-selector';
19
18
  export default function NavigationPlaceholder(_ref) {
20
19
  let {
21
20
  clientId,
22
21
  onFinish,
23
22
  canSwitchNavigationMenu,
24
23
  hasResolvedNavigationMenus,
25
- canUserCreateNavigation = false
24
+ canUserCreateNavigationMenu = false
26
25
  } = _ref;
27
26
  const createNavigationMenu = useCreateNavigationMenu(clientId);
28
27
 
29
28
  const onFinishMenuCreation = async function (blocks) {
30
29
  let navigationMenuTitle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
31
30
 
32
- if (!canUserCreateNavigation) {
31
+ if (!canUserCreateNavigationMenu) {
33
32
  return;
34
33
  }
35
34
 
@@ -37,10 +36,8 @@ export default function NavigationPlaceholder(_ref) {
37
36
  onFinish(navigationMenu, blocks);
38
37
  };
39
38
 
40
- const convertClassicMenu = useConvertClassicMenu(onFinishMenuCreation);
41
39
  const {
42
40
  isResolvingPages,
43
- menus,
44
41
  isResolvingMenus,
45
42
  hasMenus
46
43
  } = useNavigationEntities();
@@ -54,7 +51,7 @@ export default function NavigationPlaceholder(_ref) {
54
51
  navigationMenus
55
52
  } = useNavigationMenu();
56
53
  const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
57
- const showSelectMenus = (canSwitchNavigationMenu || canUserCreateNavigation) && (hasNavigationMenus || hasMenus);
54
+ const showSelectMenus = (canSwitchNavigationMenu || canUserCreateNavigationMenu) && (hasNavigationMenus || hasMenus);
58
55
  return createElement(Fragment, null, (!hasResolvedNavigationMenus || isStillLoading) && createElement(PlaceholderPreview, {
59
56
  isLoading: true
60
57
  }), hasResolvedNavigationMenus && !isStillLoading && createElement(Placeholder, {
@@ -78,20 +75,10 @@ export default function NavigationPlaceholder(_ref) {
78
75
  popoverProps: {
79
76
  isAlternate: true
80
77
  }
81
- }, () => createElement(ExistingMenusOptions, {
82
- showNavigationMenus: canSwitchNavigationMenu,
83
- navigationMenus: navigationMenus,
84
- onSelectNavigationMenu: onFinish,
85
- classicMenus: menus,
86
- onSelectClassicMenu: _ref2 => {
87
- let {
88
- id,
89
- name
90
- } = _ref2;
91
- return convertClassicMenu(id, name);
92
- },
93
- showClassicMenus: canUserCreateNavigation
94
- })), createElement("hr", null)) : undefined, canUserCreateNavigation && createElement(Button, {
78
+ }, () => createElement(NavigationMenuSelector, {
79
+ clientId: clientId,
80
+ onSelect: onFinish
81
+ })), createElement("hr", null)) : undefined, canUserCreateNavigationMenu && createElement(Button, {
95
82
  variant: "tertiary",
96
83
  onClick: onCreateEmptyMenu
97
84
  }, __('Start empty'))))));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["Placeholder","Button","DropdownMenu","__","navigation","Icon","useNavigationEntities","PlaceholderPreview","useNavigationMenu","useCreateNavigationMenu","useConvertClassicMenu","ExistingMenusOptions","NavigationPlaceholder","clientId","onFinish","canSwitchNavigationMenu","hasResolvedNavigationMenus","canUserCreateNavigation","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","convertClassicMenu","isResolvingPages","menus","isResolvingMenus","hasMenus","isStillLoading","onCreateEmptyMenu","navigationMenus","hasNavigationMenus","length","showSelectMenus","variant","iconPosition","className","isAlternate","id","name","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, DropdownMenu } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\nimport useConvertClassicMenu from '../../use-convert-classic-menu';\nimport ExistingMenusOptions from '../existing-menus-options';\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n\tcanUserCreateNavigation = false,\n} ) {\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst convertClassicMenu = useConvertClassicMenu( onFinishMenuCreation );\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\thasMenus,\n\t} = useNavigationEntities();\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\tconst showSelectMenus =\n\t\t( canSwitchNavigationMenu || canUserCreateNavigation ) &&\n\t\t( hasNavigationMenus || hasMenus );\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t\t{ showSelectMenus ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\t\ttext={ __( 'Select menu' ) }\n\t\t\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\t\t\t\t\t\ticonPosition: 'right',\n\t\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-placeholder__actions__dropdown',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tpopoverProps={ { isAlternate: true } }\n\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<ExistingMenusOptions\n\t\t\t\t\t\t\t\t\t\t\t\tshowNavigationMenus={\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\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\tnavigationMenus={\n\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationMenus\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\tonSelectNavigationMenu={\n\t\t\t\t\t\t\t\t\t\t\t\t\tonFinish\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\tclassicMenus={ menus }\n\t\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu={ ( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t\t\tname,\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\tconvertClassicMenu(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname\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}\n\t\t\t\t\t\t\t\t\t\t\t\tshowClassicMenus={\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\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/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\n\t\t\t\t\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["Placeholder","Button","DropdownMenu","__","navigation","Icon","useNavigationEntities","PlaceholderPreview","useNavigationMenu","useCreateNavigationMenu","NavigationMenuSelector","NavigationPlaceholder","clientId","onFinish","canSwitchNavigationMenu","hasResolvedNavigationMenus","canUserCreateNavigationMenu","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","isResolvingPages","isResolvingMenus","hasMenus","isStillLoading","onCreateEmptyMenu","navigationMenus","hasNavigationMenus","length","showSelectMenus","variant","iconPosition","className","isAlternate","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,EAA8BC,YAA9B,QAAkD,uBAAlD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA;;AAEA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,iBAAP,MAA8B,2BAA9B;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AAEA,eAAe,SAASC,qBAAT,OAMX;AAAA,MAN2C;AAC9CC,IAAAA,QAD8C;AAE9CC,IAAAA,QAF8C;AAG9CC,IAAAA,uBAH8C;AAI9CC,IAAAA,0BAJ8C;AAK9CC,IAAAA,2BAA2B,GAAG;AALgB,GAM3C;AACH,QAAMC,oBAAoB,GAAGR,uBAAuB,CAAEG,QAAF,CAApD;;AAEA,QAAMM,oBAAoB,GAAG,gBAC5BC,MAD4B,EAGxB;AAAA,QADJC,mBACI,uEADkB,IAClB;;AACJ,QAAK,CAAEJ,2BAAP,EAAqC;AACpC;AACA;;AAED,UAAMK,cAAc,GAAG,MAAMJ,oBAAoB,CAChDG,mBADgD,EAEhDD,MAFgD,CAAjD;AAIAN,IAAAA,QAAQ,CAAEQ,cAAF,EAAkBF,MAAlB,CAAR;AACA,GAbD;;AAeA,QAAM;AACLG,IAAAA,gBADK;AAELC,IAAAA,gBAFK;AAGLC,IAAAA;AAHK,MAIFlB,qBAAqB,EAJzB;AAMA,QAAMmB,cAAc,GAAGH,gBAAgB,IAAIC,gBAA3C;;AAEA,QAAMG,iBAAiB,GAAG,MAAM;AAC/BR,IAAAA,oBAAoB,CAAE,EAAF,CAApB;AACA,GAFD;;AAIA,QAAM;AAAES,IAAAA;AAAF,MAAsBnB,iBAAiB,EAA7C;AAEA,QAAMoB,kBAAkB,GAAG,CAAC,EAAED,eAAF,aAAEA,eAAF,eAAEA,eAAe,CAAEE,MAAnB,CAA5B;AAEA,QAAMC,eAAe,GACpB,CAAEhB,uBAAuB,IAAIE,2BAA7B,MACEY,kBAAkB,IAAIJ,QADxB,CADD;AAIA,SACC,8BACG,CAAE,CAAET,0BAAF,IAAgCU,cAAlC,KACD,cAAC,kBAAD;AAAoB,IAAA,SAAS;AAA7B,IAFF,EAIGV,0BAA0B,IAAI,CAAEU,cAAhC,IACD,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KACC,cAAC,kBAAD,OADD,EAEC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGrB;AAAb,IADD,EAC+B,GAD/B,EAEGD,EAAE,CAAE,YAAF,CAFL,CADD,EAMC,yBAND,EAQG2B,eAAe,GAChB,8BACC,cAAC,YAAD;AACC,IAAA,IAAI,EAAG3B,EAAE,CAAE,aAAF,CADV;AAEC,IAAA,IAAI,EAAG,IAFR;AAGC,IAAA,WAAW,EAAG;AACb4B,MAAAA,OAAO,EAAE,UADI;AAEbC,MAAAA,YAAY,EAAE,OAFD;AAGbC,MAAAA,SAAS,EACR;AAJY,KAHf;AASC,IAAA,YAAY,EAAG;AAAEC,MAAAA,WAAW,EAAE;AAAf;AAThB,KAWG,MACD,cAAC,sBAAD;AACC,IAAA,QAAQ,EAAGtB,QADZ;AAEC,IAAA,QAAQ,EAAGC;AAFZ,IAZF,CADD,EAmBC,yBAnBD,CADgB,GAsBbsB,SA9BL,EAgCGnB,2BAA2B,IAC5B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGU;AAFX,KAIGvB,EAAE,CAAE,aAAF,CAJL,CAjCF,CADD,CAFD,CALF,CADD;AAuDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, DropdownMenu } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n\tcanUserCreateNavigationMenu = false,\n} ) {\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigationMenu ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tisResolvingMenus,\n\t\thasMenus,\n\t} = useNavigationEntities();\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\tconst showSelectMenus =\n\t\t( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&\n\t\t( hasNavigationMenus || hasMenus );\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t\t{ showSelectMenus ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\t\ttext={ __( 'Select menu' ) }\n\t\t\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\t\t\t\t\t\ticonPosition: 'right',\n\t\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-placeholder__actions__dropdown',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tpopoverProps={ { isAlternate: true } }\n\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<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect={ onFinish }\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</DropdownMenu>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\n\t\t\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -37,12 +37,12 @@ export default function useNavigationMenu(ref) {
37
37
  hasResolvedNavigationMenus: hasFinishedResolution('getEntityRecords', navigationMenuMultipleArgs),
38
38
  navigationMenu,
39
39
  navigationMenus,
40
- canUserUpdateNavigationEntity: ref ? canUser('update', 'navigation', ref) : undefined,
41
- hasResolvedCanUserUpdateNavigationEntity: hasFinishedResolution('canUser', ['update', 'navigation', ref]),
42
- canUserDeleteNavigationEntity: ref ? canUser('delete', 'navigation', ref) : undefined,
43
- hasResolvedCanUserDeleteNavigationEntity: hasFinishedResolution('canUser', ['delete', 'navigation', ref]),
44
- canUserCreateNavigation: canUser('create', 'navigation'),
45
- hasResolvedCanUserCreateNavigation: hasFinishedResolution('canUser', ['create', 'navigation'])
40
+ canUserUpdateNavigationMenu: ref ? canUser('update', 'navigation', ref) : undefined,
41
+ hasResolvedCanUserUpdateNavigationMenu: hasFinishedResolution('canUser', ['update', 'navigation', ref]),
42
+ canUserDeleteNavigationMenu: ref ? canUser('delete', 'navigation', ref) : undefined,
43
+ hasResolvedCanUserDeleteNavigationMenu: hasFinishedResolution('canUser', ['delete', 'navigation', ref]),
44
+ canUserCreateNavigationMenu: canUser('create', 'navigation'),
45
+ hasResolvedCanUserCreateNavigationMenu: hasFinishedResolution('canUser', ['create', 'navigation'])
46
46
  };
47
47
  }, [ref]);
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["store","coreStore","useSelect","useNavigationMenu","ref","select","getEntityRecord","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","canUser","navigationMenuSingleArgs","rawNavigationMenu","navigationMenu","status","hasResolvedNavigationMenu","navigationMenuMultipleArgs","per_page","navigationMenus","canSwitchNavigationMenu","length","isNavigationMenuResolved","isNavigationMenuMissing","hasResolvedNavigationMenus","canUserUpdateNavigationEntity","undefined","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,eAAe,SAASC,iBAAT,CAA4BC,GAA5B,EAAkC;AAChD,SAAOF,SAAS,CACbG,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,gBAHK;AAILC,MAAAA,qBAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEJ,SAAF,CANV;AAQA,UAAMU,wBAAwB,GAAG,CAChC,UADgC,EAEhC,eAFgC,EAGhCP,GAHgC,CAAjC;AAKA,UAAMQ,iBAAiB,GAAGR,GAAG,GAC1BE,eAAe,CAAE,GAAGK,wBAAL,CADW,GAE1B,IAFH;AAGA,QAAIE,cAAc,GAAGT,GAAG,GACrBG,qBAAqB,CAAE,GAAGI,wBAAL,CADA,GAErB,IAFH,CAjBa,CAqBb;AACA;;AACA,QAAK,oBAAAE,cAAc,UAAd,0DAAgBC,MAAhB,MAA2B,SAAhC,EAA4C;AAC3CD,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,UAAME,yBAAyB,GAAGX,GAAG,GAClCK,qBAAqB,CACrB,uBADqB,EAErBE,wBAFqB,CADa,GAKlC,KALH;AAOA,UAAMK,0BAA0B,GAAG,CAClC,UADkC,EAElC,eAFkC,EAGlC;AAAEC,MAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBH,MAAAA,MAAM,EAAE;AAAxB,KAHkC,CAAnC;AAKA,UAAMI,eAAe,GAAGV,gBAAgB,CACvC,GAAGQ,0BADoC,CAAxC;AAIA,UAAMG,uBAAuB,GAAGf,GAAG,GAChC,CAAAc,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CADM,GAEhC,CAAAF,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CAF7B;AAIA,WAAO;AACNC,MAAAA,wBAAwB,EAAEN,yBADpB;AAENO,MAAAA,uBAAuB,EACtB,CAAElB,GAAF,IACEW,yBAAyB,IAAI,CAAEH,iBAJ5B;AAKNO,MAAAA,uBALM;AAMNI,MAAAA,0BAA0B,EAAEd,qBAAqB,CAChD,kBADgD,EAEhDO,0BAFgD,CAN3C;AAUNH,MAAAA,cAVM;AAWNK,MAAAA,eAXM;AAYNM,MAAAA,6BAA6B,EAAEpB,GAAG,GAC/BM,OAAO,CAAE,QAAF,EAAY,YAAZ,EAA0BN,GAA1B,CADwB,GAE/BqB,SAdG;AAeNC,MAAAA,wCAAwC,EAAEjB,qBAAqB,CAC9D,SAD8D,EAE9D,CAAE,QAAF,EAAY,YAAZ,EAA0BL,GAA1B,CAF8D,CAfzD;AAmBNuB,MAAAA,6BAA6B,EAAEvB,GAAG,GAC/BM,OAAO,CAAE,QAAF,EAAY,YAAZ,EAA0BN,GAA1B,CADwB,GAE/BqB,SArBG;AAsBNG,MAAAA,wCAAwC,EAAEnB,qBAAqB,CAC9D,SAD8D,EAE9D,CAAE,QAAF,EAAY,YAAZ,EAA0BL,GAA1B,CAF8D,CAtBzD;AA0BNyB,MAAAA,uBAAuB,EAAEnB,OAAO,CAAE,QAAF,EAAY,YAAZ,CA1B1B;AA2BNoB,MAAAA,kCAAkC,EAAErB,qBAAqB,CACxD,SADwD,EAExD,CAAE,QAAF,EAAY,YAAZ,CAFwD;AA3BnD,KAAP;AAgCA,GAhFc,EAiFf,CAAEL,GAAF,CAjFe,CAAhB;AAmFA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function useNavigationMenu( ref ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tcanUser,\n\t\t\t} = select( coreStore );\n\n\t\t\tconst navigationMenuSingleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tref,\n\t\t\t];\n\t\t\tconst rawNavigationMenu = ref\n\t\t\t\t? getEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\t\t\tlet navigationMenu = ref\n\t\t\t\t? getEditedEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\n\t\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t\t// Therefore if the found post is not published then we should ignore it.\n\t\t\tif ( navigationMenu?.status !== 'publish' ) {\n\t\t\t\tnavigationMenu = null;\n\t\t\t}\n\n\t\t\tconst hasResolvedNavigationMenu = ref\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tnavigationMenuSingleArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst navigationMenuMultipleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\t{ per_page: -1, status: 'publish' },\n\t\t\t];\n\t\t\tconst navigationMenus = getEntityRecords(\n\t\t\t\t...navigationMenuMultipleArgs\n\t\t\t);\n\n\t\t\tconst canSwitchNavigationMenu = ref\n\t\t\t\t? navigationMenus?.length > 1\n\t\t\t\t: navigationMenus?.length > 0;\n\n\t\t\treturn {\n\t\t\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\t\t\tisNavigationMenuMissing:\n\t\t\t\t\t! ref ||\n\t\t\t\t\t( hasResolvedNavigationMenu && ! rawNavigationMenu ),\n\t\t\t\tcanSwitchNavigationMenu,\n\t\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tnavigationMenuMultipleArgs\n\t\t\t\t),\n\t\t\t\tnavigationMenu,\n\t\t\t\tnavigationMenus,\n\t\t\t\tcanUserUpdateNavigationEntity: ref\n\t\t\t\t\t? canUser( 'update', 'navigation', ref )\n\t\t\t\t\t: undefined,\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'update', 'navigation', ref ]\n\t\t\t\t),\n\t\t\t\tcanUserDeleteNavigationEntity: ref\n\t\t\t\t\t? canUser( 'delete', 'navigation', ref )\n\t\t\t\t\t: undefined,\n\t\t\t\thasResolvedCanUserDeleteNavigationEntity: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'delete', 'navigation', ref ]\n\t\t\t\t),\n\t\t\t\tcanUserCreateNavigation: canUser( 'create', 'navigation' ),\n\t\t\t\thasResolvedCanUserCreateNavigation: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'create', 'navigation' ]\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ ref ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["store","coreStore","useSelect","useNavigationMenu","ref","select","getEntityRecord","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","canUser","navigationMenuSingleArgs","rawNavigationMenu","navigationMenu","status","hasResolvedNavigationMenu","navigationMenuMultipleArgs","per_page","navigationMenus","canSwitchNavigationMenu","length","isNavigationMenuResolved","isNavigationMenuMissing","hasResolvedNavigationMenus","canUserUpdateNavigationMenu","undefined","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,eAAe,SAASC,iBAAT,CAA4BC,GAA5B,EAAkC;AAChD,SAAOF,SAAS,CACbG,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,gBAHK;AAILC,MAAAA,qBAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEJ,SAAF,CANV;AAQA,UAAMU,wBAAwB,GAAG,CAChC,UADgC,EAEhC,eAFgC,EAGhCP,GAHgC,CAAjC;AAKA,UAAMQ,iBAAiB,GAAGR,GAAG,GAC1BE,eAAe,CAAE,GAAGK,wBAAL,CADW,GAE1B,IAFH;AAGA,QAAIE,cAAc,GAAGT,GAAG,GACrBG,qBAAqB,CAAE,GAAGI,wBAAL,CADA,GAErB,IAFH,CAjBa,CAqBb;AACA;;AACA,QAAK,oBAAAE,cAAc,UAAd,0DAAgBC,MAAhB,MAA2B,SAAhC,EAA4C;AAC3CD,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,UAAME,yBAAyB,GAAGX,GAAG,GAClCK,qBAAqB,CACrB,uBADqB,EAErBE,wBAFqB,CADa,GAKlC,KALH;AAOA,UAAMK,0BAA0B,GAAG,CAClC,UADkC,EAElC,eAFkC,EAGlC;AAAEC,MAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBH,MAAAA,MAAM,EAAE;AAAxB,KAHkC,CAAnC;AAKA,UAAMI,eAAe,GAAGV,gBAAgB,CACvC,GAAGQ,0BADoC,CAAxC;AAIA,UAAMG,uBAAuB,GAAGf,GAAG,GAChC,CAAAc,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CADM,GAEhC,CAAAF,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CAF7B;AAIA,WAAO;AACNC,MAAAA,wBAAwB,EAAEN,yBADpB;AAENO,MAAAA,uBAAuB,EACtB,CAAElB,GAAF,IACEW,yBAAyB,IAAI,CAAEH,iBAJ5B;AAKNO,MAAAA,uBALM;AAMNI,MAAAA,0BAA0B,EAAEd,qBAAqB,CAChD,kBADgD,EAEhDO,0BAFgD,CAN3C;AAUNH,MAAAA,cAVM;AAWNK,MAAAA,eAXM;AAYNM,MAAAA,2BAA2B,EAAEpB,GAAG,GAC7BM,OAAO,CAAE,QAAF,EAAY,YAAZ,EAA0BN,GAA1B,CADsB,GAE7BqB,SAdG;AAeNC,MAAAA,sCAAsC,EAAEjB,qBAAqB,CAC5D,SAD4D,EAE5D,CAAE,QAAF,EAAY,YAAZ,EAA0BL,GAA1B,CAF4D,CAfvD;AAmBNuB,MAAAA,2BAA2B,EAAEvB,GAAG,GAC7BM,OAAO,CAAE,QAAF,EAAY,YAAZ,EAA0BN,GAA1B,CADsB,GAE7BqB,SArBG;AAsBNG,MAAAA,sCAAsC,EAAEnB,qBAAqB,CAC5D,SAD4D,EAE5D,CAAE,QAAF,EAAY,YAAZ,EAA0BL,GAA1B,CAF4D,CAtBvD;AA0BNyB,MAAAA,2BAA2B,EAAEnB,OAAO,CAAE,QAAF,EAAY,YAAZ,CA1B9B;AA2BNoB,MAAAA,sCAAsC,EAAErB,qBAAqB,CAC5D,SAD4D,EAE5D,CAAE,QAAF,EAAY,YAAZ,CAF4D;AA3BvD,KAAP;AAgCA,GAhFc,EAiFf,CAAEL,GAAF,CAjFe,CAAhB;AAmFA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function useNavigationMenu( ref ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tcanUser,\n\t\t\t} = select( coreStore );\n\n\t\t\tconst navigationMenuSingleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tref,\n\t\t\t];\n\t\t\tconst rawNavigationMenu = ref\n\t\t\t\t? getEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\t\t\tlet navigationMenu = ref\n\t\t\t\t? getEditedEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\n\t\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t\t// Therefore if the found post is not published then we should ignore it.\n\t\t\tif ( navigationMenu?.status !== 'publish' ) {\n\t\t\t\tnavigationMenu = null;\n\t\t\t}\n\n\t\t\tconst hasResolvedNavigationMenu = ref\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tnavigationMenuSingleArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst navigationMenuMultipleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\t{ per_page: -1, status: 'publish' },\n\t\t\t];\n\t\t\tconst navigationMenus = getEntityRecords(\n\t\t\t\t...navigationMenuMultipleArgs\n\t\t\t);\n\n\t\t\tconst canSwitchNavigationMenu = ref\n\t\t\t\t? navigationMenus?.length > 1\n\t\t\t\t: navigationMenus?.length > 0;\n\n\t\t\treturn {\n\t\t\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\t\t\tisNavigationMenuMissing:\n\t\t\t\t\t! ref ||\n\t\t\t\t\t( hasResolvedNavigationMenu && ! rawNavigationMenu ),\n\t\t\t\tcanSwitchNavigationMenu,\n\t\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tnavigationMenuMultipleArgs\n\t\t\t\t),\n\t\t\t\tnavigationMenu,\n\t\t\t\tnavigationMenus,\n\t\t\t\tcanUserUpdateNavigationMenu: ref\n\t\t\t\t\t? canUser( 'update', 'navigation', ref )\n\t\t\t\t\t: undefined,\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'update', 'navigation', ref ]\n\t\t\t\t),\n\t\t\t\tcanUserDeleteNavigationMenu: ref\n\t\t\t\t\t? canUser( 'delete', 'navigation', ref )\n\t\t\t\t\t: undefined,\n\t\t\t\thasResolvedCanUserDeleteNavigationMenu: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'delete', 'navigation', ref ]\n\t\t\t\t),\n\t\t\t\tcanUserCreateNavigationMenu: canUser( 'create', 'navigation' ),\n\t\t\t\thasResolvedCanUserCreateNavigationMenu: hasFinishedResolution(\n\t\t\t\t\t'canUser',\n\t\t\t\t\t[ 'create', 'navigation' ]\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ ref ]\n\t);\n}\n"]}