@wordpress/block-library 9.30.0 → 9.30.1-next.6870dfe5b.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/accordion-content/edit.js +8 -8
- package/build/accordion-content/edit.js.map +1 -1
- package/build/accordion-content/index.js +2 -1
- package/build/accordion-content/index.js.map +1 -1
- package/build/accordion-panel/index.js +2 -1
- package/build/accordion-panel/index.js.map +1 -1
- package/build/navigation/constants.js +5 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +45 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/leaf-more-menu.js +0 -1
- package/build/navigation/edit/leaf-more-menu.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +40 -5
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation-link/block-inserter.js +69 -0
- package/build/navigation-link/block-inserter.js.map +1 -0
- package/build/navigation-link/dialog-wrapper.js +80 -0
- package/build/navigation-link/dialog-wrapper.js.map +1 -0
- package/build/navigation-link/link-ui.js +80 -120
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-link/page-creator.js +137 -0
- package/build/navigation-link/page-creator.js.map +1 -0
- package/build/search/edit.js +22 -14
- package/build/search/edit.js.map +1 -1
- package/build-module/accordion-content/edit.js +8 -8
- package/build-module/accordion-content/edit.js.map +1 -1
- package/build-module/accordion-content/index.js +2 -1
- package/build-module/accordion-content/index.js.map +1 -1
- package/build-module/accordion-panel/index.js +2 -1
- package/build-module/accordion-panel/index.js.map +1 -1
- package/build-module/navigation/constants.js +5 -1
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +50 -4
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/leaf-more-menu.js +0 -1
- package/build-module/navigation/edit/leaf-more-menu.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +40 -5
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation-link/block-inserter.js +61 -0
- package/build-module/navigation-link/block-inserter.js.map +1 -0
- package/build-module/navigation-link/dialog-wrapper.js +75 -0
- package/build-module/navigation-link/dialog-wrapper.js.map +1 -0
- package/build-module/navigation-link/link-ui.js +85 -125
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-link/page-creator.js +130 -0
- package/build-module/navigation-link/page-creator.js.map +1 -0
- package/build-module/search/edit.js +22 -14
- package/build-module/search/edit.js.map +1 -1
- package/build-style/accordion/style-rtl.css +5 -6
- package/build-style/accordion/style.css +5 -6
- package/build-style/editor-rtl.css +14 -0
- package/build-style/editor.css +14 -0
- package/build-style/form-input/style-rtl.css +4 -3
- package/build-style/form-input/style.css +4 -3
- package/build-style/navigation-link/editor-rtl.css +14 -0
- package/build-style/navigation-link/editor.css +14 -0
- package/build-style/navigation-link/style-rtl.css +1 -1
- package/build-style/navigation-link/style.css +1 -1
- package/build-style/post-comments-form/style-rtl.css +8 -5
- package/build-style/post-comments-form/style.css +8 -5
- package/build-style/search/style-rtl.css +11 -12
- package/build-style/search/style.css +11 -12
- package/build-style/style-rtl.css +29 -27
- package/build-style/style.css +29 -27
- package/package.json +35 -35
- package/src/accordion/style.scss +6 -6
- package/src/accordion-content/block.json +2 -1
- package/src/accordion-content/edit.js +21 -27
- package/src/accordion-panel/block.json +2 -1
- package/src/cover/test/edit.js +1 -5
- package/src/form-input/style.scss +3 -2
- package/src/navigation/constants.js +4 -0
- package/src/navigation/edit/index.js +50 -1
- package/src/navigation/edit/leaf-more-menu.js +0 -1
- package/src/navigation/edit/menu-inspector-controls.js +40 -5
- package/src/navigation-link/block-inserter.js +65 -0
- package/src/navigation-link/dialog-wrapper.js +74 -0
- package/src/navigation-link/editor.scss +17 -0
- package/src/navigation-link/link-ui.js +108 -164
- package/src/navigation-link/page-creator.js +157 -0
- package/src/navigation-link/style.scss +1 -1
- package/src/post-comments-form/style.scss +11 -11
- package/src/search/edit.js +44 -13
- package/src/search/index.php +16 -2
- package/src/search/style.scss +15 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["edit","save","metadata","$schema","apiVersion","name","title","category","description","__experimental","parent","supports","color","background","gradient","interactivity","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","radius","style","width","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","shadow","attributes","allowedBlocks","type","templateLock","openByDefault","isSelected","textdomain","initBlock","icon","settings","init"],"sources":["@wordpress/block-library/src/accordion-panel/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\nimport initBlock from '../utils/init-block';\nimport icon from './icon';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,cAAA;EAAAC,MAAA;EAAAC,QAAA;IAAAC,KAAA;MAAAC,UAAA;MAAAC,QAAA;IAAA;IAAAC,aAAA;IAAAC,OAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,6BAAA;QAAAH,OAAA;QAAAE,QAAA;MAAA;IAAA;IAAAE,oBAAA;MAAAT,KAAA;MAAAU,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAJ,6BAAA;QAAAR,KAAA;QAAAU,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAM,QAAA;MAAA;IAAA;IAAAQ,MAAA;EAAA;EAAAC,UAAA;IAAAC,aAAA;MAAAC,IAAA;IAAA;IAAAC,YAAA;MAAAD,IAAA;MAAA;MAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,UAAA;MAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,UAAA;AAAA;AAE1B,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;
|
|
1
|
+
{"version":3,"names":["edit","save","metadata","$schema","apiVersion","name","title","category","description","__experimental","parent","supports","color","background","gradient","interactivity","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","radius","style","width","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","shadow","layout","attributes","allowedBlocks","type","templateLock","openByDefault","isSelected","textdomain","initBlock","icon","settings","init"],"sources":["@wordpress/block-library/src/accordion-panel/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\nimport initBlock from '../utils/init-block';\nimport icon from './icon';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,cAAA;EAAAC,MAAA;EAAAC,QAAA;IAAAC,KAAA;MAAAC,UAAA;MAAAC,QAAA;IAAA;IAAAC,aAAA;IAAAC,OAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,6BAAA;QAAAH,OAAA;QAAAE,QAAA;MAAA;IAAA;IAAAE,oBAAA;MAAAT,KAAA;MAAAU,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAJ,6BAAA;QAAAR,KAAA;QAAAU,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAb,6BAAA;QAAAM,QAAA;MAAA;IAAA;IAAAQ,MAAA;IAAAC,MAAA;EAAA;EAAAC,UAAA;IAAAC,aAAA;MAAAC,IAAA;IAAA;IAAAC,YAAA;MAAAD,IAAA;MAAA;MAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,UAAA;MAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,UAAA;AAAA;AAE1B,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEvC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMwC,QAAQ,GAAG;EACvBD,IAAI;EACJ5C,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAM6C,IAAI,GAAGA,CAAA,KAAMH,SAAS,CAAE;EAAEtC,IAAI;EAAEH,QAAQ;EAAE2C;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_BLOCK","name","PRIORITIZED_INSERTER_BLOCKS","PRELOADED_NAVIGATION_MENUS_QUERY","per_page","status","order","orderby","SELECT_NAVIGATION_MENUS_ARGS"],"sources":["@wordpress/block-library/src/navigation/constants.js"],"sourcesContent":["export const DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nexport const PRIORITIZED_INSERTER_BLOCKS = [\n\t'core/navigation-link/page',\n\t'core/navigation-link',\n];\n\n// These parameters must be kept aligned with those in\n// lib/compat/wordpress-6.3/navigation-block-preloading.php\n// and\n// edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js\nexport const PRELOADED_NAVIGATION_MENUS_QUERY = {\n\tper_page: 100,\n\tstatus: [ 'publish', 'draft' ],\n\torder: 'desc',\n\torderby: 'date',\n};\n\nexport const SELECT_NAVIGATION_MENUS_ARGS = [\n\t'postType',\n\t'wp_navigation',\n\tPRELOADED_NAVIGATION_MENUS_QUERY,\n];\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC5BC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"names":["DEFAULT_BLOCK","name","attributes","kind","type","PRIORITIZED_INSERTER_BLOCKS","PRELOADED_NAVIGATION_MENUS_QUERY","per_page","status","order","orderby","SELECT_NAVIGATION_MENUS_ARGS"],"sources":["@wordpress/block-library/src/navigation/constants.js"],"sourcesContent":["export const DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n\tattributes: {\n\t\tkind: 'post-type',\n\t\ttype: 'page',\n\t},\n};\n\nexport const PRIORITIZED_INSERTER_BLOCKS = [\n\t'core/navigation-link/page',\n\t'core/navigation-link',\n];\n\n// These parameters must be kept aligned with those in\n// lib/compat/wordpress-6.3/navigation-block-preloading.php\n// and\n// edit-site/src/components/sidebar-navigation-screen-navigation-menus/constants.js\nexport const PRELOADED_NAVIGATION_MENUS_QUERY = {\n\tper_page: 100,\n\tstatus: [ 'publish', 'draft' ],\n\torder: 'desc',\n\torderby: 'date',\n};\n\nexport const SELECT_NAVIGATION_MENUS_ARGS = [\n\t'postType',\n\t'wp_navigation',\n\tPRELOADED_NAVIGATION_MENUS_QUERY,\n];\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC5BC,IAAI,EAAE,sBAAsB;EAC5BC,UAAU,EAAE;IACXC,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE;EACP;AACD,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAG,CAC1C,2BAA2B,EAC3B,sBAAsB,CACtB;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,gCAAgC,GAAG;EAC/CC,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAE,CAAE,SAAS,EAAE,OAAO,CAAE;EAC9BC,KAAK,EAAE,MAAM;EACbC,OAAO,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,4BAA4B,GAAG,CAC3C,UAAU,EACV,eAAe,EACfL,gCAAgC,CAChC","ignoreList":[]}
|
|
@@ -7,13 +7,14 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { useCallback, useState, useEffect, useRef, Platform } from '@wordpress/element';
|
|
10
|
-
import { InspectorControls, useBlockProps, RecursionProvider, useHasRecursion, store as blockEditorStore, withColors, ContrastChecker, getColorClassName, Warning, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients, useBlockEditingMode } from '@wordpress/block-editor';
|
|
10
|
+
import { InspectorControls, useBlockProps, RecursionProvider, useHasRecursion, store as blockEditorStore, withColors, ContrastChecker, getColorClassName, Warning, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients, useBlockEditingMode, BlockControls } from '@wordpress/block-editor';
|
|
11
11
|
import { EntityProvider, store as coreStore } from '@wordpress/core-data';
|
|
12
12
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
13
|
-
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalVStack as VStack, ToggleControl, Button, Spinner, Notice } from '@wordpress/components';
|
|
13
|
+
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalVStack as VStack, ToggleControl, Button, Spinner, Notice, ToolbarButton, ToolbarGroup } from '@wordpress/components';
|
|
14
14
|
import { __ } from '@wordpress/i18n';
|
|
15
15
|
import { speak } from '@wordpress/a11y';
|
|
16
|
-
import { close, Icon } from '@wordpress/icons';
|
|
16
|
+
import { close, Icon, page } from '@wordpress/icons';
|
|
17
|
+
import { createBlock } from '@wordpress/blocks';
|
|
17
18
|
import { useInstanceId } from '@wordpress/compose';
|
|
18
19
|
|
|
19
20
|
/**
|
|
@@ -41,7 +42,50 @@ import AccessibleDescription from './accessible-description';
|
|
|
41
42
|
import AccessibleMenuDescription from './accessible-menu-description';
|
|
42
43
|
import { unlock } from '../../lock-unlock';
|
|
43
44
|
import { useToolsPanelDropdownMenuProps } from '../../utils/hooks';
|
|
45
|
+
import { DEFAULT_BLOCK } from '../constants';
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Component that renders the Add page button for the Navigation block.
|
|
49
|
+
*
|
|
50
|
+
* @param {Object} props Component props.
|
|
51
|
+
* @param {string} props.clientId Block client ID.
|
|
52
|
+
* @return {JSX.Element|null} The Add page button component or null if not applicable.
|
|
53
|
+
*/
|
|
44
54
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
55
|
+
function NavigationAddPageButton({
|
|
56
|
+
clientId
|
|
57
|
+
}) {
|
|
58
|
+
const {
|
|
59
|
+
insertBlock
|
|
60
|
+
} = useDispatch(blockEditorStore);
|
|
61
|
+
const {
|
|
62
|
+
getBlockCount
|
|
63
|
+
} = useSelect(blockEditorStore);
|
|
64
|
+
const onAddPage = useCallback(() => {
|
|
65
|
+
// Get the current number of blocks to insert at the end
|
|
66
|
+
const blockCount = getBlockCount(clientId);
|
|
67
|
+
|
|
68
|
+
// Create a new navigation link block (default block)
|
|
69
|
+
const newBlock = createBlock(DEFAULT_BLOCK.name, {
|
|
70
|
+
kind: DEFAULT_BLOCK.attributes.kind,
|
|
71
|
+
type: DEFAULT_BLOCK.attributes.type
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// Insert the block at the end of the navigation
|
|
75
|
+
insertBlock(newBlock, blockCount, clientId);
|
|
76
|
+
}, [clientId, insertBlock, getBlockCount]);
|
|
77
|
+
return /*#__PURE__*/_jsx(BlockControls, {
|
|
78
|
+
children: /*#__PURE__*/_jsx(ToolbarGroup, {
|
|
79
|
+
children: /*#__PURE__*/_jsx(ToolbarButton, {
|
|
80
|
+
name: "add-page",
|
|
81
|
+
icon: page,
|
|
82
|
+
title: __('Add page'),
|
|
83
|
+
onClick: onAddPage,
|
|
84
|
+
children: __('Add page')
|
|
85
|
+
})
|
|
86
|
+
})
|
|
87
|
+
});
|
|
88
|
+
}
|
|
45
89
|
function ColorTools({
|
|
46
90
|
textColor,
|
|
47
91
|
setTextColor,
|
|
@@ -643,7 +687,9 @@ function Navigation({
|
|
|
643
687
|
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
644
688
|
isLoading: isLoading,
|
|
645
689
|
blockEditingMode: blockEditingMode
|
|
646
|
-
}), blockEditingMode === 'default' && stylingInspectorControls, blockEditingMode === '
|
|
690
|
+
}), blockEditingMode === 'default' && stylingInspectorControls, blockEditingMode === 'contentOnly' && isEntityAvailable && /*#__PURE__*/_jsx(NavigationAddPageButton, {
|
|
691
|
+
clientId: clientId
|
|
692
|
+
}), blockEditingMode === 'default' && isEntityAvailable && /*#__PURE__*/_jsxs(InspectorControls, {
|
|
647
693
|
group: "advanced",
|
|
648
694
|
children: [hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && /*#__PURE__*/_jsx(NavigationMenuNameControl, {}), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && /*#__PURE__*/_jsx(NavigationMenuDeleteControl, {
|
|
649
695
|
onDelete: () => {
|
|
@@ -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","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalVStack","VStack","ToggleControl","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","useToolsPanelDropdownMenuProps","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","clearable","enableAlpha","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","dropdownMenuProps","stylingInspectorControls","resetAll","__next40pxDefaultSize","onClick","spacing","gridColumn","hidden","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","help","onChange","isBlock","checked","isDisabled","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\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n\tButton,\n\tSpinner,\n\tNotice,\n} 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';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\t\tid={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridColumn: 'span 2',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => overlayMenu !== 'mobile' }\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: 'mobile' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === '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","BlockControls","EntityProvider","coreStore","useDispatch","useSelect","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalVStack","VStack","ToggleControl","Button","Spinner","Notice","ToolbarButton","ToolbarGroup","__","speak","close","Icon","page","createBlock","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","useToolsPanelDropdownMenuProps","DEFAULT_BLOCK","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NavigationAddPageButton","clientId","insertBlock","getBlockCount","onAddPage","blockCount","newBlock","name","kind","attributes","type","children","icon","title","onClick","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","navRef","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","OS","current","subMenuElement","querySelector","color","colorGradientSettings","hasColorsOrGradients","__experimentalIsRenderedInSidebar","settings","colorValue","label","onColorChange","resetAllFilter","clearable","enableAlpha","panelId","gradients","disableCustomGradients","Navigation","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","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","dropdownMenuProps","stylingInspectorControls","resetAll","__next40pxDefaultSize","spacing","gridColumn","hidden","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","help","onChange","isBlock","checked","isDisabled","disabled","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","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\tBlockControls,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n\tButton,\n\tSpinner,\n\tNotice,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon, page } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { DEFAULT_BLOCK } from '../constants';\n\n/**\n * Component that renders the Add page button for the Navigation block.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @return {JSX.Element|null} The Add page button component or null if not applicable.\n */\nfunction NavigationAddPageButton( { clientId } ) {\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst { getBlockCount } = useSelect( blockEditorStore );\n\n\tconst onAddPage = useCallback( () => {\n\t\t// Get the current number of blocks to insert at the end\n\t\tconst blockCount = getBlockCount( clientId );\n\n\t\t// Create a new navigation link block (default block)\n\t\tconst newBlock = createBlock( DEFAULT_BLOCK.name, {\n\t\t\tkind: DEFAULT_BLOCK.attributes.kind,\n\t\t\ttype: DEFAULT_BLOCK.attributes.type,\n\t\t} );\n\n\t\t// Insert the block at the end of the navigation\n\t\tinsertBlock( newBlock, blockCount, clientId );\n\t}, [ clientId, insertBlock, getBlockCount ] );\n\n\treturn (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tname=\"add-page\"\n\t\t\t\t\ticon={ page }\n\t\t\t\t\ttitle={ __( 'Add page' ) }\n\t\t\t\t\tonClick={ onAddPage }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add page' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\t\tid={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridColumn: 'span 2',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => overlayMenu !== 'mobile' }\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: 'mobile' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\t\taria-label={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: false,\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'contentOnly' && isEntityAvailable && (\n\t\t\t\t\t<NavigationAddPageButton clientId={ clientId } />\n\t\t\t\t) }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -112,7 +112,6 @@ export default function LeafMoreMenu(props) {
|
|
|
112
112
|
}), /*#__PURE__*/_jsx(AddSubmenuItem, {
|
|
113
113
|
block: block,
|
|
114
114
|
onClose: onClose,
|
|
115
|
-
expanded: true,
|
|
116
115
|
expandedState: props.expandedState,
|
|
117
116
|
expand: props.expand,
|
|
118
117
|
setInsertedBlock: props.setInsertedBlock
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","addSubmenu","chevronUp","chevronDown","moreVertical","DropdownMenu","MenuItem","MenuGroup","useDispatch","useSelect","__","sprintf","BlockTitle","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","POPOVER_PROPS","className","placement","BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU","AddSubmenuItem","block","onClose","expandedState","expand","setInsertedBlock","insertBlock","replaceBlock","replaceInnerBlocks","clientId","isDisabled","includes","name","icon","disabled","onClick","updateSelectionOnInsert","newLink","innerBlocks","length","newSubmenu","attributes","children","LeafMoreMenu","props","moveBlocksDown","moveBlocksUp","removeBlocks","removeLabel","maximumLength","rootClientId","select","getBlockRootClientId","label","popoverProps","noIcons"
|
|
1
|
+
{"version":3,"names":["createBlock","addSubmenu","chevronUp","chevronDown","moreVertical","DropdownMenu","MenuItem","MenuGroup","useDispatch","useSelect","__","sprintf","BlockTitle","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","POPOVER_PROPS","className","placement","BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU","AddSubmenuItem","block","onClose","expandedState","expand","setInsertedBlock","insertBlock","replaceBlock","replaceInnerBlocks","clientId","isDisabled","includes","name","icon","disabled","onClick","updateSelectionOnInsert","newLink","innerBlocks","length","newSubmenu","attributes","children","LeafMoreMenu","props","moveBlocksDown","moveBlocksUp","removeBlocks","removeLabel","maximumLength","rootClientId","select","getBlockRootClientId","label","popoverProps","noIcons"],"sources":["@wordpress/block-library/src/navigation/edit/leaf-more-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\taddSubmenu,\n\tchevronUp,\n\tchevronDown,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { DropdownMenu, MenuItem, MenuGroup } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BlockTitle, store as blockEditorStore } from '@wordpress/block-editor';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nconst BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\nfunction AddSubmenuItem( {\n\tblock,\n\tonClose,\n\texpandedState,\n\texpand,\n\tsetInsertedBlock,\n} ) {\n\tconst { insertBlock, replaceBlock, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst clientId = block.clientId;\n\tconst isDisabled = ! BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU.includes(\n\t\tblock.name\n\t);\n\treturn (\n\t\t<MenuItem\n\t\t\ticon={ addSubmenu }\n\t\t\tdisabled={ isDisabled }\n\t\t\tonClick={ () => {\n\t\t\t\tconst updateSelectionOnInsert = false;\n\t\t\t\tconst newLink = createBlock( 'core/navigation-link' );\n\n\t\t\t\tif ( block.name === 'core/navigation-submenu' ) {\n\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\tnewLink,\n\t\t\t\t\t\tblock.innerBlocks.length,\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tupdateSelectionOnInsert\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// Convert to a submenu if the block currently isn't one.\n\t\t\t\t\tconst newSubmenu = createBlock(\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t);\n\n\t\t\t\t\t// The following must happen as two independent actions.\n\t\t\t\t\t// Why? Because the offcanvas editor relies on the getLastInsertedBlocksClientIds\n\t\t\t\t\t// selector to determine which block is \"active\". As the UX needs the newLink to be\n\t\t\t\t\t// the \"active\" block it must be the last block to be inserted.\n\t\t\t\t\t// Therefore the Submenu is first created and **then** the newLink is inserted\n\t\t\t\t\t// thus ensuring it is the last inserted block.\n\t\t\t\t\treplaceBlock( clientId, newSubmenu );\n\n\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\tnewSubmenu.clientId,\n\t\t\t\t\t\t[ newLink ],\n\t\t\t\t\t\tupdateSelectionOnInsert\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// This call sets the local List View state for the \"last inserted block\".\n\t\t\t\t// This is required for the Nav Block to determine whether or not to display\n\t\t\t\t// the Link UI for this new block.\n\t\t\t\tsetInsertedBlock( newLink );\n\n\t\t\t\tif ( ! expandedState[ block.clientId ] ) {\n\t\t\t\t\texpand( block.clientId );\n\t\t\t\t}\n\t\t\t\tonClose();\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Add submenu link' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default function LeafMoreMenu( props ) {\n\tconst { block } = props;\n\tconst { clientId } = block;\n\n\tconst { moveBlocksDown, moveBlocksUp, removeBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst removeLabel = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__( 'Remove %s' ),\n\t\tBlockTitle( { clientId, maximumLength: 25 } )\n\t);\n\n\tconst rootClientId = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn getBlockRootClientId( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tnoIcons\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Move up' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Move down' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<AddSubmenuItem\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\texpandedState={ props.expandedState }\n\t\t\t\t\t\t\texpand={ props.expand }\n\t\t\t\t\t\t\tsetInsertedBlock={ props.setInsertedBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tremoveBlocks( [ clientId ], false );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ removeLabel }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SACCC,UAAU,EACVC,SAAS,EACTC,WAAW,EACXC,YAAY,QACN,kBAAkB;AACzB,SAASC,YAAY,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,uBAAuB;AACzE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,UAAU,EAAEC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEhF,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE,2CAA2C;EACtDC,SAAS,EAAE;AACZ,CAAC;AAED,MAAMC,uCAAuC,GAAG,CAC/C,sBAAsB,EACtB,yBAAyB,CACzB;AAED,SAASC,cAAcA,CAAE;EACxBC,KAAK;EACLC,OAAO;EACPC,aAAa;EACbC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,WAAW;IAAEC,YAAY;IAAEC;EAAmB,CAAC,GACtDzB,WAAW,CAAEM,gBAAiB,CAAC;EAEhC,MAAMoB,QAAQ,GAAGR,KAAK,CAACQ,QAAQ;EAC/B,MAAMC,UAAU,GAAG,CAAEX,uCAAuC,CAACY,QAAQ,CACpEV,KAAK,CAACW,IACP,CAAC;EACD,oBACCrB,IAAA,CAACV,QAAQ;IACRgC,IAAI,EAAGrC,UAAY;IACnBsC,QAAQ,EAAGJ,UAAY;IACvBK,OAAO,EAAGA,CAAA,KAAM;MACf,MAAMC,uBAAuB,GAAG,KAAK;MACrC,MAAMC,OAAO,GAAG1C,WAAW,CAAE,sBAAuB,CAAC;MAErD,IAAK0B,KAAK,CAACW,IAAI,KAAK,yBAAyB,EAAG;QAC/CN,WAAW,CACVW,OAAO,EACPhB,KAAK,CAACiB,WAAW,CAACC,MAAM,EACxBV,QAAQ,EACRO,uBACD,CAAC;MACF,CAAC,MAAM;QACN;QACA,MAAMI,UAAU,GAAG7C,WAAW,CAC7B,yBAAyB,EACzB0B,KAAK,CAACoB,UAAU,EAChBpB,KAAK,CAACiB,WACP,CAAC;;QAED;QACA;QACA;QACA;QACA;QACA;QACAX,YAAY,CAAEE,QAAQ,EAAEW,UAAW,CAAC;QAEpCZ,kBAAkB,CACjBY,UAAU,CAACX,QAAQ,EACnB,CAAEQ,OAAO,CAAE,EACXD,uBACD,CAAC;MACF;;MAEA;MACA;MACA;MACAX,gBAAgB,CAAEY,OAAQ,CAAC;MAE3B,IAAK,CAAEd,aAAa,CAAEF,KAAK,CAACQ,QAAQ,CAAE,EAAG;QACxCL,MAAM,CAAEH,KAAK,CAACQ,QAAS,CAAC;MACzB;MACAP,OAAO,CAAC,CAAC;IACV,CAAG;IAAAoB,QAAA,EAEDrC,EAAE,CAAE,kBAAmB;EAAC,CACjB,CAAC;AAEb;AAEA,eAAe,SAASsC,YAAYA,CAAEC,KAAK,EAAG;EAC7C,MAAM;IAAEvB;EAAM,CAAC,GAAGuB,KAAK;EACvB,MAAM;IAAEf;EAAS,CAAC,GAAGR,KAAK;EAE1B,MAAM;IAAEwB,cAAc;IAAEC,YAAY;IAAEC;EAAa,CAAC,GACnD5C,WAAW,CAAEM,gBAAiB,CAAC;EAEhC,MAAMuC,WAAW,GAAG1C,OAAO,CAC1B;EACAD,EAAE,CAAE,WAAY,CAAC,EACjBE,UAAU,CAAE;IAAEsB,QAAQ;IAAEoB,aAAa,EAAE;EAAG,CAAE,CAC7C,CAAC;EAED,MAAMC,YAAY,GAAG9C,SAAS,CAC3B+C,MAAM,IAAM;IACb,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAE1C,gBAAiB,CAAC;IAE3D,OAAO2C,oBAAoB,CAAEvB,QAAS,CAAC;EACxC,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,oBACClB,IAAA,CAACX,YAAY;IACZiC,IAAI,EAAGlC,YAAc;IACrBsD,KAAK,EAAGhD,EAAE,CAAE,SAAU,CAAG;IACzBY,SAAS,EAAC,kCAAkC;IAC5CqC,YAAY,EAAGtC,aAAe;IAC9BuC,OAAO;IAAA,GACFX,KAAK;IAAAF,QAAA,EAERA,CAAE;MAAEpB;IAAQ,CAAC,kBACdT,KAAA,CAAAE,SAAA;MAAA2B,QAAA,gBACC7B,KAAA,CAACX,SAAS;QAAAwC,QAAA,gBACT/B,IAAA,CAACV,QAAQ;UACRgC,IAAI,EAAGpC,SAAW;UAClBsC,OAAO,EAAGA,CAAA,KAAM;YACfW,YAAY,CAAE,CAAEjB,QAAQ,CAAE,EAAEqB,YAAa,CAAC;YAC1C5B,OAAO,CAAC,CAAC;UACV,CAAG;UAAAoB,QAAA,EAEDrC,EAAE,CAAE,SAAU;QAAC,CACR,CAAC,eACXM,IAAA,CAACV,QAAQ;UACRgC,IAAI,EAAGnC,WAAa;UACpBqC,OAAO,EAAGA,CAAA,KAAM;YACfU,cAAc,CAAE,CAAEhB,QAAQ,CAAE,EAAEqB,YAAa,CAAC;YAC5C5B,OAAO,CAAC,CAAC;UACV,CAAG;UAAAoB,QAAA,EAEDrC,EAAE,CAAE,WAAY;QAAC,CACV,CAAC,eACXM,IAAA,CAACS,cAAc;UACdC,KAAK,EAAGA,KAAO;UACfC,OAAO,EAAGA,OAAS;UACnBC,aAAa,EAAGqB,KAAK,CAACrB,aAAe;UACrCC,MAAM,EAAGoB,KAAK,CAACpB,MAAQ;UACvBC,gBAAgB,EAAGmB,KAAK,CAACnB;QAAkB,CAC3C,CAAC;MAAA,CACQ,CAAC,eACZd,IAAA,CAACT,SAAS;QAAAwC,QAAA,eACT/B,IAAA,CAACV,QAAQ;UACRkC,OAAO,EAAGA,CAAA,KAAM;YACfY,YAAY,CAAE,CAAElB,QAAQ,CAAE,EAAE,KAAM,CAAC;YACnCP,OAAO,CAAC,CAAC;UACV,CAAG;UAAAoB,QAAA,EAEDM;QAAW,CACJ;MAAC,CACD,CAAC;IAAA,CACX;EACF,CACY,CAAC;AAEjB","ignoreList":[]}
|
|
@@ -28,7 +28,8 @@ function AdditionalBlockContent({
|
|
|
28
28
|
setInsertedBlock
|
|
29
29
|
}) {
|
|
30
30
|
const {
|
|
31
|
-
updateBlockAttributes
|
|
31
|
+
updateBlockAttributes,
|
|
32
|
+
removeBlock
|
|
32
33
|
} = useDispatch(blockEditorStore);
|
|
33
34
|
const supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(insertedBlock?.name);
|
|
34
35
|
const blockWasJustInserted = insertedBlock?.clientId === block.clientId;
|
|
@@ -36,24 +37,58 @@ function AdditionalBlockContent({
|
|
|
36
37
|
if (!showLinkControls) {
|
|
37
38
|
return null;
|
|
38
39
|
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Cleanup function for auto-inserted Navigation Link blocks.
|
|
43
|
+
*
|
|
44
|
+
* Removes the block if it has no URL and clears the inserted block state.
|
|
45
|
+
* This ensures consistent cleanup behavior across different contexts.
|
|
46
|
+
*/
|
|
47
|
+
const cleanupInsertedBlock = () => {
|
|
48
|
+
// Prevent automatic block selection when removing blocks in list view context
|
|
49
|
+
// This avoids focus stealing that would close the list view and switch to canvas
|
|
50
|
+
const shouldAutoSelectBlock = false;
|
|
51
|
+
|
|
52
|
+
// Follows the exact same pattern as Navigation Link block's onClose handler
|
|
53
|
+
// If there is no URL then remove the auto-inserted block to avoid empty blocks
|
|
54
|
+
if (!insertedBlock?.attributes?.url && insertedBlock?.clientId) {
|
|
55
|
+
// Remove the block entirely to avoid poor UX
|
|
56
|
+
// This matches the Navigation Link block's behavior
|
|
57
|
+
removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
|
|
58
|
+
}
|
|
59
|
+
setInsertedBlock(null);
|
|
60
|
+
};
|
|
39
61
|
const setInsertedBlockAttributes = _insertedBlockClientId => _updatedAttributes => {
|
|
40
62
|
if (!_insertedBlockClientId) {
|
|
41
63
|
return;
|
|
42
64
|
}
|
|
43
65
|
updateBlockAttributes(_insertedBlockClientId, _updatedAttributes);
|
|
44
66
|
};
|
|
67
|
+
|
|
68
|
+
// Wrapper function to clean up original block when a new block is selected
|
|
69
|
+
const handleSetInsertedBlock = newBlock => {
|
|
70
|
+
// Prevent automatic block selection when removing blocks in list view context
|
|
71
|
+
// This avoids focus stealing that would close the list view and switch to canvas
|
|
72
|
+
const shouldAutoSelectBlock = false;
|
|
73
|
+
|
|
74
|
+
// If we have an existing inserted block and a new block is being set,
|
|
75
|
+
// remove the original block to avoid duplicates
|
|
76
|
+
if (insertedBlock?.clientId && newBlock) {
|
|
77
|
+
removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
|
|
78
|
+
}
|
|
79
|
+
setInsertedBlock(newBlock);
|
|
80
|
+
};
|
|
45
81
|
return /*#__PURE__*/_jsx(LinkUI, {
|
|
46
82
|
clientId: insertedBlock?.clientId,
|
|
47
83
|
link: insertedBlock?.attributes,
|
|
84
|
+
onBlockInsert: handleSetInsertedBlock,
|
|
48
85
|
onClose: () => {
|
|
49
|
-
|
|
86
|
+
// Use cleanup function
|
|
87
|
+
cleanupInsertedBlock();
|
|
50
88
|
},
|
|
51
89
|
onChange: updatedValue => {
|
|
52
90
|
updateAttributes(updatedValue, setInsertedBlockAttributes(insertedBlock?.clientId), insertedBlock?.attributes);
|
|
53
91
|
setInsertedBlock(null);
|
|
54
|
-
},
|
|
55
|
-
onCancel: () => {
|
|
56
|
-
setInsertedBlock(null);
|
|
57
92
|
}
|
|
58
93
|
});
|
|
59
94
|
}
|