@wordpress/block-library 7.13.0 → 7.13.1-next.957ca95e4c.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/build/columns/transforms.js +10 -1
  2. package/build/columns/transforms.js.map +1 -1
  3. package/build/cover/edit/block-controls.js +9 -2
  4. package/build/cover/edit/block-controls.js.map +1 -1
  5. package/build/gallery/gap-styles.js +5 -4
  6. package/build/gallery/gap-styles.js.map +1 -1
  7. package/build/home-link/index.js +14 -1
  8. package/build/home-link/index.js.map +1 -1
  9. package/build/image/edit.js +3 -1
  10. package/build/image/edit.js.map +1 -1
  11. package/build/image/use-client-width.js +3 -1
  12. package/build/image/use-client-width.js.map +1 -1
  13. package/build/index.js +1 -1
  14. package/build/index.js.map +1 -1
  15. package/build/index.native.js +3 -15
  16. package/build/index.native.js.map +1 -1
  17. package/build/latest-posts/deprecated.js +14 -1
  18. package/build/latest-posts/deprecated.js.map +1 -1
  19. package/build/latest-posts/index.js +14 -1
  20. package/build/latest-posts/index.js.map +1 -1
  21. package/build/list/deprecated.js +84 -1
  22. package/build/list/deprecated.js.map +1 -1
  23. package/build/list/edit.js +153 -134
  24. package/build/list/edit.js.map +1 -1
  25. package/build/list/index.js +29 -34
  26. package/build/list/index.js.map +1 -1
  27. package/build/list/save.js +1 -5
  28. package/build/list/save.js.map +1 -1
  29. package/build/list/{v2/tag-name.js → tag-name.js} +0 -0
  30. package/build/list/tag-name.js.map +1 -0
  31. package/build/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  32. package/build/list/tag-name.native.js.map +1 -0
  33. package/build/list/transforms.js +61 -95
  34. package/build/list/transforms.js.map +1 -1
  35. package/build/list/{v2/migrate.js → utils.js} +3 -2
  36. package/build/list/utils.js.map +1 -0
  37. package/build/list-item/edit.native.js +21 -3
  38. package/build/list-item/edit.native.js.map +1 -1
  39. package/build/list-item/hooks/use-copy.js +2 -0
  40. package/build/list-item/hooks/use-copy.js.map +1 -1
  41. package/build/list-item/hooks/use-merge.js +0 -1
  42. package/build/list-item/hooks/use-merge.js.map +1 -1
  43. package/build/list-item/hooks/use-outdent-list-item.js +0 -1
  44. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  45. package/build/list-item/hooks/use-space.js +10 -1
  46. package/build/list-item/hooks/use-space.js.map +1 -1
  47. package/build/list-item/index.js +0 -1
  48. package/build/list-item/index.js.map +1 -1
  49. package/build/list-item/utils.js +0 -1
  50. package/build/list-item/utils.js.map +1 -1
  51. package/build/navigation/edit/index.js +6 -3
  52. package/build/navigation/edit/index.js.map +1 -1
  53. package/build/navigation/edit/responsive-wrapper.js +6 -4
  54. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  55. package/build/navigation/edit/unsaved-inner-blocks.js +4 -15
  56. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  57. package/build/post-excerpt/index.js +4 -2
  58. package/build/post-excerpt/index.js.map +1 -1
  59. package/build/post-terms/edit.js +0 -1
  60. package/build/post-terms/edit.js.map +1 -1
  61. package/build/post-terms/use-post-terms.js +4 -24
  62. package/build/post-terms/use-post-terms.js.map +1 -1
  63. package/build/query-no-results/index.js +13 -0
  64. package/build/query-no-results/index.js.map +1 -1
  65. package/build/query-pagination-numbers/index.js +4 -2
  66. package/build/query-pagination-numbers/index.js.map +1 -1
  67. package/build/query-title/index.js +1 -0
  68. package/build/query-title/index.js.map +1 -1
  69. package/build/quote/index.js +4 -2
  70. package/build/quote/index.js.map +1 -1
  71. package/build/term-description/index.js +6 -0
  72. package/build/term-description/index.js.map +1 -1
  73. package/build/verse/index.js +1 -0
  74. package/build/verse/index.js.map +1 -1
  75. package/build-module/columns/transforms.js +10 -1
  76. package/build-module/columns/transforms.js.map +1 -1
  77. package/build-module/cover/edit/block-controls.js +10 -3
  78. package/build-module/cover/edit/block-controls.js.map +1 -1
  79. package/build-module/gallery/gap-styles.js +6 -5
  80. package/build-module/gallery/gap-styles.js.map +1 -1
  81. package/build-module/home-link/index.js +14 -1
  82. package/build-module/home-link/index.js.map +1 -1
  83. package/build-module/image/edit.js +4 -2
  84. package/build-module/image/edit.js.map +1 -1
  85. package/build-module/image/use-client-width.js +3 -1
  86. package/build-module/image/use-client-width.js.map +1 -1
  87. package/build-module/index.js +1 -1
  88. package/build-module/index.js.map +1 -1
  89. package/build-module/index.native.js +3 -15
  90. package/build-module/index.native.js.map +1 -1
  91. package/build-module/latest-posts/deprecated.js +14 -1
  92. package/build-module/latest-posts/deprecated.js.map +1 -1
  93. package/build-module/latest-posts/index.js +14 -1
  94. package/build-module/latest-posts/index.js.map +1 -1
  95. package/build-module/list/deprecated.js +83 -1
  96. package/build-module/list/deprecated.js.map +1 -1
  97. package/build-module/list/edit.js +151 -134
  98. package/build-module/list/edit.js.map +1 -1
  99. package/build-module/list/index.js +29 -29
  100. package/build-module/list/index.js.map +1 -1
  101. package/build-module/list/save.js +2 -6
  102. package/build-module/list/save.js.map +1 -1
  103. package/build-module/list/{v2/tag-name.js → tag-name.js} +0 -0
  104. package/build-module/list/tag-name.js.map +1 -0
  105. package/build-module/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  106. package/build-module/list/tag-name.native.js.map +1 -0
  107. package/build-module/list/transforms.js +62 -97
  108. package/build-module/list/transforms.js.map +1 -1
  109. package/build-module/list/{v2/migrate.js → utils.js} +3 -2
  110. package/build-module/list/utils.js.map +1 -0
  111. package/build-module/list-item/edit.native.js +19 -3
  112. package/build-module/list-item/edit.native.js.map +1 -1
  113. package/build-module/list-item/hooks/use-copy.js +2 -0
  114. package/build-module/list-item/hooks/use-copy.js.map +1 -1
  115. package/build-module/list-item/hooks/use-merge.js +0 -1
  116. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  117. package/build-module/list-item/hooks/use-outdent-list-item.js +0 -1
  118. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  119. package/build-module/list-item/hooks/use-space.js +10 -1
  120. package/build-module/list-item/hooks/use-space.js.map +1 -1
  121. package/build-module/list-item/index.js +0 -1
  122. package/build-module/list-item/index.js.map +1 -1
  123. package/build-module/list-item/utils.js +0 -1
  124. package/build-module/list-item/utils.js.map +1 -1
  125. package/build-module/navigation/edit/index.js +5 -3
  126. package/build-module/navigation/edit/index.js.map +1 -1
  127. package/build-module/navigation/edit/responsive-wrapper.js +6 -4
  128. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  129. package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -15
  130. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  131. package/build-module/post-excerpt/index.js +4 -2
  132. package/build-module/post-excerpt/index.js.map +1 -1
  133. package/build-module/post-terms/edit.js +0 -1
  134. package/build-module/post-terms/edit.js.map +1 -1
  135. package/build-module/post-terms/use-post-terms.js +5 -25
  136. package/build-module/post-terms/use-post-terms.js.map +1 -1
  137. package/build-module/query-no-results/index.js +13 -0
  138. package/build-module/query-no-results/index.js.map +1 -1
  139. package/build-module/query-pagination-numbers/index.js +4 -2
  140. package/build-module/query-pagination-numbers/index.js.map +1 -1
  141. package/build-module/query-title/index.js +1 -0
  142. package/build-module/query-title/index.js.map +1 -1
  143. package/build-module/quote/index.js +4 -2
  144. package/build-module/quote/index.js.map +1 -1
  145. package/build-module/term-description/index.js +6 -0
  146. package/build-module/term-description/index.js.map +1 -1
  147. package/build-module/verse/index.js +1 -0
  148. package/build-module/verse/index.js.map +1 -1
  149. package/build-style/button/style-rtl.css +1 -4
  150. package/build-style/button/style.css +1 -4
  151. package/build-style/code/editor-rtl.css +79 -0
  152. package/build-style/code/editor.css +79 -0
  153. package/build-style/cover/editor-rtl.css +0 -3
  154. package/build-style/cover/editor.css +0 -3
  155. package/build-style/editor-rtl.css +9 -44
  156. package/build-style/editor.css +9 -44
  157. package/build-style/group/editor-rtl.css +2 -22
  158. package/build-style/group/editor.css +2 -22
  159. package/build-style/navigation/editor-rtl.css +3 -19
  160. package/build-style/navigation/editor.css +3 -19
  161. package/build-style/navigation/style-rtl.css +8 -1
  162. package/build-style/navigation/style.css +8 -1
  163. package/build-style/style-rtl.css +9 -5
  164. package/build-style/style.css +9 -5
  165. package/package.json +28 -28
  166. package/src/button/style.scss +1 -8
  167. package/src/code/editor.scss +3 -0
  168. package/src/columns/transforms.js +17 -3
  169. package/src/cover/edit/block-controls.js +15 -3
  170. package/src/cover/editor.scss +0 -4
  171. package/src/editor.scss +1 -0
  172. package/src/gallery/gap-styles.js +10 -6
  173. package/src/gallery/index.php +23 -2
  174. package/src/group/editor.scss +1 -28
  175. package/src/home-link/block.json +14 -1
  176. package/src/image/edit.js +3 -3
  177. package/src/image/use-client-width.js +1 -1
  178. package/src/index.js +1 -4
  179. package/src/index.native.js +2 -13
  180. package/src/latest-posts/block.json +14 -1
  181. package/src/list/deprecated.js +71 -1
  182. package/src/list/edit.js +146 -133
  183. package/src/list/index.js +25 -24
  184. package/src/list/save.js +3 -4
  185. package/src/list/{v2/tag-name.js → tag-name.js} +0 -0
  186. package/src/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  187. package/src/list/test/__snapshots__/edit.native.js.snap +14 -2
  188. package/src/list/test/edit.native.js +0 -154
  189. package/src/list/transforms.js +57 -111
  190. package/src/list/{v2/migrate.js → utils.js} +2 -2
  191. package/src/list-item/block.json +0 -1
  192. package/src/list-item/edit.native.js +32 -2
  193. package/src/list-item/hooks/use-copy.js +2 -0
  194. package/src/list-item/hooks/use-space.js +10 -2
  195. package/src/list-item/style.native.scss +8 -0
  196. package/src/navigation/edit/index.js +14 -4
  197. package/src/navigation/edit/responsive-wrapper.js +8 -3
  198. package/src/navigation/edit/unsaved-inner-blocks.js +14 -24
  199. package/src/navigation/editor.scss +2 -23
  200. package/src/navigation/index.php +13 -8
  201. package/src/navigation/style.scss +11 -2
  202. package/src/post-excerpt/block.json +4 -2
  203. package/src/post-terms/edit.js +0 -1
  204. package/src/post-terms/use-post-terms.js +10 -15
  205. package/src/query-no-results/block.json +13 -0
  206. package/src/query-pagination-numbers/block.json +4 -2
  207. package/src/query-title/block.json +1 -0
  208. package/src/quote/block.json +4 -2
  209. package/src/term-description/block.json +6 -0
  210. package/src/verse/block.json +1 -0
  211. package/build/list/v2/deprecated.js +0 -117
  212. package/build/list/v2/deprecated.js.map +0 -1
  213. package/build/list/v2/edit.js +0 -200
  214. package/build/list/v2/edit.js.map +0 -1
  215. package/build/list/v2/index.js +0 -36
  216. package/build/list/v2/index.js.map +0 -1
  217. package/build/list/v2/migrate.js.map +0 -1
  218. package/build/list/v2/save.js +0 -34
  219. package/build/list/v2/save.js.map +0 -1
  220. package/build/list/v2/tag-name.js.map +0 -1
  221. package/build/list/v2/tag-name.native.js.map +0 -1
  222. package/build/list/v2/transforms.js +0 -137
  223. package/build/list/v2/transforms.js.map +0 -1
  224. package/build-module/list/v2/deprecated.js +0 -104
  225. package/build-module/list/v2/deprecated.js.map +0 -1
  226. package/build-module/list/v2/edit.js +0 -179
  227. package/build-module/list/v2/edit.js.map +0 -1
  228. package/build-module/list/v2/index.js +0 -21
  229. package/build-module/list/v2/index.js.map +0 -1
  230. package/build-module/list/v2/migrate.js.map +0 -1
  231. package/build-module/list/v2/save.js +0 -23
  232. package/build-module/list/v2/save.js.map +0 -1
  233. package/build-module/list/v2/tag-name.js.map +0 -1
  234. package/build-module/list/v2/tag-name.native.js.map +0 -1
  235. package/build-module/list/v2/transforms.js +0 -127
  236. package/build-module/list/v2/transforms.js.map +0 -1
  237. package/src/list/test/migrate.js +0 -158
  238. package/src/list/v2/deprecated.js +0 -89
  239. package/src/list/v2/edit.js +0 -192
  240. package/src/list/v2/index.js +0 -22
  241. package/src/list/v2/save.js +0 -18
  242. package/src/list/v2/transforms.js +0 -120
