@wordpress/block-library 8.25.0 → 8.25.1-next.79a6196f.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/LICENSE.md +1 -1
- package/build/audio/edit.js +10 -12
- package/build/audio/edit.js.map +1 -1
- package/build/block/edit.js +81 -34
- package/build/block/edit.js.map +1 -1
- package/build/comments-title/deprecated.js +1 -1
- package/build/comments-title/index.js +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +1 -0
- package/build/cover/edit.native.js.map +1 -1
- package/build/embed/util.js +4 -4
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.js +19 -27
- package/build/file/edit.js.map +1 -1
- package/build/gallery/edit.js +36 -17
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/index.js +4 -0
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/transforms.js +4 -68
- package/build/gallery/transforms.js.map +1 -1
- package/build/group/index.js +5 -1
- package/build/group/index.js.map +1 -1
- package/build/image/deprecated.js +11 -0
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.native.js +3 -0
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -21
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +7 -1
- package/build/image/view.js.map +1 -1
- package/build/list/edit.js +10 -15
- package/build/list/edit.js.map +1 -1
- package/build/list-item/edit.js +17 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-enter.js +5 -3
- package/build/list-item/hooks/use-enter.js.map +1 -1
- package/build/list-item/hooks/use-enter.native.js +4 -3
- package/build/list-item/hooks/use-enter.native.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +2 -3
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +1 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +8 -4
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/media-text/media-container.native.js +3 -0
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/constants.js +3 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +4 -0
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/view.js +25 -1
- package/build/navigation/view.js.map +1 -1
- package/build/paragraph/index.js +0 -1
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +0 -1
- package/build/paragraph/transforms.js.map +1 -1
- package/build/pattern/edit.js +24 -2
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/recursion-detector.js +147 -0
- package/build/pattern/recursion-detector.js.map +1 -0
- package/build/post-featured-image/edit.js +19 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +4 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -1
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query-pagination-numbers/index.js +1 -1
- package/build/search/edit.js +3 -5
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +0 -4
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +7 -6
- package/build/site-logo/edit.js.map +1 -1
- package/build/spacer/edit.native.js +2 -2
- package/build/spacer/edit.native.js.map +1 -1
- package/build/tag-cloud/edit.js +5 -9
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/utils/constants.js +16 -0
- package/build/utils/constants.js.map +1 -0
- package/build/video/edit.js +11 -8
- package/build/video/edit.js.map +1 -1
- package/build-module/audio/edit.js +10 -12
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/block/edit.js +85 -38
- package/build-module/block/edit.js.map +1 -1
- package/build-module/comments-title/deprecated.js +1 -1
- package/build-module/comments-title/index.js +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +1 -0
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/embed/util.js +4 -4
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/edit.js +19 -27
- package/build-module/file/edit.js.map +1 -1
- package/build-module/gallery/edit.js +36 -17
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/index.js +4 -0
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -68
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/group/index.js +5 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/deprecated.js +11 -0
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.native.js +3 -0
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +17 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +7 -1
- package/build-module/image/view.js.map +1 -1
- package/build-module/list/edit.js +10 -15
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/edit.js +18 -3
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.js +5 -3
- package/build-module/list-item/hooks/use-enter.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.native.js +4 -3
- package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +1 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +8 -4
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/media-text/media-container.native.js +3 -0
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/constants.js +1 -0
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +5 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/view.js +25 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/paragraph/index.js +0 -1
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +0 -1
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/pattern/edit.js +26 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/recursion-detector.js +139 -0
- package/build-module/pattern/recursion-detector.js.map +1 -0
- package/build-module/post-featured-image/edit.js +19 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +4 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -1
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +1 -1
- package/build-module/search/edit.js +3 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +0 -4
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -6
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/spacer/edit.native.js +2 -2
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/tag-cloud/edit.js +6 -10
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/utils/constants.js +9 -0
- package/build-module/utils/constants.js.map +1 -0
- package/build-module/video/edit.js +11 -8
- package/build-module/video/edit.js.map +1 -1
- package/build-style/button/editor-rtl.css +0 -37
- package/build-style/button/editor.css +0 -37
- package/build-style/button/style-rtl.css +6 -6
- package/build-style/button/style.css +6 -6
- package/build-style/editor-rtl.css +2 -44
- package/build-style/editor.css +2 -44
- package/build-style/navigation/editor-rtl.css +2 -4
- package/build-style/navigation/editor.css +2 -4
- package/build-style/navigation/style-rtl.css +14 -18
- package/build-style/navigation/style.css +14 -18
- package/build-style/search/style-rtl.css +26 -27
- package/build-style/search/style.css +26 -27
- package/build-style/style-rtl.css +46 -51
- package/build-style/style.css +46 -51
- package/build-style/table/editor-rtl.css +0 -3
- package/build-style/table/editor.css +0 -3
- package/package.json +32 -32
- package/src/audio/edit.js +19 -19
- package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/audio/test/edit.native.js +29 -0
- package/src/block/edit.js +120 -66
- package/src/button/editor.scss +0 -43
- package/src/button/style.scss +6 -6
- package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
- package/src/buttons/test/edit.native.js +49 -0
- package/src/comments-title/block.json +1 -1
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit.native.js +1 -0
- package/src/embed/util.js +2 -2
- package/src/file/edit.js +17 -24
- package/src/gallery/block.json +4 -0
- package/src/gallery/edit.js +69 -42
- package/src/gallery/gallery.js +4 -1
- package/src/gallery/index.php +15 -0
- package/src/gallery/transforms.js +2 -55
- package/src/group/block.json +5 -1
- package/src/image/deprecated.js +8 -0
- package/src/image/edit.native.js +3 -0
- package/src/image/image.js +54 -35
- package/src/image/index.php +1 -6
- package/src/image/view.js +5 -2
- package/src/list/edit.js +27 -35
- package/src/list-item/edit.js +18 -2
- package/src/list-item/hooks/use-enter.js +63 -62
- package/src/list-item/hooks/use-enter.native.js +9 -5
- package/src/list-item/hooks/use-indent-list-item.js +43 -53
- package/src/list-item/hooks/use-merge.js +1 -1
- package/src/list-item/hooks/use-outdent-list-item.js +50 -69
- package/src/list-item/hooks/use-space.js +7 -4
- package/src/media-text/media-container.native.js +3 -1
- package/src/navigation/constants.js +2 -0
- package/src/navigation/edit/index.js +11 -1
- package/src/navigation/editor.scss +1 -1
- package/src/navigation/style.scss +18 -16
- package/src/navigation/view.js +29 -3
- package/src/paragraph/block.json +0 -1
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/paragraph/test/edit.native.js +114 -0
- package/src/pattern/edit.js +35 -3
- package/src/pattern/index.php +16 -0
- package/src/pattern/recursion-detector.js +145 -0
- package/src/pattern/test/index.js +74 -0
- package/src/post-featured-image/block.json +4 -0
- package/src/post-featured-image/edit.js +32 -1
- package/src/post-featured-image/index.php +31 -0
- package/src/query/edit/inspector-controls/index.js +2 -0
- package/src/query-pagination-numbers/block.json +1 -1
- package/src/search/block.json +0 -4
- package/src/search/edit.js +2 -8
- package/src/search/index.php +3 -7
- package/src/search/style.scss +27 -29
- package/src/site-logo/edit.js +3 -4
- package/src/social-link/index.php +1 -1
- package/src/spacer/edit.native.js +4 -2
- package/src/table/editor.scss +0 -3
- package/src/tag-cloud/edit.js +7 -7
- package/src/template-part/index.php +6 -0
- package/src/utils/constants.js +8 -0
- package/src/video/edit.js +29 -27
|
@@ -5,22 +5,8 @@ import { useCallback } from '@wordpress/element';
|
|
|
5
5
|
import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
|
|
6
6
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
7
|
import { cloneBlock } from '@wordpress/blocks';
|
|
8
|
-
export default function useOutdentListItem(
|
|
8
|
+
export default function useOutdentListItem() {
|
|
9
9
|
const registry = useRegistry();
|
|
10
|
-
const {
|
|
11
|
-
canOutdent
|
|
12
|
-
} = useSelect(innerSelect => {
|
|
13
|
-
const {
|
|
14
|
-
getBlockRootClientId,
|
|
15
|
-
getBlockName
|
|
16
|
-
} = innerSelect(blockEditorStore);
|
|
17
|
-
const grandParentId = getBlockRootClientId(getBlockRootClientId(clientId));
|
|
18
|
-
const grandParentName = getBlockName(grandParentId);
|
|
19
|
-
const isListItem = grandParentName === 'core/list-item';
|
|
20
|
-
return {
|
|
21
|
-
canOutdent: isListItem
|
|
22
|
-
};
|
|
23
|
-
}, [clientId]);
|
|
24
10
|
const {
|
|
25
11
|
moveBlocksToPosition,
|
|
26
12
|
removeBlock,
|
|
@@ -43,7 +29,7 @@ export default function useOutdentListItem(clientId) {
|
|
|
43
29
|
if (getBlockName(parentListItemId) !== 'core/list-item') return;
|
|
44
30
|
return parentListItemId;
|
|
45
31
|
}
|
|
46
|
-
return
|
|
32
|
+
return useCallback((clientIds = getSelectedBlockClientIds()) => {
|
|
47
33
|
if (!Array.isArray(clientIds)) {
|
|
48
34
|
clientIds = [clientIds];
|
|
49
35
|
}
|
|
@@ -79,6 +65,6 @@ export default function useOutdentListItem(clientId) {
|
|
|
79
65
|
removeBlock(parentListId, shouldSelectParent);
|
|
80
66
|
}
|
|
81
67
|
});
|
|
82
|
-
}, [])
|
|
68
|
+
}, []);
|
|
83
69
|
}
|
|
84
70
|
//# sourceMappingURL=use-outdent-list-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","
|
|
1
|
+
{"version":3,"names":["useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","registry","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockRootClientId","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock","clientId","shouldSelectParent"],"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\nexport default function useOutdentListItem() {\n\tconst registry = useRegistry();\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) return;\n\t\treturn parentListItemId;\n\t}\n\n\treturn useCallback( ( clientIds = getSelectedBlockClientIds() ) => {\n\t\tif ( ! Array.isArray( clientIds ) ) {\n\t\t\tclientIds = [ clientIds ];\n\t\t}\n\n\t\tif ( ! clientIds.length ) return;\n\n\t\tconst firstClientId = clientIds[ 0 ];\n\n\t\t// Can't outdent if it's not a list item.\n\t\tif ( getBlockName( firstClientId ) !== 'core/list-item' ) return;\n\n\t\tconst parentListItemId = getParentListItemId( firstClientId );\n\n\t\t// Can't outdent if it's at the top level.\n\t\tif ( ! parentListItemId ) return;\n\n\t\tconst parentListId = getBlockRootClientId( firstClientId );\n\t\tconst lastClientId = clientIds[ clientIds.length - 1 ];\n\t\tconst order = getBlockOrder( parentListId );\n\t\tconst followingListItems = order.slice(\n\t\t\tgetBlockIndex( lastClientId ) + 1\n\t\t);\n\n\t\tregistry.batch( () => {\n\t\t\tif ( followingListItems.length ) {\n\t\t\t\tlet nestedListId = getBlockOrder( firstClientId )[ 0 ];\n\n\t\t\t\tif ( ! nestedListId ) {\n\t\t\t\t\tconst nestedListBlock = cloneBlock(\n\t\t\t\t\t\tgetBlock( parentListId ),\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t[]\n\t\t\t\t\t);\n\t\t\t\t\tnestedListId = nestedListBlock.clientId;\n\t\t\t\t\tinsertBlock( nestedListBlock, 0, firstClientId, false );\n\t\t\t\t\t// Immediately update the block list settings, otherwise\n\t\t\t\t\t// blocks can't be moved here due to canInsert checks.\n\t\t\t\t\tupdateBlockListSettings(\n\t\t\t\t\t\tnestedListId,\n\t\t\t\t\t\tgetBlockListSettings( parentListId )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tfollowingListItems,\n\t\t\t\t\tparentListId,\n\t\t\t\t\tnestedListId\n\t\t\t\t);\n\t\t\t}\n\t\t\tmoveBlocksToPosition(\n\t\t\t\tclientIds,\n\t\t\t\tparentListId,\n\t\t\t\tgetBlockRootClientId( parentListItemId ),\n\t\t\t\tgetBlockIndex( parentListItemId ) + 1\n\t\t\t);\n\t\t\tif ( ! getBlockOrder( parentListId ).length ) {\n\t\t\t\tconst shouldSelectParent = false;\n\t\t\t\tremoveBlock( parentListId, shouldSelectParent );\n\t\t\t}\n\t\t} );\n\t}, [] );\n}\n"],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ import useIndentListItem from './use-indent-list-item';
|
|
|
13
13
|
export default function useSpace(clientId) {
|
|
14
14
|
const {
|
|
15
15
|
getSelectionStart,
|
|
16
|
-
getSelectionEnd
|
|
16
|
+
getSelectionEnd,
|
|
17
|
+
getBlockIndex
|
|
17
18
|
} = useSelect(blockEditorStore);
|
|
18
|
-
const
|
|
19
|
+
const indentListItem = useIndentListItem(clientId);
|
|
19
20
|
return useRefEffect(element => {
|
|
20
21
|
function onKeyDown(event) {
|
|
21
22
|
const {
|
|
@@ -25,11 +26,14 @@ export default function useSpace(clientId) {
|
|
|
25
26
|
metaKey,
|
|
26
27
|
ctrlKey
|
|
27
28
|
} = event;
|
|
28
|
-
if (event.defaultPrevented ||
|
|
29
|
+
if (event.defaultPrevented || keyCode !== SPACE ||
|
|
29
30
|
// Only override when no modifiers are pressed.
|
|
30
31
|
shiftKey || altKey || metaKey || ctrlKey) {
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
34
|
+
if (getBlockIndex(clientId) === 0) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
33
37
|
const selectionStart = getSelectionStart();
|
|
34
38
|
const selectionEnd = getSelectionEnd();
|
|
35
39
|
if (selectionStart.offset === 0 && selectionEnd.offset === 0) {
|
|
@@ -41,6 +45,6 @@ export default function useSpace(clientId) {
|
|
|
41
45
|
return () => {
|
|
42
46
|
element.removeEventListener('keydown', onKeyDown);
|
|
43
47
|
};
|
|
44
|
-
}, [
|
|
48
|
+
}, [clientId, indentListItem]);
|
|
45
49
|
}
|
|
46
50
|
//# sourceMappingURL=use-space.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRefEffect","SPACE","store","blockEditorStore","useSelect","useIndentListItem","useSpace","clientId","getSelectionStart","getSelectionEnd","
|
|
1
|
+
{"version":3,"names":["useRefEffect","SPACE","store","blockEditorStore","useSelect","useIndentListItem","useSpace","clientId","getSelectionStart","getSelectionEnd","getBlockIndex","indentListItem","element","onKeyDown","event","keyCode","shiftKey","altKey","metaKey","ctrlKey","defaultPrevented","selectionStart","selectionEnd","offset","preventDefault","addEventListener","removeEventListener"],"sources":["@wordpress/block-library/src/list-item/hooks/use-space.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { SPACE } from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport useIndentListItem from './use-indent-list-item';\n\nexport default function useSpace( clientId ) {\n\tconst { getSelectionStart, getSelectionEnd, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst indentListItem = useIndentListItem( clientId );\n\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tconst { keyCode, shiftKey, altKey, metaKey, ctrlKey } = event;\n\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\tkeyCode !== SPACE ||\n\t\t\t\t\t// Only override when no modifiers are pressed.\n\t\t\t\t\tshiftKey ||\n\t\t\t\t\taltKey ||\n\t\t\t\t\tmetaKey ||\n\t\t\t\t\tctrlKey\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockIndex( clientId ) === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\tconst selectionEnd = getSelectionEnd();\n\t\t\t\tif (\n\t\t\t\t\tselectionStart.offset === 0 &&\n\t\t\t\t\tselectionEnd.offset === 0\n\t\t\t\t) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tindentListItem();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t\t};\n\t\t},\n\t\t[ clientId, indentListItem ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AAEtD,eAAe,SAASC,QAAQA,CAAEC,QAAQ,EAAG;EAC5C,MAAM;IAAEC,iBAAiB;IAAEC,eAAe;IAAEC;EAAc,CAAC,GAC1DN,SAAS,CAAED,gBAAiB,CAAC;EAC9B,MAAMQ,cAAc,GAAGN,iBAAiB,CAAEE,QAAS,CAAC;EAEpD,OAAOP,YAAY,CAChBY,OAAO,IAAM;IACd,SAASC,SAASA,CAAEC,KAAK,EAAG;MAC3B,MAAM;QAAEC,OAAO;QAAEC,QAAQ;QAAEC,MAAM;QAAEC,OAAO;QAAEC;MAAQ,CAAC,GAAGL,KAAK;MAE7D,IACCA,KAAK,CAACM,gBAAgB,IACtBL,OAAO,KAAKd,KAAK;MACjB;MACAe,QAAQ,IACRC,MAAM,IACNC,OAAO,IACPC,OAAO,EACN;QACD;MACD;MAEA,IAAKT,aAAa,CAAEH,QAAS,CAAC,KAAK,CAAC,EAAG;QACtC;MACD;MAEA,MAAMc,cAAc,GAAGb,iBAAiB,CAAC,CAAC;MAC1C,MAAMc,YAAY,GAAGb,eAAe,CAAC,CAAC;MACtC,IACCY,cAAc,CAACE,MAAM,KAAK,CAAC,IAC3BD,YAAY,CAACC,MAAM,KAAK,CAAC,EACxB;QACDT,KAAK,CAACU,cAAc,CAAC,CAAC;QACtBb,cAAc,CAAC,CAAC;MACjB;IACD;IAEAC,OAAO,CAACa,gBAAgB,CAAE,SAAS,EAAEZ,SAAU,CAAC;IAChD,OAAO,MAAM;MACZD,OAAO,CAACc,mBAAmB,CAAE,SAAS,EAAEb,SAAU,CAAC;IACpD,CAAC;EACF,CAAC,EACD,CAAEN,QAAQ,EAAEI,cAAc,CAC3B,CAAC;AACF"}
|
|
@@ -167,6 +167,7 @@ class MediaContainer extends Component {
|
|
|
167
167
|
} = this.props;
|
|
168
168
|
const {
|
|
169
169
|
isUploadFailed,
|
|
170
|
+
isUploadPaused,
|
|
170
171
|
retryMessage
|
|
171
172
|
} = params;
|
|
172
173
|
const focalPointValues = !focalPoint ? IMAGE_DEFAULT_FOCAL_POINT : focalPoint;
|
|
@@ -186,6 +187,7 @@ class MediaContainer extends Component {
|
|
|
186
187
|
focalPoint: imageFill && focalPointValues,
|
|
187
188
|
isSelected: isMediaSelected,
|
|
188
189
|
isUploadFailed: isUploadFailed,
|
|
190
|
+
isUploadPaused: isUploadPaused,
|
|
189
191
|
isUploadInProgress: isUploadInProgress,
|
|
190
192
|
onSelectMediaUploadOption: this.onSelectMediaUploadOption,
|
|
191
193
|
openMediaOptions: openMediaOptions,
|
|
@@ -287,6 +289,7 @@ class MediaContainer extends Component {
|
|
|
287
289
|
}) => {
|
|
288
290
|
onSetOpenPickerRef(open);
|
|
289
291
|
return createElement(Fragment, null, getMediaOptions(), createElement(MediaUploadProgress, {
|
|
292
|
+
enablePausedUploads: true,
|
|
290
293
|
coverUrl: coverUrl,
|
|
291
294
|
mediaId: mediaId,
|
|
292
295
|
onUpdateMediaProgress: this.updateMediaProgress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","media","icon","styles","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","iconRetry","iconRetryVideo","iconRetryVideoDark","createElement","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","style","imageWithFocalPoint","height","accessible","onPress","disabled","imageCropped","mediaImageContainer","align","alt","width","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","source","uri","paused","modalIcon","renderContent","mediaElement","renderPlaceholder","labels","title","onSelect","allowedTypes","onFocus","className","render","onSetOpenPickerRef","coverUrl","isReplacingMedia","value","open","getMediaOptions","Fragment","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset"],"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open.\n\t\tif ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tclassName={ 'no-block-outline' }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\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);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [ withPreferredColorScheme ] )( MediaContainer );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","media","icon","styles","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","iconRetry","iconRetryVideo","iconRetryVideoDark","createElement","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","isUploadPaused","retryMessage","focalPointValues","style","imageWithFocalPoint","height","accessible","onPress","disabled","imageCropped","mediaImageContainer","align","alt","width","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","source","uri","paused","modalIcon","renderContent","mediaElement","renderPlaceholder","labels","title","onSelect","allowedTypes","onFocus","className","render","onSetOpenPickerRef","coverUrl","isReplacingMedia","value","open","getMediaOptions","Fragment","enablePausedUploads","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset"],"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open.\n\t\tif ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, isUploadPaused, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadPaused={ isUploadPaused }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tclassName={ 'no-block-outline' }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tenablePausedUploads\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\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);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [ withPreferredColorScheme ] )( MediaContainer );\n"],"mappings":"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"}
|
|
@@ -15,4 +15,5 @@ export const PRELOADED_NAVIGATION_MENUS_QUERY = {
|
|
|
15
15
|
orderby: 'date'
|
|
16
16
|
};
|
|
17
17
|
export const SELECT_NAVIGATION_MENUS_ARGS = ['postType', 'wp_navigation', PRELOADED_NAVIGATION_MENUS_QUERY];
|
|
18
|
+
export const NAVIGATION_MOBILE_COLLAPSE = '600px';
|
|
18
19
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_BLOCK","name","ALLOWED_BLOCKS","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 ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n\t'core/loginout',\n\t'core/buttons',\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;AACP,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,CAC7B,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,cAAc,CACd;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"}
|
|
1
|
+
{"version":3,"names":["DEFAULT_BLOCK","name","ALLOWED_BLOCKS","PRIORITIZED_INSERTER_BLOCKS","PRELOADED_NAVIGATION_MENUS_QUERY","per_page","status","order","orderby","SELECT_NAVIGATION_MENUS_ARGS","NAVIGATION_MOBILE_COLLAPSE"],"sources":["@wordpress/block-library/src/navigation/constants.js"],"sourcesContent":["export const DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nexport const ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n\t'core/loginout',\n\t'core/buttons',\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\nexport const NAVIGATION_MOBILE_COLLAPSE = '600px';\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EAC5BC,IAAI,EAAE;AACP,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,CAC7B,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,cAAc,CACd;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;AAED,OAAO,MAAMM,0BAA0B,GAAG,OAAO"}
|
|
@@ -15,7 +15,7 @@ import { PanelBody, ToggleControl, __experimentalToggleGroupControl as ToggleGro
|
|
|
15
15
|
import { __, sprintf } from '@wordpress/i18n';
|
|
16
16
|
import { speak } from '@wordpress/a11y';
|
|
17
17
|
import { close, Icon } from '@wordpress/icons';
|
|
18
|
-
import { useInstanceId } from '@wordpress/compose';
|
|
18
|
+
import { useInstanceId, useMediaQuery } from '@wordpress/compose';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Internal dependencies
|
|
@@ -40,6 +40,7 @@ import MenuInspectorControls from './menu-inspector-controls';
|
|
|
40
40
|
import DeletedNavigationWarning from './deleted-navigation-warning';
|
|
41
41
|
import AccessibleDescription from './accessible-description';
|
|
42
42
|
import AccessibleMenuDescription from './accessible-menu-description';
|
|
43
|
+
import { NAVIGATION_MOBILE_COLLAPSE } from '../constants';
|
|
43
44
|
import { unlock } from '../../lock-unlock';
|
|
44
45
|
function Navigation({
|
|
45
46
|
attributes,
|
|
@@ -207,6 +208,8 @@ function Navigation({
|
|
|
207
208
|
const textDecoration = attributes.style?.typography?.textDecoration;
|
|
208
209
|
const hasBlockOverlay = useSelect(select => select(blockEditorStore).__unstableHasActiveBlockOverlayActive(clientId), [clientId]);
|
|
209
210
|
const isResponsive = 'never' !== overlayMenu;
|
|
211
|
+
const isMobileBreakPoint = useMediaQuery(`(max-width: ${NAVIGATION_MOBILE_COLLAPSE})`);
|
|
212
|
+
const isCollapsed = 'mobile' === overlayMenu && isMobileBreakPoint || 'always' === overlayMenu;
|
|
210
213
|
const blockProps = useBlockProps({
|
|
211
214
|
ref: navRef,
|
|
212
215
|
className: classnames(className, {
|
|
@@ -217,6 +220,7 @@ function Navigation({
|
|
|
217
220
|
'is-vertical': orientation === 'vertical',
|
|
218
221
|
'no-wrap': flexWrap === 'nowrap',
|
|
219
222
|
'is-responsive': isResponsive,
|
|
223
|
+
'is-collapsed': isCollapsed,
|
|
220
224
|
'has-text-color': !!textColor.color || !!textColor?.class,
|
|
221
225
|
[getColorClassName('color', textColor?.slug)]: !!textColor?.slug,
|
|
222
226
|
'has-background': !!backgroundColor.color || backgroundColor.class,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","sprintf","speak","close","Icon","useInstanceId","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","ManageMenusButton","MenuInspectorControls","DeletedNavigationWarning","AccessibleDescription","AccessibleMenuDescription","unlock","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","navRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","navMenu","id","onSelectNavigationMenu","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","colorGradientSettings","stylingInspectorControls","createElement","Fragment","title","onClick","hidden","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","checked","disabled","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","deletedMenuTitle","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = () => {\n\t\tcreateNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","sprintf","speak","close","Icon","useInstanceId","useMediaQuery","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","NAVIGATION_MOBILE_COLLAPSE","unlock","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","navRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","isMobileBreakPoint","isCollapsed","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","navMenu","id","onSelectNavigationMenu","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","colorGradientSettings","stylingInspectorControls","createElement","Fragment","title","onClick","hidden","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","checked","disabled","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","deletedMenuTitle","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId, useMediaQuery } 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 { NAVIGATION_MOBILE_COLLAPSE } from '../constants';\nimport { unlock } from '../../lock-unlock';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = () => {\n\t\tcreateNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst isMobileBreakPoint = useMediaQuery(\n\t\t`(max-width: ${ NAVIGATION_MOBILE_COLLAPSE })`\n\t);\n\n\tconst isCollapsed =\n\t\t( 'mobile' === overlayMenu && isMobileBreakPoint ) ||\n\t\t'always' === overlayMenu;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'is-collapsed': isCollapsed,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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"}
|