@wordpress/block-library 8.33.0 → 8.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/block/edit.js +15 -8
- package/build/block/edit.js.map +1 -1
- package/build/block-keyboard-shortcuts/index.js +95 -0
- package/build/block-keyboard-shortcuts/index.js.map +1 -0
- package/build/column/edit.js +28 -19
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +3 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/edit.js +69 -53
- package/build/columns/edit.js.map +1 -1
- package/build/columns/variations.js +18 -28
- package/build/columns/variations.js.map +1 -1
- package/build/comment-template/util.js +3 -1
- package/build/comment-template/util.js.map +1 -1
- package/build/cover/shared.js +3 -1
- package/build/cover/shared.js.map +1 -1
- package/build/embed/embed-placeholder.js +8 -3
- package/build/embed/embed-placeholder.js.map +1 -1
- package/build/embed/util.js +3 -1
- package/build/embed/util.js.map +1 -1
- package/build/embed/variations.js +3 -1
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +6 -2
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/group/index.js +0 -8
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +18 -19
- package/build/group/placeholder.js.map +1 -1
- package/build/image/image.js +3 -1
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +3 -1
- package/build/image/view.js.map +1 -1
- package/build/index.js +9 -1
- package/build/index.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +12 -4
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +15 -5
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/navigation/edit/are-blocks-dirty.js +9 -3
- package/build/navigation/edit/are-blocks-dirty.js.map +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +3 -1
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +1 -1
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/index.js +0 -9
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/view.js +3 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +94 -85
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +2 -7
- package/build/navigation-link/link-ui.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/post-excerpt/edit.js +3 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +3 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-navigation-link/variations.js +3 -1
- package/build/post-navigation-link/variations.js.map +1 -1
- package/build/post-template/edit.js +18 -8
- package/build/post-template/edit.js.map +1 -1
- package/build/post-terms/edit.js +3 -1
- package/build/post-terms/edit.js.map +1 -1
- package/build/private-apis.js +21 -0
- package/build/private-apis.js.map +1 -0
- package/build/query/edit/enhanced-pagination-modal.js +1 -1
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +6 -2
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js +3 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +18 -6
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +9 -3
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/utils.js +3 -1
- package/build/query/utils.js.map +1 -1
- package/build/query-title/variations.js +3 -1
- package/build/query-title/variations.js.map +1 -1
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/variations.js +3 -1
- package/build/social-link/variations.js.map +1 -1
- package/build/template-part/variations.js +6 -2
- package/build/template-part/variations.js.map +1 -1
- package/build-module/block/edit.js +15 -8
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block-keyboard-shortcuts/index.js +88 -0
- package/build-module/block-keyboard-shortcuts/index.js.map +1 -0
- package/build-module/column/edit.js +28 -19
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/edit.native.js +3 -1
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +69 -53
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/variations.js +18 -28
- package/build-module/columns/variations.js.map +1 -1
- package/build-module/comment-template/util.js +3 -1
- package/build-module/comment-template/util.js.map +1 -1
- package/build-module/cover/shared.js +3 -1
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/embed/embed-placeholder.js +9 -4
- package/build-module/embed/embed-placeholder.js.map +1 -1
- package/build-module/embed/util.js +3 -1
- package/build-module/embed/util.js.map +1 -1
- package/build-module/embed/variations.js +3 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +6 -2
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/group/index.js +0 -8
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +18 -19
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/image/image.js +3 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +3 -1
- package/build-module/image/view.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +12 -4
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +15 -5
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/navigation/edit/are-blocks-dirty.js +9 -3
- package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +3 -1
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/index.js +0 -9
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/view.js +3 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +94 -85
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +3 -8
- package/build-module/navigation-link/link-ui.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/post-excerpt/edit.js +3 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +3 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-navigation-link/variations.js +3 -1
- package/build-module/post-navigation-link/variations.js.map +1 -1
- package/build-module/post-template/edit.js +18 -8
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +3 -1
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/private-apis.js +14 -0
- package/build-module/private-apis.js.map +1 -0
- package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +6 -2
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js +3 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +18 -6
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +9 -3
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/utils.js +3 -1
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-title/variations.js +3 -1
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/variations.js +3 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/template-part/variations.js +6 -2
- package/build-module/template-part/variations.js.map +1 -1
- package/build-style/editor-rtl.css +15 -49
- package/build-style/editor.css +15 -49
- package/build-style/embed/editor-rtl.css +0 -3
- package/build-style/embed/editor.css +0 -3
- package/build-style/group/editor-rtl.css +0 -44
- package/build-style/group/editor.css +0 -44
- package/build-style/group/style-rtl.css +4 -0
- package/build-style/group/style.css +4 -0
- package/build-style/navigation-link/style-rtl.css +0 -8
- package/build-style/navigation-link/style.css +0 -8
- package/build-style/post-featured-image/editor-rtl.css +1 -0
- package/build-style/post-featured-image/editor.css +1 -0
- package/build-style/site-logo/editor-rtl.css +1 -0
- package/build-style/site-logo/editor.css +1 -0
- package/build-style/social-link/editor-rtl.css +13 -2
- package/build-style/social-link/editor.css +13 -2
- package/build-style/style-rtl.css +4 -8
- package/build-style/style.css +4 -8
- package/package.json +35 -34
- package/src/block/edit.js +19 -12
- package/src/block-keyboard-shortcuts/index.js +113 -0
- package/src/column/edit.js +26 -20
- package/src/column/edit.native.js +3 -1
- package/src/columns/edit.js +93 -83
- package/src/columns/variations.js +12 -34
- package/src/comment-template/util.js +3 -1
- package/src/cover/shared.js +3 -1
- package/src/embed/editor.scss +0 -2
- package/src/embed/embed-placeholder.js +21 -9
- package/src/embed/util.js +3 -1
- package/src/embed/variations.js +3 -1
- package/src/embed/wp-embed-preview.js +6 -2
- package/src/gallery/test/helpers.native.js +3 -3
- package/src/group/editor.scss +0 -47
- package/src/group/index.js +0 -8
- package/src/group/placeholder.js +18 -18
- package/src/group/style.scss +5 -0
- package/src/image/image.js +3 -1
- package/src/image/view.js +3 -1
- package/src/index.js +2 -0
- package/src/list-item/hooks/use-merge.js +12 -4
- package/src/list-item/hooks/use-outdent-list-item.js +15 -5
- package/src/navigation/block.json +0 -9
- package/src/navigation/edit/are-blocks-dirty.js +8 -3
- package/src/navigation/edit/deleted-navigation-warning.js +1 -1
- package/src/navigation/edit/menu-inspector-controls.js +3 -1
- package/src/navigation/edit/navigation-menu-selector.js +1 -1
- package/src/navigation/edit/test/navigation-menu-selector.js +5 -5
- package/src/navigation/view.js +3 -1
- package/src/navigation-link/edit.js +91 -91
- package/src/navigation-link/link-ui.js +74 -89
- package/src/navigation-link/style.scss +0 -12
- package/src/paragraph/block.json +0 -1
- package/src/post-excerpt/edit.js +3 -1
- package/src/post-featured-image/dimension-controls.js +3 -1
- package/src/post-featured-image/editor.scss +1 -0
- package/src/post-navigation-link/variations.js +3 -1
- package/src/post-template/edit.js +9 -4
- package/src/post-terms/edit.js +3 -1
- package/src/private-apis.js +13 -0
- package/src/query/edit/enhanced-pagination-modal.js +5 -1
- package/src/query/edit/inspector-controls/author-control.js +6 -2
- package/src/query/edit/inspector-controls/create-new-post-link.js +3 -1
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +13 -3
- package/src/query/edit/inspector-controls/parent-control.js +18 -6
- package/src/query/edit/inspector-controls/taxonomy-controls.js +9 -3
- package/src/query/index.php +1 -1
- package/src/query/utils.js +3 -1
- package/src/query-title/variations.js +3 -1
- package/src/site-logo/editor.scss +1 -0
- package/src/social-link/edit.js +2 -2
- package/src/social-link/editor.scss +25 -11
- package/src/social-link/variations.js +3 -1
- package/src/template-part/variations.js +6 -2
|
@@ -40,8 +40,12 @@ function useMerge(clientId, onMerge) {
|
|
|
40
40
|
function getParentListItemId(id) {
|
|
41
41
|
const listId = getBlockRootClientId(id);
|
|
42
42
|
const parentListItemId = getBlockRootClientId(listId);
|
|
43
|
-
if (!parentListItemId)
|
|
44
|
-
|
|
43
|
+
if (!parentListItemId) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (getBlockName(parentListItemId) !== 'core/list-item') {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
45
49
|
return parentListItemId;
|
|
46
50
|
}
|
|
47
51
|
|
|
@@ -54,9 +58,13 @@ function useMerge(clientId, onMerge) {
|
|
|
54
58
|
*/
|
|
55
59
|
function _getNextId(id) {
|
|
56
60
|
const next = getNextBlockClientId(id);
|
|
57
|
-
if (next)
|
|
61
|
+
if (next) {
|
|
62
|
+
return next;
|
|
63
|
+
}
|
|
58
64
|
const parentListItemId = getParentListItemId(id);
|
|
59
|
-
if (!parentListItemId)
|
|
65
|
+
if (!parentListItemId) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
60
68
|
return _getNextId(parentListItemId);
|
|
61
69
|
}
|
|
62
70
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_blockEditor","_useOutdentListItem","_interopRequireDefault","useMerge","clientId","onMerge","registry","useRegistry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","useSelect","blockEditorStore","mergeBlocks","moveBlocksToPosition","useDispatch","outdentListItem","useOutdentListItem","getTrailingId","id","order","length","getParentListItemId","listId","parentListItemId","_getNextId","next","getNextId","forward","mergeWithNested","clientIdA","clientIdB","batch","nestedListClientId","nextBlockClientId","previousBlockClientId","trailingId"],"sources":["@wordpress/block-library/src/list-item/hooks/use-merge.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition } =\n\t\tuseDispatch( blockEditorStore );\n\tconst outdentListItem = useOutdentListItem();\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId )
|
|
1
|
+
{"version":3,"names":["_data","require","_blockEditor","_useOutdentListItem","_interopRequireDefault","useMerge","clientId","onMerge","registry","useRegistry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","useSelect","blockEditorStore","mergeBlocks","moveBlocksToPosition","useDispatch","outdentListItem","useOutdentListItem","getTrailingId","id","order","length","getParentListItemId","listId","parentListItemId","_getNextId","next","getNextId","forward","mergeWithNested","clientIdA","clientIdB","batch","nestedListClientId","nextBlockClientId","previousBlockClientId","trailingId"],"sources":["@wordpress/block-library/src/list-item/hooks/use-merge.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition } =\n\t\tuseDispatch( blockEditorStore );\n\tconst outdentListItem = useOutdentListItem();\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) {\n\t\t\treturn;\n\t\t}\n\t\treturn parentListItemId;\n\t}\n\n\t/**\n\t * Return the next list item with respect to the given list item. If none,\n\t * return the next list item of the parent list item if it exists.\n\t *\n\t * @param {string} id A list item client ID.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction _getNextId( id ) {\n\t\tconst next = getNextBlockClientId( id );\n\t\tif ( next ) {\n\t\t\treturn next;\n\t\t}\n\t\tconst parentListItemId = getParentListItemId( id );\n\t\tif ( ! parentListItemId ) {\n\t\t\treturn;\n\t\t}\n\t\treturn _getNextId( parentListItemId );\n\t}\n\n\t/**\n\t * Given a client ID, return the client ID of the list item on the next\n\t * line, regardless of indentation level.\n\t *\n\t * @param {string} id The client ID of the current list item.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction getNextId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\t// If the list item does not have a nested list, return the next list\n\t\t// item.\n\t\tif ( ! order.length ) {\n\t\t\treturn _getNextId( id );\n\t\t}\n\n\t\t// Get the first list item in the nested list.\n\t\treturn getBlockOrder( order[ 0 ] )[ 0 ];\n\t}\n\n\treturn ( forward ) => {\n\t\tfunction mergeWithNested( clientIdA, clientIdB ) {\n\t\t\tregistry.batch( () => {\n\t\t\t\t// When merging a sub list item with a higher next list item, we\n\t\t\t\t// also need to move any nested list items. Check if there's a\n\t\t\t\t// listed list, and append its nested list items to the current\n\t\t\t\t// list.\n\t\t\t\tconst [ nestedListClientId ] = getBlockOrder( clientIdB );\n\t\t\t\tif ( nestedListClientId ) {\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tgetBlockOrder( nestedListClientId ),\n\t\t\t\t\t\tnestedListClientId,\n\t\t\t\t\t\tgetBlockRootClientId( clientIdA )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmergeBlocks( clientIdA, clientIdB );\n\t\t\t} );\n\t\t}\n\n\t\tif ( forward ) {\n\t\t\tconst nextBlockClientId = getNextId( clientId );\n\n\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\tonMerge( forward );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( getParentListItemId( nextBlockClientId ) ) {\n\t\t\t\toutdentListItem( nextBlockClientId );\n\t\t\t} else {\n\t\t\t\tmergeWithNested( clientId, nextBlockClientId );\n\t\t\t}\n\t\t} else {\n\t\t\t// Merging is only done from the top level. For lowel levels, the\n\t\t\t// list item is outdented instead.\n\t\t\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\t\t\tif ( getParentListItemId( clientId ) ) {\n\t\t\t\toutdentListItem( clientId );\n\t\t\t} else if ( previousBlockClientId ) {\n\t\t\t\tconst trailingId = getTrailingId( previousBlockClientId );\n\t\t\t\tmergeWithNested( trailingId, clientId );\n\t\t\t} else {\n\t\t\t\tonMerge( forward );\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,23 +32,33 @@ function useOutdentListItem() {
|
|
|
32
32
|
function getParentListItemId(id) {
|
|
33
33
|
const listId = getBlockRootClientId(id);
|
|
34
34
|
const parentListItemId = getBlockRootClientId(listId);
|
|
35
|
-
if (!parentListItemId)
|
|
36
|
-
|
|
35
|
+
if (!parentListItemId) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (getBlockName(parentListItemId) !== 'core/list-item') {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
37
41
|
return parentListItemId;
|
|
38
42
|
}
|
|
39
43
|
return (0, _element.useCallback)((clientIds = getSelectedBlockClientIds()) => {
|
|
40
44
|
if (!Array.isArray(clientIds)) {
|
|
41
45
|
clientIds = [clientIds];
|
|
42
46
|
}
|
|
43
|
-
if (!clientIds.length)
|
|
47
|
+
if (!clientIds.length) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
44
50
|
const firstClientId = clientIds[0];
|
|
45
51
|
|
|
46
52
|
// Can't outdent if it's not a list item.
|
|
47
|
-
if (getBlockName(firstClientId) !== 'core/list-item')
|
|
53
|
+
if (getBlockName(firstClientId) !== 'core/list-item') {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
48
56
|
const parentListItemId = getParentListItemId(firstClientId);
|
|
49
57
|
|
|
50
58
|
// Can't outdent if it's at the top level.
|
|
51
|
-
if (!parentListItemId)
|
|
59
|
+
if (!parentListItemId) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
52
62
|
const parentListId = getBlockRootClientId(firstClientId);
|
|
53
63
|
const lastClientId = clientIds[clientIds.length - 1];
|
|
54
64
|
const order = getBlockOrder(parentListId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_blockEditor","_blocks","useOutdentListItem","registry","useRegistry","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","useDispatch","blockEditorStore","getBlockRootClientId","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","useSelect","getParentListItemId","id","listId","parentListItemId","useCallback","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock","cloneBlock","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 )
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_blockEditor","_blocks","useOutdentListItem","registry","useRegistry","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","useDispatch","blockEditorStore","getBlockRootClientId","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","useSelect","getParentListItemId","id","listId","parentListItemId","useCallback","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock","cloneBlock","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 ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) {\n\t\t\treturn;\n\t\t}\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 ) {\n\t\t\treturn;\n\t\t}\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' ) {\n\t\t\treturn;\n\t\t}\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 ) {\n\t\t\treturn;\n\t\t}\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\n\t\treturn true;\n\t}, [] );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,15 +29,21 @@ const isDeepEqual = (x, y, shouldSkip) => {
|
|
|
29
29
|
if (x === y) {
|
|
30
30
|
return true;
|
|
31
31
|
} else if (typeof x === 'object' && x !== null && x !== undefined && typeof y === 'object' && y !== null && y !== undefined) {
|
|
32
|
-
if (Object.keys(x).length !== Object.keys(y).length)
|
|
32
|
+
if (Object.keys(x).length !== Object.keys(y).length) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
33
35
|
for (const prop in x) {
|
|
34
36
|
if (y.hasOwnProperty(prop)) {
|
|
35
37
|
// Afford skipping a given property of an object.
|
|
36
38
|
if (shouldSkip && shouldSkip(prop, x)) {
|
|
37
39
|
return true;
|
|
38
40
|
}
|
|
39
|
-
if (!isDeepEqual(x[prop], y[prop], shouldSkip))
|
|
40
|
-
|
|
41
|
+
if (!isDeepEqual(x[prop], y[prop], shouldSkip)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
41
47
|
}
|
|
42
48
|
return true;
|
|
43
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["areBlocksDirty","originalBlocks","blocks","isDeepEqual","prop","x","name","y","shouldSkip","undefined","Object","keys","length","hasOwnProperty"],"sources":["@wordpress/block-library/src/navigation/edit/are-blocks-dirty.js"],"sourcesContent":["export function areBlocksDirty( originalBlocks, blocks ) {\n\treturn ! isDeepEqual( originalBlocks, blocks, ( prop, x ) => {\n\t\t// Skip inner blocks of page list during comparison as they\n\t\t// are **always** controlled and may be updated async due to\n\t\t// syncing with entity records. Left unchecked this would\n\t\t// inadvertently trigger the dirty state.\n\t\tif ( x?.name === 'core/page-list' && prop === 'innerBlocks' ) {\n\t\t\treturn true;\n\t\t}\n\t} );\n}\n\n/**\n * Conditionally compares two candidates for deep equality.\n * Provides an option to skip a given property of an object during comparison.\n *\n * @param {*} x 1st candidate for comparison\n * @param {*} y 2nd candidate for comparison\n * @param {Function|undefined} shouldSkip a function which can be used to skip a given property of an object.\n * @return {boolean} whether the two candidates are deeply equal.\n */\nconst isDeepEqual = ( x, y, shouldSkip ) => {\n\tif ( x === y ) {\n\t\treturn true;\n\t} else if (\n\t\ttypeof x === 'object' &&\n\t\tx !== null &&\n\t\tx !== undefined &&\n\t\ttypeof y === 'object' &&\n\t\ty !== null &&\n\t\ty !== undefined\n\t) {\n\t\tif ( Object.keys( x ).length !== Object.keys( y ).length )
|
|
1
|
+
{"version":3,"names":["areBlocksDirty","originalBlocks","blocks","isDeepEqual","prop","x","name","y","shouldSkip","undefined","Object","keys","length","hasOwnProperty"],"sources":["@wordpress/block-library/src/navigation/edit/are-blocks-dirty.js"],"sourcesContent":["export function areBlocksDirty( originalBlocks, blocks ) {\n\treturn ! isDeepEqual( originalBlocks, blocks, ( prop, x ) => {\n\t\t// Skip inner blocks of page list during comparison as they\n\t\t// are **always** controlled and may be updated async due to\n\t\t// syncing with entity records. Left unchecked this would\n\t\t// inadvertently trigger the dirty state.\n\t\tif ( x?.name === 'core/page-list' && prop === 'innerBlocks' ) {\n\t\t\treturn true;\n\t\t}\n\t} );\n}\n\n/**\n * Conditionally compares two candidates for deep equality.\n * Provides an option to skip a given property of an object during comparison.\n *\n * @param {*} x 1st candidate for comparison\n * @param {*} y 2nd candidate for comparison\n * @param {Function|undefined} shouldSkip a function which can be used to skip a given property of an object.\n * @return {boolean} whether the two candidates are deeply equal.\n */\nconst isDeepEqual = ( x, y, shouldSkip ) => {\n\tif ( x === y ) {\n\t\treturn true;\n\t} else if (\n\t\ttypeof x === 'object' &&\n\t\tx !== null &&\n\t\tx !== undefined &&\n\t\ttypeof y === 'object' &&\n\t\ty !== null &&\n\t\ty !== undefined\n\t) {\n\t\tif ( Object.keys( x ).length !== Object.keys( y ).length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor ( const prop in x ) {\n\t\t\tif ( y.hasOwnProperty( prop ) ) {\n\t\t\t\t// Afford skipping a given property of an object.\n\t\t\t\tif ( shouldSkip && shouldSkip( prop, x ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isDeepEqual( x[ prop ], y[ prop ], shouldSkip ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n"],"mappings":";;;;;;AAAO,SAASA,cAAcA,CAAEC,cAAc,EAAEC,MAAM,EAAG;EACxD,OAAO,CAAEC,WAAW,CAAEF,cAAc,EAAEC,MAAM,EAAE,CAAEE,IAAI,EAAEC,CAAC,KAAM;IAC5D;IACA;IACA;IACA;IACA,IAAKA,CAAC,EAAEC,IAAI,KAAK,gBAAgB,IAAIF,IAAI,KAAK,aAAa,EAAG;MAC7D,OAAO,IAAI;IACZ;EACD,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMD,WAAW,GAAGA,CAAEE,CAAC,EAAEE,CAAC,EAAEC,UAAU,KAAM;EAC3C,IAAKH,CAAC,KAAKE,CAAC,EAAG;IACd,OAAO,IAAI;EACZ,CAAC,MAAM,IACN,OAAOF,CAAC,KAAK,QAAQ,IACrBA,CAAC,KAAK,IAAI,IACVA,CAAC,KAAKI,SAAS,IACf,OAAOF,CAAC,KAAK,QAAQ,IACrBA,CAAC,KAAK,IAAI,IACVA,CAAC,KAAKE,SAAS,EACd;IACD,IAAKC,MAAM,CAACC,IAAI,CAAEN,CAAE,CAAC,CAACO,MAAM,KAAKF,MAAM,CAACC,IAAI,CAAEJ,CAAE,CAAC,CAACK,MAAM,EAAG;MAC1D,OAAO,KAAK;IACb;IAEA,KAAM,MAAMR,IAAI,IAAIC,CAAC,EAAG;MACvB,IAAKE,CAAC,CAACM,cAAc,CAAET,IAAK,CAAC,EAAG;QAC/B;QACA,IAAKI,UAAU,IAAIA,UAAU,CAAEJ,IAAI,EAAEC,CAAE,CAAC,EAAG;UAC1C,OAAO,IAAI;QACZ;QAEA,IAAK,CAAEF,WAAW,CAAEE,CAAC,CAAED,IAAI,CAAE,EAAEG,CAAC,CAAEH,IAAI,CAAE,EAAEI,UAAW,CAAC,EAAG;UACxD,OAAO,KAAK;QACb;MACD,CAAC,MAAM;QACN,OAAO,KAAK;MACb;IACD;IAEA,OAAO,IAAI;EACZ;EAEA,OAAO,KAAK;AACb,CAAC","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ var _element = require("@wordpress/element");
|
|
|
16
16
|
function DeletedNavigationWarning({
|
|
17
17
|
onCreateNew
|
|
18
18
|
}) {
|
|
19
|
-
return (0, _react.createElement)(_blockEditor.Warning, null, (0, _element.createInterpolateElement)((0, _i18n.__)('Navigation Menu has been deleted or is unavailable. <button>Create a new
|
|
19
|
+
return (0, _react.createElement)(_blockEditor.Warning, null, (0, _element.createInterpolateElement)((0, _i18n.__)('Navigation Menu has been deleted or is unavailable. <button>Create a new Menu?</button>'), {
|
|
20
20
|
button: (0, _react.createElement)(_components.Button, {
|
|
21
21
|
onClick: onCreateNew,
|
|
22
22
|
variant: "link"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_components","_i18n","_element","DeletedNavigationWarning","onCreateNew","_react","createElement","Warning","createInterpolateElement","__","button","Button","onClick","variant","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation/edit/deleted-navigation-warning.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Warning } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\n\nfunction DeletedNavigationWarning( { onCreateNew } ) {\n\treturn (\n\t\t<Warning>\n\t\t\t{ createInterpolateElement(\n\t\t\t\t__(\n\t\t\t\t\t'Navigation Menu has been deleted or is unavailable. <button>Create a new
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_components","_i18n","_element","DeletedNavigationWarning","onCreateNew","_react","createElement","Warning","createInterpolateElement","__","button","Button","onClick","variant","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation/edit/deleted-navigation-warning.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Warning } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\n\nfunction DeletedNavigationWarning( { onCreateNew } ) {\n\treturn (\n\t\t<Warning>\n\t\t\t{ createInterpolateElement(\n\t\t\t\t__(\n\t\t\t\t\t'Navigation Menu has been deleted or is unavailable. <button>Create a new Menu?</button>'\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tbutton: <Button onClick={ onCreateNew } variant=\"link\" />,\n\t\t\t\t}\n\t\t\t) }\n\t\t</Warning>\n\t);\n}\n\nexport default DeletedNavigationWarning;\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AANA;AACA;AACA;;AAMA,SAASI,wBAAwBA,CAAE;EAAEC;AAAY,CAAC,EAAG;EACpD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACR,YAAA,CAAAS,OAAO,QACL,IAAAC,iCAAwB,EACzB,IAAAC,QAAE,EACD,yFACD,CAAC,EACD;IACCC,MAAM,EAAE,IAAAL,MAAA,CAAAC,aAAA,EAACN,WAAA,CAAAW,MAAM;MAACC,OAAO,EAAGR,WAAa;MAACS,OAAO,EAAC;IAAM,CAAE;EACzD,CACD,CACQ,CAAC;AAEZ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcb,wBAAwB","ignoreList":[]}
|
|
@@ -46,7 +46,9 @@ function AdditionalBlockContent({
|
|
|
46
46
|
return null;
|
|
47
47
|
}
|
|
48
48
|
const setInsertedBlockAttributes = _insertedBlockClientId => _updatedAttributes => {
|
|
49
|
-
if (!_insertedBlockClientId)
|
|
49
|
+
if (!_insertedBlockClientId) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
50
52
|
updateBlockAttributes(_insertedBlockClientId, _updatedAttributes);
|
|
51
53
|
};
|
|
52
54
|
return (0, _react.createElement)(_linkUi.LinkUI, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_components","_data","_i18n","_navigationMenuSelector","_interopRequireDefault","_lockUnlock","_deletedNavigationWarning","_useNavigationMenu","_leafMoreMenu","_updateAttributes","_linkUi","actionLabel","__","BLOCKS_WITH_LINK_UI_SUPPORT","PrivateListView","unlock","blockEditorPrivateApis","AdditionalBlockContent","block","insertedBlock","setInsertedBlock","updateBlockAttributes","useDispatch","blockEditorStore","supportsLinkControls","includes","name","blockWasJustInserted","clientId","showLinkControls","setInsertedBlockAttributes","_insertedBlockClientId","_updatedAttributes","_react","createElement","LinkUI","link","attributes","onClose","onChange","updatedValue","updateAttributes","onCancel","MainContent","currentMenuId","isLoading","isNavigationMenuMissing","onCreateNew","hasChildren","useSelect","select","getBlockCount","navigationMenu","useNavigationMenu","default","Spinner","description","sprintf","title","className","rootClientId","isExpanded","showAppender","blockSettingsMenu","LeafMoreMenu","additionalBlockContent","MenuInspectorControls","props","createNavigationMenuIsSuccess","createNavigationMenuIsError","onSelectClassicMenu","onSelectNavigationMenu","isManageMenusButtonDisabled","blockEditingMode","InspectorControls","group","PanelBody","__experimentalHStack","__experimentalHeading","level","_default","exports"],"sources":["@wordpress/block-library/src/navigation/edit/menu-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport { unlock } from '../../lock-unlock';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport useNavigationMenu from '../use-navigation-menu';\nimport LeafMoreMenu from './leaf-more-menu';\nimport { updateAttributes } from '../../navigation-link/update-attributes';\nimport { LinkUI } from '../../navigation-link/link-ui';\n\n/* translators: %s: The name of a menu. */\nconst actionLabel = __( \"Switch to '%s'\" );\nconst BLOCKS_WITH_LINK_UI_SUPPORT = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\nconst { PrivateListView } = unlock( blockEditorPrivateApis );\n\nfunction AdditionalBlockContent( { block, insertedBlock, setInsertedBlock } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(\n\t\tinsertedBlock?.name\n\t);\n\tconst blockWasJustInserted = insertedBlock?.clientId === block.clientId;\n\tconst showLinkControls = supportsLinkControls && blockWasJustInserted;\n\n\tif ( ! showLinkControls ) {\n\t\treturn null;\n\t}\n\n\tconst setInsertedBlockAttributes =\n\t\t( _insertedBlockClientId ) => ( _updatedAttributes ) => {\n\t\t\tif ( ! _insertedBlockClientId ) return;\n\t\t\tupdateBlockAttributes( _insertedBlockClientId, _updatedAttributes );\n\t\t};\n\n\treturn (\n\t\t<LinkUI\n\t\t\tclientId={ insertedBlock?.clientId }\n\t\t\tlink={ insertedBlock?.attributes }\n\t\t\tonClose={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\tupdateAttributes(\n\t\t\t\t\tupdatedValue,\n\t\t\t\t\tsetInsertedBlockAttributes( insertedBlock?.clientId ),\n\t\t\t\t\tinsertedBlock?.attributes\n\t\t\t\t);\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonCancel={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst MainContent = ( {\n\tclientId,\n\tcurrentMenuId,\n\tisLoading,\n\tisNavigationMenuMissing,\n\tonCreateNew,\n} ) => {\n\tconst hasChildren = useSelect(\n\t\t( select ) => {\n\t\t\treturn !! select( blockEditorStore ).getBlockCount( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { navigationMenu } = useNavigationMenu( currentMenuId );\n\n\tif ( currentMenuId && isNavigationMenuMissing ) {\n\t\treturn <DeletedNavigationWarning onCreateNew={ onCreateNew } />;\n\t}\n\n\tif ( isLoading ) {\n\t\treturn <Spinner />;\n\t}\n\n\tconst description = navigationMenu\n\t\t? sprintf(\n\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t__( 'Structure for Navigation Menu: %s' ),\n\t\t\t\tnavigationMenu?.title || __( 'Untitled menu' )\n\t\t )\n\t\t: __(\n\t\t\t\t'You have not yet created any menus. Displaying a list of your Pages'\n\t\t );\n\n\treturn (\n\t\t<div className=\"wp-block-navigation__menu-inspector-controls\">\n\t\t\t{ ! hasChildren && (\n\t\t\t\t<p className=\"wp-block-navigation__menu-inspector-controls__empty-message\">\n\t\t\t\t\t{ __( 'This Navigation Menu is empty.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t<PrivateListView\n\t\t\t\trootClientId={ clientId }\n\t\t\t\tisExpanded\n\t\t\t\tdescription={ description }\n\t\t\t\tshowAppender\n\t\t\t\tblockSettingsMenu={ LeafMoreMenu }\n\t\t\t\tadditionalBlockContent={ AdditionalBlockContent }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst MenuInspectorControls = ( props ) => {\n\tconst {\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcreateNavigationMenuIsError,\n\t\tcurrentMenuId = null,\n\t\tonCreateNew,\n\t\tonSelectClassicMenu,\n\t\tonSelectNavigationMenu,\n\t\tisManageMenusButtonDisabled,\n\t\tblockEditingMode,\n\t} = props;\n\n\treturn (\n\t\t<InspectorControls group=\"list\">\n\t\t\t<PanelBody title={ null }>\n\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\t\t\tisManageMenusButtonDisabled={\n\t\t\t\t\t\t\t\tisManageMenusButtonDisabled\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</HStack>\n\t\t\t\t<MainContent { ...props } />\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default MenuInspectorControls;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_components","_data","_i18n","_navigationMenuSelector","_interopRequireDefault","_lockUnlock","_deletedNavigationWarning","_useNavigationMenu","_leafMoreMenu","_updateAttributes","_linkUi","actionLabel","__","BLOCKS_WITH_LINK_UI_SUPPORT","PrivateListView","unlock","blockEditorPrivateApis","AdditionalBlockContent","block","insertedBlock","setInsertedBlock","updateBlockAttributes","useDispatch","blockEditorStore","supportsLinkControls","includes","name","blockWasJustInserted","clientId","showLinkControls","setInsertedBlockAttributes","_insertedBlockClientId","_updatedAttributes","_react","createElement","LinkUI","link","attributes","onClose","onChange","updatedValue","updateAttributes","onCancel","MainContent","currentMenuId","isLoading","isNavigationMenuMissing","onCreateNew","hasChildren","useSelect","select","getBlockCount","navigationMenu","useNavigationMenu","default","Spinner","description","sprintf","title","className","rootClientId","isExpanded","showAppender","blockSettingsMenu","LeafMoreMenu","additionalBlockContent","MenuInspectorControls","props","createNavigationMenuIsSuccess","createNavigationMenuIsError","onSelectClassicMenu","onSelectNavigationMenu","isManageMenusButtonDisabled","blockEditingMode","InspectorControls","group","PanelBody","__experimentalHStack","__experimentalHeading","level","_default","exports"],"sources":["@wordpress/block-library/src/navigation/edit/menu-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport { unlock } from '../../lock-unlock';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport useNavigationMenu from '../use-navigation-menu';\nimport LeafMoreMenu from './leaf-more-menu';\nimport { updateAttributes } from '../../navigation-link/update-attributes';\nimport { LinkUI } from '../../navigation-link/link-ui';\n\n/* translators: %s: The name of a menu. */\nconst actionLabel = __( \"Switch to '%s'\" );\nconst BLOCKS_WITH_LINK_UI_SUPPORT = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\nconst { PrivateListView } = unlock( blockEditorPrivateApis );\n\nfunction AdditionalBlockContent( { block, insertedBlock, setInsertedBlock } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(\n\t\tinsertedBlock?.name\n\t);\n\tconst blockWasJustInserted = insertedBlock?.clientId === block.clientId;\n\tconst showLinkControls = supportsLinkControls && blockWasJustInserted;\n\n\tif ( ! showLinkControls ) {\n\t\treturn null;\n\t}\n\n\tconst setInsertedBlockAttributes =\n\t\t( _insertedBlockClientId ) => ( _updatedAttributes ) => {\n\t\t\tif ( ! _insertedBlockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( _insertedBlockClientId, _updatedAttributes );\n\t\t};\n\n\treturn (\n\t\t<LinkUI\n\t\t\tclientId={ insertedBlock?.clientId }\n\t\t\tlink={ insertedBlock?.attributes }\n\t\t\tonClose={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\tupdateAttributes(\n\t\t\t\t\tupdatedValue,\n\t\t\t\t\tsetInsertedBlockAttributes( insertedBlock?.clientId ),\n\t\t\t\t\tinsertedBlock?.attributes\n\t\t\t\t);\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonCancel={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst MainContent = ( {\n\tclientId,\n\tcurrentMenuId,\n\tisLoading,\n\tisNavigationMenuMissing,\n\tonCreateNew,\n} ) => {\n\tconst hasChildren = useSelect(\n\t\t( select ) => {\n\t\t\treturn !! select( blockEditorStore ).getBlockCount( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { navigationMenu } = useNavigationMenu( currentMenuId );\n\n\tif ( currentMenuId && isNavigationMenuMissing ) {\n\t\treturn <DeletedNavigationWarning onCreateNew={ onCreateNew } />;\n\t}\n\n\tif ( isLoading ) {\n\t\treturn <Spinner />;\n\t}\n\n\tconst description = navigationMenu\n\t\t? sprintf(\n\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t__( 'Structure for Navigation Menu: %s' ),\n\t\t\t\tnavigationMenu?.title || __( 'Untitled menu' )\n\t\t )\n\t\t: __(\n\t\t\t\t'You have not yet created any menus. Displaying a list of your Pages'\n\t\t );\n\n\treturn (\n\t\t<div className=\"wp-block-navigation__menu-inspector-controls\">\n\t\t\t{ ! hasChildren && (\n\t\t\t\t<p className=\"wp-block-navigation__menu-inspector-controls__empty-message\">\n\t\t\t\t\t{ __( 'This Navigation Menu is empty.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t<PrivateListView\n\t\t\t\trootClientId={ clientId }\n\t\t\t\tisExpanded\n\t\t\t\tdescription={ description }\n\t\t\t\tshowAppender\n\t\t\t\tblockSettingsMenu={ LeafMoreMenu }\n\t\t\t\tadditionalBlockContent={ AdditionalBlockContent }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst MenuInspectorControls = ( props ) => {\n\tconst {\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcreateNavigationMenuIsError,\n\t\tcurrentMenuId = null,\n\t\tonCreateNew,\n\t\tonSelectClassicMenu,\n\t\tonSelectNavigationMenu,\n\t\tisManageMenusButtonDisabled,\n\t\tblockEditingMode,\n\t} = props;\n\n\treturn (\n\t\t<InspectorControls group=\"list\">\n\t\t\t<PanelBody title={ null }>\n\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\t\t\tisManageMenusButtonDisabled={\n\t\t\t\t\t\t\t\tisManageMenusButtonDisabled\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</HStack>\n\t\t\t\t<MainContent { ...props } />\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default MenuInspectorControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -137,7 +137,7 @@ function NavigationMenuSelector({
|
|
|
137
137
|
onClose();
|
|
138
138
|
},
|
|
139
139
|
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
140
|
-
}, (0, _i18n.__)('Create new
|
|
140
|
+
}, (0, _i18n.__)('Create new Menu')))));
|
|
141
141
|
return NavigationMenuSelectorDropdown;
|
|
142
142
|
}
|
|
143
143
|
var _default = exports.default = NavigationMenuSelector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_icons","_i18n","_htmlEntities","_element","_coreData","_useNavigationMenu","_interopRequireDefault","_useNavigationEntities","buildMenuLabel","title","id","status","sprintf","__","decodeEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","useState","menus","classicMenus","useNavigationEntities","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","useNavigationMenu","currentTitle","useEntityProp","menuChoices","useMemo","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","useEffect","NavigationMenuSelectorDropdown","_react","createElement","DropdownMenu","icon","moreVertical","toggleProps","size","onClose","Fragment","MenuGroup","MenuItemsChoice","onSelect","menuId","choices","menu","name","MenuItem","onClick","key","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenus;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation Menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenus,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_icons","_i18n","_htmlEntities","_element","_coreData","_useNavigationMenu","_interopRequireDefault","_useNavigationEntities","buildMenuLabel","title","id","status","sprintf","__","decodeEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","useState","menus","classicMenus","useNavigationEntities","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","useNavigationMenu","currentTitle","useEntityProp","menuChoices","useMemo","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","useEffect","NavigationMenuSelectorDropdown","_react","createElement","DropdownMenu","icon","moreVertical","toggleProps","size","onClose","Fragment","MenuGroup","MenuItemsChoice","onSelect","menuId","choices","menu","name","MenuItem","onClick","key","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenus;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation Menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenus,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new Menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_edit","_save","_deprecated","metadata","exports","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","ref","type","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","openSubmenusOnClick","overlayMenu","icon","hasIcon","__unstableLocation","overlayBackgroundColor","customOverlayBackgroundColor","overlayTextColor","customOverlayTextColor","maxNestingLevel","templateLock","providesContext","fontSize","customFontSize","style","supports","align","ariaLabel","html","inserter","typography","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalTextTransform","__experimentalFontFamily","__experimentalLetterSpacing","__experimentalTextDecoration","__experimentalSkipSerialization","__experimentalDefaultControls","spacing","blockGap","units","layout","allowSwitching","allowInheriting","allowVerticalAlignment","allowSizingOnChildren","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_edit","_save","_deprecated","metadata","exports","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","ref","type","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","openSubmenusOnClick","overlayMenu","icon","hasIcon","__unstableLocation","overlayBackgroundColor","customOverlayBackgroundColor","overlayTextColor","customOverlayTextColor","maxNestingLevel","templateLock","providesContext","fontSize","customFontSize","style","supports","align","ariaLabel","html","inserter","typography","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalTextTransform","__experimentalFontFamily","__experimentalLetterSpacing","__experimentalTextDecoration","__experimentalSkipSerialization","__experimentalDefaultControls","spacing","blockGap","units","layout","allowSwitching","allowInheriting","allowVerticalAlignment","allowSizingOnChildren","interactivity","renaming","editorStyle","settings","example","innerBlocks","label","__","url","edit","save","deprecated","init","initBlock"],"sources":["@wordpress/block-library/src/navigation/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\toverlayMenu: 'never',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
|
package/build/navigation/view.js
CHANGED
|
@@ -81,7 +81,9 @@ const {
|
|
|
81
81
|
ref
|
|
82
82
|
} = (0, _interactivity.getElement)();
|
|
83
83
|
// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261
|
|
84
|
-
if (window.document.activeElement !== ref)
|
|
84
|
+
if (window.document.activeElement !== ref) {
|
|
85
|
+
ref.focus();
|
|
86
|
+
}
|
|
85
87
|
const {
|
|
86
88
|
menuOpenedBy
|
|
87
89
|
} = state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","state","actions","store","roleAttribute","ctx","getContext","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","getElement","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) ref.focus();\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown( event ) {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\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\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outsite the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\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\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":";;AAGA,IAAAA,cAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,kBAAkB,GAAG,CAC1B,SAAS,EACT,+DAA+D,EAC/D,2CAA2C,EAC3C,6CAA6C,EAC7C,2CAA2C,EAC3C,mBAAmB,EACnB,iCAAiC,CACjC;;AAED;AACA;AACA;AACAC,QAAQ,CAACC,gBAAgB,CAAE,OAAO,EAAE,MAAM,CAAC,CAAE,CAAC;AAE9C,MAAM;EAAEC,KAAK;EAAEC;AAAQ,CAAC,GAAG,IAAAC,oBAAK,EAC/B,iBAAiB,EACjB;EACCF,KAAK,EAAE;IACN,IAAIG,aAAaA,CAAA,EAAG;MACnB,MAAMC,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAC9C,QAAQ,GACR,IAAI;IACR,CAAC;IACD,IAAIC,SAASA,CAAA,EAAG;MACf,MAAMJ,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAC9C,MAAM,GACN,IAAI;IACR,CAAC;IACD,IAAIE,SAASA,CAAA,EAAG;MACf,MAAML,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,IAAIN,KAAK,CAACO,UAAU,GAC9CH,GAAG,CAACK,SAAS,GACb,IAAI;IACR,CAAC;IACD,IAAIF,UAAUA,CAAA,EAAG;MAChB;MACA,OACCG,MAAM,CAACC,MAAM,CAAEX,KAAK,CAACY,YAAa,CAAC,CAACC,MAAM,CAAEC,OAAQ,CAAC,CACnDC,MAAM,GAAG,CAAC;IAEd,CAAC;IACD,IAAIH,YAAYA,CAAA,EAAG;MAClB,MAAMR,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,OAAOD,GAAG,CAACE,IAAI,KAAK,SAAS,GAC1BF,GAAG,CAACY,eAAe,GACnBZ,GAAG,CAACa,eAAe;IACvB;EACD,CAAC;EACDhB,OAAO,EAAE;IACRiB,eAAeA,CAAA,EAAG;MACjB,MAAM;QAAEZ,IAAI;QAAEU;MAAgB,CAAC,GAAG,IAAAX,yBAAU,EAAC,CAAC;MAC9C,IACCC,IAAI,KAAK,SAAS;MAClB;MACAI,MAAM,CAACC,MAAM,CAAEK,eAAe,IAAI,CAAC,CAAE,CAAC,CAACH,MAAM,CAAEC,OAAQ,CAAC,CACtDC,MAAM,KAAK,CAAC,EACb;QACDd,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;MAC5B;IACD,CAAC;IACDC,gBAAgBA,CAAA,EAAG;MAClB,MAAM;QAAEd,IAAI;QAAEU;MAAgB,CAAC,GAAG,IAAAX,yBAAU,EAAC,CAAC;MAC9C,IACCC,IAAI,KAAK,SAAS;MAClB;MACAI,MAAM,CAACC,MAAM,CAAEK,eAAe,IAAI,CAAC,CAAE,CAAC,CAACH,MAAM,CAAEC,OAAQ,CAAC,CACtDC,MAAM,KAAK,CAAC,EACb;QACDd,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B;IACD,CAAC;IACDC,eAAeA,CAAA,EAAG;MACjB,MAAMlB,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5BpB,GAAG,CAACqB,aAAa,GAAGF,GAAG;MACvBtB,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDO,gBAAgBA,CAAA,EAAG;MAClBzB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;IAC7B,CAAC;IACDM,eAAeA,CAAA,EAAG;MACjB1B,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDS,iBAAiBA,CAAA,EAAG;MACnB,MAAMxB,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B;MACA,IAAKK,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAAKP,GAAG,EAAGA,GAAG,CAACQ,KAAK,CAAC,CAAC;MACxD,MAAM;QAAEnB;MAAa,CAAC,GAAGZ,KAAK;MAC9B,IAAKY,YAAY,CAACoB,KAAK,IAAIpB,YAAY,CAACmB,KAAK,EAAG;QAC/C9B,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;QAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B,CAAC,MAAM;QACNjB,GAAG,CAACqB,aAAa,GAAGF,GAAG;QACvBtB,OAAO,CAACkB,QAAQ,CAAE,OAAQ,CAAC;MAC5B;IACD,CAAC;IACDc,iBAAiBA,CAAEC,KAAK,EAAG;MAC1B,MAAM;QAAE5B,IAAI;QAAE6B,qBAAqB;QAAEC;MAAqB,CAAC,GAC1D,IAAA/B,yBAAU,EAAC,CAAC;MACb,IAAKL,KAAK,CAACY,YAAY,CAACoB,KAAK,EAAG;QAC/B;QACA,IAAKE,KAAK,EAAEG,GAAG,KAAK,QAAQ,EAAG;UAC9BpC,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;UAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;UAC5B;QACD;;QAEA;QACA,IAAKf,IAAI,KAAK,SAAS,IAAI4B,KAAK,CAACG,GAAG,KAAK,KAAK,EAAG;UAChD;UACA,IACCH,KAAK,CAACI,QAAQ,IACdT,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAC5BK,qBAAqB,EACrB;YACDD,KAAK,CAACK,cAAc,CAAC,CAAC;YACtBH,oBAAoB,CAACL,KAAK,CAAC,CAAC;UAC7B,CAAC,MAAM,IACN,CAAEG,KAAK,CAACI,QAAQ,IAChBT,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,KAC5BM,oBAAoB,EACpB;YACDF,KAAK,CAACK,cAAc,CAAC,CAAC;YACtBJ,qBAAqB,CAACJ,KAAK,CAAC,CAAC;UAC9B;QACD;MACD;IACD,CAAC;IACDS,kBAAkBA,CAAEN,KAAK,EAAG;MAC3B,MAAM;QAAEO,KAAK;QAAEnC;MAAK,CAAC,GAAG,IAAAD,yBAAU,EAAC,CAAC;MACpC;MACA;MACA;MACA;MACA;;MAEA;MACA,IACC6B,KAAK,CAACQ,aAAa,KAAK,IAAI,IAC1B,CAAED,KAAK,EAAEE,QAAQ,CAAET,KAAK,CAACQ,aAAc,CAAC,IACzCR,KAAK,CAACU,MAAM,KAAKf,MAAM,CAAC/B,QAAQ,CAACgC,aAAa,IAC9CxB,IAAI,KAAK,SAAW,EACpB;QACDL,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;QAC5BpB,OAAO,CAACoB,SAAS,CAAE,OAAQ,CAAC;MAC7B;IACD,CAAC;IAEDF,QAAQA,CAAE0B,YAAY,GAAG,OAAO,EAAG;MAClC,MAAM;QAAEvC;MAAK,CAAC,GAAG,IAAAD,yBAAU,EAAC,CAAC;MAC7BL,KAAK,CAACY,YAAY,CAAEiC,YAAY,CAAE,GAAG,IAAI;MACzC,IAAKvC,IAAI,KAAK,SAAS,EAAG;QACzB;QACAR,QAAQ,CAACgD,eAAe,CAACC,SAAS,CAACC,GAAG,CAAE,gBAAiB,CAAC;MAC3D;IACD,CAAC;IAED3B,SAASA,CAAE4B,YAAY,GAAG,OAAO,EAAG;MACnC,MAAM7C,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxBL,KAAK,CAACY,YAAY,CAAEqC,YAAY,CAAE,GAAG,KAAK;MAC1C;MACA,IAAK,CAAEjD,KAAK,CAACO,UAAU,EAAG;QACzB,IACCH,GAAG,CAACqC,KAAK,EAAEE,QAAQ,CAAEd,MAAM,CAAC/B,QAAQ,CAACgC,aAAc,CAAC,EACnD;UACD1B,GAAG,CAACqB,aAAa,EAAEM,KAAK,CAAC,CAAC;QAC3B;QACA3B,GAAG,CAACqC,KAAK,GAAG,IAAI;QAChBrC,GAAG,CAACqB,aAAa,GAAG,IAAI;QACxB,IAAKrB,GAAG,CAACE,IAAI,KAAK,SAAS,EAAG;UAC7BR,QAAQ,CAACgD,eAAe,CAACC,SAAS,CAACG,MAAM,CACxC,gBACD,CAAC;QACF;MACD;IACD;EACD,CAAC;EACDC,SAAS,EAAE;IACVC,QAAQA,CAAA,EAAG;MACV,MAAMhD,GAAG,GAAG,IAAAC,yBAAU,EAAC,CAAC;MACxB,MAAM;QAAEkB;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B,IAAKxB,KAAK,CAACO,UAAU,EAAG;QACvB,MAAM8C,iBAAiB,GACtB9B,GAAG,CAAC+B,gBAAgB,CAAEzD,kBAAmB,CAAC;QAC3CO,GAAG,CAACqC,KAAK,GAAGlB,GAAG;QACfnB,GAAG,CAAC+B,qBAAqB,GAAGkB,iBAAiB,CAAE,CAAC,CAAE;QAClDjD,GAAG,CAACgC,oBAAoB,GACvBiB,iBAAiB,CAAEA,iBAAiB,CAACtC,MAAM,GAAG,CAAC,CAAE;MACnD;IACD,CAAC;IACDwC,iBAAiBA,CAAA,EAAG;MACnB,MAAM;QAAEhC;MAAI,CAAC,GAAG,IAAAC,yBAAU,EAAC,CAAC;MAC5B,IAAKxB,KAAK,CAACO,UAAU,EAAG;QACvB,MAAM8C,iBAAiB,GACtB9B,GAAG,CAAC+B,gBAAgB,CAAEzD,kBAAmB,CAAC;QAC3CwD,iBAAiB,GAAI,CAAC,CAAE,EAAEtB,KAAK,CAAC,CAAC;MAClC;IACD;EACD;AACD,CAAC,EACD;EAAEyB,IAAI,EAAE;AAAK,CACd,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_interactivity","require","focusableSelectors","document","addEventListener","state","actions","store","roleAttribute","ctx","getContext","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","getElement","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown( event ) {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\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\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outsite the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\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\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"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","ignoreList":[]}
|