@@ -16,6 +16,7 @@ import { PanelBody, ToggleControl, __experimentalToggleGroupControl as ToggleGro
16
16
  import { __, sprintf } from '@wordpress/i18n';
17
17
  import { speak } from '@wordpress/a11y';
18
18
  import { createBlock } from '@wordpress/blocks';
19
+ import { close, Icon } from '@wordpress/icons';
19
20
  /**
20
21
  * Internal dependencies
21
22
  */
@@ -329,9 +330,11 @@ function Navigation(_ref) {
329
330
  onClick: () => {
330
331
  setOverlayMenuPreview(!overlayMenuPreview);
331
332
  }
332
- }, hasIcon && createElement(OverlayMenuIcon, null), !hasIcon && createElement("span", null, __('Menu'))), overlayMenuPreview && createElement(ToggleControl, {
333
+ }, hasIcon && createElement(Fragment, null, createElement(OverlayMenuIcon, null), createElement(Icon, {
334
+ icon: close
335
+ })), !hasIcon && createElement(Fragment, null, createElement("span", null, __('Menu')), createElement("span", null, __('Close')))), overlayMenuPreview && createElement(ToggleControl, {
333
336
  label: __('Show icon button'),
334
- help: __('Configure the visual appearance of the button opening the overlay menu.'),
337
+ help: __('Configure the visual appearance of the button opening and closing the overlay menu.'),
335
338
  onChange: value => setAttributes({
336
339
  hasIcon: value
337
340
  }),
@@ -445,7 +448,6 @@ function Navigation(_ref) {
445
448
  overlayBackgroundColor: overlayBackgroundColor,
446
449
  overlayTextColor: overlayTextColor
447
450
  }, createElement(UnsavedInnerBlocks, {
448
- blockProps: blockProps,
449
451
  blocks: uncontrolledInnerBlocks,
450
452
  clientId: clientId,
451
453
  navigationMenus: navigationMenus,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","useState","useEffect","useRef","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","__experimentalUseBlockOverlayActive","useBlockOverlayActive","EntityProvider","useDispatch","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","Button","Spinner","__","sprintf","speak","createBlock","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","setRef","postId","recursionId","hasAlreadyRendered","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","id","selectBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","length","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","navRef","isDraftNavigationMenu","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","handleUpdateMenu","menuId","current","subMenuElement","querySelector","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","focus","isResponsive","overlayMenuPreviewClasses","open","stylingInspectorControls","onChange","label","hasUnsavedBlocks","classicMenu","navMenu","post","PlaceholderComponent","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, Platform } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\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';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\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\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\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\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 [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks ] =\n\t\tuseState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tnavigationMenus.sort( ( menuA, menuB ) => {\n\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t} );\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tif ( isPlaceholder && ! ref ) {\n\t\t/**\n\t\t * this fallback only displays (both in editor and on front)\n\t\t * the list of pages block if no menu is available as a fallback.\n\t\t * We don't want the fallback to request a save,\n\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t}\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\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( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\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\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\tconst handleUpdateMenu = ( menuId ) => {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t};\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [ classicMenuConversionStatus, classicMenuConversionError ] );\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\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\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\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\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 navigationSelectorRef = useRef();\n\tconst [ shouldFocusNavigationSelector, setShouldFocusNavigationSelector ] =\n\t\tuseState( false );\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\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\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOverlayMenuPreview( ! overlayMenuPreview );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t{ ! hasIcon && <span>{ __( 'Menu' ) }</span> }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\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} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\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</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\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</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ null }\n\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\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\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\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\n\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\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</ResponsiveWrapper>\n\t\t\t</TagName>\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<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\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\n\t\t\t\t\t\tonClick={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\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</TagName>\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\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector(\n\t\t\t\t\t\t\t\t\t\t\ttrue\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\tonCreateNew={ () =>\n\t\t\t\t\t\t\t\t\tcreateNavigationMenu( '', [] )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\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={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\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\tdeletedMenuTitle\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} }\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\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\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\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\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\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</TagName>\n\t\t\t\t) }\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","useState","useEffect","useRef","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","__experimentalUseBlockOverlayActive","useBlockOverlayActive","EntityProvider","useDispatch","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","Button","Spinner","__","sprintf","speak","createBlock","close","Icon","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","setRef","postId","recursionId","hasAlreadyRendered","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","id","selectBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","length","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","navRef","isDraftNavigationMenu","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","handleUpdateMenu","menuId","current","subMenuElement","querySelector","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","focus","isResponsive","overlayMenuPreviewClasses","open","stylingInspectorControls","onChange","label","hasUnsavedBlocks","classicMenu","navMenu","post","PlaceholderComponent","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, Platform } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { close, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\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';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\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\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\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\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 [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks ] =\n\t\tuseState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tnavigationMenus.sort( ( menuA, menuB ) => {\n\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t} );\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tif ( isPlaceholder && ! ref ) {\n\t\t/**\n\t\t * this fallback only displays (both in editor and on front)\n\t\t * the list of pages block if no menu is available as a fallback.\n\t\t * We don't want the fallback to request a save,\n\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t}\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\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( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\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\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\tconst handleUpdateMenu = ( menuId ) => {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t};\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [ classicMenuConversionStatus, classicMenuConversionError ] );\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\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\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\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\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 navigationSelectorRef = useRef();\n\tconst [ shouldFocusNavigationSelector, setShouldFocusNavigationSelector ] =\n\t\tuseState( false );\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\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\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOverlayMenuPreview( ! overlayMenuPreview );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<OverlayMenuIcon />\n\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\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{ ! hasIcon && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening and closing the overlay menu.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\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} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\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</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\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</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ null }\n\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\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\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\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\n\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\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</ResponsiveWrapper>\n\t\t\t</TagName>\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<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\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\n\t\t\t\t\t\tonClick={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\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</TagName>\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\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector(\n\t\t\t\t\t\t\t\t\t\t\ttrue\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\tonCreateNew={ () =>\n\t\t\t\t\t\t\t\t\tcreateNavigationMenu( '', [] )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\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={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\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\tdeletedMenuTitle\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} }\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\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\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\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\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\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</TagName>\n\t\t\t\t) }\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"]}
