@wordpress/block-library 9.20.0 → 9.22.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 (199) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/categories/edit.js +3 -3
  3. package/build/categories/edit.js.map +1 -1
  4. package/build/cover/index.js +1 -1
  5. package/build/cover/index.js.map +1 -1
  6. package/build/details/edit.js +1 -5
  7. package/build/details/edit.js.map +1 -1
  8. package/build/details/index.js +1 -1
  9. package/build/details/index.js.map +1 -1
  10. package/build/embed/edit.js +4 -1
  11. package/build/embed/edit.js.map +1 -1
  12. package/build/image/edit.js +3 -2
  13. package/build/image/edit.js.map +1 -1
  14. package/build/image/image.js +13 -8
  15. package/build/image/image.js.map +1 -1
  16. package/build/navigation/edit/index.js +8 -4
  17. package/build/navigation/edit/index.js.map +1 -1
  18. package/build/navigation/view.js +2 -1
  19. package/build/navigation/view.js.map +1 -1
  20. package/build/navigation-link/edit.js +27 -29
  21. package/build/navigation-link/edit.js.map +1 -1
  22. package/build/navigation-link/index.js +0 -3
  23. package/build/navigation-link/index.js.map +1 -1
  24. package/build/navigation-link/transforms.js +0 -2
  25. package/build/navigation-link/transforms.js.map +1 -1
  26. package/build/navigation-link/update-attributes.js +0 -1
  27. package/build/navigation-link/update-attributes.js.map +1 -1
  28. package/build/navigation-submenu/edit.js +1 -24
  29. package/build/navigation-submenu/edit.js.map +1 -1
  30. package/build/navigation-submenu/index.js +0 -3
  31. package/build/navigation-submenu/index.js.map +1 -1
  32. package/build/post-comments-count/index.js +0 -1
  33. package/build/post-comments-count/index.js.map +1 -1
  34. package/build/post-comments-link/index.js +0 -1
  35. package/build/post-comments-link/index.js.map +1 -1
  36. package/build/post-featured-image/edit.js +14 -3
  37. package/build/post-featured-image/edit.js.map +1 -1
  38. package/build/query/edit/inspector-controls/index.js +47 -59
  39. package/build/query/edit/inspector-controls/index.js.map +1 -1
  40. package/build/query/edit/inspector-controls/parent-control.js +2 -2
  41. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  42. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  43. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  44. package/build/query/edit/query-content.js +4 -17
  45. package/build/query/edit/query-content.js.map +1 -1
  46. package/build/query-total/index.js +3 -0
  47. package/build/query-total/index.js.map +1 -1
  48. package/build/quote/index.js +1 -1
  49. package/build/quote/index.js.map +1 -1
  50. package/build/rss/edit.js +21 -1
  51. package/build/rss/edit.js.map +1 -1
  52. package/build/rss/index.js +7 -0
  53. package/build/rss/index.js.map +1 -1
  54. package/build/site-title/edit.js +1 -1
  55. package/build/site-title/edit.js.map +1 -1
  56. package/build/social-links/edit.js +29 -31
  57. package/build/social-links/edit.js.map +1 -1
  58. package/build/table/index.js +3 -3
  59. package/build/table/index.js.map +1 -1
  60. package/build/table/transforms.js +11 -3
  61. package/build/table/transforms.js.map +1 -1
  62. package/build/table-of-contents/edit.js +50 -8
  63. package/build/table-of-contents/edit.js.map +1 -1
  64. package/build/table-of-contents/hooks.js +13 -4
  65. package/build/table-of-contents/hooks.js.map +1 -1
  66. package/build/table-of-contents/index.js +3 -0
  67. package/build/table-of-contents/index.js.map +1 -1
  68. package/build-module/categories/edit.js +3 -3
  69. package/build-module/categories/edit.js.map +1 -1
  70. package/build-module/cover/index.js +1 -1
  71. package/build-module/cover/index.js.map +1 -1
  72. package/build-module/details/edit.js +1 -5
  73. package/build-module/details/edit.js.map +1 -1
  74. package/build-module/details/index.js +1 -1
  75. package/build-module/details/index.js.map +1 -1
  76. package/build-module/embed/edit.js +4 -1
  77. package/build-module/embed/edit.js.map +1 -1
  78. package/build-module/image/edit.js +3 -2
  79. package/build-module/image/edit.js.map +1 -1
  80. package/build-module/image/image.js +14 -9
  81. package/build-module/image/image.js.map +1 -1
  82. package/build-module/navigation/edit/index.js +8 -4
  83. package/build-module/navigation/edit/index.js.map +1 -1
  84. package/build-module/navigation/view.js +2 -1
  85. package/build-module/navigation/view.js.map +1 -1
  86. package/build-module/navigation-link/edit.js +28 -30
  87. package/build-module/navigation-link/edit.js.map +1 -1
  88. package/build-module/navigation-link/index.js +0 -3
  89. package/build-module/navigation-link/index.js.map +1 -1
  90. package/build-module/navigation-link/transforms.js +0 -2
  91. package/build-module/navigation-link/transforms.js.map +1 -1
  92. package/build-module/navigation-link/update-attributes.js +0 -1
  93. package/build-module/navigation-link/update-attributes.js.map +1 -1
  94. package/build-module/navigation-submenu/edit.js +1 -24
  95. package/build-module/navigation-submenu/edit.js.map +1 -1
  96. package/build-module/navigation-submenu/index.js +0 -3
  97. package/build-module/navigation-submenu/index.js.map +1 -1
  98. package/build-module/post-comments-count/index.js +0 -1
  99. package/build-module/post-comments-count/index.js.map +1 -1
  100. package/build-module/post-comments-link/index.js +0 -1
  101. package/build-module/post-comments-link/index.js.map +1 -1
  102. package/build-module/post-featured-image/edit.js +14 -3
  103. package/build-module/post-featured-image/edit.js.map +1 -1
  104. package/build-module/query/edit/inspector-controls/index.js +49 -61
  105. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  106. package/build-module/query/edit/inspector-controls/parent-control.js +2 -2
  107. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  108. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  109. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  110. package/build-module/query/edit/query-content.js +4 -17
  111. package/build-module/query/edit/query-content.js.map +1 -1
  112. package/build-module/query-total/index.js +3 -0
  113. package/build-module/query-total/index.js.map +1 -1
  114. package/build-module/quote/index.js +1 -1
  115. package/build-module/quote/index.js.map +1 -1
  116. package/build-module/rss/edit.js +22 -2
  117. package/build-module/rss/edit.js.map +1 -1
  118. package/build-module/rss/index.js +7 -0
  119. package/build-module/rss/index.js.map +1 -1
  120. package/build-module/site-title/edit.js +1 -1
  121. package/build-module/site-title/edit.js.map +1 -1
  122. package/build-module/social-links/edit.js +30 -32
  123. package/build-module/social-links/edit.js.map +1 -1
  124. package/build-module/table/index.js +3 -3
  125. package/build-module/table/index.js.map +1 -1
  126. package/build-module/table/transforms.js +11 -3
  127. package/build-module/table/transforms.js.map +1 -1
  128. package/build-module/table-of-contents/edit.js +52 -10
  129. package/build-module/table-of-contents/edit.js.map +1 -1
  130. package/build-module/table-of-contents/hooks.js +13 -4
  131. package/build-module/table-of-contents/hooks.js.map +1 -1
  132. package/build-module/table-of-contents/index.js +3 -0
  133. package/build-module/table-of-contents/index.js.map +1 -1
  134. package/build-style/editor-rtl.css +1 -50
  135. package/build-style/editor.css +1 -50
  136. package/build-style/media-text/style-rtl.css +0 -2
  137. package/build-style/media-text/style.css +0 -2
  138. package/build-style/post-comments-form/style-rtl.css +3 -0
  139. package/build-style/post-comments-form/style.css +3 -0
  140. package/build-style/search/style-rtl.css +1 -0
  141. package/build-style/search/style.css +1 -0
  142. package/build-style/social-links/editor-rtl.css +1 -50
  143. package/build-style/social-links/editor.css +1 -50
  144. package/build-style/style-rtl.css +4 -6
  145. package/build-style/style.css +4 -6
  146. package/build-style/tag-cloud/style-rtl.css +0 -4
  147. package/build-style/tag-cloud/style.css +0 -4
  148. package/package.json +35 -35
  149. package/src/button/index.php +2 -3
  150. package/src/categories/edit.js +3 -3
  151. package/src/cover/index.js +1 -1
  152. package/src/details/edit.js +6 -8
  153. package/src/details/index.js +1 -1
  154. package/src/embed/edit.js +7 -1
  155. package/src/file/index.php +2 -3
  156. package/src/image/edit.js +3 -3
  157. package/src/image/image.js +9 -12
  158. package/src/latest-comments/index.php +1 -1
  159. package/src/latest-posts/index.php +3 -0
  160. package/src/media-text/style.scss +0 -2
  161. package/src/navigation/edit/index.js +4 -0
  162. package/src/navigation/index.php +1 -1
  163. package/src/navigation/view.js +2 -1
  164. package/src/navigation-link/block.json +0 -3
  165. package/src/navigation-link/edit.js +46 -33
  166. package/src/navigation-link/index.php +1 -5
  167. package/src/navigation-link/transforms.js +1 -2
  168. package/src/navigation-link/update-attributes.js +0 -1
  169. package/src/navigation-submenu/block.json +0 -3
  170. package/src/navigation-submenu/edit.js +1 -24
  171. package/src/navigation-submenu/index.php +0 -4
  172. package/src/post-comments-count/block.json +0 -1
  173. package/src/post-comments-count/index.php +4 -0
  174. package/src/post-comments-form/style.scss +5 -0
  175. package/src/post-comments-link/block.json +0 -1
  176. package/src/post-comments-link/index.php +4 -0
  177. package/src/post-featured-image/edit.js +93 -75
  178. package/src/query/edit/inspector-controls/index.js +66 -91
  179. package/src/query/edit/inspector-controls/parent-control.js +2 -2
  180. package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  181. package/src/query/edit/query-content.js +7 -16
  182. package/src/query-total/block.json +3 -0
  183. package/src/query-total/index.php +1 -1
  184. package/src/quote/index.js +1 -1
  185. package/src/rss/block.json +7 -0
  186. package/src/rss/edit.js +21 -0
  187. package/src/rss/index.php +27 -9
  188. package/src/search/index.php +12 -9
  189. package/src/search/style.scss +1 -0
  190. package/src/site-title/edit.js +1 -1
  191. package/src/site-title/index.php +1 -1
  192. package/src/social-links/edit.js +29 -30
  193. package/src/social-links/editor.scss +1 -59
  194. package/src/table/index.js +3 -3
  195. package/src/table/transforms.js +14 -2
  196. package/src/table-of-contents/block.json +3 -0
  197. package/src/table-of-contents/edit.js +45 -4
  198. package/src/table-of-contents/hooks.js +12 -3
  199. package/src/tag-cloud/style.scss +0 -5
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_coreData","_data","_components","_i18n","_a11y","_icons","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","navRef","detectedBackgroundColor","setDetectedBackgroundColor","useState","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","Platform","OS","useEffect","detectColors","current","subMenuElement","querySelector","color","colorGradientSettings","useMultipleOriginColorsAndGradients","hasColorsOrGradients","jsxs","Fragment","children","jsx","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","label","__","onColorChange","resetAllFilter","clearable","panelId","gradients","disableCustomGradients","ContrastChecker","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","useCallback","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","useCreateNavigationMenu","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","useInnerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","useNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","useConvertClassicToBlockMenu","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","unlock","useSelect","coreStore","navigationFallbackId","useRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","useBlockProps","clsx","class","getColorClassName","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","speak","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","useInstanceId","OverlayMenuPreview","stylingInspectorControls","InspectorControls","PanelBody","title","Button","__next40pxDefaultSize","onClick","Icon","close","hidden","__experimentalToggleGroupControl","__nextHasNoMarginBottom","help","onChange","isBlock","__experimentalToggleGroupControlOption","ToggleControl","checked","disabled","Notice","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","kind","type","RecursionProvider","uniqueId","onDelete","Spinner","hasCustomPlaceholder","_default","exports","withColors"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\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 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 OverlayMenuPreview from './overlay-menu-preview';\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';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\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\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\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\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\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\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\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\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\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 [ 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\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\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\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\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\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\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 = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\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\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\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\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\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\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\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}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\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\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\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\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\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\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\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</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\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\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && 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\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\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\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\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<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\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\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\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<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"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={ () => {\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\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\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\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\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</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_coreData","_data","_components","_i18n","_a11y","_icons","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","navRef","detectedBackgroundColor","setDetectedBackgroundColor","useState","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","Platform","OS","useEffect","detectColors","current","subMenuElement","querySelector","color","colorGradientSettings","useMultipleOriginColorsAndGradients","hasColorsOrGradients","jsxs","Fragment","children","jsx","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","label","__","onColorChange","resetAllFilter","clearable","enableAlpha","panelId","gradients","disableCustomGradients","ContrastChecker","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","useCallback","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","useCreateNavigationMenu","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","useInnerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","useNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","useConvertClassicToBlockMenu","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","unlock","useSelect","coreStore","navigationFallbackId","useRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","useBlockProps","clsx","class","getColorClassName","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","speak","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","useInstanceId","OverlayMenuPreview","stylingInspectorControls","InspectorControls","PanelBody","title","Button","__next40pxDefaultSize","onClick","Icon","close","hidden","__experimentalToggleGroupControl","__nextHasNoMarginBottom","help","onChange","isBlock","__experimentalToggleGroupControlOption","ToggleControl","checked","disabled","Notice","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","kind","type","RecursionProvider","uniqueId","onDelete","Spinner","hasCustomPlaceholder","_default","exports","withColors"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\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 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 OverlayMenuPreview from './overlay-menu-preview';\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';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\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\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\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\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\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\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\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\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\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 [ 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\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\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\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\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\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\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 = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\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\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\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\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\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\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\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}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\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\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\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\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\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\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\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</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\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\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && 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\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\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\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\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<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\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\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\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<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"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={ () => {\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\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\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\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\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</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\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"],"mappings":"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","ignoreList":[]}
@@ -103,7 +103,8 @@ const {
103
103
  } = (0, _interactivity.getContext)();
104
104
  if (state.menuOpenedBy.click) {
105
105
  // If Escape close the menu.
106
- if (event?.key === 'Escape') {
106
+ if (event.key === 'Escape') {
107
+ event.stopPropagation(); // Keeps ancestor menus open.
107
108
  actions.closeMenu('click');
108
109
  actions.closeMenu('focus');
109
110
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","state","actions","store","roleAttribute","ctx","getContext","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","getElement","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","withSyncEvent","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ),\n\t\t\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","state","actions","store","roleAttribute","ctx","getContext","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","getElement","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","withSyncEvent","event","firstFocusableElement","lastFocusableElement","key","stopPropagation","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event.key === 'Escape' ) {\n\t\t\t\t\t\tevent.stopPropagation(); // Keeps ancestor menus open.\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ),\n\t\t\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":";;AAGA,IAAAA,cAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAQA,MAAMC,kBAAkB,GAAG,CAC1B,SAAS,EACT,+DAA+D,EAC/D,2CAA2C,EAC3C,6CAA6C,EAC7C,2CAA2C,EAC3C,mBAAmB,EACnB,iCAAiC,CACjC;;AAED;AACA;AACA;AACAC,QAAQ,CAACC,gBAAgB,CAAE,OAAO,EAAE,MAAM,CAAC,CAAE,CAAC;AAE9C,MAAM;EAAEC,KAAK;EAAEC;AAAQ,CAAC,GAAG,IAAAC,oBAAK,EAC/B,iBAAiB,EACjB;EACCF,KAAK,EAAE;IACN,IAAIG,aAAaA,CAAA,EAAG;MACnB,MAAMC,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAC9C,QAAQ,GACR,IAAI;IACR,CAAC;IACD,IAAIC,SAASA,CAAA,EAAG;MACf,MAAMJ,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAC9C,MAAM,GACN,IAAI;IACR,CAAC;IACD,IAAIE,SAASA,CAAA,EAAG;MACf,MAAML,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAC9CH,GAAG,CAACK,SAAS,GACb,IAAI;IACR,CAAC;IACD,IAAIF,UAAUA,CAAA,EAAG;MAChB;MACA,OACCG,MAAM,CAACC,MAAM,CAAEX,KAAK,CAACY,YAAa,CAAC,CAACC,MAAM,CAAEC,OAAQ,CAAC,CACnDC,MAAM,GAAG,CAAC;IAEd,CAAC;IACD,IAAIH,YAAYA,CAAA,EAAG;MAClB,MAAMR,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,GAC1BF,GAAG,CAACY,eAAe,GACnBZ,GAAG,CAACa,eAAe;IACvB;EACD,CAAC;EACDhB,OAAO,EAAE;IACRiB,eAAeA,CAAA,EAAG;MACjB,MAAM;QAAEZ,IAAI;QAAEU;MAAgB,CAAC,GAAG,IAAAX,yBAAU,EAAC,CAAC;MAC9C,IACCC,IAAI,KAAK,SAAS;MAClB;MACAI,MAAM,CAACC,MAAM,CAAEK,eAAe,IAAI,CAAC,CAAE,CAAC,CAACH,MAAM,CAAEC,OAAQ,CAAC,CACtDC,MAAM,KAAK,CAAC,EACb;QACDd,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;MAC5B;IACD,CAAC;IACDC,gBAAgBA,CAAA,EAAG;MAClB,MAAM;QAAEd,IAAI;QAAEU;MAAgB,CAAC,GAAG,IAAAX,yBAAU,EAAC,CAAC;MAC9C,IACCC,IAAI,KAAK,SAAS;MAClB;MACAI,MAAM,CAACC,MAAM,CAAEK,eAAe,IAAI,CAAC,CAAE,CAAC,CAACH,MAAM,CAAEC,OAAQ,CAAC,CACtDC,MAAM,KAAK,CAAC,EACb;QACDd,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B;IACD,CAAC;IACDC,eAAeA,CAAA,EAAG;MACjB,MAAMlB,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5BpB,GAAG,CAACqB,aAAa,GAAGF,GAAG;MACvBtB,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDO,gBAAgBA,CAAA,EAAG;MAClBzB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;IAC7B,CAAC;IACDM,eAAeA,CAAA,EAAG;MACjB1B,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDS,iBAAiBA,CAAA,EAAG;MACnB,MAAMxB,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B;MACA,IAAKK,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAAKP,GAAG,EAAG;QAC5CA,GAAG,CAACQ,KAAK,CAAC,CAAC;MACZ;MACA,MAAM;QAAEnB;MAAa,CAAC,GAAGZ,KAAK;MAC9B,IAAKY,YAAY,CAACoB,KAAK,IAAIpB,YAAY,CAACmB,KAAK,EAAG;QAC/C9B,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;QAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B,CAAC,MAAM;QACNjB,GAAG,CAACqB,aAAa,GAAGF,GAAG;QACvBtB,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;MAC5B;IACD,CAAC;IACDc,iBAAiB,EAAE,IAAAC,4BAAa,EAAIC,KAAK,IAAM;MAC9C,MAAM;QAAE7B,IAAI;QAAE8B,qBAAqB;QAAEC;MAAqB,CAAC,GAC1D,IAAAhC,yBAAU,EAAC,CAAC;MACb,IAAKL,KAAK,CAACY,YAAY,CAACoB,KAAK,EAAG;QAC/B;QACA,IAAKG,KAAK,CAACG,GAAG,KAAK,QAAQ,EAAG;UAC7BH,KAAK,CAACI,eAAe,CAAC,CAAC,CAAC,CAAC;UACzBtC,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;UAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;UAC5B;QACD;;QAEA;QACA,IAAKf,IAAI,KAAK,SAAS,IAAI6B,KAAK,CAACG,GAAG,KAAK,KAAK,EAAG;UAChD;UACA,IACCH,KAAK,CAACK,QAAQ,IACdX,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAC5BM,qBAAqB,EACrB;YACDD,KAAK,CAACM,cAAc,CAAC,CAAC;YACtBJ,oBAAoB,CAACN,KAAK,CAAC,CAAC;UAC7B,CAAC,MAAM,IACN,CAAEI,KAAK,CAACK,QAAQ,IAChBX,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAC5BO,oBAAoB,EACpB;YACDF,KAAK,CAACM,cAAc,CAAC,CAAC;YACtBL,qBAAqB,CAACL,KAAK,CAAC,CAAC;UAC9B;QACD;MACD;IACD,CAAE,CAAC;IACHW,kBAAkBA,CAAEP,KAAK,EAAG;MAC3B,MAAM;QAAEQ,KAAK;QAAErC;MAAK,CAAC,GAAG,IAAAD,yBAAU,EAAC,CAAC;MACpC;MACA;MACA;MACA;MACA;;MAEA;MACA,IACC8B,KAAK,CAACS,aAAa,KAAK,IAAI,IAC1B,CAAED,KAAK,EAAEE,QAAQ,CAAEV,KAAK,CAACS,aAAc,CAAC,IACzCT,KAAK,CAACW,MAAM,KAAKjB,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,IAC9CxB,IAAI,KAAK,SAAW,EACpB;QACDL,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;QAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B;IACD,CAAC;IAEDF,QAAQA,CAAE4B,YAAY,GAAG,OAAO,EAAG;MAClC,MAAM;QAAEzC;MAAK,CAAC,GAAG,IAAAD,yBAAU,EAAC,CAAC;MAC7BL,KAAK,CAACY,YAAY,CAAEmC,YAAY,CAAE,GAAG,IAAI;MACzC,IAAKzC,IAAI,KAAK,SAAS,EAAG;QACzB;QACAR,QAAQ,CAACkD,eAAe,CAACC,SAAS,CAACC,GAAG,CAAE,gBAAiB,CAAC;MAC3D;IACD,CAAC;IAED7B,SAASA,CAAE8B,YAAY,GAAG,OAAO,EAAG;MACnC,MAAM/C,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxBL,KAAK,CAACY,YAAY,CAAEuC,YAAY,CAAE,GAAG,KAAK;MAC1C;MACA,IAAK,CAAEnD,KAAK,CAACO,UAAU,EAAG;QACzB,IACCH,GAAG,CAACuC,KAAK,EAAEE,QAAQ,CAAEhB,MAAM,CAAC/B,QAAQ,CAACgC,aAAc,CAAC,EACnD;UACD1B,GAAG,CAACqB,aAAa,EAAEM,KAAK,CAAC,CAAC;QAC3B;QACA3B,GAAG,CAACuC,KAAK,GAAG,IAAI;QAChBvC,GAAG,CAACqB,aAAa,GAAG,IAAI;QACxB,IAAKrB,GAAG,CAACE,IAAI,KAAK,SAAS,EAAG;UAC7BR,QAAQ,CAACkD,eAAe,CAACC,SAAS,CAACG,MAAM,CACxC,gBACD,CAAC;QACF;MACD;IACD;EACD,CAAC;EACDC,SAAS,EAAE;IACVC,QAAQA,CAAA,EAAG;MACV,MAAMlD,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B,IAAKxB,KAAK,CAACO,UAAU,EAAG;QACvB,MAAMgD,iBAAiB,GACtBhC,GAAG,CAACiC,gBAAgB,CAAE3D,kBAAmB,CAAC;QAC3CO,GAAG,CAACuC,KAAK,GAAGpB,GAAG;QACfnB,GAAG,CAACgC,qBAAqB,GAAGmB,iBAAiB,CAAE,CAAC,CAAE;QAClDnD,GAAG,CAACiC,oBAAoB,GACvBkB,iBAAiB,CAAEA,iBAAiB,CAACxC,MAAM,GAAG,CAAC,CAAE;MACnD;IACD,CAAC;IACD0C,iBAAiBA,CAAA,EAAG;MACnB,MAAM;QAAElC;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B,IAAKxB,KAAK,CAACO,UAAU,EAAG;QACvB,MAAMgD,iBAAiB,GACtBhC,GAAG,CAACiC,gBAAgB,CAAE3D,kBAAmB,CAAC;QAC3C0D,iBAAiB,GAAI,CAAC,CAAE,EAAExB,KAAK,CAAC,CAAC;MAClC;IACD;EACD;AACD,CAAC,EACD;EAAE2B,IAAI,EAAE;AAAK,CACd,CAAC","ignoreList":[]}
@@ -38,6 +38,7 @@ var _jsxRuntime = require("react/jsx-runtime");
38
38
  const DEFAULT_BLOCK = {
39
39
  name: 'core/navigation-link'
40
40
  };
41
+ const NESTING_BLOCK_NAMES = ['core/navigation-link', 'core/navigation-submenu'];
41
42
 
42
43
  /**
43
44
  * A React hook to determine if it's dragging within the target element.
@@ -86,18 +87,26 @@ const useIsDraggingWithin = elementRef => {
86
87
  }, [elementRef]);
87
88
  return isDraggingWithin;
88
89
  };
89
- const useIsInvalidLink = (kind, type, id) => {
90
+ const useIsInvalidLink = (kind, type, id, enabled) => {
90
91
  const isPostType = kind === 'post-type' || type === 'post' || type === 'page';
91
92
  const hasId = Number.isInteger(id);
93
+ const blockEditingMode = (0, _blockEditor.useBlockEditingMode)();
92
94
  const postStatus = (0, _data.useSelect)(select => {
93
95
  if (!isPostType) {
94
96
  return null;
95
97
  }
98
+
99
+ // Fetching the posts status is an "expensive" operation. Especially for sites with large navigations.
100
+ // When the block is rendered in a template or other disabled contexts we can skip this check in order
101
+ // to avoid all these additional requests that don't really add any value in that mode.
102
+ if (blockEditingMode === 'disabled' || !enabled) {
103
+ return null;
104
+ }
96
105
  const {
97
106
  getEntityRecord
98
107
  } = select(_coreData.store);
99
108
  return getEntityRecord('postType', type, id)?.status;
100
- }, [isPostType, type, id]);
109
+ }, [isPostType, blockEditingMode, enabled, type, id]);
101
110
 
102
111
  // Check Navigation Link validity if:
103
112
  // 1. Link is 'post-type'.
@@ -151,7 +160,6 @@ function Controls({
151
160
  label,
152
161
  url,
153
162
  description,
154
- title,
155
163
  rel
156
164
  } = attributes;
157
165
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
@@ -215,26 +223,6 @@ function Controls({
215
223
  },
216
224
  help: (0, _i18n.__)('The description will be displayed in the menu if the current theme supports it.')
217
225
  })
218
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
219
- hasValue: () => !!title,
220
- label: (0, _i18n.__)('Title attribute'),
221
- onDeselect: () => setAttributes({
222
- title: ''
223
- }),
224
- isShownByDefault: true,
225
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
226
- __nextHasNoMarginBottom: true,
227
- __next40pxDefaultSize: true,
228
- label: (0, _i18n.__)('Title attribute'),
229
- value: title || '',
230
- onChange: titleValue => {
231
- setAttributes({
232
- title: titleValue
233
- });
234
- },
235
- autoComplete: "off",
236
- help: (0, _i18n.__)('Additional information to help clarify the purpose of the link.')
237
- })
238
226
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
239
227
  hasValue: () => !!rel,
240
228
  label: (0, _i18n.__)('Rel attribute'),
@@ -276,7 +264,6 @@ function NavigationLinkEdit({
276
264
  description,
277
265
  kind
278
266
  } = attributes;
279
- const [isInvalid, isDraft] = useIsInvalidLink(kind, type, id);
280
267
  const {
281
268
  maxNestingLevel
282
269
  } = context;
@@ -307,25 +294,36 @@ function NavigationLinkEdit({
307
294
  isAtMaxNesting,
308
295
  isTopLevelLink,
309
296
  isParentOfSelectedBlock,
310
- hasChildren
297
+ hasChildren,
298
+ validateLinkStatus
311
299
  } = (0, _data.useSelect)(select => {
312
300
  const {
313
301
  getBlockCount,
314
302
  getBlockName,
315
303
  getBlockRootClientId,
316
304
  hasSelectedInnerBlock,
317
- getBlockParentsByBlockName
305
+ getBlockParentsByBlockName,
306
+ getSelectedBlockClientId
318
307
  } = select(_blockEditor.store);
308
+ const rootClientId = getBlockRootClientId(clientId);
309
+ const isTopLevel = getBlockName(rootClientId) === 'core/navigation';
310
+ const selectedBlockClientId = getSelectedBlockClientId();
311
+ const rootNavigationClientId = isTopLevel ? rootClientId : getBlockParentsByBlockName(clientId, 'core/navigation')[0];
312
+
313
+ // Enable when the root Navigation block is selected or any of its inner blocks.
314
+ const enableLinkStatusValidation = selectedBlockClientId === rootNavigationClientId || hasSelectedInnerBlock(rootNavigationClientId, true);
319
315
  return {
320
- isAtMaxNesting: getBlockParentsByBlockName(clientId, ['core/navigation-link', 'core/navigation-submenu']).length >= maxNestingLevel,
321
- isTopLevelLink: getBlockName(getBlockRootClientId(clientId)) === 'core/navigation',
316
+ isAtMaxNesting: getBlockParentsByBlockName(clientId, NESTING_BLOCK_NAMES).length >= maxNestingLevel,
317
+ isTopLevelLink: isTopLevel,
322
318
  isParentOfSelectedBlock: hasSelectedInnerBlock(clientId, true),
323
- hasChildren: !!getBlockCount(clientId)
319
+ hasChildren: !!getBlockCount(clientId),
320
+ validateLinkStatus: enableLinkStatusValidation
324
321
  };
325
322
  }, [clientId, maxNestingLevel]);
326
323
  const {
327
324
  getBlocks
328
325
  } = (0, _data.useSelect)(_blockEditor.store);
326
+ const [isInvalid, isDraft] = useIsInvalidLink(kind, type, id, validateLinkStatus);
329
327
 
330
328
  /**
331
329
  * Transform to submenu block.