@wordpress/block-library 7.3.0 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/archives/edit.js +1 -1
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +2 -2
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/categories/edit.js +8 -3
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +4 -0
- package/build/categories/index.js.map +1 -1
- package/build/column/index.js +10 -0
- package/build/column/index.js.map +1 -1
- package/build/comment-template/edit.js +3 -1
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/hooks.js +14 -4
- package/build/comment-template/hooks.js.map +1 -1
- package/build/comments-pagination/edit.js +18 -1
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-query-loop/edit.js +1 -1
- package/build/comments-query-loop/edit.js.map +1 -1
- package/build/comments-title/edit.js +149 -0
- package/build/comments-title/edit.js.map +1 -0
- package/build/comments-title/index.js +101 -0
- package/build/comments-title/index.js.map +1 -0
- package/build/cover/transforms.js +33 -32
- package/build/cover/transforms.js.map +1 -1
- package/build/embed/edit.js +12 -18
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +1 -7
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/util.js +29 -4
- package/build/embed/util.js.map +1 -1
- package/build/file/inspector.js +2 -4
- package/build/file/inspector.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/v1/edit.js +1 -1
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/html/edit.js +2 -2
- package/build/html/edit.js.map +1 -1
- package/build/image/edit.js +4 -6
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +1 -1
- package/build/image/image.js.map +1 -1
- package/build/index.js +5 -3
- package/build/index.js.map +1 -1
- package/build/index.native.js +14 -3
- package/build/index.native.js.map +1 -1
- package/build/latest-comments/edit.js +1 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/list/index.js +13 -2
- package/build/list/index.js.map +1 -1
- package/build/loginout/edit.js +1 -1
- package/build/loginout/edit.js.map +1 -1
- package/build/media-text/edit.js +1 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +1 -1
- package/build/media-text/edit.native.js.map +1 -1
- package/build/navigation/edit/index.js +17 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +7 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +5 -4
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/index.js +1 -1
- package/build/navigation/view-modal.js +37 -0
- package/build/navigation/view-modal.js.map +1 -0
- package/build/navigation/view.js +1 -34
- package/build/navigation/view.js.map +1 -1
- package/build/paragraph/edit.native.js +6 -2
- package/build/paragraph/edit.native.js.map +1 -1
- package/build/post-author/edit.js +1 -1
- package/build/post-author/edit.js.map +1 -1
- package/build/post-comments/index.js +4 -3
- package/build/post-comments/index.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +19 -7
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/query/edit/index.js +84 -22
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/query-placeholder.js +7 -14
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/edit/query-toolbar.js +6 -1
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/quote/index.js +19 -2
- package/build/quote/index.js.map +1 -1
- package/build/quote/v2/edit.js +11 -3
- package/build/quote/v2/edit.js.map +1 -1
- package/build/rss/edit.js +1 -1
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +11 -9
- package/build/search/edit.js.map +1 -1
- package/build/spacer/constants.js +9 -0
- package/build/spacer/constants.js.map +1 -0
- package/build/spacer/controls.js +3 -3
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +2 -2
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.js +5 -6
- package/build/spacer/edit.js.map +1 -1
- package/build/table/edit.js +8 -2
- package/build/table/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/video/edit.js +1 -1
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build-module/archives/edit.js +1 -1
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +2 -2
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +1 -1
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/categories/edit.js +8 -3
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +4 -0
- package/build-module/categories/index.js.map +1 -1
- package/build-module/column/index.js +10 -0
- package/build-module/column/index.js.map +1 -1
- package/build-module/comment-template/edit.js +3 -1
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/hooks.js +14 -4
- package/build-module/comment-template/hooks.js.map +1 -1
- package/build-module/comments-pagination/edit.js +19 -2
- package/build-module/comments-pagination/edit.js.map +1 -1
- package/build-module/comments-query-loop/edit.js +1 -1
- package/build-module/comments-query-loop/edit.js.map +1 -1
- package/build-module/comments-title/edit.js +133 -0
- package/build-module/comments-title/edit.js.map +1 -0
- package/build-module/comments-title/index.js +88 -0
- package/build-module/comments-title/index.js.map +1 -0
- package/build-module/cover/transforms.js +33 -32
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/embed/edit.js +13 -19
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +2 -8
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/util.js +25 -3
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/inspector.js +2 -4
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/v1/edit.js +1 -1
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/html/edit.js +2 -2
- package/build-module/html/edit.js.map +1 -1
- package/build-module/image/edit.js +4 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +1 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +4 -3
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +14 -3
- package/build-module/index.native.js.map +1 -1
- package/build-module/latest-comments/edit.js +1 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/list/index.js +9 -3
- package/build-module/list/index.js.map +1 -1
- package/build-module/loginout/edit.js +1 -1
- package/build-module/loginout/edit.js.map +1 -1
- package/build-module/media-text/edit.js +1 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/edit.native.js +1 -1
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/navigation/edit/index.js +17 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +6 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -4
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/index.js +1 -1
- package/build-module/navigation/view-modal.js +32 -0
- package/build-module/navigation/view-modal.js.map +1 -0
- package/build-module/navigation/view.js +1 -30
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/paragraph/edit.native.js +6 -2
- package/build-module/paragraph/edit.native.js.map +1 -1
- package/build-module/post-author/edit.js +1 -1
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-comments/index.js +4 -3
- package/build-module/post-comments/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +19 -7
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/query/edit/index.js +87 -26
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +8 -15
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/edit/query-toolbar.js +6 -1
- package/build-module/query/edit/query-toolbar.js.map +1 -1
- package/build-module/quote/index.js +10 -4
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/v2/edit.js +10 -3
- package/build-module/quote/v2/edit.js.map +1 -1
- package/build-module/rss/edit.js +1 -1
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +11 -9
- package/build-module/search/edit.js.map +1 -1
- package/build-module/spacer/constants.js +2 -0
- package/build-module/spacer/constants.js.map +1 -0
- package/build-module/spacer/controls.js +2 -2
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/controls.native.js +1 -1
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.js +1 -1
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/edit.js +9 -3
- package/build-module/table/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -1
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +1 -1
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/comments-title/editor-rtl.css +79 -0
- package/build-style/comments-title/editor.css +79 -0
- package/build-style/common-rtl.css +32 -0
- package/build-style/common.css +32 -0
- package/build-style/editor-rtl.css +51 -0
- package/build-style/editor.css +51 -0
- package/build-style/post-comments-form/style-rtl.css +9 -0
- package/build-style/post-comments-form/style.css +9 -0
- package/build-style/query/editor-rtl.css +39 -0
- package/build-style/query/editor.css +39 -0
- package/build-style/style-rtl.css +79 -0
- package/build-style/style.css +79 -0
- package/build-style/table/editor-rtl.css +8 -0
- package/build-style/table/editor.css +8 -0
- package/build-style/table/style-rtl.css +38 -0
- package/build-style/table/style.css +38 -0
- package/package.json +28 -28
- package/src/archives/edit.js +1 -1
- package/src/audio/edit.js +2 -2
- package/src/audio/edit.native.js +1 -1
- package/src/categories/block.json +4 -0
- package/src/categories/edit.js +8 -2
- package/src/categories/index.php +1 -0
- package/src/column/block.json +10 -0
- package/src/comment-template/edit.js +5 -2
- package/src/comment-template/hooks.js +15 -2
- package/src/comment-template/index.php +23 -2
- package/src/comments-pagination/edit.js +23 -0
- package/src/comments-query-loop/edit.js +1 -0
- package/src/comments-title/block.json +70 -0
- package/src/comments-title/edit.js +197 -0
- package/src/comments-title/editor.scss +4 -0
- package/src/comments-title/index.js +18 -0
- package/src/comments-title/index.php +68 -0
- package/src/common.scss +24 -1
- package/src/cover/transforms.js +51 -28
- package/src/editor.scss +1 -0
- package/src/embed/edit.js +19 -24
- package/src/embed/edit.native.js +9 -14
- package/src/embed/util.js +34 -2
- package/src/file/inspector.js +1 -3
- package/src/gallery/edit.js +1 -1
- package/src/gallery/v1/edit.js +1 -1
- package/src/html/edit.js +2 -2
- package/src/image/edit.js +2 -4
- package/src/image/edit.native.js +1 -1
- package/src/image/image.js +1 -1
- package/src/index.js +7 -1
- package/src/index.native.js +12 -2
- package/src/latest-comments/edit.js +1 -1
- package/src/list/index.js +7 -3
- package/src/loginout/edit.js +1 -1
- package/src/media-text/edit.js +1 -2
- package/src/media-text/edit.native.js +1 -1
- package/src/navigation/block.json +1 -1
- package/src/navigation/edit/index.js +24 -0
- package/src/navigation/edit/navigation-menu-selector.js +15 -9
- package/src/navigation/edit/unsaved-inner-blocks.js +5 -4
- package/src/navigation/index.php +5 -0
- package/src/navigation/view-modal.js +36 -0
- package/src/navigation/view.js +0 -35
- package/src/paragraph/edit.native.js +13 -1
- package/src/post-author/edit.js +1 -1
- package/src/post-comments/block.json +4 -3
- package/src/post-comments-form/index.php +12 -4
- package/src/post-comments-form/style.scss +11 -0
- package/src/post-excerpt/edit.js +1 -1
- package/src/post-featured-image/edit.js +24 -12
- package/src/query/edit/index.js +125 -26
- package/src/query/edit/query-placeholder.js +3 -13
- package/src/query/edit/query-toolbar.js +6 -0
- package/src/query/editor.scss +38 -0
- package/src/quote/index.js +8 -4
- package/src/quote/v2/edit.js +3 -0
- package/src/rss/edit.js +1 -1
- package/src/search/edit.js +13 -7
- package/src/search/index.php +84 -33
- package/src/spacer/constants.js +1 -0
- package/src/spacer/controls.js +2 -2
- package/src/spacer/controls.native.js +1 -1
- package/src/spacer/edit.js +1 -2
- package/src/table/edit.js +11 -2
- package/src/table/editor.scss +13 -0
- package/src/table/style.scss +52 -0
- package/src/tag-cloud/edit.js +1 -1
- package/src/video/edit.js +1 -1
- package/src/video/edit.native.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","noop","useState","useEffect","useRef","useCallback","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","EntityProvider","useEntityProp","useDispatch","useSelect","useRegistry","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","Button","Spinner","__","sprintf","speak","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","CREATE_NAVIGATION_MENU_ERROR","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_SUCCESS","EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","areaMenu","setAreaMenu","process","env","IS_GUTENBERG_PLUGIN","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","showNavigationMenuDeleteNotice","name","showNavigationMenuCreateNotice","hideNavigationMenuCreateNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isCreatingNavigationMenu","id","selectBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navRef","isDraftNavigationMenu","convert","classicMenuConversionStatus","classicMenuConversionError","classicMenuConversionResult","isConvertingClassicMenu","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","blockProps","class","slug","overlayClassnames","overlayStyles","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","showClassicMenuConversionErrorNotice","hideClassicMenuConversionErrorNotice","handleUpdateMenu","menuId","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","handleSelectNavigation","navPostOrClassicMenu","isClassicMenu","hasOwnProperty","resetToEmptyBlock","batch","hasUnsavedBlocks","post","PlaceholderComponent","isResponsive","overlayMenuPreviewClasses","open","onChange","label","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu, {\n\tCREATE_NAVIGATION_MENU_ERROR,\n\tCREATE_NAVIGATION_MENU_PENDING,\n\tCREATE_NAVIGATION_MENU_SUCCESS,\n} from './use-create-navigation-menu';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuDeleteNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/delete',\n\t} );\n\n\tconst [\n\t\tshowNavigationMenuCreateNotice,\n\t\thideNavigationMenuCreateNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/create',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst isCreatingNavigationMenu =\n\t\tcreateNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING;\n\n\tuseEffect( () => {\n\t\thideNavigationMenuCreateNotice();\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_SUCCESS ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_ERROR ) {\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks = !! _uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless\n\t// a specific ref is allocated or the user is explicitly creating a new menu. The aim is\n\t// for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length ||\n\t\t\tnavigationMenus?.length > 1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t\tvalue: classicMenuConversionResult,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\t// - (legacy) there is a Navigation Area without a ref attribute pointing to a Navigation Post.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t( ! hasUncontrolledInnerBlocks || isWithinUnassignedArea );\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst [\n\t\tshowClassicMenuConversionErrorNotice,\n\t\thideClassicMenuConversionErrorNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/classic-menu-conversion/error',\n\t} );\n\n\tfunction handleUpdateMenu( menuId ) {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif (\n\t\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS &&\n\t\t\tclassicMenuConversionResult\n\t\t) {\n\t\t\thandleUpdateMenu( classicMenuConversionResult?.id );\n\t\t\thideClassicMenuConversionErrorNotice();\n\t\t\tspeak( __( 'Classic menu imported successfully.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionErrorNotice( classicMenuConversionError );\n\t\t\tspeak( __( 'Classic menu import failed.' ) );\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionResult,\n\t\tclassicMenuConversionError,\n\t] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst handleSelectNavigation = useCallback(\n\t\t( navPostOrClassicMenu ) => {\n\t\t\tif ( ! navPostOrClassicMenu ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isClassicMenu = navPostOrClassicMenu.hasOwnProperty(\n\t\t\t\t'auto_add'\n\t\t\t);\n\n\t\t\tif ( isClassicMenu ) {\n\t\t\t\tconvert( navPostOrClassicMenu.id, navPostOrClassicMenu.name );\n\t\t\t} else {\n\t\t\t\thandleUpdateMenu( navPostOrClassicMenu.id );\n\t\t\t}\n\t\t},\n\t\t[ convert, handleUpdateMenu ]\n\t);\n\n\tconst resetToEmptyBlock = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ resetToEmptyBlock } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tif ( isPlaceholder ) {\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\tonFinish={ handleSelectNavigation }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelect={ handleSelectNavigation }\n\t\t\t\t\t\t\t\tonCreateNew={ resetToEmptyBlock }\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\tresetToEmptyBlock();\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuDeleteNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","noop","useState","useEffect","useRef","useCallback","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","EntityProvider","useEntityProp","useDispatch","useSelect","useRegistry","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","Button","Spinner","__","sprintf","speak","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","CREATE_NAVIGATION_MENU_ERROR","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_SUCCESS","EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","areaMenu","setAreaMenu","process","env","IS_GUTENBERG_PLUGIN","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","showNavigationMenuDeleteNotice","name","showNavigationMenuCreateNotice","hideNavigationMenuCreateNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isCreatingNavigationMenu","id","selectBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navRef","isDraftNavigationMenu","convert","classicMenuConversionStatus","classicMenuConversionError","classicMenuConversionResult","isConvertingClassicMenu","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","blockProps","class","slug","overlayClassnames","overlayStyles","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","showClassicMenuConversionErrorNotice","hideClassicMenuConversionErrorNotice","handleUpdateMenu","menuId","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","handleSelectNavigation","navPostOrClassicMenu","isClassicMenu","hasOwnProperty","focus","resetToEmptyBlock","batch","hasUnsavedBlocks","post","PlaceholderComponent","isResponsive","overlayMenuPreviewClasses","open","onChange","label","deletedMenuTitle"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,IAAT,QAAqB,QAArB;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,SAFD,EAGCC,MAHD,EAICC,WAJD,EAKCC,QALD,QAMO,oBANP;AAOA,SACCC,iBADD,EAECC,aAFD,EAGCC,aAHD,EAICC,mCAAmC,IAAIC,qBAJxC,EAKCC,KAAK,IAAIC,gBALV,EAMCC,UAND,EAOCC,kBAPD,EAQCC,eARD,EASCC,iBATD,EAUCC,OAVD,QAWO,yBAXP;AAYA,SAASC,cAAT,EAAyBC,aAAzB,QAA8C,sBAA9C;AAEA,SAASC,WAAT,EAAsBC,SAAtB,EAAiCC,WAAjC,QAAoD,iBAApD;AACA,SACCC,SADD,EAECC,aAFD,EAGCC,gCAAgC,IAAIC,kBAHrC,EAICC,sCAAsC,IAAIC,wBAJ3C,EAKCC,YALD,EAMCC,MAND,EAOCC,OAPD,QAQO,uBARP;AASA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,KAAT,QAAsB,iBAAtB;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,iBAAP,MAA8B,sBAA9B;AACA,OAAOC,qBAAP,MAAkC,gBAAlC;AACA,OAAOC,sBAAP,MAAmC,4BAAnC;AACA,OAAOC,yBAAP,MAAsC,gCAAtC;AACA,OAAOC,kBAAP,MAA+B,wBAA/B;AACA,OAAOC,2BAAP,MAAwC,kCAAxC;AACA,OAAOC,mBAAP,MAAgC,yBAAhC;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,4BAAP,IACCC,6BADD,EAECC,+BAFD,EAGCC,+BAHD,QAIO,0CAJP;AAKA,OAAOC,uBAAP,IACCC,4BADD,EAECC,8BAFD,EAGCC,8BAHD,QAIO,8BAJP;AAMA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,gBAAT,CAA2BC,IAA3B,EAAkC;AACjC,SAAOA,IAAI,CAACC,aAAL,CAAmBC,WAAnB,CAA+BH,gBAA/B,CAAiDC,IAAjD,CAAP;AACA;;AAED,SAASG,YAAT,CAAuBC,sBAAvB,EAA+CC,QAA/C,EAAyDC,aAAzD,EAAyE;AACxE,MAAK,CAAEF,sBAAP,EAAgC;AAC/B;AACA;;AACDC,EAAAA,QAAQ,CAAEN,gBAAgB,CAAEK,sBAAF,CAAhB,CAA2CG,KAA7C,CAAR;AAEA,MAAIC,mBAAmB,GAAGJ,sBAA1B;AACA,MAAIK,eAAe,GAAGV,gBAAgB,CAAES,mBAAF,CAAhB,CACpBC,eADF;;AAEA,SACCA,eAAe,KAAK,kBAApB,IACAD,mBAAmB,CAACE,UADpB,IAEAF,mBAAmB,CAACE,UAApB,CAA+BC,QAA/B,KACCH,mBAAmB,CAACE,UAApB,CAA+BE,YAJjC,EAKE;AACDJ,IAAAA,mBAAmB,GAAGA,mBAAmB,CAACE,UAA1C;AACAD,IAAAA,eAAe,GAAGV,gBAAgB,CAAES,mBAAF,CAAhB,CAChBC,eADF;AAEA;;AAEDH,EAAAA,aAAa,CAAEG,eAAF,CAAb;AACA;;AAED,SAASI,UAAT,OAqBI;AAAA;;AAAA,MArBiB;AACpBC,IAAAA,UADoB;AAEpBC,IAAAA,aAFoB;AAGpBC,IAAAA,QAHoB;AAIpBC,IAAAA,UAJoB;AAKpBC,IAAAA,SALoB;AAMpBT,IAAAA,eANoB;AAOpBU,IAAAA,kBAPoB;AAQpBC,IAAAA,SARoB;AASpBC,IAAAA,YAToB;AAUpBC,IAAAA,sBAVoB;AAWpBC,IAAAA,yBAXoB;AAYpBC,IAAAA,gBAZoB;AAapBC,IAAAA,mBAboB;AAcpBC,IAAAA,OAAO,EAAE;AAAEC,MAAAA;AAAF,KAdW;AAgBpB;AACA;AACAC,IAAAA,0BAA0B,GAAG,IAlBT;AAmBpBC,IAAAA,gBAAgB,GAAG,IAnBC;AAoBpBC,IAAAA,iBAAiB,EAAEC,iBAAiB,GAAG;AApBnB,GAqBjB;AACH,QAAM;AACLC,IAAAA,mBADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA,MAAM,EAAE;AACPC,MAAAA,cADO;AAEPC,MAAAA,WAAW,GAAG,YAFP;AAGPC,MAAAA,QAAQ,GAAG;AAHJ,QAIJ,EARC;AASLC,IAAAA;AATK,MAUFzB,UAVJ;AAYA,MAAI0B,QAAJ;AAAA,MACCC,WAAW,GAAGjG,IADf,CAbG,CAeH;AACA;;AACA,MAAKkG,OAAO,CAACC,GAAR,CAAYC,mBAAjB,EAAuC;AACtC;AACA,KAAEJ,QAAF,EAAYC,WAAZ,IAA4B9E,aAAa,CACxC,MADwC,EAExC,gBAFwC,EAGxC,YAHwC,EAIxCgE,cAJwC,CAAzC;AAMA;;AAED,QAAMkB,kBAAkB,GAAGL,QAAQ,KAAK,CAAb,GAAiBM,SAAjB,GAA6BN,QAAxD;AAEA,QAAMO,GAAG,GAAGpB,cAAc,GAAGkB,kBAAH,GAAwB/B,UAAU,CAACiC,GAA7D;AAEA,QAAMC,QAAQ,GAAGlF,WAAW,EAA5B;AACA,QAAMmF,MAAM,GAAGrG,WAAW,CACvBsG,MAAF,IAAc;AACbnC,IAAAA,aAAa,CAAE;AAAEgC,MAAAA,GAAG,EAAEG;AAAP,KAAF,CAAb;;AACA,QAAKvB,cAAL,EAAsB;AACrBc,MAAAA,WAAW,CAAES,MAAF,CAAX;AACA;AACD,GANwB,EAOzB,CAAEvB,cAAF,CAPyB,CAA1B;AAUA,QAAM,CAAEwB,kBAAF,EAAsBC,iBAAtB,IAA4ClG,qBAAqB,CACrE,kBAAkB6F,GAAK,EAD8C,CAAvE,CA1CG,CA8CH;AACA;;AACAnE,EAAAA,qBAAqB;AAErB,QAAM,CAAEyE,8BAAF,IAAqCjE,mBAAmB,CAAE;AAC/DkE,IAAAA,IAAI,EAAE;AADyD,GAAF,CAA9D;AAIA,QAAM,CACLC,8BADK,EAELC,8BAFK,IAGFpE,mBAAmB,CAAE;AACxBkE,IAAAA,IAAI,EAAE;AADkB,GAAF,CAHvB;AAOA,QAAM;AACLG,IAAAA,MAAM,EAAEC,oBADH;AAELC,IAAAA,MAAM,EAAEC,0BAFH;AAGLC,IAAAA,KAAK,EAAEC,yBAHF;AAILC,IAAAA,KAAK,EAAEC;AAJF,MAKFtE,uBAAuB,CAAEsB,QAAF,CAL3B;AAOA,QAAMiD,wBAAwB,GAC7BL,0BAA0B,KAAKhE,8BADhC;AAGAlD,EAAAA,SAAS,CAAE,MAAM;AAChB8G,IAAAA,8BAA8B;;AAE9B,QAAKI,0BAA0B,KAAKhE,8BAApC,EAAqE;AACpElB,MAAAA,KAAK,CAAEF,EAAE,CAAG,2BAAH,CAAJ,CAAL;AACA;;AAED,QAAKoF,0BAA0B,KAAK/D,8BAApC,EAAqE;AACpEoD,MAAAA,MAAM,CAAEe,wBAAwB,CAACE,EAA3B,CAAN;AACAC,MAAAA,WAAW,CAAEnD,QAAF,CAAX;AAEAuC,MAAAA,8BAA8B,CAC7B/E,EAAE,CAAG,uCAAH,CAD2B,CAA9B;AAGA;;AAED,QAAKoF,0BAA0B,KAAKjE,4BAApC,EAAmE;AAClE4D,MAAAA,8BAA8B,CAC7B/E,EAAE,CAAE,mCAAF,CAD2B,CAA9B;AAGA;AACD,GArBQ,EAqBN,CACFkF,oBADE,EAEFE,0BAFE,EAGFE,yBAHE,EAIFE,wBAJE,CArBM,CAAT;AA4BA,QAAM;AACLI,IAAAA,0BADK;AAELC,IAAAA,uBAFK;AAGLC,IAAAA,oBAHK;AAILC,IAAAA;AAJK,MAKF1G,SAAS,CACV2G,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,SAAZ;AAAuBC,MAAAA;AAAvB,QAAiDH,MAAM,CAC5DpH,gBAD4D,CAA7D,CADa,CAKb;AACA;AACA;AACA;;AACA,UAAMwH,wBAAwB,GAAGH,QAAQ,CAAEzD,QAAF,CAAR,CAAqB6D,WAAtD;;AACA,UAAMC,2BAA2B,GAAG,CAAC,EAAEF,wBAAF,aAAEA,wBAAF,eAAEA,wBAAwB,CAAEG,MAA5B,CAArC;;AACA,UAAMC,sBAAsB,GAAGF,2BAA2B,GACvDhF,WADuD,GAEvD4E,SAAS,CAAE1D,QAAF,CAFZ;;AAGA,UAAM6D,WAAW,GAAGC,2BAA2B,GAC5CF,wBAD4C,GAE5CI,sBAFH;AAIA,WAAO;AACNT,MAAAA,WAAW,EAAE,CAAC,CAAEM,WAAW,CAACI,IAAZ,CACbC,KAAF,IAAaA,KAAK,CAAC5B,IAAN,KAAe,yBADb,CADV;AAINc,MAAAA,0BAA0B,EAAEU,2BAJtB;AAKNT,MAAAA,uBAAuB,EAAEO,wBALnB;AAMNN,MAAAA,oBAAoB,EAAEK,qBAAqB,CAAE3D,QAAF,EAAY,IAAZ;AANrC,KAAP;AAQA,GA3BW,EA4BZ,CAAEA,QAAF,CA5BY,CALb;AAmCA,QAAM;AACLmE,IAAAA,kBADK;AAELhB,IAAAA,WAFK;AAGLiB,IAAAA;AAHK,MAIFxH,WAAW,CAAER,gBAAF,CAJf;AAMA,QAAM,CACLiI,0BADK,EAELC,6BAFK,IAGF7I,QAAQ,CAAE,KAAF,CAHZ;AAKA,QAAM8I,sBAAsB,GAAG,CAAC,CAAE5D,cAAH,IAAqB,CAAEoB,GAAtD;AAEA,QAAM,CAAEyC,oBAAF,EAAwBC,2BAAxB,IAAwDhJ,QAAQ,CACrE,KADqE,CAAtE;AAIA,QAAM,CAAEiJ,kBAAF,EAAsBC,qBAAtB,IAAgDlJ,QAAQ,CAAE,KAAF,CAA9D;AAEA,QAAM;AACLmJ,IAAAA,0BADK;AAELC,IAAAA,wBAFK;AAGLC,IAAAA,uBAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA,2BANK;AAOLC,IAAAA,sCAPK;AAQLC,IAAAA,2BARK;AASLC,IAAAA,sCATK;AAULC,IAAAA,2BAVK;AAWLC,IAAAA,sCAXK;AAYLC,IAAAA;AAZK,MAaF5H,iBAAiB,CAAEoE,GAAF,CAbrB,CAzJG,CAwKH;AACA;AACA;;AACArG,EAAAA,SAAS,CAAE,MAAM;AAChB,QACCuH,wBAAwB,IACxBlB,GADA,IAEA,EAAEgD,eAAF,aAAEA,eAAF,eAAEA,eAAe,CAAEhB,MAAnB,CAFA,IAGA,CAAAgB,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEhB,MAAjB,IAA0B,CAJ3B,EAKE;AACD;AACA;;AAED9B,IAAAA,MAAM,CAAE8C,eAAe,CAAE,CAAF,CAAf,CAAqB7B,EAAvB,CAAN;AACA,GAXQ,EAWN,CAAE6B,eAAF,CAXM,CAAT;AAaA,QAAMS,MAAM,GAAG7J,MAAM,EAArB;AAEA,QAAM8J,qBAAqB,GAAG,CAAAT,cAAc,SAAd,IAAAA,cAAc,WAAd,YAAAA,cAAc,CAAErC,MAAhB,MAA2B,OAAzD;AAEA,QAAM;AACL+C,IAAAA,OADK;AAEL/C,IAAAA,MAAM,EAAEgD,2BAFH;AAGL9C,IAAAA,KAAK,EAAE+C,0BAHF;AAIL7C,IAAAA,KAAK,EAAE8C;AAJF,MAKFvH,4BAA4B,CAAE0B,QAAF,CALhC;AAOA,QAAM8F,uBAAuB,GAC5BH,2BAA2B,KAAKnH,+BADjC,CAnMG,CAsMH;;AACA,QAAMuH,OAAO,GAAG,KAAhB,CAvMG,CAyMH;AACA;AACA;AACA;AACA;AACA;;AACA,QAAMC,aAAa,GAClB,CAAEjE,GAAF,IACA,CAAEkB,wBADF,IAEA,CAAE6C,uBAFF,IAGAlB,0BAHA,KAIE,CAAExB,0BAAF,IAAgCmB,sBAJlC,CADD;AAOA,QAAM0B,iBAAiB,GACtB,CAAEnB,uBAAF,IAA6BD,wBAD9B,CAtNG,CAyNH;AACA;AACA;AACA;AACA;AACA;;AACA,QAAMqB,SAAS,GACd,CAAEtB,0BAAF,IACA3B,wBADA,IAEA6C,uBAFA,IAGA,CAAC,EAAI/D,GAAG,IAAI,CAAEkE,iBAAT,IAA8B,CAAEH,uBAApC,CAJF;AAMA,QAAMK,cAAc,wBAAGrG,UAAU,CAACsG,KAAd,+EAAG,kBAAkBC,UAArB,0DAAG,sBAA8BF,cAArD;AAEA,QAAMG,UAAU,GAAGtK,aAAa,CAAE;AACjC+F,IAAAA,GAAG,EAAEyD,MAD4B;AAEjCtF,IAAAA,SAAS,EAAE3E,UAAU,CAAE2E,SAAF,EAAa;AACjC,+BAAyBkB,cAAc,KAAK,OADX;AAEjC,uCAAiCA,cAAc,KAAK,eAFnB;AAGjC,8BAAwBA,cAAc,KAAK,MAHV;AAIjC,gCAA0BA,cAAc,KAAK,QAJZ;AAKjC,qBAAeC,WAAW,KAAK,UALE;AAMjC,iBAAWC,QAAQ,KAAK,QANS;AAOjC,uBAAiB,YAAYL,WAPI;AAQjC,wBAAkB,CAAC,CAAEb,SAAS,CAACb,KAAb,IAAsB,CAAC,EAAEa,SAAF,aAAEA,SAAF,eAAEA,SAAS,CAAEmG,KAAb,CARR;AASjC,OAAE/J,iBAAiB,CAClB,OADkB,EAElB4D,SAFkB,aAElBA,SAFkB,uBAElBA,SAAS,CAAEoG,IAFO,CAAnB,GAGK,CAAC,EAAEpG,SAAF,aAAEA,SAAF,eAAEA,SAAS,CAAEoG,IAAb,CAZ2B;AAajC,wBAAkB,CAAC,CAAE/G,eAAe,CAACF,KAAnB,IAA4BE,eAAe,CAAC8G,KAb7B;AAcjC,OAAE/J,iBAAiB,CAClB,kBADkB,EAElBiD,eAFkB,aAElBA,eAFkB,uBAElBA,eAAe,CAAE+G,IAFC,CAAnB,GAGK,CAAC,EAAE/G,eAAF,aAAEA,eAAF,eAAEA,eAAe,CAAE+G,IAAnB,CAjB2B;AAkBjC,OAAG,uBAAuBL,cAAgB,EAA1C,GAA+CA;AAlBd,KAAb,CAFY;AAsBjCC,IAAAA,KAAK,EAAE;AACN7G,MAAAA,KAAK,EAAE,EAAEa,SAAF,aAAEA,SAAF,eAAEA,SAAS,CAAEoG,IAAb,MAAqBpG,SAArB,aAAqBA,SAArB,uBAAqBA,SAAS,CAAEb,KAAhC,CADD;AAENE,MAAAA,eAAe,EAAE,EAAEA,eAAF,aAAEA,eAAF,eAAEA,eAAe,CAAE+G,IAAnB,MAA2B/G,eAA3B,aAA2BA,eAA3B,uBAA2BA,eAAe,CAAEF,KAA5C;AAFX;AAtB0B,GAAF,CAAhC;AA4BA,QAAMkH,iBAAiB,GAAGlL,UAAU,CAAE;AACrC,sBACC,CAAC,CAAEiF,gBAAgB,CAACjB,KAApB,IAA6B,CAAC,EAAEiB,gBAAF,aAAEA,gBAAF,eAAEA,gBAAgB,CAAE+F,KAApB,CAFM;AAGrC,KAAE/J,iBAAiB,CAClB,OADkB,EAElBgE,gBAFkB,aAElBA,gBAFkB,uBAElBA,gBAAgB,CAAEgG,IAFA,CAAnB,GAGK,CAAC,EAAEhG,gBAAF,aAAEA,gBAAF,eAAEA,gBAAgB,CAAEgG,IAApB,CAN+B;AAOrC,sBACC,CAAC,CAAElG,sBAAsB,CAACf,KAA1B,KAAmCe,sBAAnC,aAAmCA,sBAAnC,uBAAmCA,sBAAsB,CAAEiG,KAA3D,CARoC;AASrC,KAAE/J,iBAAiB,CAClB,kBADkB,EAElB8D,sBAFkB,aAElBA,sBAFkB,uBAElBA,sBAAsB,CAAEkG,IAFN,CAAnB,GAGK,CAAC,EAAElG,sBAAF,aAAEA,sBAAF,eAAEA,sBAAsB,CAAEkG,IAA1B;AAZ+B,GAAF,CAApC;AAeA,QAAME,aAAa,GAAG;AACrBnH,IAAAA,KAAK,EAAE,EAAEiB,gBAAF,aAAEA,gBAAF,eAAEA,gBAAgB,CAAEgG,IAApB,MAA4BhG,gBAA5B,aAA4BA,gBAA5B,uBAA4BA,gBAAgB,CAAEjB,KAA9C,CADc;AAErBE,IAAAA,eAAe,EACd,EAAEa,sBAAF,aAAEA,sBAAF,eAAEA,sBAAsB,CAAEkG,IAA1B,MACAlG,sBADA,aACAA,sBADA,uBACAA,sBAAsB,CAAEf,KADxB,KAEAe,sBAAsB,CAACf;AALH,GAAtB,CAlRG,CA0RH;;AACA,QAAMoH,sBAAsB,GAAG9K,QAAQ,CAAC+K,EAAT,KAAgB,KAA/C;AAEA,QAAM,CAAEC,uBAAF,EAA2BC,0BAA3B,IAA0DrL,QAAQ,EAAxE;AACA,QAAM,CAAEsL,aAAF,EAAiBC,gBAAjB,IAAsCvL,QAAQ,EAApD;AACA,QAAM,CACLwL,8BADK,EAELC,iCAFK,IAGFzL,QAAQ,EAHZ;AAIA,QAAM,CAAE0L,oBAAF,EAAwBC,uBAAxB,IAAoD3L,QAAQ,EAAlE;AAEA,QAAM,CACL4L,oCADK,EAELC,oCAFK,IAGFlJ,mBAAmB,CAAE;AACxBkE,IAAAA,IAAI,EAAE;AADkB,GAAF,CAHvB;;AAOA,WAASiF,gBAAT,CAA2BC,MAA3B,EAAoC;AACnCvF,IAAAA,MAAM,CAAEuF,MAAF,CAAN;AACArE,IAAAA,WAAW,CAAEnD,QAAF,CAAX;AACA;;AAEDtE,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKiK,2BAA2B,KAAKnH,+BAArC,EAAuE;AACtEd,MAAAA,KAAK,CAAEF,EAAE,CAAE,yBAAF,CAAJ,CAAL;AACA;;AAED,QACCmI,2BAA2B,KAAKlH,+BAAhC,IACAoH,2BAFD,EAGE;AACD0B,MAAAA,gBAAgB,CAAE1B,2BAAF,aAAEA,2BAAF,uBAAEA,2BAA2B,CAAE3C,EAA/B,CAAhB;AACAoE,MAAAA,oCAAoC;AACpC5J,MAAAA,KAAK,CAAEF,EAAE,CAAE,qCAAF,CAAJ,CAAL;AACA;;AAED,QAAKmI,2BAA2B,KAAKpH,6BAArC,EAAqE;AACpE8I,MAAAA,oCAAoC,CAAEzB,0BAAF,CAApC;AACAlI,MAAAA,KAAK,CAAEF,EAAE,CAAE,6BAAF,CAAJ,CAAL;AACA;AACD,GAlBQ,EAkBN,CACFmI,2BADE,EAEFE,2BAFE,EAGFD,0BAHE,CAlBM,CAAT,CAjTG,CAyUH;AACA;;AACAlK,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK2F,WAAL,EAAmB;AAClB+C,MAAAA,uCAAuC;;AACvCrE,MAAAA,aAAa,CAAE;AAAEsB,QAAAA;AAAF,OAAF,CAAb;AACA;AACD,GALQ,EAKN,CAAEA,WAAF,CALM,CAAT;AAOA3F,EAAAA,SAAS,CAAE,MAAM;AAAA;;AAChB,QAAK,CAAEiL,sBAAP,EAAgC;AAC/B;AACA;;AACDxH,IAAAA,YAAY,CACXqG,MAAM,CAACiC,OADI,EAEXT,gBAFW,EAGXF,0BAHW,CAAZ;AAKA,UAAMY,cAAc,sBAAGlC,MAAM,CAACiC,OAAV,oDAAG,gBAAgBE,aAAhB,CACtB,uEADsB,CAAvB;;AAGA,QAAKD,cAAL,EAAsB;AACrBvI,MAAAA,YAAY,CACXuI,cADW,EAEXN,uBAFW,EAGXF,iCAHW,CAAZ;AAKA;AACD,GAnBQ,CAAT;AAqBA,QAAM,CAAEU,kBAAF,EAAsBC,kBAAtB,IAA6CzJ,mBAAmB,CAAE;AACvEkE,IAAAA,IAAI,EAAE,kDADiE;AAEvEwF,IAAAA,OAAO,EAAEtK,EAAE,CACV,mFADU;AAF4D,GAAF,CAAtE;AAOA,QAAM,CAAEuK,oBAAF,EAAwBC,oBAAxB,IAAiD5J,mBAAmB,CACzE;AACCkE,IAAAA,IAAI,EAAE,kDADP;AAECwF,IAAAA,OAAO,EAAEtK,EAAE,CACV,wDADU;AAFZ,GADyE,CAA1E;AASA9B,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEuE,UAAF,IAAgB,CAAEqD,oBAAvB,EAA8C;AAC7CuE,MAAAA,kBAAkB;AAClBG,MAAAA,oBAAoB;AACpB;;AAED,QAAK/H,UAAU,IAAIqD,oBAAnB,EAA0C;AACzC,UACC4B,sCAAsC,IACtC,CAAED,2BAFH,EAGE;AACD2C,QAAAA,kBAAkB;AAClB;;AAED,UACC,CAAE7F,GAAF,IACAwD,sCADA,IAEA,CAAEF,2BAHH,EAIE;AACD0C,QAAAA,oBAAoB;AACpB;AACD;AACD,GAtBQ,EAsBN,CACF9H,UADE,EAEFqD,oBAFE,EAGF2B,2BAHE,EAIFC,sCAJE,EAKFG,2BALE,EAMFE,sCANE,EAOFxD,GAPE,CAtBM,CAAT;AAgCA,QAAMkG,qBAAqB,GAAGtM,MAAM,EAApC;AACA,QAAM,CACLuM,6BADK,EAELC,gCAFK,IAGF1M,QAAQ,CAAE,KAAF,CAHZ;AAIA,QAAM2M,sBAAsB,GAAGxM,WAAW,CACvCyM,oBAAF,IAA4B;AAC3B,QAAK,CAAEA,oBAAP,EAA8B;AAC7B;AACA;;AAED,UAAMC,aAAa,GAAGD,oBAAoB,CAACE,cAArB,CACrB,UADqB,CAAtB;;AAIA,QAAKD,aAAL,EAAqB;AACpB5C,MAAAA,OAAO,CAAE2C,oBAAoB,CAACnF,EAAvB,EAA2BmF,oBAAoB,CAAC/F,IAAhD,CAAP;AACA,KAFD,MAEO;AACNiF,MAAAA,gBAAgB,CAAEc,oBAAoB,CAACnF,EAAvB,CAAhB;AACA;;AACDiF,IAAAA,gCAAgC,CAAE,IAAF,CAAhC;AACA,GAhBwC,EAiBzC,CAAEzC,OAAF,EAAW6B,gBAAX,CAjByC,CAA1C,CA5ZG,CAgbH;;AACA7L,EAAAA,SAAS,CAAE,MAAM;AAAA;;AAChB,QACC+J,qBAAqB,IACrB,CAAEQ,iBADF,IAEA,CAAEiC,6BAHH,EAIE;AACD;AACA;;AACDD,IAAAA,qBAAqB,SAArB,IAAAA,qBAAqB,WAArB,qCAAAA,qBAAqB,CAAER,OAAvB,gFAAgCe,KAAhC;AACAL,IAAAA,gCAAgC,CAAE,KAAF,CAAhC;AACA,GAVQ,EAUN,CACF1C,qBADE,EAEFQ,iBAFE,EAGFiC,6BAHE,CAVM,CAAT;AAgBA,QAAMO,iBAAiB,GAAG7M,WAAW,CAAE,MAAM;AAC5CoG,IAAAA,QAAQ,CAAC0G,KAAT,CAAgB,MAAM;AACrB,UAAK/H,cAAL,EAAsB;AACrBc,QAAAA,WAAW,CAAE,CAAF,CAAX;AACA;;AACD1B,MAAAA,aAAa,CAAE;AACdgC,QAAAA,GAAG,EAAED;AADS,OAAF,CAAb;;AAGA,UAAK,CAAEC,GAAP,EAAa;AACZoC,QAAAA,kBAAkB,CAAEnE,QAAF,EAAY,EAAZ,CAAlB;AACA;AACD,KAVD;AAWA,GAZoC,EAYlC,CAAEA,QAAF,EAAY+B,GAAZ,CAZkC,CAArC,CAjcG,CA+cH;AACA;AACA;AACA;AACA;AACA;;AACA,QAAM4G,gBAAgB,GAAGvF,0BAA0B,IAAI,CAAE6C,iBAAzD;;AACA,MAAK0C,gBAAL,EAAwB;AACvB,WACC,cAAC,OAAD,EAAcrC,UAAd,EACC,cAAC,iBAAD;AACC,MAAA,EAAE,EAAGtG,QADN;AAEC,MAAA,QAAQ,EAAGyE,2BAFZ;AAGC,MAAA,MAAM,EAAGD,oBAHV;AAIC,MAAA,YAAY,EAAG,YAAYvD,WAJ5B;AAKC,MAAA,iBAAiB,EAAG,aAAaA,WALlC;AAMC,MAAA,UAAU,EAAGwF,iBANd;AAOC,MAAA,MAAM,EAAGC;AAPV,OASC,cAAC,kBAAD;AACC,MAAA,UAAU,EAAGJ,UADd;AAEC,MAAA,MAAM,EAAGjD,uBAFV;AAGC,MAAA,QAAQ,EAAGrD,QAHZ;AAIC,MAAA,eAAe,EAAG+E,eAJnB;AAKC,MAAA,YAAY,EAAG9E,UAAU,IAAIqD,oBAL9B;AAMC,MAAA,0BAA0B,EACzBe,0BAPF;AASC,MAAA,MAAM,EAAKuE,IAAF,IAAY;AACpB;AACAtE,QAAAA,6BAA6B,CAAE,IAAF,CAA7B,CAFoB,CAGpB;;AACArC,QAAAA,MAAM,CAAE2G,IAAI,CAAC1F,EAAP,CAAN;AAEAX,QAAAA,8BAA8B,CAC7B/E,EAAE,CAAG,8BAAH,CAD2B,CAA9B;AAGA;AAlBF,MATD,CADD,CADD;AAkCA,GAzfE,CA2fH;AACA;;;AACA,MAAKuE,GAAG,IAAI+C,uBAAZ,EAAsC;AACrC,WACC,qBAAUwB,UAAV,EACC,cAAC,OAAD,QACG9I,EAAE,CACH,sDADG,CADL,EAIC,cAAC,MAAD;AAAQ,MAAA,OAAO,EAAGiL,iBAAlB;AAAsC,MAAA,OAAO,EAAC;AAA9C,OACGjL,EAAE,CAAE,oBAAF,CADL,CAJD,CADD,CADD;AAYA;;AAED,MAAKyI,iBAAiB,IAAI9D,kBAA1B,EAA+C;AAC9C,WACC,qBAAUmE,UAAV,EACC,cAAC,OAAD,QACG9I,EAAE,CAAE,yCAAF,CADL,CADD,CADD;AAOA;;AAED,QAAMqL,oBAAoB,GAAG9H,iBAAiB,GAC3CA,iBAD2C,GAE3ClD,WAFH;AAIA,QAAMiL,YAAY,GAAG,YAAY7H,WAAjC;AAEA,QAAM8H,yBAAyB,GAAGxN,UAAU,CAC3C,2CAD2C,EAE3C;AAAEyN,IAAAA,IAAI,EAAEtE;AAAR,GAF2C,CAA5C;;AAKA,MAAKsB,aAAL,EAAqB;AACpB,WACC,cAAC,OAAD,EAAcM,UAAd,EACC,cAAC,oBAAD;AACC,MAAA,UAAU,EAAGrG,UADd;AAEC,MAAA,aAAa,EAAG8B,GAFjB;AAGC,MAAA,QAAQ,EAAG/B,QAHZ;AAIC,MAAA,2BAA2B,EAAGqF,2BAJ/B;AAKC,MAAA,sCAAsC,EACrCC,sCANF;AAQC,MAAA,QAAQ,EAAG8C,sBARZ;AASC,MAAA,aAAa,EAAG,MAAM1F,oBAAoB,CAAE,EAAF,EAAM,EAAN;AAT3C,MADD,CADD;AAeA;;AAED,SACC,cAAC,cAAD;AAAgB,IAAA,IAAI,EAAC,UAArB;AAAgC,IAAA,IAAI,EAAC,eAArC;AAAqD,IAAA,EAAE,EAAGX;AAA1D,KACC,cAAC,iBAAD,QACC,cAAC,aAAD,QACG,CAAE0D,qBAAF,IAA2BQ,iBAA3B,IACD,cAAC,YAAD;AAAc,IAAA,SAAS,EAAC;AAAxB,KACC,cAAC,sBAAD;AACC,IAAA,GAAG,EAAGgC,qBADP;AAEC,IAAA,aAAa,EAAGlG,GAFjB;AAGC,IAAA,QAAQ,EAAG/B,QAHZ;AAIC,IAAA,QAAQ,EAAGoI,sBAJZ;AAKC,IAAA,WAAW,EAAGK;AACd;AAND;AAOC,IAAA,WAAW,EAAGjL,EAAE,CAAE,gBAAF,CAPjB;AAQC,IAAA,iBAAiB;AARlB,IADD,CAFF,CADD,EAiBC,cAAC,iBAAD,QACGoD,0BAA0B,IAC3B,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGpD,EAAE,CAAE,SAAF;AAArB,KACGsL,YAAY,IACb,cAAC,MAAD;AACC,IAAA,SAAS,EAAGC,yBADb;AAEC,IAAA,OAAO,EAAG,MAAM;AACfpE,MAAAA,qBAAqB,CACpB,CAAED,kBADkB,CAArB;AAGA;AANF,KAQGnD,OAAO,IAAI,cAAC,eAAD,OARd,EASG,CAAEA,OAAF,IACD,4BAAQ/D,EAAE,CAAE,MAAF,CAAV,CAVF,CAFF,EAgBGkH,kBAAkB,IACnB,cAAC,aAAD;AACC,IAAA,KAAK,EAAGlH,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAFV;AAKC,IAAA,QAAQ,EAAKuF,KAAF,IACVhD,aAAa,CAAE;AAAEwB,MAAAA,OAAO,EAAEwB;AAAX,KAAF,CANf;AAQC,IAAA,OAAO,EAAGxB;AARX,IAjBF,EA4BC,0BAAM/D,EAAE,CAAE,cAAF,CAAR,CA5BD,EA6BC,cAAC,kBAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,wBAAF,CADX;AAEC,IAAA,KAAK,EAAGyD,WAFT;AAGC,IAAA,IAAI,EAAGzD,EAAE,CACR,qEADQ,CAHV;AAMC,IAAA,QAAQ,EAAKuF,KAAF,IACVhD,aAAa,CAAE;AAAEkB,MAAAA,WAAW,EAAE8B;AAAf,KAAF,CAPf;AASC,IAAA,OAAO,MATR;AAUC,IAAA,mBAAmB;AAVpB,KAYC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,OADP;AAEC,IAAA,KAAK,EAAGvF,EAAE,CAAE,KAAF;AAFX,IAZD,EAgBC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,QAAF;AAFX,IAhBD,EAoBC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,QAAF;AAFX,IApBD,CA7BD,EAsDG+F,WAAW,IACZ,8BACC,0BAAM/F,EAAE,CAAE,UAAF,CAAR,CADD,EAEC,cAAC,aAAD;AACC,IAAA,OAAO,EAAGwD,mBADX;AAEC,IAAA,QAAQ,EAAK+B,KAAF,IAAa;AACvBhD,MAAAA,aAAa,CAAE;AACdiB,QAAAA,mBAAmB,EAAE+B,KADP;AAEd,YAAKA,KAAK,IAAI;AACb7B,UAAAA,eAAe,EAAE;AADJ,SAAd,CAFc,CAIT;;AAJS,OAAF,CAAb;AAMA,KATF;AAUC,IAAA,KAAK,EAAG1D,EAAE,CAAE,eAAF;AAVX,IAFD,EAeC,cAAC,aAAD;AACC,IAAA,OAAO,EAAG0D,eADX;AAEC,IAAA,QAAQ,EAAK6B,KAAF,IAAa;AACvBhD,MAAAA,aAAa,CAAE;AACdmB,QAAAA,eAAe,EAAE6B;AADH,OAAF,CAAb;AAGA,KANF;AAOC,IAAA,QAAQ,EACPjD,UAAU,CAACkB,mBARb;AAUC,IAAA,KAAK,EAAGxD,EAAE,CAAE,YAAF;AAVX,IAfD,CAvDF,CAFF,EAwFGqD,gBAAgB,IACjB,cAAC,kBAAD;AACC,IAAA,gCAAgC,MADjC;AAEC,IAAA,iCAAiC,MAFlC;AAGC,IAAA,KAAK,EAAGrD,EAAE,CAAE,OAAF,CAHX;AAIC,IAAA,WAAW,EAAG,KAJf;AAKC,IAAA,aAAa,EAAG,CACf;AACCuF,MAAAA,KAAK,EAAE3C,SAAS,CAACb,KADlB;AAEC0J,MAAAA,QAAQ,EAAE5I,YAFX;AAGC6I,MAAAA,KAAK,EAAE1L,EAAE,CAAE,MAAF;AAHV,KADe,EAMf;AACCuF,MAAAA,KAAK,EAAEtD,eAAe,CAACF,KADxB;AAEC0J,MAAAA,QAAQ,EAAE9I,kBAFX;AAGC+I,MAAAA,KAAK,EAAE1L,EAAE,CAAE,YAAF;AAHV,KANe,EAWf;AACCuF,MAAAA,KAAK,EAAEvC,gBAAgB,CAACjB,KADzB;AAEC0J,MAAAA,QAAQ,EAAExI,mBAFX;AAGCyI,MAAAA,KAAK,EAAE1L,EAAE,CAAE,wBAAF;AAHV,KAXe,EAgBf;AACCuF,MAAAA,KAAK,EAAEzC,sBAAsB,CAACf,KAD/B;AAEC0J,MAAAA,QAAQ,EAAE1I,yBAFX;AAGC2I,MAAAA,KAAK,EAAE1L,EAAE,CAAE,8BAAF;AAHV,KAhBe;AALjB,KA4BGmJ,sBAAsB,IACvB,8BACC,cAAC,eAAD;AACC,IAAA,eAAe,EACdE,uBAFF;AAIC,IAAA,SAAS,EAAGE;AAJb,IADD,EAOC,cAAC,eAAD;AACC,IAAA,eAAe,EACdE,8BAFF;AAIC,IAAA,SAAS,EAAGE;AAJb,IAPD,CA7BF,CAzFF,CAjBD,EAyJGlB,iBAAiB,IAClB,cAAC,iBAAD;AAAmB,IAAA,mBAAmB,EAAC;AAAvC,KACGf,sCAAsC,IACvCD,2BADC,IAEA,cAAC,yBAAD,OAHH,EAKGG,sCAAsC,IACvCD,2BADC,IAEA,cAAC,2BAAD;AACC,IAAA,QAAQ,EAAG,YAA6B;AAAA,UAA3BgE,gBAA2B,uEAAR,EAAQ;AACvCV,MAAAA,iBAAiB;AACjBpG,MAAAA,8BAA8B,CAC7B5E,OAAO,EACN;AACAD,MAAAA,EAAE,CACD,0CADC,CAFI,EAKN2L,gBALM,CADsB,CAA9B;AASA;AAZF,IAPH,CA1JF,EAmLGjD,SAAS,IACV,cAAC,OAAD,EAAcI,UAAd,EACC,cAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,IADD,CApLF,EAyLG,CAAEJ,SAAF,IACD,cAAC,OAAD,EAAcI,UAAd,EACC,cAAC,iBAAD;AACC,IAAA,EAAE,EAAGtG,QADN;AAEC,IAAA,QAAQ,EAAGyE,2BAFZ;AAGC,IAAA,KAAK,EAAGjH,EAAE,CAAE,MAAF,CAHX;AAIC,IAAA,OAAO,EAAG+D,OAJX;AAKC,IAAA,MAAM,EAAGiD,oBALV;AAMC,IAAA,YAAY,EAAGsE,YANhB;AAOC,IAAA,iBAAiB,EAAG,aAAa7H,WAPlC;AAQC,IAAA,UAAU,EAAGwF,iBARd;AASC,IAAA,MAAM,EAAGC;AATV,KAWGT,iBAAiB,IAClB,cAAC,qBAAD;AACC,IAAA,QAAQ,EAAGjG,QADZ;AAEC,IAAA,oBAAoB,EACnB,CAAC,CAAEe,iBAHL;AAKC,IAAA,WAAW,EAAGM;AALf,IAZF,CADD,CA1LF,CADD,CADD;AAuNA;;AAED,eAAehF,UAAU,CACxB;AAAE+D,EAAAA,SAAS,EAAE;AAAb,CADwB,EAExB;AAAEX,EAAAA,eAAe,EAAE;AAAnB,CAFwB,EAGxB;AAAEa,EAAAA,sBAAsB,EAAE;AAA1B,CAHwB,EAIxB;AAAEE,EAAAA,gBAAgB,EAAE;AAApB,CAJwB,CAAV,CAKZX,UALY,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu, {\n\tCREATE_NAVIGATION_MENU_ERROR,\n\tCREATE_NAVIGATION_MENU_PENDING,\n\tCREATE_NAVIGATION_MENU_SUCCESS,\n} from './use-create-navigation-menu';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuDeleteNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/delete',\n\t} );\n\n\tconst [\n\t\tshowNavigationMenuCreateNotice,\n\t\thideNavigationMenuCreateNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/create',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst isCreatingNavigationMenu =\n\t\tcreateNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING;\n\n\tuseEffect( () => {\n\t\thideNavigationMenuCreateNotice();\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_SUCCESS ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_ERROR ) {\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks = !! _uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless\n\t// a specific ref is allocated or the user is explicitly creating a new menu. The aim is\n\t// for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length ||\n\t\t\tnavigationMenus?.length > 1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t\tvalue: classicMenuConversionResult,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\t// - (legacy) there is a Navigation Area without a ref attribute pointing to a Navigation Post.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t( ! hasUncontrolledInnerBlocks || isWithinUnassignedArea );\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst [\n\t\tshowClassicMenuConversionErrorNotice,\n\t\thideClassicMenuConversionErrorNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/classic-menu-conversion/error',\n\t} );\n\n\tfunction handleUpdateMenu( menuId ) {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif (\n\t\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS &&\n\t\t\tclassicMenuConversionResult\n\t\t) {\n\t\t\thandleUpdateMenu( classicMenuConversionResult?.id );\n\t\t\thideClassicMenuConversionErrorNotice();\n\t\t\tspeak( __( 'Classic menu imported successfully.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionErrorNotice( classicMenuConversionError );\n\t\t\tspeak( __( 'Classic menu import failed.' ) );\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionResult,\n\t\tclassicMenuConversionError,\n\t] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst navigationSelectorRef = useRef();\n\tconst [\n\t\tshouldFocusNavigationSelector,\n\t\tsetShouldFocusNavigationSelector,\n\t] = useState( false );\n\tconst handleSelectNavigation = useCallback(\n\t\t( navPostOrClassicMenu ) => {\n\t\t\tif ( ! navPostOrClassicMenu ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isClassicMenu = navPostOrClassicMenu.hasOwnProperty(\n\t\t\t\t'auto_add'\n\t\t\t);\n\n\t\t\tif ( isClassicMenu ) {\n\t\t\t\tconvert( navPostOrClassicMenu.id, navPostOrClassicMenu.name );\n\t\t\t} else {\n\t\t\t\thandleUpdateMenu( navPostOrClassicMenu.id );\n\t\t\t}\n\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t},\n\t\t[ convert, handleUpdateMenu ]\n\t);\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\n\n\tconst resetToEmptyBlock = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ resetToEmptyBlock } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tif ( isPlaceholder ) {\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\tonFinish={ handleSelectNavigation }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelect={ handleSelectNavigation }\n\t\t\t\t\t\t\t\tonCreateNew={ resetToEmptyBlock }\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\tresetToEmptyBlock();\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuDeleteNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
|
|
@@ -7,14 +7,15 @@ import { MenuGroup, MenuItem, MenuItemsChoice, ToolbarDropdownMenu } from '@word
|
|
|
7
7
|
import { __, sprintf } from '@wordpress/i18n';
|
|
8
8
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
9
9
|
import { addQueryArgs } from '@wordpress/url';
|
|
10
|
-
import { useCallback, useMemo } from '@wordpress/element';
|
|
10
|
+
import { forwardRef, useCallback, useMemo } from '@wordpress/element';
|
|
11
11
|
/**
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import useNavigationMenu from '../use-navigation-menu';
|
|
16
16
|
import useNavigationEntities from '../use-navigation-entities';
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
function NavigationMenuSelector(_ref, forwardedRef) {
|
|
18
19
|
let {
|
|
19
20
|
currentMenuId,
|
|
20
21
|
onSelect,
|
|
@@ -76,6 +77,7 @@ export default function NavigationMenuSelector(_ref) {
|
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
return createElement(ToolbarDropdownMenu, {
|
|
80
|
+
ref: forwardedRef,
|
|
79
81
|
label: __('Select Menu'),
|
|
80
82
|
text: __('Select Menu'),
|
|
81
83
|
icon: null,
|
|
@@ -110,4 +112,6 @@ export default function NavigationMenuSelector(_ref) {
|
|
|
110
112
|
}, __('Manage menus'))));
|
|
111
113
|
});
|
|
112
114
|
}
|
|
115
|
+
|
|
116
|
+
export default forwardRef(NavigationMenuSelector);
|
|
113
117
|
//# sourceMappingURL=navigation-menu-selector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","ToolbarDropdownMenu","__","sprintf","decodeEntities","addQueryArgs","useCallback","useMemo","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","currentMenuId","onSelect","onCreateNew","showManageActions","actionLabel","toggleProps","createActionLabel","menus","classicMenus","navigationMenus","canUserCreateNavigationMenu","canUserUpdateNavigationMenu","canSwitchNavigationMenu","handleSelect","_onClose","selectedId","find","post","id","handleSelectClassic","menu","menuChoices","map","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","hasManagePermissions","showSelectMenus","onClose","name","post_type"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,QAFD,EAGCC,eAHD,EAICC,mBAJD,QAKO,uBALP;AAMA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,cAAT,QAA+B,0BAA/B;AACA,SAASC,YAAT,QAA6B,gBAA7B;AACA,SAASC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","ToolbarDropdownMenu","__","sprintf","decodeEntities","addQueryArgs","forwardRef","useCallback","useMemo","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","forwardedRef","currentMenuId","onSelect","onCreateNew","showManageActions","actionLabel","toggleProps","createActionLabel","menus","classicMenus","navigationMenus","canUserCreateNavigationMenu","canUserUpdateNavigationMenu","canSwitchNavigationMenu","handleSelect","_onClose","selectedId","find","post","id","handleSelectClassic","menu","menuChoices","map","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","hasManagePermissions","showSelectMenus","onClose","name","post_type"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\nimport { forwardRef, useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector(\n\t{\n\t\tcurrentMenuId,\n\t\tonSelect,\n\t\tonCreateNew,\n\t\tshowManageActions = false,\n\t\tactionLabel,\n\t\ttoggleProps = {},\n\t},\n\tforwardedRef\n) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst handleSelect = useCallback(\n\t\t( _onClose ) => ( selectedId ) => {\n\t\t\t_onClose();\n\t\t\tonSelect(\n\t\t\t\tnavigationMenus?.find( ( post ) => post.id === selectedId )\n\t\t\t);\n\t\t},\n\t\t[ navigationMenus ]\n\t);\n\n\tconst handleSelectClassic = useCallback(\n\t\t( _onClose, menu ) => () => {\n\t\t\t_onClose();\n\t\t\tonSelect( menu );\n\t\t},\n\t\t[]\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title } ) => {\n\t\t\t\tconst label = decodeEntities( title.rendered );\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 ] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\t// Show the selector if:\n\t// - has switch or create permissions and there are block or classic menus.\n\t// - user has create or update permisisons and component should show the menu actions.\n\tconst showSelectMenus =\n\t\t( ( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&\n\t\t\t( hasNavigationMenus || hasClassicMenus ) ) ||\n\t\t( hasManagePermissions && showManageActions );\n\n\tif ( ! showSelectMenus ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tref={ forwardedRef }\n\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\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={ handleSelect( onClose ) }\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={ __( '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={ handleSelectClassic(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tmenu\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>\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{ showManageActions && hasManagePermissions && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\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{ __( 'Manage menus' ) }\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</ToolbarDropdownMenu>\n\t);\n}\n\nexport default forwardRef( NavigationMenuSelector );\n"]}
|
|
@@ -94,7 +94,7 @@ export default function UnsavedInnerBlocks(_ref) {
|
|
|
94
94
|
create: createNavigationMenu
|
|
95
95
|
} = useCreateNavigationMenu(clientId); // Automatically save the uncontrolled blocks.
|
|
96
96
|
|
|
97
|
-
useEffect(
|
|
97
|
+
useEffect(() => {
|
|
98
98
|
// The block will be disabled when used in a BlockPreview.
|
|
99
99
|
// In this case avoid automatic creation of a wp_navigation post.
|
|
100
100
|
// Otherwise the user will be spammed with lots of menus!
|
|
@@ -112,9 +112,10 @@ export default function UnsavedInnerBlocks(_ref) {
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
savingLock.current = true;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
createNavigationMenu(null, blocks).then(menu => {
|
|
116
|
+
onSave(menu);
|
|
117
|
+
savingLock.current = false;
|
|
118
|
+
});
|
|
118
119
|
}, [isDisabled, isSaving, hasResolvedDraftNavigationMenus, hasResolvedNavigationMenus, draftNavigationMenus, navigationMenus, hasSelection, createNavigationMenu, blocks]);
|
|
119
120
|
const Wrapper = isSaving ? Disabled : 'div';
|
|
120
121
|
return createElement(Wrapper, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["classnames","useInnerBlocksProps","Disabled","Spinner","store","coreStore","useSelect","useContext","useEffect","useRef","useMemo","useNavigationMenu","useCreateNavigationMenu","EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blockProps","blocks","clientId","hasSavedUnsavedInnerBlocks","onSave","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Context","savingLock","innerBlocksProps","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","draftNavigationMenus","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","hasResolvedNavigationMenus","navigationMenus","create","createNavigationMenu","menu","Wrapper"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["classnames","useInnerBlocksProps","Disabled","Spinner","store","coreStore","useSelect","useContext","useEffect","useRef","useMemo","useNavigationMenu","useCreateNavigationMenu","EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blockProps","blocks","clientId","hasSavedUnsavedInnerBlocks","onSave","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Context","savingLock","innerBlocksProps","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","draftNavigationMenus","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","hasResolvedNavigationMenus","navigationMenus","create","createNavigationMenu","then","menu","Wrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps } from '@wordpress/block-editor';\nimport { Disabled, Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\n\nconst EMPTY_OBJECT = {};\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nexport default function UnsavedInnerBlocks( {\n\tblockProps,\n\tblocks,\n\tclientId,\n\thasSavedUnsavedInnerBlocks,\n\tonSave,\n\thasSelection,\n} ) {\n\tconst originalBlocks = useRef();\n\n\tuseEffect( () => {\n\t\t// Initially store the uncontrolled inner blocks for\n\t\t// dirty state comparison.\n\t\tif ( ! originalBlocks?.current ) {\n\t\t\toriginalBlocks.current = blocks;\n\t\t}\n\t}, [ blocks ] );\n\n\t// If the current inner blocks object is different in any way\n\t// from the original inner blocks from the post content then the\n\t// user has made changes to the inner blocks. At this point the inner\n\t// blocks can be considered \"dirty\".\n\tconst innerBlocksAreDirty = blocks !== originalBlocks.current;\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\tconst savingLock = useRef( false );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: hasSelection ? undefined : false,\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t} );\n\n\tconst {\n\t\tisSaving,\n\t\tdraftNavigationMenus,\n\t\thasResolvedDraftNavigationMenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isDisabled ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tisSaving: isSavingEntityRecord( 'postType', 'wp_navigation' ),\n\t\t\t\tdraftNavigationMenus: getEntityRecords( ...DRAFT_MENU_PARAMS ),\n\t\t\t\thasResolvedDraftNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tDRAFT_MENU_PARAMS\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ isDisabled ]\n\t);\n\n\tconst { hasResolvedNavigationMenus, navigationMenus } = useNavigationMenu();\n\n\tconst { create: createNavigationMenu } = useCreateNavigationMenu(\n\t\tclientId\n\t);\n\n\t// Automatically save the uncontrolled blocks.\n\tuseEffect( () => {\n\t\t// The block will be disabled when used in a BlockPreview.\n\t\t// In this case avoid automatic creation of a wp_navigation post.\n\t\t// Otherwise the user will be spammed with lots of menus!\n\t\t//\n\t\t// Also ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\t//\n\t\t// Don't try saving when another save is already\n\t\t// in progress.\n\t\t//\n\t\t// And finally only create the menu when the block is selected,\n\t\t// which is an indication they want to start editing.\n\t\tif (\n\t\t\tisDisabled ||\n\t\t\thasSavedUnsavedInnerBlocks ||\n\t\t\tisSaving ||\n\t\t\tsavingLock.current ||\n\t\t\t! hasResolvedDraftNavigationMenus ||\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\t! hasSelection ||\n\t\t\t! innerBlocksAreDirty\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsavingLock.current = true;\n\t\tcreateNavigationMenu( null, blocks ).then( ( menu ) => {\n\t\t\tonSave( menu );\n\t\t\tsavingLock.current = false;\n\t\t} );\n\t}, [\n\t\tisDisabled,\n\t\tisSaving,\n\t\thasResolvedDraftNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tdraftNavigationMenus,\n\t\tnavigationMenus,\n\t\thasSelection,\n\t\tcreateNavigationMenu,\n\t\tblocks,\n\t] );\n\n\tconst Wrapper = isSaving ? Disabled : 'div';\n\n\treturn (\n\t\t<Wrapper className=\"wp-block-navigation__unsaved-changes\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-navigation__unsaved-changes-overlay',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t\t{ isSaving && <Spinner /> }\n\t\t</Wrapper>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import MicroModal from 'micromodal'; // Responsive navigation toggle.
|
|
5
|
+
|
|
6
|
+
function navigationToggleModal(modal) {
|
|
7
|
+
const dialogContainer = modal.querySelector(`.wp-block-navigation__responsive-dialog`);
|
|
8
|
+
const isHidden = 'true' === modal.getAttribute('aria-hidden');
|
|
9
|
+
modal.classList.toggle('has-modal-open', !isHidden);
|
|
10
|
+
dialogContainer.toggleAttribute('aria-modal', !isHidden);
|
|
11
|
+
|
|
12
|
+
if (isHidden) {
|
|
13
|
+
dialogContainer.removeAttribute('role');
|
|
14
|
+
dialogContainer.removeAttribute('aria-modal');
|
|
15
|
+
} else {
|
|
16
|
+
dialogContainer.setAttribute('role', 'dialog');
|
|
17
|
+
dialogContainer.setAttribute('aria-modal', 'true');
|
|
18
|
+
} // Add a class to indicate the modal is open.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
const htmlElement = document.documentElement;
|
|
22
|
+
htmlElement.classList.toggle('has-modal-open');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
window.addEventListener('load', () => {
|
|
26
|
+
MicroModal.init({
|
|
27
|
+
onShow: navigationToggleModal,
|
|
28
|
+
onClose: navigationToggleModal,
|
|
29
|
+
openClass: 'is-menu-open'
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=view-modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/view-modal.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","document","documentElement","window","addEventListener","init","onShow","onClose","openClass"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB,C,CAEA;;AACA,SAASC,qBAAT,CAAgCC,KAAhC,EAAwC;AACvC,QAAMC,eAAe,GAAGD,KAAK,CAACE,aAAN,CACtB,yCADsB,CAAxB;AAIA,QAAMC,QAAQ,GAAG,WAAWH,KAAK,CAACI,YAAN,CAAoB,aAApB,CAA5B;AAEAJ,EAAAA,KAAK,CAACK,SAAN,CAAgBC,MAAhB,CAAwB,gBAAxB,EAA0C,CAAEH,QAA5C;AACAF,EAAAA,eAAe,CAACM,eAAhB,CAAiC,YAAjC,EAA+C,CAAEJ,QAAjD;;AAEA,MAAKA,QAAL,EAAgB;AACfF,IAAAA,eAAe,CAACO,eAAhB,CAAiC,MAAjC;AACAP,IAAAA,eAAe,CAACO,eAAhB,CAAiC,YAAjC;AACA,GAHD,MAGO;AACNP,IAAAA,eAAe,CAACQ,YAAhB,CAA8B,MAA9B,EAAsC,QAAtC;AACAR,IAAAA,eAAe,CAACQ,YAAhB,CAA8B,YAA9B,EAA4C,MAA5C;AACA,GAhBsC,CAkBvC;;;AACA,QAAMC,WAAW,GAAGC,QAAQ,CAACC,eAA7B;AACAF,EAAAA,WAAW,CAACL,SAAZ,CAAsBC,MAAtB,CAA8B,gBAA9B;AACA;;AAEDO,MAAM,CAACC,gBAAP,CAAyB,MAAzB,EAAiC,MAAM;AACtChB,EAAAA,UAAU,CAACiB,IAAX,CAAiB;AAChBC,IAAAA,MAAM,EAAEjB,qBADQ;AAEhBkB,IAAAA,OAAO,EAAElB,qBAFO;AAGhBmB,IAAAA,SAAS,EAAE;AAHK,GAAjB;AAKA,CAND","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = modal.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n} );\n"]}
|
|
@@ -1,28 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import MicroModal from 'micromodal'; // Responsive navigation toggle.
|
|
5
|
-
|
|
6
|
-
function navigationToggleModal(modal) {
|
|
7
|
-
const dialogContainer = modal.querySelector(`.wp-block-navigation__responsive-dialog`);
|
|
8
|
-
const isHidden = 'true' === modal.getAttribute('aria-hidden');
|
|
9
|
-
modal.classList.toggle('has-modal-open', !isHidden);
|
|
10
|
-
dialogContainer.toggleAttribute('aria-modal', !isHidden);
|
|
11
|
-
|
|
12
|
-
if (isHidden) {
|
|
13
|
-
dialogContainer.removeAttribute('role');
|
|
14
|
-
dialogContainer.removeAttribute('aria-modal');
|
|
15
|
-
} else {
|
|
16
|
-
dialogContainer.setAttribute('role', 'dialog');
|
|
17
|
-
dialogContainer.setAttribute('aria-modal', 'true');
|
|
18
|
-
} // Add a class to indicate the modal is open.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const htmlElement = document.documentElement;
|
|
22
|
-
htmlElement.classList.toggle('has-modal-open');
|
|
23
|
-
} // Open on click functionality.
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
// Open on click functionality.
|
|
26
2
|
function closeSubmenus(element) {
|
|
27
3
|
element.querySelectorAll('[aria-expanded="true"]').forEach(function (toggle) {
|
|
28
4
|
toggle.setAttribute('aria-expanded', 'false');
|
|
@@ -52,11 +28,6 @@ function toggleSubmenuOnClick(event) {
|
|
|
52
28
|
|
|
53
29
|
|
|
54
30
|
window.addEventListener('load', () => {
|
|
55
|
-
MicroModal.init({
|
|
56
|
-
onShow: navigationToggleModal,
|
|
57
|
-
onClose: navigationToggleModal,
|
|
58
|
-
openClass: 'is-menu-open'
|
|
59
|
-
});
|
|
60
31
|
const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
|
|
61
32
|
submenuButtons.forEach(function (button) {
|
|
62
33
|
button.addEventListener('click', toggleSubmenuOnClick);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["closeSubmenus","element","querySelectorAll","forEach","toggle","setAttribute","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","getAttribute","parentElement","navigationParent","child","window","addEventListener","submenuButtons","document","button","navigationBlocks","block","contains","submenuBlocks"],"mappings":"AAAA;AACA,SAASA,aAAT,CAAwBC,OAAxB,EAAkC;AACjCA,EAAAA,OAAO,CACLC,gBADF,CACoB,wBADpB,EAEEC,OAFF,CAEW,UAAWC,MAAX,EAAoB;AAC7BA,IAAAA,MAAM,CAACC,YAAP,CAAqB,eAArB,EAAsC,OAAtC;AACA,GAJF;AAKA;;AAED,SAASC,oBAAT,CAA+BC,KAA/B,EAAuC;AACtC,QAAMC,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAsB,iBAAtB,CAArB;AACA,QAAMC,aAAa,GAAGH,YAAY,CAACI,YAAb,CAA2B,eAA3B,CAAtB;;AAEA,MAAKD,aAAa,KAAK,MAAvB,EAAgC;AAC/BX,IAAAA,aAAa,CAAEQ,YAAY,CAACE,OAAb,CAAsB,2BAAtB,CAAF,CAAb;AACA,GAFD,MAEO;AACN;AACA,UAAMG,aAAa,GAAGL,YAAY,CAACE,OAAb,CACrB,2BADqB,CAAtB;AAGA,UAAMI,gBAAgB,GAAGN,YAAY,CAACE,OAAb,CACxB,+FADwB,CAAzB;AAGAI,IAAAA,gBAAgB,CACdZ,gBADF,CACoB,2BADpB,EAEEC,OAFF,CAEW,UAAWY,KAAX,EAAmB;AAC5B,UAAKA,KAAK,KAAKF,aAAf,EAA+B;AAC9Bb,QAAAA,aAAa,CAAEe,KAAF,CAAb;AACA;AACD,KANF,EARM,CAeN;;AACAP,IAAAA,YAAY,CAACH,YAAb,CAA2B,eAA3B,EAA4C,MAA5C;AACA;AACD,C,CAED;AACA;;;AACAW,MAAM,CAACC,gBAAP,CAAyB,MAAzB,EAAiC,MAAM;AACtC,QAAMC,cAAc,GAAGC,QAAQ,CAACjB,gBAAT,CACtB,sCADsB,CAAvB;AAIAgB,EAAAA,cAAc,CAACf,OAAf,CAAwB,UAAWiB,MAAX,EAAoB;AAC3CA,IAAAA,MAAM,CAACH,gBAAP,CAAyB,OAAzB,EAAkCX,oBAAlC;AACA,GAFD,EALsC,CAStC;;AACAa,EAAAA,QAAQ,CAACF,gBAAT,CAA2B,OAA3B,EAAoC,UAAWV,KAAX,EAAmB;AACtD,UAAMc,gBAAgB,GAAGF,QAAQ,CAACjB,gBAAT,CACxB,sBADwB,CAAzB;AAGAmB,IAAAA,gBAAgB,CAAClB,OAAjB,CAA0B,UAAWmB,KAAX,EAAmB;AAC5C,UAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBhB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCT,QAAAA,aAAa,CAAEsB,KAAF,CAAb;AACA;AACD,KAJD;AAKA,GATD,EAVsC,CAoBtC;;AACAH,EAAAA,QAAQ,CAACF,gBAAT,CAA2B,OAA3B,EAAoC,UAAWV,KAAX,EAAmB;AACtD,UAAMiB,aAAa,GAAGL,QAAQ,CAACjB,gBAAT,CACrB,qCADqB,CAAtB;AAGAsB,IAAAA,aAAa,CAACrB,OAAd,CAAuB,UAAWmB,KAAX,EAAmB;AACzC,UAAK,CAAEA,KAAK,CAACC,QAAN,CAAgBhB,KAAK,CAACE,MAAtB,CAAP,EAAwC;AACvCT,QAAAA,aAAa,CAAEsB,KAAF,CAAb;AACA;AACD,KAJD;AAKA,GATD;AAUA,CA/BD","sourcesContent":["// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
|
|
@@ -9,6 +9,7 @@ import { AlignmentControl, BlockControls, RichText, store as blockEditorStore }
|
|
|
9
9
|
import { useCallback } from '@wordpress/element';
|
|
10
10
|
import { useSelect } from '@wordpress/data';
|
|
11
11
|
const name = 'core/paragraph';
|
|
12
|
+
const allowedParentBlockAlignments = ['left', 'center', 'right'];
|
|
12
13
|
|
|
13
14
|
function ParagraphBlock(_ref) {
|
|
14
15
|
var _style$baseColors, _style$baseColors$col, _style$baseColors2, _style$baseColors2$co, _style$baseColors3, _style$baseColors3$el, _style$baseColors3$el2, _style$baseColors3$el3;
|
|
@@ -19,7 +20,8 @@ function ParagraphBlock(_ref) {
|
|
|
19
20
|
onReplace,
|
|
20
21
|
setAttributes,
|
|
21
22
|
style,
|
|
22
|
-
clientId
|
|
23
|
+
clientId,
|
|
24
|
+
parentBlockAlignment
|
|
23
25
|
} = _ref;
|
|
24
26
|
const isRTL = useSelect(select => {
|
|
25
27
|
return !!select(blockEditorStore).getSettings().isRTL;
|
|
@@ -41,6 +43,8 @@ function ParagraphBlock(_ref) {
|
|
|
41
43
|
align: nextAlign
|
|
42
44
|
});
|
|
43
45
|
}, []);
|
|
46
|
+
const parentTextAlignment = allowedParentBlockAlignments.includes(parentBlockAlignment) ? parentBlockAlignment : undefined;
|
|
47
|
+
const textAlignment = align || parentTextAlignment;
|
|
44
48
|
return createElement(Fragment, null, createElement(BlockControls, {
|
|
45
49
|
group: "block"
|
|
46
50
|
}, createElement(AlignmentControl, {
|
|
@@ -79,7 +83,7 @@ function ParagraphBlock(_ref) {
|
|
|
79
83
|
onReplace: onReplace,
|
|
80
84
|
onRemove: onReplace ? () => onReplace([]) : undefined,
|
|
81
85
|
placeholder: placeholder || __('Start writing…'),
|
|
82
|
-
textAlign:
|
|
86
|
+
textAlign: textAlignment,
|
|
83
87
|
__unstableEmbedURLOnPaste: true
|
|
84
88
|
}));
|
|
85
89
|
}
|