@wordpress/block-library 8.28.4 → 8.28.6

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 (67) hide show
  1. package/build/block/deprecated.js +71 -11
  2. package/build/block/deprecated.js.map +1 -1
  3. package/build/block/edit.js +65 -31
  4. package/build/block/edit.js.map +1 -1
  5. package/build/code/save.js +3 -1
  6. package/build/code/save.js.map +1 -1
  7. package/build/image/edit.js +6 -3
  8. package/build/image/edit.js.map +1 -1
  9. package/build/image/image.js +11 -5
  10. package/build/image/image.js.map +1 -1
  11. package/build/list-item/edit.js +1 -3
  12. package/build/list-item/edit.js.map +1 -1
  13. package/build/list-item/hooks/index.js +0 -7
  14. package/build/list-item/hooks/index.js.map +1 -1
  15. package/build/list-item/index.js +4 -1
  16. package/build/list-item/index.js.map +1 -1
  17. package/build/navigation/edit/index.js +2 -2
  18. package/build/navigation/edit/index.js.map +1 -1
  19. package/build/navigation/edit/navigation-menu-selector.js +20 -19
  20. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  21. package/build/site-logo/edit.js +7 -2
  22. package/build/site-logo/edit.js.map +1 -1
  23. package/build-module/block/deprecated.js +71 -11
  24. package/build-module/block/deprecated.js.map +1 -1
  25. package/build-module/block/edit.js +66 -32
  26. package/build-module/block/edit.js.map +1 -1
  27. package/build-module/code/save.js +3 -1
  28. package/build-module/code/save.js.map +1 -1
  29. package/build-module/image/edit.js +7 -4
  30. package/build-module/image/edit.js.map +1 -1
  31. package/build-module/image/image.js +11 -5
  32. package/build-module/image/image.js.map +1 -1
  33. package/build-module/list-item/edit.js +2 -4
  34. package/build-module/list-item/edit.js.map +1 -1
  35. package/build-module/list-item/hooks/index.js +0 -1
  36. package/build-module/list-item/hooks/index.js.map +1 -1
  37. package/build-module/list-item/index.js +4 -1
  38. package/build-module/list-item/index.js.map +1 -1
  39. package/build-module/navigation/edit/index.js +2 -2
  40. package/build-module/navigation/edit/index.js.map +1 -1
  41. package/build-module/navigation/edit/navigation-menu-selector.js +20 -19
  42. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  43. package/build-module/site-logo/edit.js +7 -2
  44. package/build-module/site-logo/edit.js.map +1 -1
  45. package/build-style/common-rtl.css +1 -0
  46. package/build-style/common.css +1 -0
  47. package/package.json +13 -13
  48. package/src/block/deprecated.js +76 -11
  49. package/src/block/edit.js +100 -32
  50. package/src/block/index.php +21 -12
  51. package/src/code/save.js +7 -1
  52. package/src/image/edit.js +10 -3
  53. package/src/image/image.js +20 -16
  54. package/src/list-item/edit.js +1 -2
  55. package/src/list-item/hooks/index.js +0 -1
  56. package/src/list-item/index.js +3 -0
  57. package/src/navigation/edit/index.js +2 -2
  58. package/src/navigation/edit/navigation-menu-selector.js +34 -16
  59. package/src/navigation/edit/test/navigation-menu-selector.js +61 -39
  60. package/src/navigation/index.php +19 -13
  61. package/src/search/index.php +1 -1
  62. package/src/site-logo/edit.js +10 -5
  63. package/build/list-item/hooks/use-copy.js +0 -39
  64. package/build/list-item/hooks/use-copy.js.map +0 -1
  65. package/build-module/list-item/hooks/use-copy.js +0 -32
  66. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  67. package/src/list-item/hooks/use-copy.js +0 -38
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","RecursionProvider","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","sprintf","speak","close","Icon","useInstanceId","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","ManageMenusButton","MenuInspectorControls","DeletedNavigationWarning","AccessibleDescription","AccessibleMenuDescription","unlock","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","navRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","navMenu","id","onSelectNavigationMenu","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","colorGradientSettings","stylingInspectorControls","createElement","Fragment","title","onClick","hidden","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","checked","disabled","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","deletedMenuTitle","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction 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 = () => {\n\t\tcreateNavigationMenu( '' );\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\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\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: classnames(\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\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}\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] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\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] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\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 colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\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={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\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\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\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{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\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</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACF,oBAAoB;AAC3B,SACCC,iBAAiB,EACjBC,aAAa,EACbC,iBAAiB,EACjBC,eAAe,EACfC,KAAK,IAAIC,gBAAgB,EACzBC,UAAU,EACVC,eAAe,EACfC,iBAAiB,EACjBC,OAAO,EACPC,2CAA2C,IAAIC,6BAA6B,EAC5EC,iDAAiD,IAAIC,mCAAmC,EACxFC,mBAAmB,QACb,yBAAyB;AAChC,SAASC,cAAc,EAAEX,KAAK,IAAIY,SAAS,QAAQ,sBAAsB;AAEzE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SACCC,SAAS,EACTC,aAAa,EACbC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,MAAM,EACNC,OAAO,EACPC,MAAM,QACA,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,KAAK,EAAEC,IAAI,QAAQ,kBAAkB;AAC9C,SAASC,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,iBAAiB,MAAM,sBAAsB;AACpD,OAAOC,qBAAqB,MAAM,gBAAgB;AAClD,OAAOC,yBAAyB,MAAM,gCAAgC;AACtE,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,2BAA2B,MAAM,kCAAkC;AAC1E,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,4BAA4B,IAClCC,6BAA6B,EAC7BC,+BAA+B,EAC/BC,+BAA+B,QACzB,0CAA0C;AACjD,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,YAAY,QAAQ,SAAS;AACtC,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,OAAOC,qBAAqB,MAAM,2BAA2B;AAC7D,OAAOC,wBAAwB,MAAM,8BAA8B;AACnE,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,OAAOC,yBAAyB,MAAM,+BAA+B;AACrE,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,SAASC,UAAUA,CAAE;EACpBC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC,UAAU;EACVC,SAAS;EACTC,eAAe;EACfC,kBAAkB;EAClBC,SAAS;EACTC,YAAY;EACZC,sBAAsB;EACtBC,yBAAyB;EACzBC,gBAAgB;EAChBC,mBAAmB;EAEnB;EACA;EACAC,0BAA0B,GAAG,IAAI;EACjCC,iBAAiB,EAAEC,iBAAiB,GAAG,IAAI;EAC3CC,0BAA0B,EAAEC;AAC7B,CAAC,EAAG;EACH,MAAM;IACLC,mBAAmB;IACnBC,WAAW;IACXC,eAAe;IACfC,YAAY;IACZC,MAAM,EAAE;MACPC,cAAc;MACdC,WAAW,GAAG,YAAY;MAC1BC,QAAQ,GAAG;IACZ,CAAC,GAAG,CAAC,CAAC;IACNC,OAAO;IACPC,IAAI,GAAG;EACR,CAAC,GAAG3B,UAAU;EAEd,MAAM4B,GAAG,GAAG5B,UAAU,CAAC4B,GAAG;EAE1B,MAAMC,MAAM,GAAG7F,WAAW,CACvB8F,MAAM,IAAM;IACb7B,aAAa,CAAE;MAAE2B,GAAG,EAAEE;IAAO,CAAE,CAAC;EACjC,CAAC,EACD,CAAE7B,aAAa,CAChB,CAAC;EAED,MAAM8B,WAAW,GAAI,kBAAkBH,GAAK,EAAC;EAC7C,MAAMI,kBAAkB,GAAGxF,eAAe,CAAEuF,WAAY,CAAC;EAEzD,MAAME,gBAAgB,GAAG9E,mBAAmB,CAAC,CAAC;;EAE9C;EACA;EACA,MAAM;IAAE+E,KAAK,EAAEC;EAAa,CAAC,GAAG3D,qBAAqB,CAAC,CAAC;EAEvD,MAAM,CAAE4D,8BAA8B,EAAEC,8BAA8B,CAAE,GACvEtD,mBAAmB,CAAE;IACpBuD,IAAI,EAAE;EACP,CAAE,CAAC;EAEJ,MAAM,CAAEC,+BAA+B,EAAEC,+BAA+B,CAAE,GACzEzD,mBAAmB,CAAE;IACpBuD,IAAI,EAAE;EACP,CAAE,CAAC;EAEJ,MAAM,CACLG,mCAAmC,EACnCC,mCAAmC,CACnC,GAAG3D,mBAAmB,CAAE;IACxBuD,IAAI,EAAE;EACP,CAAE,CAAC;EAEH,MAAM;IACLK,MAAM,EAAEC,oBAAoB;IAC5BC,MAAM,EAAEC,0BAA0B;IAClCC,KAAK,EAAEC,yBAAyB;IAChCC,KAAK,EAAEC,wBAAwB;IAC/BC,SAAS,EAAEC,wBAAwB;IACnCC,SAAS,EAAEC,6BAA6B;IACxCC,OAAO,EAAEC;EACV,CAAC,GAAGlE,uBAAuB,CAAEY,QAAS,CAAC;EAEvC,MAAMuD,iCAAiC,GAAGA,CAAA,KAAM;IAC/Cb,oBAAoB,CAAE,EAAG,CAAC;EAC3B,CAAC;EAED,MAAM;IACLc,0BAA0B;IAC1BC,uBAAuB;IACvBC,oBAAoB;IACpBC;EACD,CAAC,GAAGtE,cAAc,CAAEW,QAAS,CAAC;EAE9B,MAAM4D,WAAW,GAAG,CAAC,CAAED,WAAW,CAACE,IAAI,CACpCC,KAAK,IAAMA,KAAK,CAAC1B,IAAI,KAAK,yBAC7B,CAAC;EAED,MAAM;IACL2B,kBAAkB;IAClBC,WAAW;IACXC;EACD,CAAC,GAAG7G,WAAW,CAAEZ,gBAAiB,CAAC;EAEnC,MAAM,CAAE0H,oBAAoB,EAAEC,2BAA2B,CAAE,GAC1DpI,QAAQ,CAAE,KAAM,CAAC;EAElB,MAAM,CAAEqI,kBAAkB,EAAEC,qBAAqB,CAAE,GAAGtI,QAAQ,CAAE,KAAM,CAAC;EAEvE,MAAM;IACLuI,0BAA0B;IAC1BC,wBAAwB;IACxBC,uBAAuB;IACvBC,2BAA2B;IAC3BC,sCAAsC;IACtCC,2BAA2B;IAC3BC,sCAAsC;IACtCC,2BAA2B;IAC3BC,sCAAsC;IACtCC;EACD,CAAC,GAAG1G,iBAAiB,CAAEqD,GAAI,CAAC;EAE5B,MAAMsD,yBAAyB,GAC9BV,0BAA0B,IAAIE,uBAAuB;EAEtD,MAAM;IACLS,OAAO,EAAEC,kBAAkB;IAC3BvC,MAAM,EAAEwC,2BAA2B;IACnCtC,KAAK,EAAEuC;EACR,CAAC,GAAGpG,4BAA4B,CAAE0D,oBAAqB,CAAC;EAExD,MAAM2C,uBAAuB,GAC5BF,2BAA2B,KAAKjG,+BAA+B;EAEhE,MAAMoG,gBAAgB,GAAGxJ,WAAW,CACnC,CAAEyJ,MAAM,EAAEC,OAAO,GAAG;IAAEC,oBAAoB,EAAE;EAAM,CAAC,KAAM;IACxD,MAAM;MAAEA;IAAqB,CAAC,GAAGD,OAAO;IACxC7D,MAAM,CAAE4D,MAAO,CAAC;IAChB,IAAKE,oBAAoB,EAAG;MAC3BzB,WAAW,CAAEhE,QAAS,CAAC;IACxB;EACD,CAAC,EACD,CAAEgE,WAAW,EAAEhE,QAAQ,EAAE2B,MAAM,CAChC,CAAC;EAED,MAAM+D,iBAAiB,GACtB,CAAElB,uBAAuB,IAAID,wBAAwB;;EAEtD;EACA;EACA;EACA;EACA;EACA;EACA,MAAMoB,gBAAgB,GAAGnC,0BAA0B,IAAI,CAAEkC,iBAAiB;EAE1E,MAAM;IAAEE;EAAwB,CAAC,GAAGhG,MAAM,CAAEvC,SAAS,CAAEF,SAAU,CAAE,CAAC;EAEpE,MAAM0I,oBAAoB,GAAG,EAAInE,GAAG,IAAIiE,gBAAgB,CAAE,GACvDC,uBAAuB,CAAC,CAAC,GACzB,IAAI;EAEP5J,SAAS,CAAE,MAAM;IAChB;IACA;IACA;IACA;IACA,IAAK0F,GAAG,IAAIiE,gBAAgB,IAAI,CAAEE,oBAAoB,EAAG;MACxD;IACD;;IAEA;AACF;AACA;AACA;AACA;;IAEE5B,uCAAuC,CAAC,CAAC;IACzCtC,MAAM,CAAEkE,oBAAqB,CAAC;EAC/B,CAAC,EAAE,CACFnE,GAAG,EACHC,MAAM,EACNgE,gBAAgB,EAChBE,oBAAoB,EACpB5B,uCAAuC,CACtC,CAAC;EAEH,MAAM6B,MAAM,GAAG7J,MAAM,CAAC,CAAC;;EAEvB;EACA,MAAM8J,OAAO,GAAG,KAAK;;EAErB;EACA;EACA;EACA;EACA;EACA,MAAMC,aAAa,GAClB,CAAEtE,GAAG,IACL,CAAEwB,wBAAwB,IAC1B,CAAEmC,uBAAuB,IACzBf,0BAA0B,IAC1BrC,YAAY,EAAEgE,MAAM,KAAK,CAAC,IAC1B,CAAEzC,0BAA0B;;EAE7B;EACA;EACA;EACA;EACA;EACA;EACA,MAAM0C,SAAS,GACd,CAAE5B,0BAA0B,IAC5BpB,wBAAwB,IACxBmC,uBAAuB,IACvB,CAAC,EAAI3D,GAAG,IAAI,CAAEgE,iBAAiB,IAAI,CAAEL,uBAAuB,CAAE;EAE/D,MAAMc,cAAc,GAAGrG,UAAU,CAACsG,KAAK,EAAEC,UAAU,EAAEF,cAAc;EAEnE,MAAMG,eAAe,GAAGjJ,SAAS,CAC9BkJ,MAAM,IACPA,MAAM,CAAE/J,gBAAiB,CAAC,CAACgK,qCAAqC,CAC/DxG,QACD,CAAC,EACF,CAAEA,QAAQ,CACX,CAAC;EACD,MAAMyG,YAAY,GAAG,OAAO,KAAKxF,WAAW;EAC5C,MAAMyF,UAAU,GAAGtK,aAAa,CAAE;IACjCsF,GAAG,EAAEoE,MAAM;IACX5F,SAAS,EAAErE,UAAU,CACpBqE,SAAS,EACT;MACC,uBAAuB,EAAEmB,cAAc,KAAK,OAAO;MACnD,+BAA+B,EAC9BA,cAAc,KAAK,eAAe;MACnC,sBAAsB,EAAEA,cAAc,KAAK,MAAM;MACjD,wBAAwB,EAAEA,cAAc,KAAK,QAAQ;MACrD,aAAa,EAAEC,WAAW,KAAK,UAAU;MACzC,SAAS,EAAEC,QAAQ,KAAK,QAAQ;MAChC,eAAe,EAAEkF,YAAY;MAC7B,gBAAgB,EAAE,CAAC,CAAEpG,SAAS,CAACsG,KAAK,IAAI,CAAC,CAAEtG,SAAS,EAAEuG,KAAK;MAC3D,CAAEjK,iBAAiB,CAAE,OAAO,EAAE0D,SAAS,EAAEwG,IAAK,CAAC,GAC9C,CAAC,CAAExG,SAAS,EAAEwG,IAAI;MACnB,gBAAgB,EACf,CAAC,CAAE1G,eAAe,CAACwG,KAAK,IAAIxG,eAAe,CAACyG,KAAK;MAClD,CAAEjK,iBAAiB,CAClB,kBAAkB,EAClBwD,eAAe,EAAE0G,IAClB,CAAC,GAAI,CAAC,CAAE1G,eAAe,EAAE0G,IAAI;MAC7B,CAAG,uBAAuBV,cAAgB,EAAC,GAAIA,cAAc;MAC7D,oCAAoC,EAAEG;IACvC,CAAC,EACDvF,gBACD,CAAC;IACDqF,KAAK,EAAE;MACNO,KAAK,EAAE,CAAEtG,SAAS,EAAEwG,IAAI,IAAIxG,SAAS,EAAEsG,KAAK;MAC5CxG,eAAe,EAAE,CAAEA,eAAe,EAAE0G,IAAI,IAAI1G,eAAe,EAAEwG;IAC9D;EACD,CAAE,CAAC;;EAEH;EACA,MAAMG,sBAAsB,GAAG5K,QAAQ,CAAC6K,EAAE,KAAK,KAAK;EAEpD,MAAM,CAAEC,uBAAuB,EAAEC,0BAA0B,CAAE,GAAGlL,QAAQ,CAAC,CAAC;EAC1E,MAAM,CAAEmL,aAAa,EAAEC,gBAAgB,CAAE,GAAGpL,QAAQ,CAAC,CAAC;EACtD,MAAM,CACLqL,8BAA8B,EAC9BC,iCAAiC,CACjC,GAAGtL,QAAQ,CAAC,CAAC;EACd,MAAM,CAAEuL,oBAAoB,EAAEC,uBAAuB,CAAE,GAAGxL,QAAQ,CAAC,CAAC;EAEpE,MAAMyL,mBAAmB,GAAG,MAAQC,WAAW,IAAM;IACpD,MAAMC,OAAO,GAAG,MAAMxC,kBAAkB,CACvCuC,WAAW,CAACE,EAAE,EACdF,WAAW,CAACrF,IAAI,EAChB,OACD,CAAC;IACD,IAAKsF,OAAO,EAAG;MACdpC,gBAAgB,CAAEoC,OAAO,CAACC,EAAE,EAAE;QAC7BlC,oBAAoB,EAAE;MACvB,CAAE,CAAC;IACJ;EACD,CAAC;EAED,MAAMmC,sBAAsB,GAAKrC,MAAM,IAAM;IAC5CD,gBAAgB,CAAEC,MAAO,CAAC;EAC3B,CAAC;EAEDvJ,SAAS,CAAE,MAAM;IAChBmG,8BAA8B,CAAC,CAAC;IAEhC,IAAKe,wBAAwB,EAAG;MAC/BjF,KAAK,CAAEF,EAAE,CAAG,2BAA2B,CAAE,CAAC;IAC3C;IAEA,IAAKqF,6BAA6B,EAAG;MACpCkC,gBAAgB,CAAEtC,wBAAwB,EAAE2E,EAAE,EAAE;QAC/ClC,oBAAoB,EAAE;MACvB,CAAE,CAAC;MAEHvD,8BAA8B,CAC7BnE,EAAE,CAAG,uCAAuC,CAC7C,CAAC;IACF;IAEA,IAAKuF,2BAA2B,EAAG;MAClCpB,8BAA8B,CAC7BnE,EAAE,CAAE,mCAAoC,CACzC,CAAC;IACF;EACD,CAAC,EAAE,CACF6E,0BAA0B,EAC1BE,yBAAyB,EACzBE,wBAAwB,EAAE2E,EAAE,EAC5BrE,2BAA2B,EAC3BF,6BAA6B,EAC7BF,wBAAwB,EACxBoC,gBAAgB,EAChBnD,8BAA8B,EAC9BD,8BAA8B,CAC7B,CAAC;EAEHlG,SAAS,CAAE,MAAM;IAChBsG,+BAA+B,CAAC,CAAC;IACjC,IAAK6C,2BAA2B,KAAKjG,+BAA+B,EAAG;MACtEjB,KAAK,CAAEF,EAAE,CAAE,yBAA0B,CAAE,CAAC;IACzC;IAEA,IAAKoH,2BAA2B,KAAKhG,+BAA+B,EAAG;MACtEkD,+BAA+B,CAC9BtE,EAAE,CAAE,qCAAsC,CAC3C,CAAC;IACF;IAEA,IAAKoH,2BAA2B,KAAKlG,6BAA6B,EAAG;MACpEoD,+BAA+B,CAC9BtE,EAAE,CAAE,6BAA8B,CACnC,CAAC;IACF;EACD,CAAC,EAAE,CACFoH,2BAA2B,EAC3BC,0BAA0B,EAC1B9C,+BAA+B,EAC/BD,+BAA+B,CAC9B,CAAC;EAEHrG,SAAS,CAAE,MAAM;IAChB,IAAK,CAAE8K,sBAAsB,EAAG;MAC/B;IACD;IACAxH,YAAY,CACXwG,MAAM,CAAC+B,OAAO,EACdV,gBAAgB,EAChBF,0BACD,CAAC;IAED,MAAMa,cAAc,GAAGhC,MAAM,CAAC+B,OAAO,EAAEE,aAAa,CACnD,0EACD,CAAC;IAED,IAAK,CAAED,cAAc,EAAG;MACvB;IACD;;IAEA;IACA;IACA;IACA,IAAKrH,gBAAgB,CAACkG,KAAK,IAAIpG,sBAAsB,CAACoG,KAAK,EAAG;MAC7DrH,YAAY,CACXwI,cAAc,EACdP,uBAAuB,EACvBF,iCACD,CAAC;IACF;EACD,CAAC,EAAE,CACFP,sBAAsB,EACtBrG,gBAAgB,CAACkG,KAAK,EACtBpG,sBAAsB,CAACoG,KAAK,CAC3B,CAAC;EAEH3K,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEiE,UAAU,IAAI,CAAEyD,oBAAoB,EAAG;MAC7ClB,mCAAmC,CAAC,CAAC;IACtC;IAEA,IAAKvC,UAAU,IAAIyD,oBAAoB,EAAG;MACzC,IACChC,GAAG,IACH,CAAEsD,yBAAyB,IAC3BN,sCAAsC,IACtC,CAAED,2BAA2B,EAC5B;QACDlC,mCAAmC,CAClCxE,EAAE,CACD,mFACD,CACD,CAAC;MACF;MAEA,IACC,CAAE2D,GAAG,IACLqD,sCAAsC,IACtC,CAAEF,2BAA2B,EAC5B;QACDtC,mCAAmC,CAClCxE,EAAE,CACD,wDACD,CACD,CAAC;MACF;IACD;EACD,CAAC,EAAE,CACFkC,UAAU,EACVyD,oBAAoB,EACpBe,2BAA2B,EAC3BC,sCAAsC,EACtCG,2BAA2B,EAC3BE,sCAAsC,EACtCrD,GAAG,EACHc,mCAAmC,EACnCD,mCAAmC,EACnCyC,yBAAyB,CACxB,CAAC;EAEH,MAAMgD,oBAAoB,GACzBnD,2BAA2B,IAAIJ,2BAA2B;EAE3D,MAAMwD,yBAAyB,GAAGpM,UAAU,CAC3C,2CAA2C,EAC3C;IAAEqM,IAAI,EAAE9D;EAAmB,CAC5B,CAAC;EAED,MAAM+D,0BAA0B,GAC/B,CAAEjH,eAAe,IAAI,CAAEF,mBAAmB,GACvCjD,EAAE,CACF,kOACA,CAAC,GACD,EAAE;EAEN,MAAMqK,aAAa,GAAGnM,MAAM,CAAE,IAAK,CAAC,CAAC,CAAC;EACtCD,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEoM,aAAa,CAACP,OAAO,IAAIM,0BAA0B,EAAG;MAC5DlK,KAAK,CAAEkK,0BAA2B,CAAC;IACpC;IACAC,aAAa,CAACP,OAAO,GAAG,KAAK;EAC9B,CAAC,EAAE,CAAEM,0BAA0B,CAAG,CAAC;EAEnC,MAAME,oBAAoB,GAAGjK,aAAa,CACzCW,kBAAkB,EACjB,sBACF,CAAC;EAED,MAAMuJ,qBAAqB,GAAGtL,mCAAmC,CAAC,CAAC;EACnE,MAAMuL,wBAAwB,GAC7BC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACrM,iBAAiB,QACfwE,0BAA0B,IAC3B6H,aAAA,CAAClL,SAAS;IAACoL,KAAK,EAAG3K,EAAE,CAAE,SAAU;EAAG,GACjC0I,YAAY,IACb+B,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC5K,MAAM;IACNsC,SAAS,EAAG+H,yBAA2B;IACvCU,OAAO,EAAGA,CAAA,KAAM;MACftE,qBAAqB,CACpB,CAAED,kBACH,CAAC;IACF,CAAG;IACH,cAAarG,EAAE,CAAE,uBAAwB,CAAG;IAC5C,iBAAgBsK,oBAAsB;IACtC,iBAAgBjE;EAAoB,GAElC5C,OAAO,IACRgH,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC1J,eAAe;IAAC2C,IAAI,EAAGA;EAAM,CAAE,CAAC,EACjC+G,aAAA,CAACrK,IAAI;IAACsD,IAAI,EAAGvD;EAAO,CAAE,CACrB,CACF,EACC,CAAEsD,OAAO,IACVgH,aAAA,CAAAC,QAAA,QACCD,aAAA,eAAQzK,EAAE,CAAE,MAAO,CAAS,CAAC,EAC7ByK,aAAA,eAAQzK,EAAE,CAAE,OAAQ,CAAS,CAC5B,CAEI,CAAC,EACTyK,aAAA;IAAKb,EAAE,EAAGU;EAAsB,GAC7BjE,kBAAkB,IACnBoE,aAAA,CAACzJ,kBAAkB;IAClBgB,aAAa,EAAGA,aAAe;IAC/ByB,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbmH,MAAM,EAAG,CAAExE;EAAoB,CAC/B,CAEE,CACJ,CACF,EACDoE,aAAA,aAAMzK,EAAE,CAAE,cAAe,CAAO,CAAC,EACjCyK,aAAA,CAAC/K,kBAAkB;IAClBoL,uBAAuB;IACvBC,KAAK,EAAG/K,EAAE,CAAE,wBAAyB,CAAG;IACxCgF,KAAK,EAAG9B,WAAa;IACrB8H,IAAI,EAAGhL,EAAE,CACR,qEACD,CAAG;IACHiL,QAAQ,EAAKjG,KAAK,IACjBhD,aAAa,CAAE;MAAEkB,WAAW,EAAE8B;IAAM,CAAE,CACtC;IACDkG,OAAO;IACPC,mBAAmB;EAAA,GAEnBV,aAAA,CAAC7K,wBAAwB;IACxBoF,KAAK,EAAC,OAAO;IACb+F,KAAK,EAAG/K,EAAE,CAAE,KAAM;EAAG,CACrB,CAAC,EACFyK,aAAA,CAAC7K,wBAAwB;IACxBoF,KAAK,EAAC,QAAQ;IACd+F,KAAK,EAAG/K,EAAE,CAAE,QAAS;EAAG,CACxB,CAAC,EACFyK,aAAA,CAAC7K,wBAAwB;IACxBoF,KAAK,EAAC,QAAQ;IACd+F,KAAK,EAAG/K,EAAE,CAAE,QAAS;EAAG,CACxB,CACkB,CAAC,EACnB6F,WAAW,IACZ4E,aAAA,CAAAC,QAAA,QACCD,aAAA,aAAMzK,EAAE,CAAE,UAAW,CAAO,CAAC,EAC7ByK,aAAA,CAACjL,aAAa;IACbsL,uBAAuB;IACvBM,OAAO,EAAGnI,mBAAqB;IAC/BgI,QAAQ,EAAKjG,KAAK,IAAM;MACvBhD,aAAa,CAAE;QACdiB,mBAAmB,EAAE+B,KAAK;QAC1B,IAAKA,KAAK,IAAI;UACb7B,eAAe,EAAE;QAClB,CAAC,CAAE,CAAE;MACN,CAAE,CAAC;IACJ,CAAG;IACH4H,KAAK,EAAG/K,EAAE,CAAE,eAAgB;EAAG,CAC/B,CAAC,EAEFyK,aAAA,CAACjL,aAAa;IACbsL,uBAAuB;IACvBM,OAAO,EAAGjI,eAAiB;IAC3B8H,QAAQ,EAAKjG,KAAK,IAAM;MACvBhD,aAAa,CAAE;QACdmB,eAAe,EAAE6B;MAClB,CAAE,CAAC;IACJ,CAAG;IACHqG,QAAQ,EAAGtJ,UAAU,CAACkB,mBAAqB;IAC3C8H,KAAK,EAAG/K,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EAEAoK,0BAA0B,IAC3BK,aAAA,cACCA,aAAA,CAAC1K,MAAM;IACNuL,aAAa,EAAG,IAAM;IACtB1G,MAAM,EAAC,SAAS;IAChB2G,aAAa,EAAG;EAAO,GAErBnB,0BACK,CACJ,CAEL,CAEO,CAEM,CAAC,EAClBG,qBAAqB,CAACiB,oBAAoB,IAC3Cf,aAAA,CAACrM,iBAAiB;IAACqN,KAAK,EAAC;EAAO,GAC/BhB,aAAA,CAAC1L,6BAA6B;IAC7B2M,iCAAiC;IACjCC,QAAQ,EAAG,CACV;MACCC,UAAU,EAAEtJ,SAAS,CAACsG,KAAK;MAC3BmC,KAAK,EAAE/K,EAAE,CAAE,MAAO,CAAC;MACnB6L,aAAa,EAAEtJ,YAAY;MAC3BuJ,cAAc,EAAEA,CAAA,KAAMvJ,YAAY,CAAC;IACpC,CAAC,EACD;MACCqJ,UAAU,EAAExJ,eAAe,CAACwG,KAAK;MACjCmC,KAAK,EAAE/K,EAAE,CAAE,YAAa,CAAC;MACzB6L,aAAa,EAAExJ,kBAAkB;MACjCyJ,cAAc,EAAEA,CAAA,KAAMzJ,kBAAkB,CAAC;IAC1C,CAAC,EACD;MACCuJ,UAAU,EAAElJ,gBAAgB,CAACkG,KAAK;MAClCmC,KAAK,EAAE/K,EAAE,CAAE,wBAAyB,CAAC;MACrC6L,aAAa,EAAElJ,mBAAmB;MAClCmJ,cAAc,EAAEA,CAAA,KAAMnJ,mBAAmB,CAAC;IAC3C,CAAC,EACD;MACCiJ,UAAU,EAAEpJ,sBAAsB,CAACoG,KAAK;MACxCmC,KAAK,EAAE/K,EAAE,CAAE,8BAA+B,CAAC;MAC3C6L,aAAa,EAAEpJ,yBAAyB;MACxCqJ,cAAc,EAAEA,CAAA,KACfrJ,yBAAyB,CAAC;IAC5B,CAAC,CACC;IACHsJ,OAAO,EAAG9J,QAAU;IAAA,GACfsI,qBAAqB;IAC1ByB,SAAS,EAAG,EAAI;IAChBC,sBAAsB,EAAG;EAAM,CAC/B,CAAC,EACAlD,sBAAsB,IACvB0B,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC9L,eAAe;IACfyD,eAAe,EAAG6G,uBAAyB;IAC3C3G,SAAS,EAAG6G;EAAe,CAC3B,CAAC,EACFsB,aAAA,CAAC9L,eAAe;IACfyD,eAAe,EACdiH,8BACA;IACD/G,SAAS,EAAGiH;EAAsB,CAClC,CACA,CAEe,CAEnB,CACF;EAED,MAAM2C,uBAAuB,GAAI,GAAGjK,QAAU,OAAM;EAEpD,MAAMkK,2BAA2B,GAChC,CAAElC,oBAAoB,IAAI,CAAE1D,0BAA0B;EAEvD,IAAKqB,gBAAgB,IAAI,CAAEzC,wBAAwB,EAAG;IACrD,OACCsF,aAAA,CAACzC,OAAO;MAAA,GACFW,UAAU;MACf,oBACC,CAAEV,aAAa,GAAGiE,uBAAuB,GAAGE;IAC5C,GAED3B,aAAA,CAAC9I,qBAAqB;MAACiI,EAAE,EAAGsC;IAAyB,GAClDlM,EAAE,CAAE,0BAA2B,CACX,CAAC,EAExByK,aAAA,CAAChJ,qBAAqB;MACrBQ,QAAQ,EAAGA,QAAU;MACrBoD,6BAA6B,EAC5BA,6BACA;MACDE,2BAA2B,EAAGA,2BAA6B;MAC3D8G,aAAa,EAAG1I,GAAK;MACrB8C,uBAAuB,EAAGA,uBAAyB;MACnD0F,2BAA2B,EAAGA,2BAA6B;MAC3DG,WAAW,EAAG9G,iCAAmC;MACjDiE,mBAAmB,EAAGA,mBAAqB;MAC3CI,sBAAsB,EAAGA,sBAAwB;MACjD1B,SAAS,EAAGA,SAAW;MACvBnE,gBAAgB,EAAGA;IAAkB,CACrC,CAAC,EACAA,gBAAgB,KAAK,SAAS,IAAIwG,wBAAwB,EAC5DC,aAAA,CAAChK,iBAAiB;MACjBmJ,EAAE,EAAG3H,QAAU;MACfsK,QAAQ,EAAGnG,2BAA6B;MACxCoG,MAAM,EAAGrG,oBAAsB;MAC/B1C,OAAO,EAAGA,OAAS;MACnBC,IAAI,EAAGA,IAAM;MACbgF,YAAY,EAAGA,YAAc;MAC7B+D,iBAAiB,EAAG,QAAQ,KAAKvJ,WAAa;MAC9CV,sBAAsB,EAAGA,sBAAwB;MACjDE,gBAAgB,EAAGA;IAAkB,GAErC+H,aAAA,CAAC7J,kBAAkB;MAClB+D,oBAAoB,EAAGA,oBAAsB;MAC7C+H,MAAM,EAAGhH,uBAAyB;MAClCiH,YAAY,EAAGzK,UAAU,IAAIyD;IAAsB,CACnD,CACiB,CACX,CAAC;EAEZ;;EAEA;EACA;EACA,IAAKhC,GAAG,IAAI8C,uBAAuB,EAAG;IACrC,OACCgE,aAAA,CAACzC,OAAO;MAAA,GAAMW;IAAU,GACvB8B,aAAA,CAAChJ,qBAAqB;MACrBQ,QAAQ,EAAGA,QAAU;MACrBoD,6BAA6B,EAC5BA,6BACA;MACDE,2BAA2B,EAAGA,2BAA6B;MAC3D8G,aAAa,EAAG1I,GAAK;MACrB8C,uBAAuB,EAAGA,uBAAyB;MACnD0F,2BAA2B,EAAGA,2BAA6B;MAC3DG,WAAW,EAAG9G,iCAAmC;MACjDiE,mBAAmB,EAAGA,mBAAqB;MAC3CI,sBAAsB,EAAGA,sBAAwB;MACjD1B,SAAS,EAAGA,SAAW;MACvBnE,gBAAgB,EAAGA;IAAkB,CACrC,CAAC,EACFyG,aAAA,CAAC/I,wBAAwB;MACxB4K,WAAW,EAAG9G;IAAmC,CACjD,CACO,CAAC;EAEZ;EAEA,IAAKmC,iBAAiB,IAAI5D,kBAAkB,EAAG;IAC9C,OACC0G,aAAA;MAAA,GAAU9B;IAAU,GACnB8B,aAAA,CAAC5L,OAAO,QACLmB,EAAE,CAAE,yCAA0C,CACxC,CACL,CAAC;EAER;EAEA,MAAM4M,oBAAoB,GAAG9J,iBAAiB,GAC3CA,iBAAiB,GACjBtC,WAAW;;EAEd;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC,IAAKyH,aAAa,IAAInF,iBAAiB,EAAG;IACzC,OACC2H,aAAA,CAACzC,OAAO;MAAA,GAAMW;IAAU,GACvB8B,aAAA,CAACmC,oBAAoB;MACpB1K,UAAU,EAAGA,UAAY;MACzBmK,aAAa,EAAG1I,GAAK;MACrB1B,QAAQ,EAAGA,QAAU;MACrB6E,2BAA2B,EAAGA,2BAA6B;MAC3DC,sCAAsC,EACrCA,sCACA;MACD8C,sBAAsB,EAAGA,sBAAwB;MACjDJ,mBAAmB,EAAGA,mBAAqB;MAC3CoD,aAAa,EAAGrH;IAAmC,CACnD,CACO,CAAC;EAEZ;EAEA,OACCiF,aAAA,CAACtL,cAAc;IAAC2N,IAAI,EAAC,UAAU;IAACC,IAAI,EAAC,eAAe;IAACnD,EAAE,EAAGjG;EAAK,GAC9D8G,aAAA,CAACnM,iBAAiB;IAAC0O,QAAQ,EAAGlJ;EAAa,GAC1C2G,aAAA,CAAChJ,qBAAqB;IACrBQ,QAAQ,EAAGA,QAAU;IACrBoD,6BAA6B,EAC5BA,6BACA;IACDE,2BAA2B,EAAGA,2BAA6B;IAC3D8G,aAAa,EAAG1I,GAAK;IACrB8C,uBAAuB,EAAGA,uBAAyB;IACnD0F,2BAA2B,EAAGA,2BAA6B;IAC3DG,WAAW,EAAG9G,iCAAmC;IACjDiE,mBAAmB,EAAGA,mBAAqB;IAC3CI,sBAAsB,EAAGA,sBAAwB;IACjD1B,SAAS,EAAGA,SAAW;IACvBnE,gBAAgB,EAAGA;EAAkB,CACrC,CAAC,EACAA,gBAAgB,KAAK,SAAS,IAAIwG,wBAAwB,EAC1DxG,gBAAgB,KAAK,SAAS,IAAI2D,iBAAiB,IACpD8C,aAAA,CAACrM,iBAAiB;IAACqN,KAAK,EAAC;EAAU,GAChC9E,sCAAsC,IACvCD,2BAA2B,IAC1B+D,aAAA,CAAC9J,yBAAyB,MAAE,CAC5B,EACAkG,sCAAsC,IACvCD,2BAA2B,IAC1B6D,aAAA,CAAC5J,2BAA2B;IAC3BoM,QAAQ,EAAGA,CAAEC,gBAAgB,GAAG,EAAE,KAAM;MACvClH,kBAAkB,CAAE/D,QAAQ,EAAE,EAAG,CAAC;MAClCkC,8BAA8B,CAC7BlE,OAAO;MACN;MACAD,EAAE,CACD,0CACD,CAAC,EACDkN,gBACD,CACD,CAAC;IACF;EAAG,CACH,CACD,EACFzC,aAAA,CAACjJ,iBAAiB;IACjB6J,QAAQ,EAAGc,2BAA6B;IACxChK,SAAS,EAAC;EAAyC,CACnD,CACiB,CACnB,EAECgG,SAAS,IACVsC,aAAA,CAACzC,OAAO;IAAA,GAAMW;EAAU,GACvB8B,aAAA;IAAKtI,SAAS,EAAC;EAAkD,GAChEsI,aAAA,CAAC3K,OAAO;IAACqC,SAAS,EAAC;EAAwC,CAAE,CACzD,CACG,CACT,EAEC,CAAEgG,SAAS,IACZsC,aAAA,CAACzC,OAAO;IAAA,GACFW,UAAU;IACf,oBACC,CAAEV,aAAa,GACZiE,uBAAuB,GACvBE;EACH,GAED3B,aAAA,CAAC7I,yBAAyB;IACzBgI,EAAE,EAAGsC;EAAyB,CAC9B,CAAC,EACFzB,aAAA,CAAChK,iBAAiB;IACjBmJ,EAAE,EAAG3H,QAAU;IACfsK,QAAQ,EAAGnG,2BAA6B;IACxC3C,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACb8I,MAAM,EAAGrG,oBAAsB;IAC/BuC,YAAY,EAAGA,YAAc;IAC7B+D,iBAAiB,EAAG,QAAQ,KAAKvJ,WAAa;IAC9CV,sBAAsB,EAAGA,sBAAwB;IACjDE,gBAAgB,EAAGA;EAAkB,GAEnCiF,iBAAiB,IAClB8C,aAAA,CAAC/J,qBAAqB;IACrBuB,QAAQ,EAAGA,QAAU;IACrBkL,oBAAoB,EACnB,CAAC,CAAErK,iBACH;IACDM,YAAY,EAAGA,YAAc;IAC7BG,WAAW,EAAGA;EAAa,CAC3B,CAEgB,CACX,CAEQ,CACJ,CAAC;AAEnB;AAEA,eAAe7E,UAAU,CACxB;EAAE4D,SAAS,EAAE;AAAQ,CAAC,EACtB;EAAEF,eAAe,EAAE;AAAQ,CAAC,EAC5B;EAAEI,sBAAsB,EAAE;AAAQ,CAAC,EACnC;EAAEE,gBAAgB,EAAE;AAAQ,CAC7B,CAAC,CAAEZ,UAAW,CAAC"}
1
+ {"version":3,"names":["classnames","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","RecursionProvider","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","sprintf","speak","close","Icon","useInstanceId","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","ManageMenusButton","MenuInspectorControls","DeletedNavigationWarning","AccessibleDescription","AccessibleMenuDescription","unlock","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","navRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","navMenu","id","onSelectNavigationMenu","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","colorGradientSettings","stylingInspectorControls","createElement","Fragment","title","onClick","hidden","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","checked","disabled","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","deletedMenuTitle","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction 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\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\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: classnames(\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\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}\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] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\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] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\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 colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\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={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\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\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\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{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\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</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACF,oBAAoB;AAC3B,SACCC,iBAAiB,EACjBC,aAAa,EACbC,iBAAiB,EACjBC,eAAe,EACfC,KAAK,IAAIC,gBAAgB,EACzBC,UAAU,EACVC,eAAe,EACfC,iBAAiB,EACjBC,OAAO,EACPC,2CAA2C,IAAIC,6BAA6B,EAC5EC,iDAAiD,IAAIC,mCAAmC,EACxFC,mBAAmB,QACb,yBAAyB;AAChC,SAASC,cAAc,EAAEX,KAAK,IAAIY,SAAS,QAAQ,sBAAsB;AAEzE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SACCC,SAAS,EACTC,aAAa,EACbC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,MAAM,EACNC,OAAO,EACPC,MAAM,QACA,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,KAAK,EAAEC,IAAI,QAAQ,kBAAkB;AAC9C,SAASC,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,iBAAiB,MAAM,sBAAsB;AACpD,OAAOC,qBAAqB,MAAM,gBAAgB;AAClD,OAAOC,yBAAyB,MAAM,gCAAgC;AACtE,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,2BAA2B,MAAM,kCAAkC;AAC1E,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,4BAA4B,IAClCC,6BAA6B,EAC7BC,+BAA+B,EAC/BC,+BAA+B,QACzB,0CAA0C;AACjD,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,YAAY,QAAQ,SAAS;AACtC,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,OAAOC,qBAAqB,MAAM,2BAA2B;AAC7D,OAAOC,wBAAwB,MAAM,8BAA8B;AACnE,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,OAAOC,yBAAyB,MAAM,+BAA+B;AACrE,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,SAASC,UAAUA,CAAE;EACpBC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC,UAAU;EACVC,SAAS;EACTC,eAAe;EACfC,kBAAkB;EAClBC,SAAS;EACTC,YAAY;EACZC,sBAAsB;EACtBC,yBAAyB;EACzBC,gBAAgB;EAChBC,mBAAmB;EAEnB;EACA;EACAC,0BAA0B,GAAG,IAAI;EACjCC,iBAAiB,EAAEC,iBAAiB,GAAG,IAAI;EAC3CC,0BAA0B,EAAEC;AAC7B,CAAC,EAAG;EACH,MAAM;IACLC,mBAAmB;IACnBC,WAAW;IACXC,eAAe;IACfC,YAAY;IACZC,MAAM,EAAE;MACPC,cAAc;MACdC,WAAW,GAAG,YAAY;MAC1BC,QAAQ,GAAG;IACZ,CAAC,GAAG,CAAC,CAAC;IACNC,OAAO;IACPC,IAAI,GAAG;EACR,CAAC,GAAG3B,UAAU;EAEd,MAAM4B,GAAG,GAAG5B,UAAU,CAAC4B,GAAG;EAE1B,MAAMC,MAAM,GAAG7F,WAAW,CACvB8F,MAAM,IAAM;IACb7B,aAAa,CAAE;MAAE2B,GAAG,EAAEE;IAAO,CAAE,CAAC;EACjC,CAAC,EACD,CAAE7B,aAAa,CAChB,CAAC;EAED,MAAM8B,WAAW,GAAI,kBAAkBH,GAAK,EAAC;EAC7C,MAAMI,kBAAkB,GAAGxF,eAAe,CAAEuF,WAAY,CAAC;EAEzD,MAAME,gBAAgB,GAAG9E,mBAAmB,CAAC,CAAC;;EAE9C;EACA;EACA,MAAM;IAAE+E,KAAK,EAAEC;EAAa,CAAC,GAAG3D,qBAAqB,CAAC,CAAC;EAEvD,MAAM,CAAE4D,8BAA8B,EAAEC,8BAA8B,CAAE,GACvEtD,mBAAmB,CAAE;IACpBuD,IAAI,EAAE;EACP,CAAE,CAAC;EAEJ,MAAM,CAAEC,+BAA+B,EAAEC,+BAA+B,CAAE,GACzEzD,mBAAmB,CAAE;IACpBuD,IAAI,EAAE;EACP,CAAE,CAAC;EAEJ,MAAM,CACLG,mCAAmC,EACnCC,mCAAmC,CACnC,GAAG3D,mBAAmB,CAAE;IACxBuD,IAAI,EAAE;EACP,CAAE,CAAC;EAEH,MAAM;IACLK,MAAM,EAAEC,oBAAoB;IAC5BC,MAAM,EAAEC,0BAA0B;IAClCC,KAAK,EAAEC,yBAAyB;IAChCC,KAAK,EAAEC,wBAAwB;IAC/BC,SAAS,EAAEC,wBAAwB;IACnCC,SAAS,EAAEC,6BAA6B;IACxCC,OAAO,EAAEC;EACV,CAAC,GAAGlE,uBAAuB,CAAEY,QAAS,CAAC;EAEvC,MAAMuD,iCAAiC,GAAG,MAAAA,CAAA,KAAY;IACrD,MAAMb,oBAAoB,CAAE,EAAG,CAAC;EACjC,CAAC;EAED,MAAM;IACLc,0BAA0B;IAC1BC,uBAAuB;IACvBC,oBAAoB;IACpBC;EACD,CAAC,GAAGtE,cAAc,CAAEW,QAAS,CAAC;EAE9B,MAAM4D,WAAW,GAAG,CAAC,CAAED,WAAW,CAACE,IAAI,CACpCC,KAAK,IAAMA,KAAK,CAAC1B,IAAI,KAAK,yBAC7B,CAAC;EAED,MAAM;IACL2B,kBAAkB;IAClBC,WAAW;IACXC;EACD,CAAC,GAAG7G,WAAW,CAAEZ,gBAAiB,CAAC;EAEnC,MAAM,CAAE0H,oBAAoB,EAAEC,2BAA2B,CAAE,GAC1DpI,QAAQ,CAAE,KAAM,CAAC;EAElB,MAAM,CAAEqI,kBAAkB,EAAEC,qBAAqB,CAAE,GAAGtI,QAAQ,CAAE,KAAM,CAAC;EAEvE,MAAM;IACLuI,0BAA0B;IAC1BC,wBAAwB;IACxBC,uBAAuB;IACvBC,2BAA2B;IAC3BC,sCAAsC;IACtCC,2BAA2B;IAC3BC,sCAAsC;IACtCC,2BAA2B;IAC3BC,sCAAsC;IACtCC;EACD,CAAC,GAAG1G,iBAAiB,CAAEqD,GAAI,CAAC;EAE5B,MAAMsD,yBAAyB,GAC9BV,0BAA0B,IAAIE,uBAAuB;EAEtD,MAAM;IACLS,OAAO,EAAEC,kBAAkB;IAC3BvC,MAAM,EAAEwC,2BAA2B;IACnCtC,KAAK,EAAEuC;EACR,CAAC,GAAGpG,4BAA4B,CAAE0D,oBAAqB,CAAC;EAExD,MAAM2C,uBAAuB,GAC5BF,2BAA2B,KAAKjG,+BAA+B;EAEhE,MAAMoG,gBAAgB,GAAGxJ,WAAW,CACnC,CAAEyJ,MAAM,EAAEC,OAAO,GAAG;IAAEC,oBAAoB,EAAE;EAAM,CAAC,KAAM;IACxD,MAAM;MAAEA;IAAqB,CAAC,GAAGD,OAAO;IACxC7D,MAAM,CAAE4D,MAAO,CAAC;IAChB,IAAKE,oBAAoB,EAAG;MAC3BzB,WAAW,CAAEhE,QAAS,CAAC;IACxB;EACD,CAAC,EACD,CAAEgE,WAAW,EAAEhE,QAAQ,EAAE2B,MAAM,CAChC,CAAC;EAED,MAAM+D,iBAAiB,GACtB,CAAElB,uBAAuB,IAAID,wBAAwB;;EAEtD;EACA;EACA;EACA;EACA;EACA;EACA,MAAMoB,gBAAgB,GAAGnC,0BAA0B,IAAI,CAAEkC,iBAAiB;EAE1E,MAAM;IAAEE;EAAwB,CAAC,GAAGhG,MAAM,CAAEvC,SAAS,CAAEF,SAAU,CAAE,CAAC;EAEpE,MAAM0I,oBAAoB,GAAG,EAAInE,GAAG,IAAIiE,gBAAgB,CAAE,GACvDC,uBAAuB,CAAC,CAAC,GACzB,IAAI;EAEP5J,SAAS,CAAE,MAAM;IAChB;IACA;IACA;IACA;IACA,IAAK0F,GAAG,IAAIiE,gBAAgB,IAAI,CAAEE,oBAAoB,EAAG;MACxD;IACD;;IAEA;AACF;AACA;AACA;AACA;;IAEE5B,uCAAuC,CAAC,CAAC;IACzCtC,MAAM,CAAEkE,oBAAqB,CAAC;EAC/B,CAAC,EAAE,CACFnE,GAAG,EACHC,MAAM,EACNgE,gBAAgB,EAChBE,oBAAoB,EACpB5B,uCAAuC,CACtC,CAAC;EAEH,MAAM6B,MAAM,GAAG7J,MAAM,CAAC,CAAC;;EAEvB;EACA,MAAM8J,OAAO,GAAG,KAAK;;EAErB;EACA;EACA;EACA;EACA;EACA,MAAMC,aAAa,GAClB,CAAEtE,GAAG,IACL,CAAEwB,wBAAwB,IAC1B,CAAEmC,uBAAuB,IACzBf,0BAA0B,IAC1BrC,YAAY,EAAEgE,MAAM,KAAK,CAAC,IAC1B,CAAEzC,0BAA0B;;EAE7B;EACA;EACA;EACA;EACA;EACA;EACA,MAAM0C,SAAS,GACd,CAAE5B,0BAA0B,IAC5BpB,wBAAwB,IACxBmC,uBAAuB,IACvB,CAAC,EAAI3D,GAAG,IAAI,CAAEgE,iBAAiB,IAAI,CAAEL,uBAAuB,CAAE;EAE/D,MAAMc,cAAc,GAAGrG,UAAU,CAACsG,KAAK,EAAEC,UAAU,EAAEF,cAAc;EAEnE,MAAMG,eAAe,GAAGjJ,SAAS,CAC9BkJ,MAAM,IACPA,MAAM,CAAE/J,gBAAiB,CAAC,CAACgK,qCAAqC,CAC/DxG,QACD,CAAC,EACF,CAAEA,QAAQ,CACX,CAAC;EACD,MAAMyG,YAAY,GAAG,OAAO,KAAKxF,WAAW;EAC5C,MAAMyF,UAAU,GAAGtK,aAAa,CAAE;IACjCsF,GAAG,EAAEoE,MAAM;IACX5F,SAAS,EAAErE,UAAU,CACpBqE,SAAS,EACT;MACC,uBAAuB,EAAEmB,cAAc,KAAK,OAAO;MACnD,+BAA+B,EAC9BA,cAAc,KAAK,eAAe;MACnC,sBAAsB,EAAEA,cAAc,KAAK,MAAM;MACjD,wBAAwB,EAAEA,cAAc,KAAK,QAAQ;MACrD,aAAa,EAAEC,WAAW,KAAK,UAAU;MACzC,SAAS,EAAEC,QAAQ,KAAK,QAAQ;MAChC,eAAe,EAAEkF,YAAY;MAC7B,gBAAgB,EAAE,CAAC,CAAEpG,SAAS,CAACsG,KAAK,IAAI,CAAC,CAAEtG,SAAS,EAAEuG,KAAK;MAC3D,CAAEjK,iBAAiB,CAAE,OAAO,EAAE0D,SAAS,EAAEwG,IAAK,CAAC,GAC9C,CAAC,CAAExG,SAAS,EAAEwG,IAAI;MACnB,gBAAgB,EACf,CAAC,CAAE1G,eAAe,CAACwG,KAAK,IAAIxG,eAAe,CAACyG,KAAK;MAClD,CAAEjK,iBAAiB,CAClB,kBAAkB,EAClBwD,eAAe,EAAE0G,IAClB,CAAC,GAAI,CAAC,CAAE1G,eAAe,EAAE0G,IAAI;MAC7B,CAAG,uBAAuBV,cAAgB,EAAC,GAAIA,cAAc;MAC7D,oCAAoC,EAAEG;IACvC,CAAC,EACDvF,gBACD,CAAC;IACDqF,KAAK,EAAE;MACNO,KAAK,EAAE,CAAEtG,SAAS,EAAEwG,IAAI,IAAIxG,SAAS,EAAEsG,KAAK;MAC5CxG,eAAe,EAAE,CAAEA,eAAe,EAAE0G,IAAI,IAAI1G,eAAe,EAAEwG;IAC9D;EACD,CAAE,CAAC;;EAEH;EACA,MAAMG,sBAAsB,GAAG5K,QAAQ,CAAC6K,EAAE,KAAK,KAAK;EAEpD,MAAM,CAAEC,uBAAuB,EAAEC,0BAA0B,CAAE,GAAGlL,QAAQ,CAAC,CAAC;EAC1E,MAAM,CAAEmL,aAAa,EAAEC,gBAAgB,CAAE,GAAGpL,QAAQ,CAAC,CAAC;EACtD,MAAM,CACLqL,8BAA8B,EAC9BC,iCAAiC,CACjC,GAAGtL,QAAQ,CAAC,CAAC;EACd,MAAM,CAAEuL,oBAAoB,EAAEC,uBAAuB,CAAE,GAAGxL,QAAQ,CAAC,CAAC;EAEpE,MAAMyL,mBAAmB,GAAG,MAAQC,WAAW,IAAM;IACpD,MAAMC,OAAO,GAAG,MAAMxC,kBAAkB,CACvCuC,WAAW,CAACE,EAAE,EACdF,WAAW,CAACrF,IAAI,EAChB,OACD,CAAC;IACD,IAAKsF,OAAO,EAAG;MACdpC,gBAAgB,CAAEoC,OAAO,CAACC,EAAE,EAAE;QAC7BlC,oBAAoB,EAAE;MACvB,CAAE,CAAC;IACJ;EACD,CAAC;EAED,MAAMmC,sBAAsB,GAAKrC,MAAM,IAAM;IAC5CD,gBAAgB,CAAEC,MAAO,CAAC;EAC3B,CAAC;EAEDvJ,SAAS,CAAE,MAAM;IAChBmG,8BAA8B,CAAC,CAAC;IAEhC,IAAKe,wBAAwB,EAAG;MAC/BjF,KAAK,CAAEF,EAAE,CAAG,2BAA2B,CAAE,CAAC;IAC3C;IAEA,IAAKqF,6BAA6B,EAAG;MACpCkC,gBAAgB,CAAEtC,wBAAwB,EAAE2E,EAAE,EAAE;QAC/ClC,oBAAoB,EAAE;MACvB,CAAE,CAAC;MAEHvD,8BAA8B,CAC7BnE,EAAE,CAAG,uCAAuC,CAC7C,CAAC;IACF;IAEA,IAAKuF,2BAA2B,EAAG;MAClCpB,8BAA8B,CAC7BnE,EAAE,CAAE,mCAAoC,CACzC,CAAC;IACF;EACD,CAAC,EAAE,CACF6E,0BAA0B,EAC1BE,yBAAyB,EACzBE,wBAAwB,EAAE2E,EAAE,EAC5BrE,2BAA2B,EAC3BF,6BAA6B,EAC7BF,wBAAwB,EACxBoC,gBAAgB,EAChBnD,8BAA8B,EAC9BD,8BAA8B,CAC7B,CAAC;EAEHlG,SAAS,CAAE,MAAM;IAChBsG,+BAA+B,CAAC,CAAC;IACjC,IAAK6C,2BAA2B,KAAKjG,+BAA+B,EAAG;MACtEjB,KAAK,CAAEF,EAAE,CAAE,yBAA0B,CAAE,CAAC;IACzC;IAEA,IAAKoH,2BAA2B,KAAKhG,+BAA+B,EAAG;MACtEkD,+BAA+B,CAC9BtE,EAAE,CAAE,qCAAsC,CAC3C,CAAC;IACF;IAEA,IAAKoH,2BAA2B,KAAKlG,6BAA6B,EAAG;MACpEoD,+BAA+B,CAC9BtE,EAAE,CAAE,6BAA8B,CACnC,CAAC;IACF;EACD,CAAC,EAAE,CACFoH,2BAA2B,EAC3BC,0BAA0B,EAC1B9C,+BAA+B,EAC/BD,+BAA+B,CAC9B,CAAC;EAEHrG,SAAS,CAAE,MAAM;IAChB,IAAK,CAAE8K,sBAAsB,EAAG;MAC/B;IACD;IACAxH,YAAY,CACXwG,MAAM,CAAC+B,OAAO,EACdV,gBAAgB,EAChBF,0BACD,CAAC;IAED,MAAMa,cAAc,GAAGhC,MAAM,CAAC+B,OAAO,EAAEE,aAAa,CACnD,0EACD,CAAC;IAED,IAAK,CAAED,cAAc,EAAG;MACvB;IACD;;IAEA;IACA;IACA;IACA,IAAKrH,gBAAgB,CAACkG,KAAK,IAAIpG,sBAAsB,CAACoG,KAAK,EAAG;MAC7DrH,YAAY,CACXwI,cAAc,EACdP,uBAAuB,EACvBF,iCACD,CAAC;IACF;EACD,CAAC,EAAE,CACFP,sBAAsB,EACtBrG,gBAAgB,CAACkG,KAAK,EACtBpG,sBAAsB,CAACoG,KAAK,CAC3B,CAAC;EAEH3K,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEiE,UAAU,IAAI,CAAEyD,oBAAoB,EAAG;MAC7ClB,mCAAmC,CAAC,CAAC;IACtC;IAEA,IAAKvC,UAAU,IAAIyD,oBAAoB,EAAG;MACzC,IACChC,GAAG,IACH,CAAEsD,yBAAyB,IAC3BN,sCAAsC,IACtC,CAAED,2BAA2B,EAC5B;QACDlC,mCAAmC,CAClCxE,EAAE,CACD,mFACD,CACD,CAAC;MACF;MAEA,IACC,CAAE2D,GAAG,IACLqD,sCAAsC,IACtC,CAAEF,2BAA2B,EAC5B;QACDtC,mCAAmC,CAClCxE,EAAE,CACD,wDACD,CACD,CAAC;MACF;IACD;EACD,CAAC,EAAE,CACFkC,UAAU,EACVyD,oBAAoB,EACpBe,2BAA2B,EAC3BC,sCAAsC,EACtCG,2BAA2B,EAC3BE,sCAAsC,EACtCrD,GAAG,EACHc,mCAAmC,EACnCD,mCAAmC,EACnCyC,yBAAyB,CACxB,CAAC;EAEH,MAAMgD,oBAAoB,GACzBnD,2BAA2B,IAAIJ,2BAA2B;EAE3D,MAAMwD,yBAAyB,GAAGpM,UAAU,CAC3C,2CAA2C,EAC3C;IAAEqM,IAAI,EAAE9D;EAAmB,CAC5B,CAAC;EAED,MAAM+D,0BAA0B,GAC/B,CAAEjH,eAAe,IAAI,CAAEF,mBAAmB,GACvCjD,EAAE,CACF,kOACA,CAAC,GACD,EAAE;EAEN,MAAMqK,aAAa,GAAGnM,MAAM,CAAE,IAAK,CAAC,CAAC,CAAC;EACtCD,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEoM,aAAa,CAACP,OAAO,IAAIM,0BAA0B,EAAG;MAC5DlK,KAAK,CAAEkK,0BAA2B,CAAC;IACpC;IACAC,aAAa,CAACP,OAAO,GAAG,KAAK;EAC9B,CAAC,EAAE,CAAEM,0BAA0B,CAAG,CAAC;EAEnC,MAAME,oBAAoB,GAAGjK,aAAa,CACzCW,kBAAkB,EACjB,sBACF,CAAC;EAED,MAAMuJ,qBAAqB,GAAGtL,mCAAmC,CAAC,CAAC;EACnE,MAAMuL,wBAAwB,GAC7BC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACrM,iBAAiB,QACfwE,0BAA0B,IAC3B6H,aAAA,CAAClL,SAAS;IAACoL,KAAK,EAAG3K,EAAE,CAAE,SAAU;EAAG,GACjC0I,YAAY,IACb+B,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC5K,MAAM;IACNsC,SAAS,EAAG+H,yBAA2B;IACvCU,OAAO,EAAGA,CAAA,KAAM;MACftE,qBAAqB,CACpB,CAAED,kBACH,CAAC;IACF,CAAG;IACH,cAAarG,EAAE,CAAE,uBAAwB,CAAG;IAC5C,iBAAgBsK,oBAAsB;IACtC,iBAAgBjE;EAAoB,GAElC5C,OAAO,IACRgH,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC1J,eAAe;IAAC2C,IAAI,EAAGA;EAAM,CAAE,CAAC,EACjC+G,aAAA,CAACrK,IAAI;IAACsD,IAAI,EAAGvD;EAAO,CAAE,CACrB,CACF,EACC,CAAEsD,OAAO,IACVgH,aAAA,CAAAC,QAAA,QACCD,aAAA,eAAQzK,EAAE,CAAE,MAAO,CAAS,CAAC,EAC7ByK,aAAA,eAAQzK,EAAE,CAAE,OAAQ,CAAS,CAC5B,CAEI,CAAC,EACTyK,aAAA;IAAKb,EAAE,EAAGU;EAAsB,GAC7BjE,kBAAkB,IACnBoE,aAAA,CAACzJ,kBAAkB;IAClBgB,aAAa,EAAGA,aAAe;IAC/ByB,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbmH,MAAM,EAAG,CAAExE;EAAoB,CAC/B,CAEE,CACJ,CACF,EACDoE,aAAA,aAAMzK,EAAE,CAAE,cAAe,CAAO,CAAC,EACjCyK,aAAA,CAAC/K,kBAAkB;IAClBoL,uBAAuB;IACvBC,KAAK,EAAG/K,EAAE,CAAE,wBAAyB,CAAG;IACxCgF,KAAK,EAAG9B,WAAa;IACrB8H,IAAI,EAAGhL,EAAE,CACR,qEACD,CAAG;IACHiL,QAAQ,EAAKjG,KAAK,IACjBhD,aAAa,CAAE;MAAEkB,WAAW,EAAE8B;IAAM,CAAE,CACtC;IACDkG,OAAO;IACPC,mBAAmB;EAAA,GAEnBV,aAAA,CAAC7K,wBAAwB;IACxBoF,KAAK,EAAC,OAAO;IACb+F,KAAK,EAAG/K,EAAE,CAAE,KAAM;EAAG,CACrB,CAAC,EACFyK,aAAA,CAAC7K,wBAAwB;IACxBoF,KAAK,EAAC,QAAQ;IACd+F,KAAK,EAAG/K,EAAE,CAAE,QAAS;EAAG,CACxB,CAAC,EACFyK,aAAA,CAAC7K,wBAAwB;IACxBoF,KAAK,EAAC,QAAQ;IACd+F,KAAK,EAAG/K,EAAE,CAAE,QAAS;EAAG,CACxB,CACkB,CAAC,EACnB6F,WAAW,IACZ4E,aAAA,CAAAC,QAAA,QACCD,aAAA,aAAMzK,EAAE,CAAE,UAAW,CAAO,CAAC,EAC7ByK,aAAA,CAACjL,aAAa;IACbsL,uBAAuB;IACvBM,OAAO,EAAGnI,mBAAqB;IAC/BgI,QAAQ,EAAKjG,KAAK,IAAM;MACvBhD,aAAa,CAAE;QACdiB,mBAAmB,EAAE+B,KAAK;QAC1B,IAAKA,KAAK,IAAI;UACb7B,eAAe,EAAE;QAClB,CAAC,CAAE,CAAE;MACN,CAAE,CAAC;IACJ,CAAG;IACH4H,KAAK,EAAG/K,EAAE,CAAE,eAAgB;EAAG,CAC/B,CAAC,EAEFyK,aAAA,CAACjL,aAAa;IACbsL,uBAAuB;IACvBM,OAAO,EAAGjI,eAAiB;IAC3B8H,QAAQ,EAAKjG,KAAK,IAAM;MACvBhD,aAAa,CAAE;QACdmB,eAAe,EAAE6B;MAClB,CAAE,CAAC;IACJ,CAAG;IACHqG,QAAQ,EAAGtJ,UAAU,CAACkB,mBAAqB;IAC3C8H,KAAK,EAAG/K,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EAEAoK,0BAA0B,IAC3BK,aAAA,cACCA,aAAA,CAAC1K,MAAM;IACNuL,aAAa,EAAG,IAAM;IACtB1G,MAAM,EAAC,SAAS;IAChB2G,aAAa,EAAG;EAAO,GAErBnB,0BACK,CACJ,CAEL,CAEO,CAEM,CAAC,EAClBG,qBAAqB,CAACiB,oBAAoB,IAC3Cf,aAAA,CAACrM,iBAAiB;IAACqN,KAAK,EAAC;EAAO,GAC/BhB,aAAA,CAAC1L,6BAA6B;IAC7B2M,iCAAiC;IACjCC,QAAQ,EAAG,CACV;MACCC,UAAU,EAAEtJ,SAAS,CAACsG,KAAK;MAC3BmC,KAAK,EAAE/K,EAAE,CAAE,MAAO,CAAC;MACnB6L,aAAa,EAAEtJ,YAAY;MAC3BuJ,cAAc,EAAEA,CAAA,KAAMvJ,YAAY,CAAC;IACpC,CAAC,EACD;MACCqJ,UAAU,EAAExJ,eAAe,CAACwG,KAAK;MACjCmC,KAAK,EAAE/K,EAAE,CAAE,YAAa,CAAC;MACzB6L,aAAa,EAAExJ,kBAAkB;MACjCyJ,cAAc,EAAEA,CAAA,KAAMzJ,kBAAkB,CAAC;IAC1C,CAAC,EACD;MACCuJ,UAAU,EAAElJ,gBAAgB,CAACkG,KAAK;MAClCmC,KAAK,EAAE/K,EAAE,CAAE,wBAAyB,CAAC;MACrC6L,aAAa,EAAElJ,mBAAmB;MAClCmJ,cAAc,EAAEA,CAAA,KAAMnJ,mBAAmB,CAAC;IAC3C,CAAC,EACD;MACCiJ,UAAU,EAAEpJ,sBAAsB,CAACoG,KAAK;MACxCmC,KAAK,EAAE/K,EAAE,CAAE,8BAA+B,CAAC;MAC3C6L,aAAa,EAAEpJ,yBAAyB;MACxCqJ,cAAc,EAAEA,CAAA,KACfrJ,yBAAyB,CAAC;IAC5B,CAAC,CACC;IACHsJ,OAAO,EAAG9J,QAAU;IAAA,GACfsI,qBAAqB;IAC1ByB,SAAS,EAAG,EAAI;IAChBC,sBAAsB,EAAG;EAAM,CAC/B,CAAC,EACAlD,sBAAsB,IACvB0B,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC9L,eAAe;IACfyD,eAAe,EAAG6G,uBAAyB;IAC3C3G,SAAS,EAAG6G;EAAe,CAC3B,CAAC,EACFsB,aAAA,CAAC9L,eAAe;IACfyD,eAAe,EACdiH,8BACA;IACD/G,SAAS,EAAGiH;EAAsB,CAClC,CACA,CAEe,CAEnB,CACF;EAED,MAAM2C,uBAAuB,GAAI,GAAGjK,QAAU,OAAM;EAEpD,MAAMkK,2BAA2B,GAChC,CAAElC,oBAAoB,IAAI,CAAE1D,0BAA0B;EAEvD,IAAKqB,gBAAgB,IAAI,CAAEzC,wBAAwB,EAAG;IACrD,OACCsF,aAAA,CAACzC,OAAO;MAAA,GACFW,UAAU;MACf,oBACC,CAAEV,aAAa,GAAGiE,uBAAuB,GAAGE;IAC5C,GAED3B,aAAA,CAAC9I,qBAAqB;MAACiI,EAAE,EAAGsC;IAAyB,GAClDlM,EAAE,CAAE,0BAA2B,CACX,CAAC,EAExByK,aAAA,CAAChJ,qBAAqB;MACrBQ,QAAQ,EAAGA,QAAU;MACrBoD,6BAA6B,EAC5BA,6BACA;MACDE,2BAA2B,EAAGA,2BAA6B;MAC3D8G,aAAa,EAAG1I,GAAK;MACrB8C,uBAAuB,EAAGA,uBAAyB;MACnD0F,2BAA2B,EAAGA,2BAA6B;MAC3DG,WAAW,EAAG9G,iCAAmC;MACjDiE,mBAAmB,EAAGA,mBAAqB;MAC3CI,sBAAsB,EAAGA,sBAAwB;MACjD1B,SAAS,EAAGA,SAAW;MACvBnE,gBAAgB,EAAGA;IAAkB,CACrC,CAAC,EACAA,gBAAgB,KAAK,SAAS,IAAIwG,wBAAwB,EAC5DC,aAAA,CAAChK,iBAAiB;MACjBmJ,EAAE,EAAG3H,QAAU;MACfsK,QAAQ,EAAGnG,2BAA6B;MACxCoG,MAAM,EAAGrG,oBAAsB;MAC/B1C,OAAO,EAAGA,OAAS;MACnBC,IAAI,EAAGA,IAAM;MACbgF,YAAY,EAAGA,YAAc;MAC7B+D,iBAAiB,EAAG,QAAQ,KAAKvJ,WAAa;MAC9CV,sBAAsB,EAAGA,sBAAwB;MACjDE,gBAAgB,EAAGA;IAAkB,GAErC+H,aAAA,CAAC7J,kBAAkB;MAClB+D,oBAAoB,EAAGA,oBAAsB;MAC7C+H,MAAM,EAAGhH,uBAAyB;MAClCiH,YAAY,EAAGzK,UAAU,IAAIyD;IAAsB,CACnD,CACiB,CACX,CAAC;EAEZ;;EAEA;EACA;EACA,IAAKhC,GAAG,IAAI8C,uBAAuB,EAAG;IACrC,OACCgE,aAAA,CAACzC,OAAO;MAAA,GAAMW;IAAU,GACvB8B,aAAA,CAAChJ,qBAAqB;MACrBQ,QAAQ,EAAGA,QAAU;MACrBoD,6BAA6B,EAC5BA,6BACA;MACDE,2BAA2B,EAAGA,2BAA6B;MAC3D8G,aAAa,EAAG1I,GAAK;MACrB8C,uBAAuB,EAAGA,uBAAyB;MACnD0F,2BAA2B,EAAGA,2BAA6B;MAC3DG,WAAW,EAAG9G,iCAAmC;MACjDiE,mBAAmB,EAAGA,mBAAqB;MAC3CI,sBAAsB,EAAGA,sBAAwB;MACjD1B,SAAS,EAAGA,SAAW;MACvBnE,gBAAgB,EAAGA;IAAkB,CACrC,CAAC,EACFyG,aAAA,CAAC/I,wBAAwB;MACxB4K,WAAW,EAAG9G;IAAmC,CACjD,CACO,CAAC;EAEZ;EAEA,IAAKmC,iBAAiB,IAAI5D,kBAAkB,EAAG;IAC9C,OACC0G,aAAA;MAAA,GAAU9B;IAAU,GACnB8B,aAAA,CAAC5L,OAAO,QACLmB,EAAE,CAAE,yCAA0C,CACxC,CACL,CAAC;EAER;EAEA,MAAM4M,oBAAoB,GAAG9J,iBAAiB,GAC3CA,iBAAiB,GACjBtC,WAAW;;EAEd;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC,IAAKyH,aAAa,IAAInF,iBAAiB,EAAG;IACzC,OACC2H,aAAA,CAACzC,OAAO;MAAA,GAAMW;IAAU,GACvB8B,aAAA,CAACmC,oBAAoB;MACpB1K,UAAU,EAAGA,UAAY;MACzBmK,aAAa,EAAG1I,GAAK;MACrB1B,QAAQ,EAAGA,QAAU;MACrB6E,2BAA2B,EAAGA,2BAA6B;MAC3DC,sCAAsC,EACrCA,sCACA;MACD8C,sBAAsB,EAAGA,sBAAwB;MACjDJ,mBAAmB,EAAGA,mBAAqB;MAC3CoD,aAAa,EAAGrH;IAAmC,CACnD,CACO,CAAC;EAEZ;EAEA,OACCiF,aAAA,CAACtL,cAAc;IAAC2N,IAAI,EAAC,UAAU;IAACC,IAAI,EAAC,eAAe;IAACnD,EAAE,EAAGjG;EAAK,GAC9D8G,aAAA,CAACnM,iBAAiB;IAAC0O,QAAQ,EAAGlJ;EAAa,GAC1C2G,aAAA,CAAChJ,qBAAqB;IACrBQ,QAAQ,EAAGA,QAAU;IACrBoD,6BAA6B,EAC5BA,6BACA;IACDE,2BAA2B,EAAGA,2BAA6B;IAC3D8G,aAAa,EAAG1I,GAAK;IACrB8C,uBAAuB,EAAGA,uBAAyB;IACnD0F,2BAA2B,EAAGA,2BAA6B;IAC3DG,WAAW,EAAG9G,iCAAmC;IACjDiE,mBAAmB,EAAGA,mBAAqB;IAC3CI,sBAAsB,EAAGA,sBAAwB;IACjD1B,SAAS,EAAGA,SAAW;IACvBnE,gBAAgB,EAAGA;EAAkB,CACrC,CAAC,EACAA,gBAAgB,KAAK,SAAS,IAAIwG,wBAAwB,EAC1DxG,gBAAgB,KAAK,SAAS,IAAI2D,iBAAiB,IACpD8C,aAAA,CAACrM,iBAAiB;IAACqN,KAAK,EAAC;EAAU,GAChC9E,sCAAsC,IACvCD,2BAA2B,IAC1B+D,aAAA,CAAC9J,yBAAyB,MAAE,CAC5B,EACAkG,sCAAsC,IACvCD,2BAA2B,IAC1B6D,aAAA,CAAC5J,2BAA2B;IAC3BoM,QAAQ,EAAGA,CAAEC,gBAAgB,GAAG,EAAE,KAAM;MACvClH,kBAAkB,CAAE/D,QAAQ,EAAE,EAAG,CAAC;MAClCkC,8BAA8B,CAC7BlE,OAAO;MACN;MACAD,EAAE,CACD,0CACD,CAAC,EACDkN,gBACD,CACD,CAAC;IACF;EAAG,CACH,CACD,EACFzC,aAAA,CAACjJ,iBAAiB;IACjB6J,QAAQ,EAAGc,2BAA6B;IACxChK,SAAS,EAAC;EAAyC,CACnD,CACiB,CACnB,EAECgG,SAAS,IACVsC,aAAA,CAACzC,OAAO;IAAA,GAAMW;EAAU,GACvB8B,aAAA;IAAKtI,SAAS,EAAC;EAAkD,GAChEsI,aAAA,CAAC3K,OAAO;IAACqC,SAAS,EAAC;EAAwC,CAAE,CACzD,CACG,CACT,EAEC,CAAEgG,SAAS,IACZsC,aAAA,CAACzC,OAAO;IAAA,GACFW,UAAU;IACf,oBACC,CAAEV,aAAa,GACZiE,uBAAuB,GACvBE;EACH,GAED3B,aAAA,CAAC7I,yBAAyB;IACzBgI,EAAE,EAAGsC;EAAyB,CAC9B,CAAC,EACFzB,aAAA,CAAChK,iBAAiB;IACjBmJ,EAAE,EAAG3H,QAAU;IACfsK,QAAQ,EAAGnG,2BAA6B;IACxC3C,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACb8I,MAAM,EAAGrG,oBAAsB;IAC/BuC,YAAY,EAAGA,YAAc;IAC7B+D,iBAAiB,EAAG,QAAQ,KAAKvJ,WAAa;IAC9CV,sBAAsB,EAAGA,sBAAwB;IACjDE,gBAAgB,EAAGA;EAAkB,GAEnCiF,iBAAiB,IAClB8C,aAAA,CAAC/J,qBAAqB;IACrBuB,QAAQ,EAAGA,QAAU;IACrBkL,oBAAoB,EACnB,CAAC,CAAErK,iBACH;IACDM,YAAY,EAAGA,YAAc;IAC7BG,WAAW,EAAGA;EAAa,CAC3B,CAEgB,CACX,CAEQ,CACJ,CAAC;AAEnB;AAEA,eAAe7E,UAAU,CACxB;EAAE4D,SAAS,EAAE;AAAQ,CAAC,EACtB;EAAEF,eAAe,EAAE;AAAQ,CAAC,EAC5B;EAAEI,sBAAsB,EAAE;AAAQ,CAAC,EACnC;EAAEE,gBAAgB,EAAE;AAAQ,CAC7B,CAAC,CAAEZ,UAAW,CAAC"}
@@ -37,7 +37,7 @@ function NavigationMenuSelector({
37
37
  }) {
38
38
  /* translators: %s: The name of a menu. */
39
39
  const createActionLabel = __("Create from '%s'");
40
- const [isCreatingMenu, setIsCreatingMenu] = useState(false);
40
+ const [isUpdatingMenuRef, setIsUpdatingMenuRef] = useState(false);
41
41
  actionLabel = actionLabel || createActionLabel;
42
42
  const {
43
43
  menus: classicMenus
@@ -60,10 +60,11 @@ function NavigationMenuSelector({
60
60
  return {
61
61
  value: id,
62
62
  label,
63
- ariaLabel: sprintf(actionLabel, label)
63
+ ariaLabel: sprintf(actionLabel, label),
64
+ disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
64
65
  };
65
66
  }) || [];
66
- }, [navigationMenus, actionLabel]);
67
+ }, [navigationMenus, actionLabel, isResolvingNavigationMenus, hasResolvedNavigationMenus, isUpdatingMenuRef]);
67
68
  const hasNavigationMenus = !!navigationMenus?.length;
68
69
  const hasClassicMenus = !!classicMenus?.length;
69
70
  const showNavigationMenus = !!canSwitchNavigationMenu;
@@ -72,7 +73,7 @@ function NavigationMenuSelector({
72
73
  const noBlockMenus = !hasNavigationMenus && hasResolvedNavigationMenus;
73
74
  const menuUnavailable = hasResolvedNavigationMenus && currentMenuId === null;
74
75
  let selectorLabel = '';
75
- if (isCreatingMenu || isResolvingNavigationMenus) {
76
+ if (isResolvingNavigationMenus) {
76
77
  selectorLabel = __('Loading…');
77
78
  } else if (noMenuSelected || noBlockMenus || menuUnavailable) {
78
79
  // Note: classic Menus may be available.
@@ -82,10 +83,10 @@ function NavigationMenuSelector({
82
83
  selectorLabel = currentTitle;
83
84
  }
84
85
  useEffect(() => {
85
- if (isCreatingMenu && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
86
- setIsCreatingMenu(false);
86
+ if (isUpdatingMenuRef && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
87
+ setIsUpdatingMenuRef(false);
87
88
  }
88
- }, [hasResolvedNavigationMenus, createNavigationMenuIsSuccess, canUserCreateNavigationMenu, createNavigationMenuIsError, isCreatingMenu, menuUnavailable, noBlockMenus, noMenuSelected]);
89
+ }, [hasResolvedNavigationMenus, createNavigationMenuIsSuccess, canUserCreateNavigationMenu, createNavigationMenuIsError, isUpdatingMenuRef, menuUnavailable, noBlockMenus, noMenuSelected]);
89
90
  const NavigationMenuSelectorDropdown = createElement(DropdownMenu, {
90
91
  label: selectorLabel,
91
92
  icon: moreVertical,
@@ -99,35 +100,35 @@ function NavigationMenuSelector({
99
100
  }, createElement(MenuItemsChoice, {
100
101
  value: currentMenuId,
101
102
  onSelect: menuId => {
102
- setIsCreatingMenu(true);
103
103
  onSelectNavigationMenu(menuId);
104
104
  onClose();
105
105
  },
106
- choices: menuChoices,
107
- disabled: isCreatingMenu
106
+ choices: menuChoices
108
107
  })), showClassicMenus && hasClassicMenus && createElement(MenuGroup, {
109
108
  label: __('Import Classic Menus')
110
109
  }, classicMenus?.map(menu => {
111
110
  const label = decodeEntities(menu.name);
112
111
  return createElement(MenuItem, {
113
- onClick: () => {
114
- setIsCreatingMenu(true);
115
- onSelectClassicMenu(menu);
112
+ onClick: async () => {
113
+ setIsUpdatingMenuRef(true);
114
+ await onSelectClassicMenu(menu);
115
+ setIsUpdatingMenuRef(false);
116
116
  onClose();
117
117
  },
118
118
  key: menu.id,
119
119
  "aria-label": sprintf(createActionLabel, label),
120
- disabled: isCreatingMenu
120
+ disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
121
121
  }, label);
122
122
  })), canUserCreateNavigationMenu && createElement(MenuGroup, {
123
123
  label: __('Tools')
124
124
  }, createElement(MenuItem, {
125
- disabled: isCreatingMenu,
126
- onClick: () => {
125
+ onClick: async () => {
126
+ setIsUpdatingMenuRef(true);
127
+ await onCreateNew();
128
+ setIsUpdatingMenuRef(false);
127
129
  onClose();
128
- onCreateNew();
129
- setIsCreatingMenu(true);
130
- }
130
+ },
131
+ disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
131
132
  }, __('Create new menu')))));
132
133
  return NavigationMenuSelectorDropdown;
133
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","createElement","icon","toggleProps","isSmall","onClose","Fragment","onSelect","menuId","choices","disabled","menu","name","onClick","key"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isCreatingMenu, setIsCreatingMenu ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [ navigationMenus, actionLabel ] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isCreatingMenu || isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingMenu &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsCreatingMenu( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenu,\n\t\tcreateNavigationMenuIsError,\n\t\tisCreatingMenu,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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"}
1
+ {"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","createElement","icon","toggleProps","isSmall","onClose","Fragment","onSelect","menuId","choices","menu","name","onClick","key"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenu,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\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\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\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{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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"}
@@ -228,11 +228,16 @@ const SiteLogo = ({
228
228
  });
229
229
  }
230
230
  }, imgWrapper);
231
+
232
+ // Support the previous location for the Site Icon settings. To be removed
233
+ // when the required WP core version for Gutenberg is >= 6.5.0.
234
+ const shouldUseNewUrl = !window?.__experimentalUseCustomizerSiteLogoUrl;
235
+ const siteIconSettingsUrl = shouldUseNewUrl ? siteUrl + '/wp-admin/options-general.php' : siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';
231
236
  const syncSiteIconHelpText = createInterpolateElement(__('Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'), {
232
237
  a:
233
238
  // eslint-disable-next-line jsx-a11y/anchor-has-content
234
239
  createElement("a", {
235
- href: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline',
240
+ href: siteIconSettingsUrl,
236
241
  target: "_blank",
237
242
  rel: "noopener noreferrer"
238
243
  })
@@ -267,7 +272,7 @@ const SiteLogo = ({
267
272
  checked: linkTarget === '_blank'
268
273
  })), canUserEdit && createElement(Fragment, null, createElement(ToggleControl, {
269
274
  __nextHasNoMarginBottom: true,
270
- label: __('Use as site icon'),
275
+ label: __('Use as Site Icon'),
271
276
  onChange: value => {
272
277
  setAttributes({
273
278
  shouldSyncIcon: value