@@ -60,7 +60,7 @@ export default function ResponsiveWrapper(_ref) {
60
60
  };
61
61
  return createElement(Fragment, null, !isOpen && createElement(Button, {
62
62
  "aria-haspopup": "true",
63
- "aria-label": __('Open menu'),
63
+ "aria-label": hasIcon && __('Open menu'),
64
64
  className: openButtonClasses,
65
65
  onClick: () => onToggle(true)
66
66
  }, hasIcon && createElement(OverlayMenuIcon, null), !hasIcon && createElement("span", {
@@ -74,11 +74,13 @@ export default function ResponsiveWrapper(_ref) {
74
74
  tabIndex: "-1"
75
75
  }, createElement("div", dialogProps, createElement(Button, {
76
76
  className: "wp-block-navigation__responsive-container-close",
77
- "aria-label": __('Close menu'),
77
+ "aria-label": hasIcon && __('Close menu'),
78
78
  onClick: () => onToggle(false)
79
- }, createElement(Icon, {
79
+ }, hasIcon && createElement(Icon, {
80
80
  icon: close
81
- })), createElement("div", {
81
+ }), !hasIcon && createElement("span", {
82
+ className: "wp-block-navigation__toggle_button_label"
83
+ }, __('Close'))), createElement("div", {
82
84
  className: "wp-block-navigation__responsive-container-content",
83
85
  id: `${modalId}-content`
84
86
  }, children)))));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["classnames","close","Icon","Button","__","getColorClassName","OverlayMenuIcon","ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","overlayBackgroundColor","overlayTextColor","hasIcon","responsiveContainerClasses","color","class","slug","styles","backgroundColor","openButtonClasses","modalId","dialogProps","className","role"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { close, Icon } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function ResponsiveWrapper( {\n\tchildren,\n\tid,\n\tisOpen,\n\tisResponsive,\n\tonToggle,\n\tisHiddenByDefault,\n\toverlayBackgroundColor,\n\toverlayTextColor,\n\thasIcon,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn children;\n\t}\n\n\tconst responsiveContainerClasses = classnames(\n\t\t'wp-block-navigation__responsive-container',\n\t\t{\n\t\t\t'has-text-color':\n\t\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t\t[ getColorClassName( 'color', overlayTextColor?.slug ) ]:\n\t\t\t\t!! overlayTextColor?.slug,\n\t\t\t'has-background':\n\t\t\t\t!! overlayBackgroundColor.color ||\n\t\t\t\toverlayBackgroundColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\toverlayBackgroundColor?.slug\n\t\t\t) ]: !! overlayBackgroundColor?.slug,\n\t\t\t'is-menu-open': isOpen,\n\t\t\t'hidden-by-default': isHiddenByDefault,\n\t\t}\n\t);\n\n\tconst styles = {\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\tconst openButtonClasses = classnames(\n\t\t'wp-block-navigation__responsive-container-open',\n\t\t{ 'always-shown': isHiddenByDefault }\n\t);\n\n\tconst modalId = `${ id }-modal`;\n\n\tconst dialogProps = {\n\t\tclassName: 'wp-block-navigation__responsive-dialog',\n\t\t...( isOpen && {\n\t\t\trole: 'dialog',\n\t\t\t'aria-modal': true,\n\t\t\t'aria-label': __( 'Menu' ),\n\t\t} ),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isOpen && (\n\t\t\t\t<Button\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-label={ __( 'Open menu' ) }\n\t\t\t\t\tclassName={ openButtonClasses }\n\t\t\t\t\tonClick={ () => onToggle( true ) }\n\t\t\t\t>\n\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation__toggle_button_label\">\n\t\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t) }\n\n\t\t\t<div\n\t\t\t\tclassName={ responsiveContainerClasses }\n\t\t\t\tstyle={ styles }\n\t\t\t\tid={ modalId }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-navigation__responsive-close\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div { ...dialogProps }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-close\"\n\t\t\t\t\t\t\taria-label={ __( 'Close menu' ) }\n\t\t\t\t\t\t\tonClick={ () => onToggle( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-content\"\n\t\t\t\t\t\t\tid={ `${ modalId }-content` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["classnames","close","Icon","Button","__","getColorClassName","OverlayMenuIcon","ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","overlayBackgroundColor","overlayTextColor","hasIcon","responsiveContainerClasses","color","class","slug","styles","backgroundColor","openButtonClasses","modalId","dialogProps","className","role"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { close, Icon } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function ResponsiveWrapper( {\n\tchildren,\n\tid,\n\tisOpen,\n\tisResponsive,\n\tonToggle,\n\tisHiddenByDefault,\n\toverlayBackgroundColor,\n\toverlayTextColor,\n\thasIcon,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn children;\n\t}\n\n\tconst responsiveContainerClasses = classnames(\n\t\t'wp-block-navigation__responsive-container',\n\t\t{\n\t\t\t'has-text-color':\n\t\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t\t[ getColorClassName( 'color', overlayTextColor?.slug ) ]:\n\t\t\t\t!! overlayTextColor?.slug,\n\t\t\t'has-background':\n\t\t\t\t!! overlayBackgroundColor.color ||\n\t\t\t\toverlayBackgroundColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\toverlayBackgroundColor?.slug\n\t\t\t) ]: !! overlayBackgroundColor?.slug,\n\t\t\t'is-menu-open': isOpen,\n\t\t\t'hidden-by-default': isHiddenByDefault,\n\t\t}\n\t);\n\n\tconst styles = {\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\tconst openButtonClasses = classnames(\n\t\t'wp-block-navigation__responsive-container-open',\n\t\t{ 'always-shown': isHiddenByDefault }\n\t);\n\n\tconst modalId = `${ id }-modal`;\n\n\tconst dialogProps = {\n\t\tclassName: 'wp-block-navigation__responsive-dialog',\n\t\t...( isOpen && {\n\t\t\trole: 'dialog',\n\t\t\t'aria-modal': true,\n\t\t\t'aria-label': __( 'Menu' ),\n\t\t} ),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isOpen && (\n\t\t\t\t<Button\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-label={ hasIcon && __( 'Open menu' ) }\n\t\t\t\t\tclassName={ openButtonClasses }\n\t\t\t\t\tonClick={ () => onToggle( true ) }\n\t\t\t\t>\n\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation__toggle_button_label\">\n\t\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t) }\n\n\t\t\t<div\n\t\t\t\tclassName={ responsiveContainerClasses }\n\t\t\t\tstyle={ styles }\n\t\t\t\tid={ modalId }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-navigation__responsive-close\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div { ...dialogProps }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-close\"\n\t\t\t\t\t\t\taria-label={ hasIcon && __( 'Close menu' ) }\n\t\t\t\t\t\t\tonClick={ () => onToggle( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasIcon && <Icon icon={ close } /> }\n\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation__toggle_button_label\">\n\t\t\t\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-content\"\n\t\t\t\t\t\t\tid={ `${ modalId }-content` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -1,13 +1,8 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement, Fragment } from "@wordpress/element";
2
2
 
3
- /**
4
- * External dependencies
5
- */
6
- import classnames from 'classnames';
7
3
  /**
8
4
  * WordPress dependencies
9
5
  */
10
-
11
6
  import { useInnerBlocksProps } from '@wordpress/block-editor';
12
7
  import { Disabled, Spinner } from '@wordpress/components';
13
8
  import { store as coreStore } from '@wordpress/core-data';
@@ -30,7 +25,6 @@ const DEFAULT_BLOCK = {
30
25
  const ALLOWED_BLOCKS = ['core/navigation-link', 'core/search', 'core/social-links', 'core/page-list', 'core/spacer', 'core/home-link', 'core/site-title', 'core/site-logo', 'core/navigation-submenu'];
31
26
  export default function UnsavedInnerBlocks(_ref) {
32
27
  let {
33
- blockProps,
34
28
  blocks,
35
29
  clientId,
36
30
  hasSavedUnsavedInnerBlocks,
@@ -61,7 +55,9 @@ export default function UnsavedInnerBlocks(_ref) {
61
55
 
62
56
  const isDisabled = useContext(Disabled.Context);
63
57
  const savingLock = useRef(false);
64
- const innerBlocksProps = useInnerBlocksProps(blockProps, {
58
+ const innerBlocksProps = useInnerBlocksProps({
59
+ className: 'wp-block-navigation__container'
60
+ }, {
65
61
  renderAppender: hasSelection ? undefined : false,
66
62
  allowedBlocks: ALLOWED_BLOCKS,
67
63
  __experimentalDefaultBlock: DEFAULT_BLOCK,
@@ -119,12 +115,6 @@ export default function UnsavedInnerBlocks(_ref) {
119
115
  });
120
116
  }, [isDisabled, isSaving, hasResolvedDraftNavigationMenus, hasResolvedNavigationMenus, draftNavigationMenus, navigationMenus, hasSelection, createNavigationMenu, blocks]);
121
117
  const Wrapper = isSaving ? Disabled : 'div';
122
- return createElement(Wrapper, {
123
- className: "wp-block-navigation__unsaved-changes"
124
- }, createElement("div", {
125
- className: classnames('wp-block-navigation__unsaved-changes-overlay', {
126
- 'is-saving': isSaving
127
- })
128
- }, createElement("div", innerBlocksProps)), isSaving && createElement(Spinner, null));
118
+ return createElement(Fragment, null, createElement(Wrapper, innerBlocksProps), isSaving && createElement(Spinner, null));
129
119
  }
130
120
  //# sourceMappingURL=unsaved-inner-blocks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["classnames","useInnerBlocksProps","Disabled","Spinner","store","coreStore","useSelect","useContext","useEffect","useRef","useMemo","useNavigationMenu","useCreateNavigationMenu","EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blockProps","blocks","clientId","hasSavedUnsavedInnerBlocks","onSave","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Context","savingLock","innerBlocksProps","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","draftNavigationMenus","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","hasResolvedNavigationMenus","navigationMenus","create","createNavigationMenu","then","menu","Wrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps } from '@wordpress/block-editor';\nimport { Disabled, Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\n\nconst EMPTY_OBJECT = {};\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nexport default function UnsavedInnerBlocks( {\n\tblockProps,\n\tblocks,\n\tclientId,\n\thasSavedUnsavedInnerBlocks,\n\tonSave,\n\thasSelection,\n} ) {\n\tconst originalBlocks = useRef();\n\n\tuseEffect( () => {\n\t\t// Initially store the uncontrolled inner blocks for\n\t\t// dirty state comparison.\n\t\tif ( ! originalBlocks?.current ) {\n\t\t\toriginalBlocks.current = blocks;\n\t\t}\n\t}, [ blocks ] );\n\n\t// If the current inner blocks object is different in any way\n\t// from the original inner blocks from the post content then the\n\t// user has made changes to the inner blocks. At this point the inner\n\t// blocks can be considered \"dirty\".\n\t// We also make sure the current innerBlocks had a chance to be set.\n\tconst innerBlocksAreDirty =\n\t\t!! originalBlocks.current && blocks !== originalBlocks.current;\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\tconst savingLock = useRef( false );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: hasSelection ? undefined : false,\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t} );\n\n\tconst { isSaving, draftNavigationMenus, hasResolvedDraftNavigationMenus } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( isDisabled ) {\n\t\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t\t}\n\n\t\t\t\tconst {\n\t\t\t\t\tgetEntityRecords,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\n\t\t\t\treturn {\n\t\t\t\t\tisSaving: isSavingEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_navigation'\n\t\t\t\t\t),\n\t\t\t\t\tdraftNavigationMenus: getEntityRecords(\n\t\t\t\t\t\t...DRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t\thasResolvedDraftNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\tDRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ isDisabled ]\n\t\t);\n\n\tconst { hasResolvedNavigationMenus, navigationMenus } = useNavigationMenu();\n\n\tconst { create: createNavigationMenu } =\n\t\tuseCreateNavigationMenu( clientId );\n\n\t// Automatically save the uncontrolled blocks.\n\tuseEffect( () => {\n\t\t// The block will be disabled when used in a BlockPreview.\n\t\t// In this case avoid automatic creation of a wp_navigation post.\n\t\t// Otherwise the user will be spammed with lots of menus!\n\t\t//\n\t\t// Also ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\t//\n\t\t// Don't try saving when another save is already\n\t\t// in progress.\n\t\t//\n\t\t// And finally only create the menu when the block is selected,\n\t\t// which is an indication they want to start editing.\n\t\tif (\n\t\t\tisDisabled ||\n\t\t\thasSavedUnsavedInnerBlocks ||\n\t\t\tisSaving ||\n\t\t\tsavingLock.current ||\n\t\t\t! hasResolvedDraftNavigationMenus ||\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\t! hasSelection ||\n\t\t\t! innerBlocksAreDirty\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsavingLock.current = true;\n\t\tcreateNavigationMenu( null, blocks ).then( ( menu ) => {\n\t\t\tonSave( menu );\n\t\t\tsavingLock.current = false;\n\t\t} );\n\t}, [\n\t\tisDisabled,\n\t\tisSaving,\n\t\thasResolvedDraftNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tdraftNavigationMenus,\n\t\tnavigationMenus,\n\t\thasSelection,\n\t\tcreateNavigationMenu,\n\t\tblocks,\n\t] );\n\n\tconst Wrapper = isSaving ? Disabled : 'div';\n\n\treturn (\n\t\t<Wrapper className=\"wp-block-navigation__unsaved-changes\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-navigation__unsaved-changes-overlay',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t\t{ isSaving && <Spinner /> }\n\t\t</Wrapper>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["useInnerBlocksProps","Disabled","Spinner","store","coreStore","useSelect","useContext","useEffect","useRef","useMemo","useNavigationMenu","useCreateNavigationMenu","EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blocks","clientId","hasSavedUnsavedInnerBlocks","onSave","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Context","savingLock","innerBlocksProps","className","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","draftNavigationMenus","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","hasResolvedNavigationMenus","navigationMenus","create","createNavigationMenu","then","menu","Wrapper"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps } from '@wordpress/block-editor';\nimport { Disabled, Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\n\nconst EMPTY_OBJECT = {};\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nexport default function UnsavedInnerBlocks( {\n\tblocks,\n\tclientId,\n\thasSavedUnsavedInnerBlocks,\n\tonSave,\n\thasSelection,\n} ) {\n\tconst originalBlocks = useRef();\n\n\tuseEffect( () => {\n\t\t// Initially store the uncontrolled inner blocks for\n\t\t// dirty state comparison.\n\t\tif ( ! originalBlocks?.current ) {\n\t\t\toriginalBlocks.current = blocks;\n\t\t}\n\t}, [ blocks ] );\n\n\t// If the current inner blocks object is different in any way\n\t// from the original inner blocks from the post content then the\n\t// user has made changes to the inner blocks. At this point the inner\n\t// blocks can be considered \"dirty\".\n\t// We also make sure the current innerBlocks had a chance to be set.\n\tconst innerBlocksAreDirty =\n\t\t!! originalBlocks.current && blocks !== originalBlocks.current;\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\tconst savingLock = useRef( false );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\trenderAppender: hasSelection ? undefined : false,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t}\n\t);\n\n\tconst { isSaving, draftNavigationMenus, hasResolvedDraftNavigationMenus } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( isDisabled ) {\n\t\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t\t}\n\n\t\t\t\tconst {\n\t\t\t\t\tgetEntityRecords,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\n\t\t\t\treturn {\n\t\t\t\t\tisSaving: isSavingEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_navigation'\n\t\t\t\t\t),\n\t\t\t\t\tdraftNavigationMenus: getEntityRecords(\n\t\t\t\t\t\t...DRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t\thasResolvedDraftNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\tDRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ isDisabled ]\n\t\t);\n\n\tconst { hasResolvedNavigationMenus, navigationMenus } = useNavigationMenu();\n\n\tconst { create: createNavigationMenu } =\n\t\tuseCreateNavigationMenu( clientId );\n\n\t// Automatically save the uncontrolled blocks.\n\tuseEffect( () => {\n\t\t// The block will be disabled when used in a BlockPreview.\n\t\t// In this case avoid automatic creation of a wp_navigation post.\n\t\t// Otherwise the user will be spammed with lots of menus!\n\t\t//\n\t\t// Also ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\t//\n\t\t// Don't try saving when another save is already\n\t\t// in progress.\n\t\t//\n\t\t// And finally only create the menu when the block is selected,\n\t\t// which is an indication they want to start editing.\n\t\tif (\n\t\t\tisDisabled ||\n\t\t\thasSavedUnsavedInnerBlocks ||\n\t\t\tisSaving ||\n\t\t\tsavingLock.current ||\n\t\t\t! hasResolvedDraftNavigationMenus ||\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\t! hasSelection ||\n\t\t\t! innerBlocksAreDirty\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsavingLock.current = true;\n\t\tcreateNavigationMenu( null, blocks ).then( ( menu ) => {\n\t\t\tonSave( menu );\n\t\t\tsavingLock.current = false;\n\t\t} );\n\t}, [\n\t\tisDisabled,\n\t\tisSaving,\n\t\thasResolvedDraftNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tdraftNavigationMenus,\n\t\tnavigationMenus,\n\t\thasSelection,\n\t\tcreateNavigationMenu,\n\t\tblocks,\n\t] );\n\n\tconst Wrapper = isSaving ? Disabled : 'div';\n\n\treturn (\n\t\t<>\n\t\t\t<Wrapper { ...innerBlocksProps } />\n\t\t\t{ isSaving && <Spinner /> }\n\t\t</>\n\t);\n}\n"]}
@@ -45,10 +45,12 @@ const metadata = {
45
45
  typography: {
46
46
  fontSize: true,
47
47
  lineHeight: true,
48
- __experimentalFontStyle: true,
48
+ __experimentalFontFamily: true,
49
49
  __experimentalFontWeight: true,
50
- __experimentalLetterSpacing: true,
50
+ __experimentalFontStyle: true,
51
51
  __experimentalTextTransform: true,
52
+ __experimentalTextDecoration: true,
53
+ __experimentalLetterSpacing: true,
52
54
  __experimentalDefaultControls: {
53
55
  fontSize: true
54
56
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/index.js"],"names":["postExcerpt","icon","edit","transforms","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAxB,QAAoC,kBAApC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBE,EAAAA,UAFuB;AAGvBD,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postExcerpt as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/index.js"],"names":["postExcerpt","icon","edit","transforms","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAxB,QAAoC,kBAApC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBE,EAAAA,UAFuB;AAGvBD,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postExcerpt as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n"]}
@@ -60,7 +60,6 @@ export default function PostTermsEdit(_ref) {
60
60
  isLoading
61
61
  } = usePostTerms({
62
62
  postId,
63
- postType,
64
63
  term: selectedTerm
65
64
  });
66
65
  const hasPost = postId && postType;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["classnames","unescape","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","useBlockDisplayInformation","RichText","createBlock","getDefaultBlockName","Spinner","TextControl","useSelect","__","store","coreStore","usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockInformation","blockProps","className","title","nextAlign","nextValue","value","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseBlockDisplayInformation,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\n// Allowed formats for the prefix and suffix fields.\nconst ALLOWED_FORMATS = [\n\t'core/bold',\n\t'core/image',\n\t'core/italic',\n\t'core/link',\n\t'core/strikethrough',\n\t'core/text-color',\n];\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tclientId,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { term, textAlign, separator, prefix, suffix } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tpostType,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\n\tif ( ! hasPost || ! term ) {\n\t\treturn <div { ...blockProps }>{ blockInformation.title }</div>;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t{ ! isLoading && hasPostTerms && ( isSelected || prefix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__prefix\"\n\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\taria-label={ __( 'Prefix' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Prefix' ) + ' ' }\n\t\t\t\t\t\tvalue={ prefix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { prefix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\thasPostTerms &&\n\t\t\t\t\tpostTerms\n\t\t\t\t\t\t.map( ( postTerm ) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={ postTerm.id }\n\t\t\t\t\t\t\t\thref={ postTerm.link }\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ unescape( postTerm.name ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t.reduce( ( prev, curr ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ prev }\n\t\t\t\t\t\t\t\t<span className=\"wp-block-post-terms__separator\">\n\t\t\t\t\t\t\t\t\t{ separator || ' ' }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{ curr }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) ) }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\t! hasPostTerms &&\n\t\t\t\t\t( selectedTerm?.labels?.no_terms ||\n\t\t\t\t\t\t__( 'Term items not found.' ) ) }\n\t\t\t\t{ ! isLoading && hasPostTerms && ( isSelected || suffix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__suffix\"\n\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\taria-label={ __( 'Suffix' ) }\n\t\t\t\t\t\tplaceholder={ ' ' + __( 'Suffix' ) }\n\t\t\t\t\t\tvalue={ suffix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { suffix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["classnames","unescape","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","useBlockDisplayInformation","RichText","createBlock","getDefaultBlockName","Spinner","TextControl","useSelect","__","store","coreStore","usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockInformation","blockProps","className","title","nextAlign","nextValue","value","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseBlockDisplayInformation,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\n// Allowed formats for the prefix and suffix fields.\nconst ALLOWED_FORMATS = [\n\t'core/bold',\n\t'core/image',\n\t'core/italic',\n\t'core/link',\n\t'core/strikethrough',\n\t'core/text-color',\n];\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tclientId,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { term, textAlign, separator, prefix, suffix } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\n\tif ( ! hasPost || ! term ) {\n\t\treturn <div { ...blockProps }>{ blockInformation.title }</div>;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t{ ! isLoading && hasPostTerms && ( isSelected || prefix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__prefix\"\n\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\taria-label={ __( 'Prefix' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Prefix' ) + ' ' }\n\t\t\t\t\t\tvalue={ prefix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { prefix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\thasPostTerms &&\n\t\t\t\t\tpostTerms\n\t\t\t\t\t\t.map( ( postTerm ) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={ postTerm.id }\n\t\t\t\t\t\t\t\thref={ postTerm.link }\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ unescape( postTerm.name ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t.reduce( ( prev, curr ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ prev }\n\t\t\t\t\t\t\t\t<span className=\"wp-block-post-terms__separator\">\n\t\t\t\t\t\t\t\t\t{ separator || ' ' }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{ curr }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) ) }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\t! hasPostTerms &&\n\t\t\t\t\t( selectedTerm?.labels?.no_terms ||\n\t\t\t\t\t\t__( 'Term items not found.' ) ) }\n\t\t\t\t{ ! isLoading && hasPostTerms && ( isSelected || suffix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__suffix\"\n\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\taria-label={ __( 'Suffix' ) }\n\t\t\t\t\t\tplaceholder={ ' ' + __( 'Suffix' ) }\n\t\t\t\t\t\tvalue={ suffix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { suffix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -1,21 +1,18 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useEntityProp, store as coreStore } from '@wordpress/core-data';
4
+ import { store as coreStore } from '@wordpress/core-data';
5
5
  import { useSelect } from '@wordpress/data';
6
6
  export default function usePostTerms(_ref) {
7
7
  var _term$visibility2;
8
8
 
9
9
  let {
10
10
  postId,
11
- postType,
12
11
  term
13
12
  } = _ref;
14
13
  const {
15
- rest_base: restBase,
16
14
  slug
17
15
  } = term;
18
- const [termIds] = useEntityProp('postType', postType, restBase, postId);
19
16
  return useSelect(select => {
20
17
  var _term$visibility;
21
18
 
@@ -29,38 +26,21 @@ export default function usePostTerms(_ref) {
29
26
  };
30
27
  }
31
28
 
32
- if (!termIds) {
33
- var _term$postTerms;
34
-
35
- // Waiting for post terms to be fetched.
36
- return {
37
- isLoading: term === null || term === void 0 ? void 0 : (_term$postTerms = term.postTerms) === null || _term$postTerms === void 0 ? void 0 : _term$postTerms.includes(postType)
38
- };
39
- }
40
-
41
- if (!termIds.length) {
42
- return {
43
- isLoading: false
44
- };
45
- }
46
-
47
29
  const {
48
30
  getEntityRecords,
49
31
  isResolving
50
32
  } = select(coreStore);
51
33
  const taxonomyArgs = ['taxonomy', slug, {
52
- include: termIds,
34
+ post: postId,
35
+ per_page: -1,
53
36
  context: 'view'
54
37
  }];
55
38
  const terms = getEntityRecords(...taxonomyArgs);
56
-
57
- const _isLoading = isResolving('getEntityRecords', taxonomyArgs);
58
-
59
39
  return {
60
40
  postTerms: terms,
61
- isLoading: _isLoading,
41
+ isLoading: isResolving('getEntityRecords', taxonomyArgs),
62
42
  hasPostTerms: !!(terms !== null && terms !== void 0 && terms.length)
63
43
  };
64
- }, [termIds, term === null || term === void 0 ? void 0 : (_term$visibility2 = term.visibility) === null || _term$visibility2 === void 0 ? void 0 : _term$visibility2.publicly_queryable]);
44
+ }, [postId, term === null || term === void 0 ? void 0 : (_term$visibility2 = term.visibility) === null || _term$visibility2 === void 0 ? void 0 : _term$visibility2.publicly_queryable]);
65
45
  }
66
46
  //# sourceMappingURL=use-post-terms.js.map