@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRegistry","useDispatch","useSelect","store","blockEditorStore","useOutdentListItem","useMerge","clientId","onMerge","registry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","mergeBlocks","moveBlocksToPosition","outdentListItem","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":["useRegistry","useDispatch","useSelect","store","blockEditorStore","useOutdentListItem","useMerge","clientId","onMerge","registry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","mergeBlocks","moveBlocksToPosition","outdentListItem","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":[]}
|
|
@@ -25,23 +25,33 @@ export default function useOutdentListItem() {
|
|
|
25
25
|
function getParentListItemId(id) {
|
|
26
26
|
const listId = getBlockRootClientId(id);
|
|
27
27
|
const parentListItemId = getBlockRootClientId(listId);
|
|
28
|
-
if (!parentListItemId)
|
|
29
|
-
|
|
28
|
+
if (!parentListItemId) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (getBlockName(parentListItemId) !== 'core/list-item') {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
30
34
|
return parentListItemId;
|
|
31
35
|
}
|
|
32
36
|
return useCallback((clientIds = getSelectedBlockClientIds()) => {
|
|
33
37
|
if (!Array.isArray(clientIds)) {
|
|
34
38
|
clientIds = [clientIds];
|
|
35
39
|
}
|
|
36
|
-
if (!clientIds.length)
|
|
40
|
+
if (!clientIds.length) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
37
43
|
const firstClientId = clientIds[0];
|
|
38
44
|
|
|
39
45
|
// Can't outdent if it's not a list item.
|
|
40
|
-
if (getBlockName(firstClientId) !== 'core/list-item')
|
|
46
|
+
if (getBlockName(firstClientId) !== 'core/list-item') {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
41
49
|
const parentListItemId = getParentListItemId(firstClientId);
|
|
42
50
|
|
|
43
51
|
// Can't outdent if it's at the top level.
|
|
44
|
-
if (!parentListItemId)
|
|
52
|
+
if (!parentListItemId) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
45
55
|
const parentListId = getBlockRootClientId(firstClientId);
|
|
46
56
|
const lastClientId = clientIds[clientIds.length - 1];
|
|
47
57
|
const order = getBlockOrder(parentListId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","registry","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockRootClientId","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock","clientId","shouldSelectParent"],"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\nexport default function useOutdentListItem() {\n\tconst registry = useRegistry();\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId )
|
|
1
|
+
{"version":3,"names":["useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","registry","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockRootClientId","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","clientIds","Array","isArray","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock","clientId","shouldSelectParent"],"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\nexport default function useOutdentListItem() {\n\tconst registry = useRegistry();\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) {\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":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,oBAAoB;AAChD,SAASC,SAAS,EAAEC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AACrE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,UAAU,QAAQ,mBAAmB;AAE9C,eAAe,SAASC,kBAAkBA,CAAA,EAAG;EAC5C,MAAMC,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAM;IACLM,oBAAoB;IACpBC,WAAW;IACXC,WAAW;IACXC;EACD,CAAC,GAAGV,WAAW,CAAEG,gBAAiB,CAAC;EACnC,MAAM;IACLQ,oBAAoB;IACpBC,YAAY;IACZC,aAAa;IACbC,aAAa;IACbC,yBAAyB;IACzBC,QAAQ;IACRC;EACD,CAAC,GAAGlB,SAAS,CAAEI,gBAAiB,CAAC;EAEjC,SAASe,mBAAmBA,CAAEC,EAAE,EAAG;IAClC,MAAMC,MAAM,GAAGT,oBAAoB,CAAEQ,EAAG,CAAC;IACzC,MAAME,gBAAgB,GAAGV,oBAAoB,CAAES,MAAO,CAAC;IACvD,IAAK,CAAEC,gBAAgB,EAAG;MACzB;IACD;IACA,IAAKT,YAAY,CAAES,gBAAiB,CAAC,KAAK,gBAAgB,EAAG;MAC5D;IACD;IACA,OAAOA,gBAAgB;EACxB;EAEA,OAAOvB,WAAW,CAAE,CAAEwB,SAAS,GAAGP,yBAAyB,CAAC,CAAC,KAAM;IAClE,IAAK,CAAEQ,KAAK,CAACC,OAAO,CAAEF,SAAU,CAAC,EAAG;MACnCA,SAAS,GAAG,CAAEA,SAAS,CAAE;IAC1B;IAEA,IAAK,CAAEA,SAAS,CAACG,MAAM,EAAG;MACzB;IACD;IAEA,MAAMC,aAAa,GAAGJ,SAAS,CAAE,CAAC,CAAE;;IAEpC;IACA,IAAKV,YAAY,CAAEc,aAAc,CAAC,KAAK,gBAAgB,EAAG;MACzD;IACD;IAEA,MAAML,gBAAgB,GAAGH,mBAAmB,CAAEQ,aAAc,CAAC;;IAE7D;IACA,IAAK,CAAEL,gBAAgB,EAAG;MACzB;IACD;IAEA,MAAMM,YAAY,GAAGhB,oBAAoB,CAAEe,aAAc,CAAC;IAC1D,MAAME,YAAY,GAAGN,SAAS,CAAEA,SAAS,CAACG,MAAM,GAAG,CAAC,CAAE;IACtD,MAAMI,KAAK,GAAGhB,aAAa,CAAEc,YAAa,CAAC;IAC3C,MAAMG,kBAAkB,GAAGD,KAAK,CAACE,KAAK,CACrCjB,aAAa,CAAEc,YAAa,CAAC,GAAG,CACjC,CAAC;IAEDtB,QAAQ,CAAC0B,KAAK,CAAE,MAAM;MACrB,IAAKF,kBAAkB,CAACL,MAAM,EAAG;QAChC,IAAIQ,YAAY,GAAGpB,aAAa,CAAEa,aAAc,CAAC,CAAE,CAAC,CAAE;QAEtD,IAAK,CAAEO,YAAY,EAAG;UACrB,MAAMC,eAAe,GAAG9B,UAAU,CACjCY,QAAQ,CAAEW,YAAa,CAAC,EACxB,CAAC,CAAC,EACF,EACD,CAAC;UACDM,YAAY,GAAGC,eAAe,CAACC,QAAQ;UACvC1B,WAAW,CAAEyB,eAAe,EAAE,CAAC,EAAER,aAAa,EAAE,KAAM,CAAC;UACvD;UACA;UACAhB,uBAAuB,CACtBuB,YAAY,EACZhB,oBAAoB,CAAEU,YAAa,CACpC,CAAC;QACF;QAEApB,oBAAoB,CACnBuB,kBAAkB,EAClBH,YAAY,EACZM,YACD,CAAC;MACF;MACA1B,oBAAoB,CACnBe,SAAS,EACTK,YAAY,EACZhB,oBAAoB,CAAEU,gBAAiB,CAAC,EACxCP,aAAa,CAAEO,gBAAiB,CAAC,GAAG,CACrC,CAAC;MACD,IAAK,CAAER,aAAa,CAAEc,YAAa,CAAC,CAACF,MAAM,EAAG;QAC7C,MAAMW,kBAAkB,GAAG,KAAK;QAChC5B,WAAW,CAAEmB,YAAY,EAAES,kBAAmB,CAAC;MAChD;IACD,CAAE,CAAC;IAEH,OAAO,IAAI;EACZ,CAAC,EAAE,EAAG,CAAC;AACR","ignoreList":[]}
|
|
@@ -23,15 +23,21 @@ const isDeepEqual = (x, y, shouldSkip) => {
|
|
|
23
23
|
if (x === y) {
|
|
24
24
|
return true;
|
|
25
25
|
} else if (typeof x === 'object' && x !== null && x !== undefined && typeof y === 'object' && y !== null && y !== undefined) {
|
|
26
|
-
if (Object.keys(x).length !== Object.keys(y).length)
|
|
26
|
+
if (Object.keys(x).length !== Object.keys(y).length) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
27
29
|
for (const prop in x) {
|
|
28
30
|
if (y.hasOwnProperty(prop)) {
|
|
29
31
|
// Afford skipping a given property of an object.
|
|
30
32
|
if (shouldSkip && shouldSkip(prop, x)) {
|
|
31
33
|
return true;
|
|
32
34
|
}
|
|
33
|
-
if (!isDeepEqual(x[prop], y[prop], shouldSkip))
|
|
34
|
-
|
|
35
|
+
if (!isDeepEqual(x[prop], y[prop], shouldSkip)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
35
41
|
}
|
|
36
42
|
return true;
|
|
37
43
|
}
|
|
@@ -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":"AAAA,OAAO,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":[]}
|
|
@@ -9,7 +9,7 @@ import { createInterpolateElement } from '@wordpress/element';
|
|
|
9
9
|
function DeletedNavigationWarning({
|
|
10
10
|
onCreateNew
|
|
11
11
|
}) {
|
|
12
|
-
return createElement(Warning, null, createInterpolateElement(__('Navigation Menu has been deleted or is unavailable. <button>Create a new
|
|
12
|
+
return createElement(Warning, null, createInterpolateElement(__('Navigation Menu has been deleted or is unavailable. <button>Create a new Menu?</button>'), {
|
|
13
13
|
button: createElement(Button, {
|
|
14
14
|
onClick: onCreateNew,
|
|
15
15
|
variant: "link"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Warning","Button","__","createInterpolateElement","DeletedNavigationWarning","onCreateNew","createElement","button","onClick","variant"],"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":["Warning","Button","__","createInterpolateElement","DeletedNavigationWarning","onCreateNew","createElement","button","onClick","variant"],"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":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,yBAAyB;AACjD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,wBAAwB,QAAQ,oBAAoB;AAE7D,SAASC,wBAAwBA,CAAE;EAAEC;AAAY,CAAC,EAAG;EACpD,OACCC,aAAA,CAACN,OAAO,QACLG,wBAAwB,CACzBD,EAAE,CACD,yFACD,CAAC,EACD;IACCK,MAAM,EAAED,aAAA,CAACL,MAAM;MAACO,OAAO,EAAGH,WAAa;MAACI,OAAO,EAAC;IAAM,CAAE;EACzD,CACD,CACQ,CAAC;AAEZ;AAEA,eAAeL,wBAAwB","ignoreList":[]}
|
|
@@ -39,7 +39,9 @@ function AdditionalBlockContent({
|
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
41
41
|
const setInsertedBlockAttributes = _insertedBlockClientId => _updatedAttributes => {
|
|
42
|
-
if (!_insertedBlockClientId)
|
|
42
|
+
if (!_insertedBlockClientId) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
43
45
|
updateBlockAttributes(_insertedBlockClientId, _updatedAttributes);
|
|
44
46
|
};
|
|
45
47
|
return createElement(LinkUI, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","blockEditorPrivateApis","InspectorControls","store","blockEditorStore","PanelBody","__experimentalHStack","HStack","__experimentalHeading","Heading","Spinner","useSelect","useDispatch","__","sprintf","NavigationMenuSelector","unlock","DeletedNavigationWarning","useNavigationMenu","LeafMoreMenu","updateAttributes","LinkUI","actionLabel","BLOCKS_WITH_LINK_UI_SUPPORT","PrivateListView","AdditionalBlockContent","block","insertedBlock","setInsertedBlock","updateBlockAttributes","supportsLinkControls","includes","name","blockWasJustInserted","clientId","showLinkControls","setInsertedBlockAttributes","_insertedBlockClientId","_updatedAttributes","createElement","link","attributes","onClose","onChange","updatedValue","onCancel","MainContent","currentMenuId","isLoading","isNavigationMenuMissing","onCreateNew","hasChildren","select","getBlockCount","navigationMenu","description","title","className","rootClientId","isExpanded","showAppender","blockSettingsMenu","additionalBlockContent","MenuInspectorControls","props","createNavigationMenuIsSuccess","createNavigationMenuIsError","onSelectClassicMenu","onSelectNavigationMenu","isManageMenusButtonDisabled","blockEditingMode","group","level"],"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 )
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","InspectorControls","store","blockEditorStore","PanelBody","__experimentalHStack","HStack","__experimentalHeading","Heading","Spinner","useSelect","useDispatch","__","sprintf","NavigationMenuSelector","unlock","DeletedNavigationWarning","useNavigationMenu","LeafMoreMenu","updateAttributes","LinkUI","actionLabel","BLOCKS_WITH_LINK_UI_SUPPORT","PrivateListView","AdditionalBlockContent","block","insertedBlock","setInsertedBlock","updateBlockAttributes","supportsLinkControls","includes","name","blockWasJustInserted","clientId","showLinkControls","setInsertedBlockAttributes","_insertedBlockClientId","_updatedAttributes","createElement","link","attributes","onClose","onChange","updatedValue","onCancel","MainContent","currentMenuId","isLoading","isNavigationMenuMissing","onCreateNew","hasChildren","select","getBlockCount","navigationMenu","description","title","className","rootClientId","isExpanded","showAppender","blockSettingsMenu","additionalBlockContent","MenuInspectorControls","props","createNavigationMenuIsSuccess","createNavigationMenuIsError","onSelectClassicMenu","onSelectNavigationMenu","isManageMenusButtonDisabled","blockEditingMode","group","level"],"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":[]}
|
|
@@ -129,7 +129,7 @@ function NavigationMenuSelector({
|
|
|
129
129
|
onClose();
|
|
130
130
|
},
|
|
131
131
|
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
132
|
-
}, __('Create new
|
|
132
|
+
}, __('Create new Menu')))));
|
|
133
133
|
return NavigationMenuSelectorDropdown;
|
|
134
134
|
}
|
|
135
135
|
export default NavigationMenuSelector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","createElement","icon","toggleProps","size","onClose","Fragment","onSelect","menuId","choices","menu","name","onClick","key"],"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":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","createElement","icon","toggleProps","size","onClose","Fragment","onSelect","menuId","choices","menu","name","onClick","key"],"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":";AAAA;AACA;AACA;AACA,SACCA,SAAS,EACTC,QAAQ,EACRC,eAAe,EACfC,YAAY,QACN,uBAAuB;AAC9B,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AACjE,SAASC,aAAa,QAAQ,sBAAsB;;AAEpD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,qBAAqB,MAAM,4BAA4B;AAE9D,SAASC,cAAcA,CAAEC,KAAK,EAAEC,EAAE,EAAEC,MAAM,EAAG;EAC5C,IAAK,CAAEF,KAAK,EAAG;IACd;IACA,OAAOT,OAAO,CAAED,EAAE,CAAE,eAAgB,CAAC,EAAEW,EAAG,CAAC;EAC5C;EAEA,IAAKC,MAAM,KAAK,SAAS,EAAG;IAC3B,OAAOV,cAAc,CAAEQ,KAAM,CAAC;EAC/B;EAEA,OAAOT,OAAO;EACb;EACAD,EAAE,CAAE,aAAc,CAAC,EACnBE,cAAc,CAAEQ,KAAM,CAAC,EACvBE,MACD,CAAC;AACF;AAEA,SAASC,sBAAsBA,CAAE;EAChCC,aAAa;EACbC,sBAAsB;EACtBC,mBAAmB;EACnBC,WAAW;EACXC,WAAW;EACXC,6BAA6B;EAC7BC;AACD,CAAC,EAAG;EACH;EACA,MAAMC,iBAAiB,GAAGrB,EAAE,CAAE,kBAAmB,CAAC;EAElD,MAAM,CAAEsB,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGlB,QAAQ,CAAE,KAAM,CAAC;EAErEa,WAAW,GAAGA,WAAW,IAAIG,iBAAiB;EAE9C,MAAM;IAAEG,KAAK,EAAEC;EAAa,CAAC,GAAGjB,qBAAqB,CAAC,CAAC;EAEvD,MAAM;IACLkB,eAAe;IACfC,0BAA0B;IAC1BC,0BAA0B;IAC1BC,4BAA4B;IAC5BC;EACD,CAAC,GAAGvB,iBAAiB,CAAC,CAAC;EAEvB,MAAM,CAAEwB,YAAY,CAAE,GAAGzB,aAAa,CACrC,UAAU,EACV,eAAe,EACf,OACD,CAAC;EAED,MAAM0B,WAAW,GAAG5B,OAAO,CAAE,MAAM;IAClC,OACCsB,eAAe,EAAEO,GAAG,CAAE,CAAE;MAAEtB,EAAE;MAAED,KAAK;MAAEE;IAAO,CAAC,EAAEsB,KAAK,KAAM;MACzD,MAAMC,KAAK,GAAG1B,cAAc,CAC3BC,KAAK,EAAE0B,QAAQ,EACfF,KAAK,GAAG,CAAC,EACTtB,MACD,CAAC;MAED,OAAO;QACNyB,KAAK,EAAE1B,EAAE;QACTwB,KAAK;QACLG,SAAS,EAAErC,OAAO,CAAEiB,WAAW,EAAEiB,KAAM,CAAC;QACxCI,QAAQ,EACPjB,iBAAiB,IACjBK,0BAA0B,IAC1B,CAAEC;MACJ,CAAC;IACF,CAAE,CAAC,IAAI,EAAE;EAEX,CAAC,EAAE,CACFF,eAAe,EACfR,WAAW,EACXS,0BAA0B,EAC1BC,0BAA0B,EAC1BN,iBAAiB,CAChB,CAAC;EAEH,MAAMkB,kBAAkB,GAAG,CAAC,CAAEd,eAAe,EAAEe,MAAM;EACrD,MAAMC,eAAe,GAAG,CAAC,CAAEjB,YAAY,EAAEgB,MAAM;EAC/C,MAAME,mBAAmB,GAAG,CAAC,CAAEb,uBAAuB;EACtD,MAAMc,gBAAgB,GAAG,CAAC,CAAEf,4BAA4B;EAExD,MAAMgB,cAAc,GAAGL,kBAAkB,IAAI,CAAE1B,aAAa;EAC5D,MAAMgC,YAAY,GAAG,CAAEN,kBAAkB,IAAIZ,0BAA0B;EACvE,MAAMmB,eAAe,GACpBnB,0BAA0B,IAAId,aAAa,KAAK,IAAI;EAErD,IAAIkC,aAAa,GAAG,EAAE;EAEtB,IAAKrB,0BAA0B,EAAG;IACjCqB,aAAa,GAAGhD,EAAE,CAAE,UAAW,CAAC;EACjC,CAAC,MAAM,IAAK6C,cAAc,IAAIC,YAAY,IAAIC,eAAe,EAAG;IAC/D;IACAC,aAAa,GAAGhD,EAAE,CAAE,oCAAqC,CAAC;EAC3D,CAAC,MAAM;IACN;IACAgD,aAAa,GAAGjB,YAAY;EAC7B;EAEA5B,SAAS,CAAE,MAAM;IAChB,IACCmB,iBAAiB,KACfH,6BAA6B,IAAIC,2BAA2B,CAAE,EAC/D;MACDG,oBAAoB,CAAE,KAAM,CAAC;IAC9B;EACD,CAAC,EAAE,CACFK,0BAA0B,EAC1BT,6BAA6B,EAC7BU,4BAA4B,EAC5BT,2BAA2B,EAC3BE,iBAAiB,EACjByB,eAAe,EACfD,YAAY,EACZD,cAAc,CACb,CAAC;EAEH,MAAMI,8BAA8B,GACnCC,aAAA,CAACpD,YAAY;IACZqC,KAAK,EAAGa,aAAe;IACvBG,IAAI,EAAGpD,YAAc;IACrBqD,WAAW,EAAG;MAAEC,IAAI,EAAE;IAAQ;EAAG,GAE/B,CAAE;IAAEC;EAAQ,CAAC,KACdJ,aAAA,CAAAK,QAAA,QACGZ,mBAAmB,IAAIH,kBAAkB,IAC1CU,aAAA,CAACvD,SAAS;IAACwC,KAAK,EAAGnC,EAAE,CAAE,OAAQ;EAAG,GACjCkD,aAAA,CAACrD,eAAe;IACfwC,KAAK,EAAGvB,aAAe;IACvB0C,QAAQ,EAAKC,MAAM,IAAM;MACxB1C,sBAAsB,CAAE0C,MAAO,CAAC;MAChCH,OAAO,CAAC,CAAC;IACV,CAAG;IACHI,OAAO,EAAG1B;EAAa,CACvB,CACS,CACX,EACCY,gBAAgB,IAAIF,eAAe,IACpCQ,aAAA,CAACvD,SAAS;IAACwC,KAAK,EAAGnC,EAAE,CAAE,sBAAuB;EAAG,GAC9CyB,YAAY,EAAEQ,GAAG,CAAI0B,IAAI,IAAM;IAChC,MAAMxB,KAAK,GAAGjC,cAAc,CAAEyD,IAAI,CAACC,IAAK,CAAC;IACzC,OACCV,aAAA,CAACtD,QAAQ;MACRiE,OAAO,EAAG,MAAAA,CAAA,KAAY;QACrBtC,oBAAoB,CAAE,IAAK,CAAC;QAC5B,MAAMP,mBAAmB,CAAE2C,IAAK,CAAC;QACjCpC,oBAAoB,CAAE,KAAM,CAAC;QAC7B+B,OAAO,CAAC,CAAC;MACV,CAAG;MACHQ,GAAG,EAAGH,IAAI,CAAChD,EAAI;MACf,cAAaV,OAAO,CACnBoB,iBAAiB,EACjBc,KACD,CAAG;MACHI,QAAQ,EACPjB,iBAAiB,IACjBK,0BAA0B,IAC1B,CAAEC;IACF,GAECO,KACO,CAAC;EAEb,CAAE,CACQ,CACX,EAECN,4BAA4B,IAC7BqB,aAAA,CAACvD,SAAS;IAACwC,KAAK,EAAGnC,EAAE,CAAE,OAAQ;EAAG,GACjCkD,aAAA,CAACtD,QAAQ;IACRiE,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrBtC,oBAAoB,CAAE,IAAK,CAAC;MAC5B,MAAMN,WAAW,CAAC,CAAC;MACnBM,oBAAoB,CAAE,KAAM,CAAC;MAC7B+B,OAAO,CAAC,CAAC;IACV,CAAG;IACHf,QAAQ,EACPjB,iBAAiB,IACjBK,0BAA0B,IAC1B,CAAEC;EACF,GAEC5B,EAAE,CAAE,iBAAkB,CACf,CACA,CAEX,CAEU,CACd;EAED,OAAOiD,8BAA8B;AACtC;AAEA,eAAepC,sBAAsB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","navigation","icon","initBlock","metadata","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","ref","type","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","openSubmenusOnClick","overlayMenu","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":["__","navigation","icon","initBlock","metadata","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","ref","type","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","openSubmenusOnClick","overlayMenu","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","edit","save","deprecated","settings","example","innerBlocks","label","url","init"],"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":[]}
|
|
@@ -78,7 +78,9 @@ const {
|
|
|
78
78
|
ref
|
|
79
79
|
} = getElement();
|
|
80
80
|
// 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
|
|
81
|
-
if (window.document.activeElement !== ref)
|
|
81
|
+
if (window.document.activeElement !== ref) {
|
|
82
|
+
ref.focus();
|
|
83
|
+
}
|
|
82
84
|
const {
|
|
83
85
|
menuOpenedBy
|
|
84
86
|
} = state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","getContext","getElement","focusableSelectors","document","addEventListener","state","actions","roleAttribute","ctx","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["store","getContext","getElement","focusableSelectors","document","addEventListener","state","actions","roleAttribute","ctx","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","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":[]}
|