@wordpress/block-library 9.30.1-next.836ecdcae.0 → 9.31.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 (210) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +6 -1
  3. package/build/button/edit.js.map +1 -1
  4. package/build/button/edit.native.js +1 -1
  5. package/build/button/edit.native.js.map +1 -1
  6. package/build/buttons/index.js +2 -1
  7. package/build/buttons/index.js.map +1 -1
  8. package/build/categories/edit.js +3 -1
  9. package/build/categories/edit.js.map +1 -1
  10. package/build/image/edit.native.js +1 -1
  11. package/build/image/edit.native.js.map +1 -1
  12. package/build/image/image.js +5 -8
  13. package/build/image/image.js.map +1 -1
  14. package/build/image/save.js +6 -2
  15. package/build/image/save.js.map +1 -1
  16. package/build/index.js +4 -0
  17. package/build/index.js.map +1 -1
  18. package/build/navigation/edit/index.js +0 -1
  19. package/build/navigation/edit/index.js.map +1 -1
  20. package/build/navigation-link/block-inserter.js +69 -0
  21. package/build/navigation-link/block-inserter.js.map +1 -0
  22. package/build/navigation-link/dialog-wrapper.js +80 -0
  23. package/build/navigation-link/dialog-wrapper.js.map +1 -0
  24. package/build/navigation-link/link-ui.js +34 -82
  25. package/build/navigation-link/link-ui.js.map +1 -1
  26. package/build/navigation-link/page-creator.js +12 -18
  27. package/build/navigation-link/page-creator.js.map +1 -1
  28. package/build/post-date/edit.js +2 -1
  29. package/build/post-date/edit.js.map +1 -1
  30. package/build/post-featured-image/edit.js +7 -2
  31. package/build/post-featured-image/edit.js.map +1 -1
  32. package/build/post-title/edit.js +8 -2
  33. package/build/post-title/edit.js.map +1 -1
  34. package/build/query/edit/pattern-selection.js +9 -1
  35. package/build/query/edit/pattern-selection.js.map +1 -1
  36. package/build/query/index.js +2 -1
  37. package/build/query/index.js.map +1 -1
  38. package/build/rss/edit.js +6 -1
  39. package/build/rss/edit.js.map +1 -1
  40. package/build/site-tagline/index.js +1 -0
  41. package/build/site-tagline/index.js.map +1 -1
  42. package/build/social-link/edit.js +6 -1
  43. package/build/social-link/edit.js.map +1 -1
  44. package/build/social-links/index.js +2 -1
  45. package/build/social-links/index.js.map +1 -1
  46. package/build/spacer/edit.js +2 -1
  47. package/build/spacer/edit.js.map +1 -1
  48. package/build/table-of-contents/edit.js +33 -9
  49. package/build/table-of-contents/edit.js.map +1 -1
  50. package/build/table-of-contents/index.js +4 -0
  51. package/build/table-of-contents/index.js.map +1 -1
  52. package/build/table-of-contents/list.js +6 -3
  53. package/build/table-of-contents/list.js.map +1 -1
  54. package/build/table-of-contents/save.js +6 -3
  55. package/build/table-of-contents/save.js.map +1 -1
  56. package/build/term-template/edit.js +318 -0
  57. package/build/term-template/edit.js.map +1 -0
  58. package/build/term-template/index.js +109 -0
  59. package/build/term-template/index.js.map +1 -0
  60. package/build/term-template/save.js +16 -0
  61. package/build/term-template/save.js.map +1 -0
  62. package/build/term-template/variations.js +83 -0
  63. package/build/term-template/variations.js.map +1 -0
  64. package/build/terms-query/edit.js +20 -0
  65. package/build/terms-query/edit.js.map +1 -0
  66. package/build/terms-query/index.js +83 -0
  67. package/build/terms-query/index.js.map +1 -0
  68. package/build/terms-query/inspector-controls.js +231 -0
  69. package/build/terms-query/inspector-controls.js.map +1 -0
  70. package/build/terms-query/save.js +24 -0
  71. package/build/terms-query/save.js.map +1 -0
  72. package/build/terms-query/terms-query-content.js +71 -0
  73. package/build/terms-query/terms-query-content.js.map +1 -0
  74. package/build/utils/hooks.js +3 -0
  75. package/build/utils/hooks.js.map +1 -1
  76. package/build-module/button/edit.js +7 -2
  77. package/build-module/button/edit.js.map +1 -1
  78. package/build-module/button/edit.native.js +1 -1
  79. package/build-module/button/edit.native.js.map +1 -1
  80. package/build-module/buttons/index.js +2 -1
  81. package/build-module/buttons/index.js.map +1 -1
  82. package/build-module/categories/edit.js +3 -1
  83. package/build-module/categories/edit.js.map +1 -1
  84. package/build-module/image/edit.native.js +1 -1
  85. package/build-module/image/edit.native.js.map +1 -1
  86. package/build-module/image/image.js +5 -8
  87. package/build-module/image/image.js.map +1 -1
  88. package/build-module/image/save.js +6 -2
  89. package/build-module/image/save.js.map +1 -1
  90. package/build-module/index.js +4 -0
  91. package/build-module/index.js.map +1 -1
  92. package/build-module/navigation/edit/index.js +0 -1
  93. package/build-module/navigation/edit/index.js.map +1 -1
  94. package/build-module/navigation-link/block-inserter.js +61 -0
  95. package/build-module/navigation-link/block-inserter.js.map +1 -0
  96. package/build-module/navigation-link/dialog-wrapper.js +75 -0
  97. package/build-module/navigation-link/dialog-wrapper.js.map +1 -0
  98. package/build-module/navigation-link/link-ui.js +37 -85
  99. package/build-module/navigation-link/link-ui.js.map +1 -1
  100. package/build-module/navigation-link/page-creator.js +12 -19
  101. package/build-module/navigation-link/page-creator.js.map +1 -1
  102. package/build-module/post-date/edit.js +3 -2
  103. package/build-module/post-date/edit.js.map +1 -1
  104. package/build-module/post-featured-image/edit.js +9 -4
  105. package/build-module/post-featured-image/edit.js.map +1 -1
  106. package/build-module/post-title/edit.js +9 -3
  107. package/build-module/post-title/edit.js.map +1 -1
  108. package/build-module/query/edit/pattern-selection.js +9 -1
  109. package/build-module/query/edit/pattern-selection.js.map +1 -1
  110. package/build-module/query/index.js +2 -1
  111. package/build-module/query/index.js.map +1 -1
  112. package/build-module/rss/edit.js +8 -3
  113. package/build-module/rss/edit.js.map +1 -1
  114. package/build-module/site-tagline/index.js +1 -0
  115. package/build-module/site-tagline/index.js.map +1 -1
  116. package/build-module/social-link/edit.js +8 -3
  117. package/build-module/social-link/edit.js.map +1 -1
  118. package/build-module/social-links/index.js +2 -1
  119. package/build-module/social-links/index.js.map +1 -1
  120. package/build-module/spacer/edit.js +3 -2
  121. package/build-module/spacer/edit.js.map +1 -1
  122. package/build-module/table-of-contents/edit.js +35 -11
  123. package/build-module/table-of-contents/edit.js.map +1 -1
  124. package/build-module/table-of-contents/index.js +4 -0
  125. package/build-module/table-of-contents/index.js.map +1 -1
  126. package/build-module/table-of-contents/list.js +6 -3
  127. package/build-module/table-of-contents/list.js.map +1 -1
  128. package/build-module/table-of-contents/save.js +6 -3
  129. package/build-module/table-of-contents/save.js.map +1 -1
  130. package/build-module/term-template/edit.js +310 -0
  131. package/build-module/term-template/edit.js.map +1 -0
  132. package/build-module/term-template/index.js +102 -0
  133. package/build-module/term-template/index.js.map +1 -0
  134. package/build-module/term-template/save.js +9 -0
  135. package/build-module/term-template/save.js.map +1 -0
  136. package/build-module/term-template/variations.js +76 -0
  137. package/build-module/term-template/variations.js.map +1 -0
  138. package/build-module/terms-query/edit.js +12 -0
  139. package/build-module/terms-query/edit.js.map +1 -0
  140. package/build-module/terms-query/index.js +76 -0
  141. package/build-module/terms-query/index.js.map +1 -0
  142. package/build-module/terms-query/inspector-controls.js +224 -0
  143. package/build-module/terms-query/inspector-controls.js.map +1 -0
  144. package/build-module/terms-query/save.js +17 -0
  145. package/build-module/terms-query/save.js.map +1 -0
  146. package/build-module/terms-query/terms-query-content.js +63 -0
  147. package/build-module/terms-query/terms-query-content.js.map +1 -0
  148. package/build-module/utils/hooks.js +3 -0
  149. package/build-module/utils/hooks.js.map +1 -1
  150. package/build-style/editor-rtl.css +24 -0
  151. package/build-style/editor.css +24 -0
  152. package/build-style/style-rtl.css +16 -0
  153. package/build-style/style.css +16 -0
  154. package/build-style/term-template/editor-rtl.css +160 -0
  155. package/build-style/term-template/editor.css +160 -0
  156. package/build-style/term-template/style-rtl.css +146 -0
  157. package/build-style/term-template/style.css +146 -0
  158. package/build-style/terms-query/style-rtl.css +140 -0
  159. package/build-style/terms-query/style.css +140 -0
  160. package/build-types/table-of-contents/list.d.ts +2 -1
  161. package/build-types/table-of-contents/list.d.ts.map +1 -1
  162. package/package.json +35 -35
  163. package/src/button/edit.js +12 -1
  164. package/src/button/edit.native.js +1 -1
  165. package/src/buttons/block.json +2 -1
  166. package/src/categories/edit.js +2 -1
  167. package/src/editor.scss +1 -0
  168. package/src/image/edit.native.js +1 -1
  169. package/src/image/image.js +5 -8
  170. package/src/image/save.js +7 -1
  171. package/src/index.js +4 -0
  172. package/src/navigation/edit/index.js +0 -1
  173. package/src/navigation-link/block-inserter.js +65 -0
  174. package/src/navigation-link/dialog-wrapper.js +74 -0
  175. package/src/navigation-link/link-ui.js +32 -95
  176. package/src/navigation-link/page-creator.js +13 -20
  177. package/src/post-date/edit.js +64 -53
  178. package/src/post-date/index.php +5 -13
  179. package/src/post-featured-image/edit.js +19 -3
  180. package/src/post-title/edit.js +14 -2
  181. package/src/query/block.json +2 -1
  182. package/src/query/edit/pattern-selection.js +10 -1
  183. package/src/rss/edit.js +13 -2
  184. package/src/site-tagline/block.json +1 -0
  185. package/src/social-link/edit.js +13 -2
  186. package/src/social-links/block.json +2 -1
  187. package/src/spacer/edit.js +5 -1
  188. package/src/style.scss +2 -0
  189. package/src/table-of-contents/block.json +4 -0
  190. package/src/table-of-contents/edit.js +58 -21
  191. package/src/table-of-contents/list.tsx +7 -2
  192. package/src/table-of-contents/save.js +7 -3
  193. package/src/term-template/block.json +73 -0
  194. package/src/term-template/edit.js +391 -0
  195. package/src/term-template/editor.scss +26 -0
  196. package/src/term-template/index.js +26 -0
  197. package/src/term-template/index.php +224 -0
  198. package/src/term-template/save.js +8 -0
  199. package/src/term-template/style.scss +12 -0
  200. package/src/term-template/variations.js +87 -0
  201. package/src/terms-query/block.json +49 -0
  202. package/src/terms-query/edit.js +10 -0
  203. package/src/terms-query/index.js +24 -0
  204. package/src/terms-query/index.php +44 -0
  205. package/src/terms-query/inspector-controls.js +239 -0
  206. package/src/terms-query/save.js +10 -0
  207. package/src/terms-query/style.scss +6 -0
  208. package/src/terms-query/terms-query-content.js +74 -0
  209. package/src/utils/hooks.js +4 -0
  210. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_coreData","_data","_components","_i18n","_a11y","_icons","_blocks","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_hooks","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NavigationAddPageButton","clientId","insertBlock","useDispatch","blockEditorStore","getBlockCount","useSelect","onAddPage","useCallback","blockCount","newBlock","createBlock","DEFAULT_BLOCK","name","kind","attributes","type","jsx","BlockControls","children","ToolbarGroup","ToolbarButton","icon","page","title","__","onClick","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","navRef","detectedBackgroundColor","setDetectedBackgroundColor","useState","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","Platform","OS","useEffect","detectColors","current","subMenuElement","querySelector","color","colorGradientSettings","useMultipleOriginColorsAndGradients","hasColorsOrGradients","jsxs","Fragment","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","label","onColorChange","resetAllFilter","clearable","enableAlpha","panelId","gradients","disableCustomGradients","ContrastChecker","Navigation","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","ref","setRef","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","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","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","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","dropdownMenuProps","useToolsPanelDropdownMenuProps","stylingInspectorControls","InspectorControls","__experimentalToolsPanel","resetAll","Button","__next40pxDefaultSize","Icon","close","__experimentalVStack","spacing","gridColumn","hidden","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalToggleGroupControl","__nextHasNoMarginBottom","help","onChange","isBlock","__experimentalToggleGroupControlOption","ToggleControl","checked","isDisabled","disabled","Notice","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","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\tBlockControls,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n\tButton,\n\tSpinner,\n\tNotice,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon, page } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\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';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { DEFAULT_BLOCK } from '../constants';\n\n/**\n * Component that renders the Add page button for the Navigation block.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @return {JSX.Element|null} The Add page button component or null if not applicable.\n */\nfunction NavigationAddPageButton( { clientId } ) {\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst { getBlockCount } = useSelect( blockEditorStore );\n\n\tconst onAddPage = useCallback( () => {\n\t\t// Get the current number of blocks to insert at the end\n\t\tconst blockCount = getBlockCount( clientId );\n\n\t\t// Create a new navigation link block (default block)\n\t\tconst newBlock = createBlock( DEFAULT_BLOCK.name, {\n\t\t\tkind: DEFAULT_BLOCK.attributes.kind,\n\t\t\ttype: DEFAULT_BLOCK.attributes.type,\n\t\t} );\n\n\t\t// Insert the block at the end of the navigation\n\t\tinsertBlock( newBlock, blockCount, clientId );\n\t}, [ clientId, insertBlock, getBlockCount ] );\n\n\treturn (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tname=\"add-page\"\n\t\t\t\t\ticon={ page }\n\t\t\t\t\ttitle={ __( 'Add page' ) }\n\t\t\t\t\tonClick={ onAddPage }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add page' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\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 dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\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{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\t\tid={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridColumn: 'span 2',\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\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</VStack>\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\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => overlayMenu !== 'mobile' }\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: 'mobile' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\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 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\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\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\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\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\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</ToolsPanel>\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 === 'contentOnly' && isEntityAvailable && (\n\t\t\t\t\t<NavigationAddPageButton clientId={ clientId } />\n\t\t\t\t) }\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","_blocks","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_hooks","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NavigationAddPageButton","clientId","insertBlock","useDispatch","blockEditorStore","getBlockCount","useSelect","onAddPage","useCallback","blockCount","newBlock","createBlock","DEFAULT_BLOCK","name","kind","attributes","type","jsx","BlockControls","children","ToolbarGroup","ToolbarButton","icon","page","onClick","__","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","navRef","detectedBackgroundColor","setDetectedBackgroundColor","useState","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","Platform","OS","useEffect","detectColors","current","subMenuElement","querySelector","color","colorGradientSettings","useMultipleOriginColorsAndGradients","hasColorsOrGradients","jsxs","Fragment","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","label","onColorChange","resetAllFilter","clearable","enableAlpha","panelId","gradients","disableCustomGradients","ContrastChecker","Navigation","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","ref","setRef","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","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","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","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","dropdownMenuProps","useToolsPanelDropdownMenuProps","stylingInspectorControls","InspectorControls","__experimentalToolsPanel","resetAll","Button","__next40pxDefaultSize","Icon","close","__experimentalVStack","spacing","gridColumn","hidden","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalToggleGroupControl","__nextHasNoMarginBottom","help","onChange","isBlock","__experimentalToggleGroupControlOption","ToggleControl","checked","isDisabled","disabled","Notice","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","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\tBlockControls,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n\tButton,\n\tSpinner,\n\tNotice,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon, page } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\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';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { DEFAULT_BLOCK } from '../constants';\n\n/**\n * Component that renders the Add page button for the Navigation block.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @return {JSX.Element|null} The Add page button component or null if not applicable.\n */\nfunction NavigationAddPageButton( { clientId } ) {\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst { getBlockCount } = useSelect( blockEditorStore );\n\n\tconst onAddPage = useCallback( () => {\n\t\t// Get the current number of blocks to insert at the end\n\t\tconst blockCount = getBlockCount( clientId );\n\n\t\t// Create a new navigation link block (default block)\n\t\tconst newBlock = createBlock( DEFAULT_BLOCK.name, {\n\t\t\tkind: DEFAULT_BLOCK.attributes.kind,\n\t\t\ttype: DEFAULT_BLOCK.attributes.type,\n\t\t} );\n\n\t\t// Insert the block at the end of the navigation\n\t\tinsertBlock( newBlock, blockCount, clientId );\n\t}, [ clientId, insertBlock, getBlockCount ] );\n\n\treturn (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tname=\"add-page\"\n\t\t\t\t\ticon={ page }\n\t\t\t\t\tonClick={ onAddPage }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add page' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\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 dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\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{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\t\tid={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridColumn: 'span 2',\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\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</VStack>\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\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => overlayMenu !== 'mobile' }\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: 'mobile' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\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 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\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\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\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\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\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</ToolsPanel>\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 === 'contentOnly' && isEntityAvailable && (\n\t\t\t\t\t<NavigationAddPageButton clientId={ clientId } />\n\t\t\t\t) }\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":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _i18n = require("@wordpress/i18n");
