@wordpress/block-library 9.8.7 → 9.8.9
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/build/navigation/edit/index.js +23 -2
- package/build/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/index.js +23 -2
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-style/cover/editor-rtl.css +1 -0
- package/build-style/cover/editor.css +1 -0
- package/build-style/cover/style-rtl.css +9 -4
- package/build-style/cover/style.css +9 -4
- package/build-style/editor-rtl.css +2 -0
- package/build-style/editor.css +2 -0
- package/build-style/navigation/editor-rtl.css +1 -0
- package/build-style/navigation/editor.css +1 -0
- package/build-style/style-rtl.css +9 -4
- package/build-style/style.css +9 -4
- package/package.json +11 -11
- package/src/cover/editor.scss +1 -0
- package/src/cover/index.php +38 -19
- package/src/cover/style.scss +7 -1
- package/src/navigation/edit/index.js +30 -3
- package/src/navigation/editor.scss +1 -0
|
@@ -51,6 +51,27 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
51
51
|
* Internal dependencies
|
|
52
52
|
*/
|
|
53
53
|
|
|
54
|
+
function useResponsiveMenu(navRef) {
|
|
55
|
+
const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = (0, _element.useState)(false);
|
|
56
|
+
(0, _element.useEffect)(() => {
|
|
57
|
+
if (!navRef.current) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const htmlElement = navRef.current.ownerDocument.documentElement;
|
|
61
|
+
|
|
62
|
+
// Add a `has-modal-open` class to the <html> when the responsive
|
|
63
|
+
// menu is open. This reproduces the same behavior of the frontend.
|
|
64
|
+
if (isResponsiveMenuOpen) {
|
|
65
|
+
htmlElement.classList.add('has-modal-open');
|
|
66
|
+
} else {
|
|
67
|
+
htmlElement.classList.remove('has-modal-open');
|
|
68
|
+
}
|
|
69
|
+
return () => {
|
|
70
|
+
htmlElement?.classList.remove('has-modal-open');
|
|
71
|
+
};
|
|
72
|
+
}, [navRef, isResponsiveMenuOpen]);
|
|
73
|
+
return [isResponsiveMenuOpen, setResponsiveMenuVisibility];
|
|
74
|
+
}
|
|
54
75
|
function ColorTools({
|
|
55
76
|
textColor,
|
|
56
77
|
setTextColor,
|
|
@@ -210,7 +231,8 @@ function Navigation({
|
|
|
210
231
|
selectBlock,
|
|
211
232
|
__unstableMarkNextChangeAsNotPersistent
|
|
212
233
|
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
213
|
-
const
|
|
234
|
+
const navRef = (0, _element.useRef)();
|
|
235
|
+
const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = useResponsiveMenu(navRef);
|
|
214
236
|
const [overlayMenuPreview, setOverlayMenuPreview] = (0, _element.useState)(false);
|
|
215
237
|
const {
|
|
216
238
|
hasResolvedNavigationMenus,
|
|
@@ -273,7 +295,6 @@ function Navigation({
|
|
|
273
295
|
__unstableMarkNextChangeAsNotPersistent();
|
|
274
296
|
setRef(navigationFallbackId);
|
|
275
297
|
}, [ref, setRef, hasUnsavedBlocks, navigationFallbackId, __unstableMarkNextChangeAsNotPersistent]);
|
|
276
|
-
const navRef = (0, _element.useRef)();
|
|
277
298
|
|
|
278
299
|
// The standard HTML5 tag for the block wrapper.
|
|
279
300
|
const TagName = 'nav';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_coreData","_data","_components","_i18n","_a11y","_icons","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","navRef","detectedBackgroundColor","setDetectedBackgroundColor","useState","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","Platform","OS","useEffect","detectColors","current","subMenuElement","querySelector","color","colorGradientSettings","useMultipleOriginColorsAndGradients","hasColorsOrGradients","jsxs","Fragment","children","jsx","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","label","__","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","ContrastChecker","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","useCallback","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","useCreateNavigationMenu","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","useInnerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","useNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","useConvertClassicToBlockMenu","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","unlock","useSelect","coreStore","navigationFallbackId","useRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","useBlockProps","clsx","class","getColorClassName","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","speak","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","useInstanceId","OverlayMenuPreview","stylingInspectorControls","InspectorControls","PanelBody","title","Button","__next40pxDefaultSize","onClick","Icon","close","hidden","__experimentalToggleGroupControl","__nextHasNoMarginBottom","help","onChange","isBlock","__experimentalToggleGroupControlOption","ToggleControl","checked","disabled","Notice","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","kind","type","RecursionProvider","uniqueId","onDelete","Spinner","hasCustomPlaceholder","_default","exports","withColors"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_coreData","_data","_components","_i18n","_a11y","_icons","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useResponsiveMenu","navRef","isResponsiveMenuOpen","setResponsiveMenuVisibility","useState","useEffect","current","htmlElement","ownerDocument","documentElement","classList","add","remove","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","Platform","OS","detectColors","subMenuElement","querySelector","color","colorGradientSettings","useMultipleOriginColorsAndGradients","hasColorsOrGradients","jsxs","Fragment","children","jsx","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","label","__","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","ContrastChecker","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","useCallback","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","useCreateNavigationMenu","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","useInnerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","useRef","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","useNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","useConvertClassicToBlockMenu","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","unlock","useSelect","coreStore","navigationFallbackId","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","useBlockProps","clsx","class","getColorClassName","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","speak","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","useInstanceId","OverlayMenuPreview","stylingInspectorControls","InspectorControls","PanelBody","title","Button","__next40pxDefaultSize","onClick","Icon","close","hidden","__experimentalToggleGroupControl","__nextHasNoMarginBottom","help","onChange","isBlock","__experimentalToggleGroupControlOption","ToggleControl","checked","disabled","Notice","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","kind","type","RecursionProvider","uniqueId","onDelete","Spinner","hasCustomPlaceholder","_default","exports","withColors"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction useResponsiveMenu( navRef ) {\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tif ( ! navRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst htmlElement = navRef.current.ownerDocument.documentElement;\n\n\t\t// Add a `has-modal-open` class to the <html> when the responsive\n\t\t// menu is open. This reproduces the same behavior of the frontend.\n\t\tif ( isResponsiveMenuOpen ) {\n\t\t\thtmlElement.classList.add( 'has-modal-open' );\n\t\t} else {\n\t\t\thtmlElement.classList.remove( 'has-modal-open' );\n\t\t}\n\n\t\treturn () => {\n\t\t\thtmlElement?.classList.remove( 'has-modal-open' );\n\t\t};\n\t}, [ navRef, isResponsiveMenuOpen ] );\n\n\treturn [ isResponsiveMenuOpen, setResponsiveMenuVisibility ];\n}\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst navRef = useRef();\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseResponsiveMenu( navRef );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,6 +43,27 @@ import { unlock } from '../../lock-unlock';
|
|
|
43
43
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
44
44
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
45
45
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
46
|
+
function useResponsiveMenu(navRef) {
|
|
47
|
+
const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = useState(false);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
if (!navRef.current) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const htmlElement = navRef.current.ownerDocument.documentElement;
|
|
53
|
+
|
|
54
|
+
// Add a `has-modal-open` class to the <html> when the responsive
|
|
55
|
+
// menu is open. This reproduces the same behavior of the frontend.
|
|
56
|
+
if (isResponsiveMenuOpen) {
|
|
57
|
+
htmlElement.classList.add('has-modal-open');
|
|
58
|
+
} else {
|
|
59
|
+
htmlElement.classList.remove('has-modal-open');
|
|
60
|
+
}
|
|
61
|
+
return () => {
|
|
62
|
+
htmlElement?.classList.remove('has-modal-open');
|
|
63
|
+
};
|
|
64
|
+
}, [navRef, isResponsiveMenuOpen]);
|
|
65
|
+
return [isResponsiveMenuOpen, setResponsiveMenuVisibility];
|
|
66
|
+
}
|
|
46
67
|
function ColorTools({
|
|
47
68
|
textColor,
|
|
48
69
|
setTextColor,
|
|
@@ -202,7 +223,8 @@ function Navigation({
|
|
|
202
223
|
selectBlock,
|
|
203
224
|
__unstableMarkNextChangeAsNotPersistent
|
|
204
225
|
} = useDispatch(blockEditorStore);
|
|
205
|
-
const
|
|
226
|
+
const navRef = useRef();
|
|
227
|
+
const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = useResponsiveMenu(navRef);
|
|
206
228
|
const [overlayMenuPreview, setOverlayMenuPreview] = useState(false);
|
|
207
229
|
const {
|
|
208
230
|
hasResolvedNavigationMenus,
|
|
@@ -265,7 +287,6 @@ function Navigation({
|
|
|
265
287
|
__unstableMarkNextChangeAsNotPersistent();
|
|
266
288
|
setRef(navigationFallbackId);
|
|
267
289
|
}, [ref, setRef, hasUnsavedBlocks, navigationFallbackId, __unstableMarkNextChangeAsNotPersistent]);
|
|
268
|
-
const navRef = useRef();
|
|
269
290
|
|
|
270
291
|
// The standard HTML5 tag for the block wrapper.
|
|
271
292
|
const TagName = 'nav';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","RecursionProvider","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","speak","close","Icon","useInstanceId","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","ManageMenusButton","MenuInspectorControls","DeletedNavigationWarning","AccessibleDescription","AccessibleMenuDescription","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","navRef","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","OS","current","subMenuElement","querySelector","color","colorGradientSettings","hasColorsOrGradients","children","__experimentalIsRenderedInSidebar","settings","colorValue","label","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","class","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","stylingInspectorControls","title","__next40pxDefaultSize","onClick","hidden","__nextHasNoMarginBottom","help","onChange","isBlock","checked","disabled","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","RecursionProvider","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","speak","close","Icon","useInstanceId","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","ManageMenusButton","MenuInspectorControls","DeletedNavigationWarning","AccessibleDescription","AccessibleMenuDescription","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useResponsiveMenu","navRef","isResponsiveMenuOpen","setResponsiveMenuVisibility","current","htmlElement","ownerDocument","documentElement","classList","add","remove","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","OS","subMenuElement","querySelector","color","colorGradientSettings","hasColorsOrGradients","children","__experimentalIsRenderedInSidebar","settings","colorValue","label","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","class","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","stylingInspectorControls","title","__next40pxDefaultSize","onClick","hidden","__nextHasNoMarginBottom","help","onChange","isBlock","checked","disabled","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction useResponsiveMenu( navRef ) {\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tif ( ! navRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst htmlElement = navRef.current.ownerDocument.documentElement;\n\n\t\t// Add a `has-modal-open` class to the <html> when the responsive\n\t\t// menu is open. This reproduces the same behavior of the frontend.\n\t\tif ( isResponsiveMenuOpen ) {\n\t\t\thtmlElement.classList.add( 'has-modal-open' );\n\t\t} else {\n\t\t\thtmlElement.classList.remove( 'has-modal-open' );\n\t\t}\n\n\t\treturn () => {\n\t\t\thtmlElement?.classList.remove( 'has-modal-open' );\n\t\t};\n\t}, [ navRef, isResponsiveMenuOpen ] );\n\n\treturn [ isResponsiveMenuOpen, setResponsiveMenuVisibility ];\n}\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst navRef = useRef();\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseResponsiveMenu( navRef );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
right: 0;
|
|
139
139
|
bottom: 0;
|
|
140
140
|
left: 0;
|
|
141
|
-
z-index:
|
|
141
|
+
z-index: 1;
|
|
142
142
|
opacity: 0.5;
|
|
143
143
|
}
|
|
144
144
|
.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before,
|
|
@@ -301,10 +301,15 @@
|
|
|
301
301
|
}
|
|
302
302
|
.wp-block-cover-image .wp-block-cover__inner-container,
|
|
303
303
|
.wp-block-cover .wp-block-cover__inner-container {
|
|
304
|
-
position: relative;
|
|
305
304
|
width: 100%;
|
|
305
|
+
z-index: 1;
|
|
306
306
|
color: inherit; direction: rtl;
|
|
307
307
|
}
|
|
308
|
+
.has-modal-open .wp-block-cover-image .wp-block-cover__inner-container,
|
|
309
|
+
.has-modal-open .wp-block-cover .wp-block-cover__inner-container {
|
|
310
|
+
z-index: auto;
|
|
311
|
+
}
|
|
312
|
+
|
|
308
313
|
.wp-block-cover-image.is-position-top-left,
|
|
309
314
|
.wp-block-cover.is-position-top-left {
|
|
310
315
|
align-items: flex-start;
|
|
@@ -418,11 +423,11 @@ video.wp-block-cover__video-background.is-repeated {
|
|
|
418
423
|
}
|
|
419
424
|
|
|
420
425
|
.wp-block-cover__video-background {
|
|
421
|
-
z-index:
|
|
426
|
+
z-index: 0;
|
|
422
427
|
}
|
|
423
428
|
|
|
424
429
|
.wp-block-cover__image-background {
|
|
425
|
-
z-index:
|
|
430
|
+
z-index: 0;
|
|
426
431
|
}
|
|
427
432
|
|
|
428
433
|
section.wp-block-cover-image h2,
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
left: 0;
|
|
140
140
|
bottom: 0;
|
|
141
141
|
right: 0;
|
|
142
|
-
z-index:
|
|
142
|
+
z-index: 1;
|
|
143
143
|
opacity: 0.5;
|
|
144
144
|
}
|
|
145
145
|
.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before,
|
|
@@ -302,11 +302,16 @@
|
|
|
302
302
|
}
|
|
303
303
|
.wp-block-cover-image .wp-block-cover__inner-container,
|
|
304
304
|
.wp-block-cover .wp-block-cover__inner-container {
|
|
305
|
-
position: relative;
|
|
306
305
|
width: 100%;
|
|
306
|
+
z-index: 1;
|
|
307
307
|
color: inherit;
|
|
308
308
|
/*rtl:raw: direction: rtl; */
|
|
309
309
|
}
|
|
310
|
+
.has-modal-open .wp-block-cover-image .wp-block-cover__inner-container,
|
|
311
|
+
.has-modal-open .wp-block-cover .wp-block-cover__inner-container {
|
|
312
|
+
z-index: auto;
|
|
313
|
+
}
|
|
314
|
+
|
|
310
315
|
.wp-block-cover-image.is-position-top-left,
|
|
311
316
|
.wp-block-cover.is-position-top-left {
|
|
312
317
|
align-items: flex-start;
|
|
@@ -420,11 +425,11 @@ video.wp-block-cover__video-background.is-repeated {
|
|
|
420
425
|
}
|
|
421
426
|
|
|
422
427
|
.wp-block-cover__video-background {
|
|
423
|
-
z-index:
|
|
428
|
+
z-index: 0;
|
|
424
429
|
}
|
|
425
430
|
|
|
426
431
|
.wp-block-cover__image-background {
|
|
427
|
-
z-index:
|
|
432
|
+
z-index: 0;
|
|
428
433
|
}
|
|
429
434
|
|
|
430
435
|
section.wp-block-cover-image h2,
|
|
@@ -424,6 +424,7 @@ html :where(.wp-block-column) {
|
|
|
424
424
|
}
|
|
425
425
|
.wp-block-cover .components-spinner {
|
|
426
426
|
position: absolute;
|
|
427
|
+
z-index: 1;
|
|
427
428
|
top: 50%;
|
|
428
429
|
right: 50%;
|
|
429
430
|
transform: translate(50%, -50%);
|
|
@@ -1575,6 +1576,7 @@ figure.wp-block-image:not(.wp-block) {
|
|
|
1575
1576
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender {
|
|
1576
1577
|
background-color: #1e1e1e;
|
|
1577
1578
|
color: #fff;
|
|
1579
|
+
height: 24px;
|
|
1578
1580
|
}
|
|
1579
1581
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender {
|
|
1580
1582
|
padding: 0;
|
package/build-style/editor.css
CHANGED
|
@@ -428,6 +428,7 @@ html :where(.wp-block-column) {
|
|
|
428
428
|
}
|
|
429
429
|
.wp-block-cover .components-spinner {
|
|
430
430
|
position: absolute;
|
|
431
|
+
z-index: 1;
|
|
431
432
|
top: 50%;
|
|
432
433
|
left: 50%;
|
|
433
434
|
transform: translate(-50%, -50%);
|
|
@@ -1584,6 +1585,7 @@ figure.wp-block-image:not(.wp-block) {
|
|
|
1584
1585
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender {
|
|
1585
1586
|
background-color: #1e1e1e;
|
|
1586
1587
|
color: #fff;
|
|
1588
|
+
height: 24px;
|
|
1587
1589
|
}
|
|
1588
1590
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender {
|
|
1589
1591
|
padding: 0;
|
|
@@ -222,6 +222,7 @@
|
|
|
222
222
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender {
|
|
223
223
|
background-color: #1e1e1e;
|
|
224
224
|
color: #fff;
|
|
225
|
+
height: 24px;
|
|
225
226
|
}
|
|
226
227
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender {
|
|
227
228
|
padding: 0;
|
|
@@ -222,6 +222,7 @@
|
|
|
222
222
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender {
|
|
223
223
|
background-color: #1e1e1e;
|
|
224
224
|
color: #fff;
|
|
225
|
+
height: 24px;
|
|
225
226
|
}
|
|
226
227
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender.block-editor-button-block-appender.block-editor-button-block-appender {
|
|
227
228
|
padding: 0;
|
|
@@ -653,7 +653,7 @@
|
|
|
653
653
|
right: 0;
|
|
654
654
|
bottom: 0;
|
|
655
655
|
left: 0;
|
|
656
|
-
z-index:
|
|
656
|
+
z-index: 1;
|
|
657
657
|
opacity: 0.5;
|
|
658
658
|
}
|
|
659
659
|
.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before,
|
|
@@ -816,10 +816,15 @@
|
|
|
816
816
|
}
|
|
817
817
|
.wp-block-cover-image .wp-block-cover__inner-container,
|
|
818
818
|
.wp-block-cover .wp-block-cover__inner-container {
|
|
819
|
-
position: relative;
|
|
820
819
|
width: 100%;
|
|
820
|
+
z-index: 1;
|
|
821
821
|
color: inherit; direction: rtl;
|
|
822
822
|
}
|
|
823
|
+
.has-modal-open .wp-block-cover-image .wp-block-cover__inner-container,
|
|
824
|
+
.has-modal-open .wp-block-cover .wp-block-cover__inner-container {
|
|
825
|
+
z-index: auto;
|
|
826
|
+
}
|
|
827
|
+
|
|
823
828
|
.wp-block-cover-image.is-position-top-left,
|
|
824
829
|
.wp-block-cover.is-position-top-left {
|
|
825
830
|
align-items: flex-start;
|
|
@@ -933,11 +938,11 @@ video.wp-block-cover__video-background.is-repeated {
|
|
|
933
938
|
}
|
|
934
939
|
|
|
935
940
|
.wp-block-cover__video-background {
|
|
936
|
-
z-index:
|
|
941
|
+
z-index: 0;
|
|
937
942
|
}
|
|
938
943
|
|
|
939
944
|
.wp-block-cover__image-background {
|
|
940
|
-
z-index:
|
|
945
|
+
z-index: 0;
|
|
941
946
|
}
|
|
942
947
|
|
|
943
948
|
section.wp-block-cover-image h2,
|
package/build-style/style.css
CHANGED
|
@@ -659,7 +659,7 @@
|
|
|
659
659
|
left: 0;
|
|
660
660
|
bottom: 0;
|
|
661
661
|
right: 0;
|
|
662
|
-
z-index:
|
|
662
|
+
z-index: 1;
|
|
663
663
|
opacity: 0.5;
|
|
664
664
|
}
|
|
665
665
|
.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before,
|
|
@@ -822,11 +822,16 @@
|
|
|
822
822
|
}
|
|
823
823
|
.wp-block-cover-image .wp-block-cover__inner-container,
|
|
824
824
|
.wp-block-cover .wp-block-cover__inner-container {
|
|
825
|
-
position: relative;
|
|
826
825
|
width: 100%;
|
|
826
|
+
z-index: 1;
|
|
827
827
|
color: inherit;
|
|
828
828
|
/*rtl:raw: direction: rtl; */
|
|
829
829
|
}
|
|
830
|
+
.has-modal-open .wp-block-cover-image .wp-block-cover__inner-container,
|
|
831
|
+
.has-modal-open .wp-block-cover .wp-block-cover__inner-container {
|
|
832
|
+
z-index: auto;
|
|
833
|
+
}
|
|
834
|
+
|
|
830
835
|
.wp-block-cover-image.is-position-top-left,
|
|
831
836
|
.wp-block-cover.is-position-top-left {
|
|
832
837
|
align-items: flex-start;
|
|
@@ -940,11 +945,11 @@ video.wp-block-cover__video-background.is-repeated {
|
|
|
940
945
|
}
|
|
941
946
|
|
|
942
947
|
.wp-block-cover__video-background {
|
|
943
|
-
z-index:
|
|
948
|
+
z-index: 0;
|
|
944
949
|
}
|
|
945
950
|
|
|
946
951
|
.wp-block-cover__image-background {
|
|
947
|
-
z-index:
|
|
952
|
+
z-index: 0;
|
|
948
953
|
}
|
|
949
954
|
|
|
950
955
|
section.wp-block-cover-image h2,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-library",
|
|
3
|
-
"version": "9.8.
|
|
3
|
+
"version": "9.8.9",
|
|
4
4
|
"description": "Block library for the WordPress editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"@wordpress/api-fetch": "^7.8.2",
|
|
44
44
|
"@wordpress/autop": "^4.8.1",
|
|
45
45
|
"@wordpress/blob": "^4.8.1",
|
|
46
|
-
"@wordpress/block-editor": "^14.3.
|
|
47
|
-
"@wordpress/blocks": "^13.8.
|
|
48
|
-
"@wordpress/components": "^28.8.
|
|
46
|
+
"@wordpress/block-editor": "^14.3.8",
|
|
47
|
+
"@wordpress/blocks": "^13.8.5",
|
|
48
|
+
"@wordpress/components": "^28.8.7",
|
|
49
49
|
"@wordpress/compose": "^7.8.3",
|
|
50
|
-
"@wordpress/core-data": "^7.8.
|
|
50
|
+
"@wordpress/core-data": "^7.8.8",
|
|
51
51
|
"@wordpress/data": "^10.8.3",
|
|
52
52
|
"@wordpress/date": "^5.8.2",
|
|
53
53
|
"@wordpress/deprecated": "^4.8.2",
|
|
@@ -58,17 +58,17 @@
|
|
|
58
58
|
"@wordpress/html-entities": "^4.8.1",
|
|
59
59
|
"@wordpress/i18n": "^5.8.2",
|
|
60
60
|
"@wordpress/icons": "^10.8.2",
|
|
61
|
-
"@wordpress/interactivity": "^6.8.
|
|
62
|
-
"@wordpress/interactivity-router": "^2.8.
|
|
61
|
+
"@wordpress/interactivity": "^6.8.5",
|
|
62
|
+
"@wordpress/interactivity-router": "^2.8.6",
|
|
63
63
|
"@wordpress/keyboard-shortcuts": "^5.8.3",
|
|
64
64
|
"@wordpress/keycodes": "^4.8.2",
|
|
65
65
|
"@wordpress/notices": "^5.8.3",
|
|
66
|
-
"@wordpress/patterns": "^2.8.
|
|
66
|
+
"@wordpress/patterns": "^2.8.8",
|
|
67
67
|
"@wordpress/primitives": "^4.8.1",
|
|
68
68
|
"@wordpress/private-apis": "^1.8.1",
|
|
69
|
-
"@wordpress/reusable-blocks": "^5.8.
|
|
69
|
+
"@wordpress/reusable-blocks": "^5.8.8",
|
|
70
70
|
"@wordpress/rich-text": "^7.8.3",
|
|
71
|
-
"@wordpress/server-side-render": "^5.8.
|
|
71
|
+
"@wordpress/server-side-render": "^5.8.7",
|
|
72
72
|
"@wordpress/url": "^4.8.1",
|
|
73
73
|
"@wordpress/viewport": "^6.8.3",
|
|
74
74
|
"@wordpress/wordcount": "^4.8.1",
|
|
@@ -89,5 +89,5 @@
|
|
|
89
89
|
"publishConfig": {
|
|
90
90
|
"access": "public"
|
|
91
91
|
},
|
|
92
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "2453690ba117f1c1634e078f3a0b6a9ac47820ba"
|
|
93
93
|
}
|
package/src/cover/editor.scss
CHANGED
package/src/cover/index.php
CHANGED
|
@@ -20,29 +20,22 @@ function render_block_core_cover( $attributes, $content ) {
|
|
|
20
20
|
return $content;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
$object_position = isset( $attributes['focalPoint'] )
|
|
24
|
+
? round( $attributes['focalPoint']['x'] * 100 ) . '% ' . round( $attributes['focalPoint']['y'] * 100 ) . '%'
|
|
25
|
+
: null;
|
|
26
|
+
|
|
23
27
|
if ( ! ( $attributes['hasParallax'] || $attributes['isRepeated'] ) ) {
|
|
24
28
|
$attr = array(
|
|
25
29
|
'class' => 'wp-block-cover__image-background',
|
|
26
30
|
'data-object-fit' => 'cover',
|
|
27
31
|
);
|
|
28
32
|
|
|
29
|
-
if (
|
|
30
|
-
$object_position = round( $attributes['focalPoint']['x'] * 100 ) . '% ' . round( $attributes['focalPoint']['y'] * 100 ) . '%';
|
|
33
|
+
if ( $object_position ) {
|
|
31
34
|
$attr['data-object-position'] = $object_position;
|
|
32
|
-
$attr['style'] = 'object-position:
|
|
35
|
+
$attr['style'] = 'object-position:' . $object_position . ';';
|
|
33
36
|
}
|
|
34
37
|
|
|
35
38
|
$image = get_the_post_thumbnail( null, 'post-thumbnail', $attr );
|
|
36
|
-
|
|
37
|
-
/*
|
|
38
|
-
* Inserts the featured image between the (1st) cover 'background' `span` and 'inner_container' `div`,
|
|
39
|
-
* and removes eventual whitespace characters between the two (typically introduced at template level)
|
|
40
|
-
*/
|
|
41
|
-
$inner_container_start = '/<div\b[^>]+wp-block-cover__inner-container[\s|"][^>]*>/U';
|
|
42
|
-
if ( 1 === preg_match( $inner_container_start, $content, $matches, PREG_OFFSET_CAPTURE ) ) {
|
|
43
|
-
$offset = $matches[0][1];
|
|
44
|
-
$content = substr( $content, 0, $offset ) . $image . substr( $content, $offset );
|
|
45
|
-
}
|
|
46
39
|
} else {
|
|
47
40
|
if ( in_the_loop() ) {
|
|
48
41
|
update_post_thumbnail_cache();
|
|
@@ -52,15 +45,41 @@ function render_block_core_cover( $attributes, $content ) {
|
|
|
52
45
|
return $content;
|
|
53
46
|
}
|
|
54
47
|
|
|
55
|
-
$
|
|
48
|
+
$current_thumbnail_id = get_post_thumbnail_id();
|
|
49
|
+
|
|
50
|
+
$processor = new WP_HTML_Tag_Processor( '<div></div>' );
|
|
56
51
|
$processor->next_tag();
|
|
57
52
|
|
|
58
|
-
$
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
$current_alt = trim( strip_tags( get_post_meta( $current_thumbnail_id, '_wp_attachment_image_alt', true ) ) );
|
|
54
|
+
if ( $current_alt ) {
|
|
55
|
+
$processor->set_attribute( 'role', 'img' );
|
|
56
|
+
$processor->set_attribute( 'aria-label', $current_alt );
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
$processor->add_class( 'wp-block-cover__image-background' );
|
|
60
|
+
$processor->add_class( 'wp-image-' . $current_thumbnail_id );
|
|
61
|
+
if ( $attributes['hasParallax'] ) {
|
|
62
|
+
$processor->add_class( 'has-parallax' );
|
|
63
|
+
}
|
|
64
|
+
if ( $attributes['isRepeated'] ) {
|
|
65
|
+
$processor->add_class( 'is-repeated' );
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
$styles = 'background-position:' . ( $object_position ?? '50% 50%' ) . ';';
|
|
69
|
+
$styles .= 'background-image:url(' . esc_url( $current_featured_image ) . ');';
|
|
70
|
+
$processor->set_attribute( 'style', $styles );
|
|
71
|
+
|
|
72
|
+
$image = $processor->get_updated_html();
|
|
73
|
+
}
|
|
61
74
|
|
|
62
|
-
|
|
63
|
-
|
|
75
|
+
/*
|
|
76
|
+
* Inserts the featured image between the (1st) cover 'background' `span` and 'inner_container' `div`,
|
|
77
|
+
* and removes eventual whitespace characters between the two (typically introduced at template level)
|
|
78
|
+
*/
|
|
79
|
+
$inner_container_start = '/<div\b[^>]+wp-block-cover__inner-container[\s|"][^>]*>/U';
|
|
80
|
+
if ( 1 === preg_match( $inner_container_start, $content, $matches, PREG_OFFSET_CAPTURE ) ) {
|
|
81
|
+
$offset = $matches[0][1];
|
|
82
|
+
$content = substr( $content, 0, $offset ) . $image . substr( $content, $offset );
|
|
64
83
|
}
|
|
65
84
|
|
|
66
85
|
return $content;
|
package/src/cover/style.scss
CHANGED
|
@@ -95,11 +95,17 @@
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
.wp-block-cover__inner-container {
|
|
98
|
-
position: relative;
|
|
99
98
|
width: 100%;
|
|
99
|
+
z-index: z-index(".wp-block-cover__inner-container");
|
|
100
100
|
color: inherit;
|
|
101
101
|
// Reset the fixed LTR direction at the root of the block in RTL languages.
|
|
102
102
|
/*rtl:raw: direction: rtl; */
|
|
103
|
+
|
|
104
|
+
// Reset the z-index to auto when the body has a modal open. So when the
|
|
105
|
+
// modal is inside the cover, it doesn't create a stacking context.
|
|
106
|
+
@at-root .has-modal-open & {
|
|
107
|
+
z-index: auto;
|
|
108
|
+
}
|
|
103
109
|
}
|
|
104
110
|
|
|
105
111
|
// Position: Top
|
|
@@ -73,6 +73,33 @@ import AccessibleDescription from './accessible-description';
|
|
|
73
73
|
import AccessibleMenuDescription from './accessible-menu-description';
|
|
74
74
|
import { unlock } from '../../lock-unlock';
|
|
75
75
|
|
|
76
|
+
function useResponsiveMenu( navRef ) {
|
|
77
|
+
const [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =
|
|
78
|
+
useState( false );
|
|
79
|
+
|
|
80
|
+
useEffect( () => {
|
|
81
|
+
if ( ! navRef.current ) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const htmlElement = navRef.current.ownerDocument.documentElement;
|
|
86
|
+
|
|
87
|
+
// Add a `has-modal-open` class to the <html> when the responsive
|
|
88
|
+
// menu is open. This reproduces the same behavior of the frontend.
|
|
89
|
+
if ( isResponsiveMenuOpen ) {
|
|
90
|
+
htmlElement.classList.add( 'has-modal-open' );
|
|
91
|
+
} else {
|
|
92
|
+
htmlElement.classList.remove( 'has-modal-open' );
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return () => {
|
|
96
|
+
htmlElement?.classList.remove( 'has-modal-open' );
|
|
97
|
+
};
|
|
98
|
+
}, [ navRef, isResponsiveMenuOpen ] );
|
|
99
|
+
|
|
100
|
+
return [ isResponsiveMenuOpen, setResponsiveMenuVisibility ];
|
|
101
|
+
}
|
|
102
|
+
|
|
76
103
|
function ColorTools( {
|
|
77
104
|
textColor,
|
|
78
105
|
setTextColor,
|
|
@@ -284,8 +311,10 @@ function Navigation( {
|
|
|
284
311
|
__unstableMarkNextChangeAsNotPersistent,
|
|
285
312
|
} = useDispatch( blockEditorStore );
|
|
286
313
|
|
|
314
|
+
const navRef = useRef();
|
|
315
|
+
|
|
287
316
|
const [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =
|
|
288
|
-
|
|
317
|
+
useResponsiveMenu( navRef );
|
|
289
318
|
|
|
290
319
|
const [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );
|
|
291
320
|
|
|
@@ -367,8 +396,6 @@ function Navigation( {
|
|
|
367
396
|
__unstableMarkNextChangeAsNotPersistent,
|
|
368
397
|
] );
|
|
369
398
|
|
|
370
|
-
const navRef = useRef();
|
|
371
|
-
|
|
372
399
|
// The standard HTML5 tag for the block wrapper.
|
|
373
400
|
const TagName = 'nav';
|
|
374
401
|
|
|
@@ -203,6 +203,7 @@ $color-control-label-height: 20px;
|
|
|
203
203
|
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender {
|
|
204
204
|
background-color: $gray-900;
|
|
205
205
|
color: $white;
|
|
206
|
+
height: $button-size-small;
|
|
206
207
|
|
|
207
208
|
// This needs specificity to override an inherited padding.
|
|
208
209
|
// That source padding in turn has high specificity to protect
|