9
+ var _data = require("@wordpress/data");
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+ var _dialogWrapper = _interopRequireDefault(require("./dialog-wrapper"));
12
+ var _lockUnlock = require("../lock-unlock");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ const {
23
+ PrivateQuickInserter: QuickInserter
24
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
25
+
26
+ /**
27
+ * Component for inserting blocks within the Navigation Link UI.
28
+ *
29
+ * @param {Object} props Component props.
30
+ * @param {string} props.clientId Client ID of the navigation link block.
31
+ * @param {Function} props.onBack Callback when user wants to go back.
32
+ * @param {Function} props.onBlockInsert Callback when a block is inserted.
33
+ */
34
+ function LinkUIBlockInserter({
35
+ clientId,
36
+ onBack,
37
+ onBlockInsert
38
+ }) {
39
+ const {
40
+ rootBlockClientId
41
+ } = (0, _data.useSelect)(select => {
42
+ const {
43
+ getBlockRootClientId
44
+ } = select(_blockEditor.store);
45
+ return {
46
+ rootBlockClientId: getBlockRootClientId(clientId)
47
+ };
48
+ }, [clientId]);
49
+ if (!clientId) {
50
+ return null;
51
+ }
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dialogWrapper.default, {
53
+ className: "link-ui-block-inserter",
54
+ title: (0, _i18n.__)('Add block'),
55
+ description: (0, _i18n.__)('Choose a block to add to your Navigation.'),
56
+ onBack: onBack,
57
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(QuickInserter, {
58
+ rootClientId: rootBlockClientId,
59
+ clientId: clientId,
60
+ isAppender: false,
61
+ prioritizePatterns: false,
62
+ selectBlockOnInsert: !onBlockInsert,
63
+ onSelect: onBlockInsert ? onBlockInsert : undefined,
64
+ hasSearch: false
65
+ })
66
+ });
67
+ }
68
+ var _default = exports.default = LinkUIBlockInserter;
69
+ //# sourceMappingURL=block-inserter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_data","_blockEditor","_dialogWrapper","_interopRequireDefault","_lockUnlock","_jsxRuntime","PrivateQuickInserter","QuickInserter","unlock","blockEditorPrivateApis","LinkUIBlockInserter","clientId","onBack","onBlockInsert","rootBlockClientId","useSelect","select","getBlockRootClientId","blockEditorStore","jsx","default","className","title","__","description","children","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","onSelect","undefined","hasSearch","_default","exports"],"sources":["@wordpress/block-library/src/navigation-link/block-inserter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DialogWrapper from './dialog-wrapper';\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Component for inserting blocks within the Navigation Link UI.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Client ID of the navigation link block.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Function} props.onBlockInsert Callback when a block is inserted.\n */\nfunction LinkUIBlockInserter( { clientId, onBack, onBlockInsert } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DialogWrapper\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\ttitle={ __( 'Add block' ) }\n\t\t\tdescription={ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert={ ! onBlockInsert }\n\t\t\t\tonSelect={ onBlockInsert ? onBlockInsert : undefined }\n\t\t\t\thasSearch={ false }\n\t\t\t/>\n\t\t</DialogWrapper>\n\t);\n}\n\nexport default LinkUIBlockInserter;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAQA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAwC,IAAAM,WAAA,GAAAN,OAAA;AAdxC;AACA;AACA;;AAQA;AACA;AACA;;AAIA,MAAM;EAAEO,oBAAoB,EAAEC;AAAc,CAAC,GAAG,IAAAC,kBAAM,EACrDC,wBACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,mBAAmBA,CAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAc,CAAC,EAAG;EACnE,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,eAAS,EACpCC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAE3D,OAAO;MACNJ,iBAAiB,EAAEG,oBAAoB,CAAEN,QAAS;IACnD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAN,WAAA,CAAAc,GAAA,EAACjB,cAAA,CAAAkB,OAAa;IACbC,SAAS,EAAC,wBAAwB;IAClCC,KAAK,EAAG,IAAAC,QAAE,EAAE,WAAY,CAAG;IAC3BC,WAAW,EAAG,IAAAD,QAAE,EAAE,2CAA4C,CAAG;IACjEX,MAAM,EAAGA,MAAQ;IAAAa,QAAA,eAEjB,IAAApB,WAAA,CAAAc,GAAA,EAACZ,aAAa;MACbmB,YAAY,EAAGZ,iBAAmB;MAClCH,QAAQ,EAAGA,QAAU;MACrBgB,UAAU,EAAG,KAAO;MACpBC,kBAAkB,EAAG,KAAO;MAC5BC,mBAAmB,EAAG,CAAEhB,aAAe;MACvCiB,QAAQ,EAAGjB,aAAa,GAAGA,aAAa,GAAGkB,SAAW;MACtDC,SAAS,EAAG;IAAO,CACnB;EAAC,CACY,CAAC;AAElB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEcV,mBAAmB","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _components = require("@wordpress/components");
8
+ var _i18n = require("@wordpress/i18n");
9
+ var _icons = require("@wordpress/icons");
10
+ var _compose = require("@wordpress/compose");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+
16
+ /**
17
+ * Shared BackButton component for consistent navigation across LinkUI sub-components.
18
+ *
19
+ * @param {Object} props Component props.
20
+ * @param {string} props.className CSS class name for the button.
21
+ * @param {Function} props.onBack Callback when user wants to go back.
22
+ */function BackButton({
23
+ className,
24
+ onBack
25
+ }) {
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
27
+ className: className,
28
+ icon: (0, _i18n.isRTL)() ? _icons.chevronRightSmall : _icons.chevronLeftSmall,
29
+ onClick: e => {
30
+ e.preventDefault();
31
+ onBack();
32
+ },
33
+ size: "small",
34
+ children: (0, _i18n.__)('Back')
35
+ });
36
+ }
37
+
38
+ /**
39
+ * Shared DialogWrapper component for consistent dialog structure across LinkUI sub-components.
40
+ *
41
+ * @param {Object} props Component props.
42
+ * @param {string} props.className CSS class name for the dialog container.
43
+ * @param {string} props.title Dialog title for accessibility.
44
+ * @param {string} props.description Dialog description for accessibility.
45
+ * @param {Function} props.onBack Callback when user wants to go back.
46
+ * @param {Object} props.children Child components to render inside the dialog.
47
+ */
48
+ function DialogWrapper({
49
+ className,
50
+ title,
51
+ description,
52
+ onBack,
53
+ children
54
+ }) {
55
+ const dialogTitleId = (0, _compose.useInstanceId)(DialogWrapper, 'link-ui-dialog-title');
56
+ const dialogDescriptionId = (0, _compose.useInstanceId)(DialogWrapper, 'link-ui-dialog-description');
57
+ const focusOnMountRef = (0, _compose.useFocusOnMount)('firstElement');
58
+ const backButtonClassName = `${className}__back`;
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
60
+ className: className,
61
+ role: "dialog",
62
+ "aria-labelledby": dialogTitleId,
63
+ "aria-describedby": dialogDescriptionId,
64
+ ref: focusOnMountRef,
65
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.VisuallyHidden, {
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
67
+ id: dialogTitleId,
68
+ children: title
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
70
+ id: dialogDescriptionId,
71
+ children: description
72
+ })]
73
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(BackButton, {
74
+ className: backButtonClassName,
75
+ onBack: onBack
76
+ }), children]
77
+ });
78
+ }
79
+ var _default = exports.default = DialogWrapper;
80
+ //# sourceMappingURL=dialog-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_i18n","_icons","_compose","_jsxRuntime","BackButton","className","onBack","jsx","Button","icon","isRTL","chevronRightSmall","chevronLeftSmall","onClick","e","preventDefault","size","children","__","DialogWrapper","title","description","dialogTitleId","useInstanceId","dialogDescriptionId","focusOnMountRef","useFocusOnMount","backButtonClassName","jsxs","role","ref","VisuallyHidden","id","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation-link/dialog-wrapper.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Shared BackButton component for consistent navigation across LinkUI sub-components.\n *\n * @param {Object} props Component props.\n * @param {string} props.className CSS class name for the button.\n * @param {Function} props.onBack Callback when user wants to go back.\n */\nfunction BackButton( { className, onBack } ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\tonClick={ ( e ) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tonBack();\n\t\t\t} }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t{ __( 'Back' ) }\n\t\t</Button>\n\t);\n}\n\n/**\n * Shared DialogWrapper component for consistent dialog structure across LinkUI sub-components.\n *\n * @param {Object} props Component props.\n * @param {string} props.className CSS class name for the dialog container.\n * @param {string} props.title Dialog title for accessibility.\n * @param {string} props.description Dialog description for accessibility.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Object} props.children Child components to render inside the dialog.\n */\nfunction DialogWrapper( { className, title, description, onBack, children } ) {\n\tconst dialogTitleId = useInstanceId(\n\t\tDialogWrapper,\n\t\t'link-ui-dialog-title'\n\t);\n\tconst dialogDescriptionId = useInstanceId(\n\t\tDialogWrapper,\n\t\t'link-ui-dialog-description'\n\t);\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst backButtonClassName = `${ className }__back`;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ className }\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescriptionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ title }</h2>\n\t\t\t\t<p id={ dialogDescriptionId }>{ description }</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<BackButton className={ backButtonClassName } onBack={ onBack } />\n\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default DialogWrapper;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAoE,IAAAI,WAAA,GAAAJ,OAAA;AANpE;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,SAASK,UAAUA,CAAE;EAAEC,SAAS;EAAEC;AAAO,CAAC,EAAG;EAC5C,oBACC,IAAAH,WAAA,CAAAI,GAAA,EAACT,WAAA,CAAAU,MAAM;IACNH,SAAS,EAAGA,SAAW;IACvBI,IAAI,EAAG,IAAAC,WAAK,EAAC,CAAC,GAAGC,wBAAiB,GAAGC,uBAAkB;IACvDC,OAAO,EAAKC,CAAC,IAAM;MAClBA,CAAC,CAACC,cAAc,CAAC,CAAC;MAClBT,MAAM,CAAC,CAAC;IACT,CAAG;IACHU,IAAI,EAAC,OAAO;IAAAC,QAAA,EAEV,IAAAC,QAAE,EAAE,MAAO;EAAC,CACP,CAAC;AAEX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAAE;EAAEd,SAAS;EAAEe,KAAK;EAAEC,WAAW;EAAEf,MAAM;EAAEW;AAAS,CAAC,EAAG;EAC7E,MAAMK,aAAa,GAAG,IAAAC,sBAAa,EAClCJ,aAAa,EACb,sBACD,CAAC;EACD,MAAMK,mBAAmB,GAAG,IAAAD,sBAAa,EACxCJ,aAAa,EACb,4BACD,CAAC;EACD,MAAMM,eAAe,GAAG,IAAAC,wBAAe,EAAE,cAAe,CAAC;EACzD,MAAMC,mBAAmB,GAAG,GAAItB,SAAS,QAAS;EAElD,oBACC,IAAAF,WAAA,CAAAyB,IAAA;IACCvB,SAAS,EAAGA,SAAW;IACvBwB,IAAI,EAAC,QAAQ;IACb,mBAAkBP,aAAe;IACjC,oBAAmBE,mBAAqB;IACxCM,GAAG,EAAGL,eAAiB;IAAAR,QAAA,gBAEvB,IAAAd,WAAA,CAAAyB,IAAA,EAAC9B,WAAA,CAAAiC,cAAc;MAAAd,QAAA,gBACd,IAAAd,WAAA,CAAAI,GAAA;QAAIyB,EAAE,EAAGV,aAAe;QAAAL,QAAA,EAAGG;MAAK,CAAM,CAAC,eACvC,IAAAjB,WAAA,CAAAI,GAAA;QAAGyB,EAAE,EAAGR,mBAAqB;QAAAP,QAAA,EAAGI;MAAW,CAAK,CAAC;IAAA,CAClC,CAAC,eAEjB,IAAAlB,WAAA,CAAAI,GAAA,EAACH,UAAU;MAACC,SAAS,EAAGsB,mBAAqB;MAACrB,MAAM,EAAGA;IAAQ,CAAE,CAAC,EAEhEW,QAAQ;EAAA,CACN,CAAC;AAER;AAAC,IAAAgB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEchB,aAAa","ignoreList":[]}