@wordpress/block-library 9.40.1 → 9.40.2-next.v.202602271551.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/accordion/view.cjs +0 -34
- package/build/accordion/view.cjs.map +2 -2
- package/build/icon/block.json +9 -1
- package/build/icon/components/custom-inserter/icon-grid.cjs +1 -1
- package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
- package/build/icon/components/custom-inserter/index.cjs +1 -1
- package/build/icon/components/custom-inserter/index.cjs.map +2 -2
- package/build/icon/edit.cjs +15 -7
- package/build/icon/edit.cjs.map +2 -2
- package/build/image/edit.cjs +1 -1
- package/build/image/edit.cjs.map +2 -2
- package/build/navigation/edit/index.cjs +4 -2
- package/build/navigation/edit/index.cjs.map +3 -3
- package/build/navigation/edit/leaf-more-menu.cjs +68 -6
- package/build/navigation/edit/leaf-more-menu.cjs.map +3 -3
- package/build/navigation/edit/menu-inspector-controls.cjs +20 -91
- package/build/navigation/edit/menu-inspector-controls.cjs.map +3 -3
- package/build/navigation/edit/navigation-link-ui.cjs +97 -0
- package/build/navigation/edit/navigation-link-ui.cjs.map +7 -0
- package/build/navigation/edit/navigation-list-view-header.cjs +86 -0
- package/build/navigation/edit/navigation-list-view-header.cjs.map +7 -0
- package/build/navigation/edit/navigation-menu-selector.cjs +4 -2
- package/build/navigation/edit/navigation-menu-selector.cjs.map +3 -3
- package/build/navigation/edit/placeholder/index.cjs +2 -2
- package/build/navigation/edit/placeholder/index.cjs.map +3 -3
- package/build/navigation-link/shared/controls.cjs +29 -52
- package/build/navigation-link/shared/controls.cjs.map +3 -3
- package/build/navigation-link/shared/use-link-preview.cjs +7 -8
- package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
- package/build/navigation-overlay-close/edit.cjs +2 -3
- package/build/navigation-overlay-close/edit.cjs.map +2 -2
- package/build/page-list-item/edit.cjs +6 -3
- package/build/page-list-item/edit.cjs.map +2 -2
- package/build/post-navigation-link/block.json +1 -3
- package/build/post-navigation-link/deprecated.cjs +100 -0
- package/build/post-navigation-link/deprecated.cjs.map +7 -0
- package/build/post-navigation-link/edit.cjs +2 -36
- package/build/post-navigation-link/edit.cjs.map +3 -3
- package/build/post-navigation-link/index.cjs +2 -0
- package/build/post-navigation-link/index.cjs.map +3 -3
- package/build/post-title/block.json +1 -3
- package/build/post-title/deprecated.cjs +82 -1
- package/build/post-title/deprecated.cjs.map +3 -3
- package/build/post-title/edit.cjs +10 -36
- package/build/post-title/edit.cjs.map +3 -3
- package/build/pullquote/deprecated.cjs +6 -6
- package/build/pullquote/deprecated.cjs.map +2 -2
- package/build/query/block.json +1 -2
- package/build/query-title/block.json +1 -3
- package/build/query-title/deprecated.cjs +70 -1
- package/build/query-title/deprecated.cjs.map +3 -3
- package/build/query-title/edit.cjs +17 -35
- package/build/query-title/edit.cjs.map +3 -3
- package/build/site-tagline/block.json +6 -4
- package/build/site-tagline/deprecated.cjs +66 -1
- package/build/site-tagline/deprecated.cjs.map +3 -3
- package/build/site-tagline/edit.cjs +14 -28
- package/build/site-tagline/edit.cjs.map +3 -3
- package/build/site-title/block.json +1 -3
- package/build/site-title/deprecated.cjs +79 -1
- package/build/site-title/deprecated.cjs.map +3 -3
- package/build/site-title/edit.cjs +14 -30
- package/build/site-title/edit.cjs.map +3 -3
- package/build/tabs-menu-item/block.json +1 -26
- package/build/tabs-menu-item/controls.cjs +2 -100
- package/build/tabs-menu-item/controls.cjs.map +3 -3
- package/build/tabs-menu-item/edit.cjs +6 -65
- package/build/tabs-menu-item/edit.cjs.map +2 -2
- package/build/tabs-menu-item/save.cjs +1 -15
- package/build/tabs-menu-item/save.cjs.map +2 -2
- package/build-module/accordion/view.mjs +1 -35
- package/build-module/accordion/view.mjs.map +2 -2
- package/build-module/icon/block.json +9 -1
- package/build-module/icon/components/custom-inserter/icon-grid.mjs +1 -1
- package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
- package/build-module/icon/components/custom-inserter/index.mjs +1 -1
- package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
- package/build-module/icon/edit.mjs +15 -7
- package/build-module/icon/edit.mjs.map +2 -2
- package/build-module/image/edit.mjs +1 -1
- package/build-module/image/edit.mjs.map +2 -2
- package/build-module/navigation/edit/index.mjs +4 -2
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation/edit/leaf-more-menu.mjs +73 -7
- package/build-module/navigation/edit/leaf-more-menu.mjs.map +2 -2
- package/build-module/navigation/edit/menu-inspector-controls.mjs +21 -101
- package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
- package/build-module/navigation/edit/navigation-link-ui.mjs +76 -0
- package/build-module/navigation/edit/navigation-link-ui.mjs.map +7 -0
- package/build-module/navigation/edit/navigation-list-view-header.mjs +58 -0
- package/build-module/navigation/edit/navigation-list-view-header.mjs.map +7 -0
- package/build-module/navigation/edit/navigation-menu-selector.mjs +5 -3
- package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
- package/build-module/navigation/edit/placeholder/index.mjs +2 -2
- package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
- package/build-module/navigation-link/shared/controls.mjs +29 -53
- package/build-module/navigation-link/shared/controls.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-link-preview.mjs +7 -8
- package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
- package/build-module/navigation-overlay-close/edit.mjs +2 -3
- package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
- package/build-module/page-list-item/edit.mjs +6 -3
- package/build-module/page-list-item/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/block.json +1 -3
- package/build-module/post-navigation-link/deprecated.mjs +69 -0
- package/build-module/post-navigation-link/deprecated.mjs.map +7 -0
- package/build-module/post-navigation-link/edit.mjs +3 -30
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/index.mjs +2 -0
- package/build-module/post-navigation-link/index.mjs.map +2 -2
- package/build-module/post-title/block.json +1 -3
- package/build-module/post-title/deprecated.mjs +82 -1
- package/build-module/post-title/deprecated.mjs.map +2 -2
- package/build-module/post-title/edit.mjs +10 -27
- package/build-module/post-title/edit.mjs.map +2 -2
- package/build-module/pullquote/deprecated.mjs +6 -6
- package/build-module/pullquote/deprecated.mjs.map +2 -2
- package/build-module/query/block.json +1 -2
- package/build-module/query-title/block.json +1 -3
- package/build-module/query-title/deprecated.mjs +70 -1
- package/build-module/query-title/deprecated.mjs.map +2 -2
- package/build-module/query-title/edit.mjs +17 -36
- package/build-module/query-title/edit.mjs.map +2 -2
- package/build-module/site-tagline/block.json +6 -4
- package/build-module/site-tagline/deprecated.mjs +66 -1
- package/build-module/site-tagline/deprecated.mjs.map +2 -2
- package/build-module/site-tagline/edit.mjs +14 -29
- package/build-module/site-tagline/edit.mjs.map +2 -2
- package/build-module/site-title/block.json +1 -3
- package/build-module/site-title/deprecated.mjs +79 -1
- package/build-module/site-title/deprecated.mjs.map +2 -2
- package/build-module/site-title/edit.mjs +14 -31
- package/build-module/site-title/edit.mjs.map +2 -2
- package/build-module/tabs-menu-item/block.json +1 -26
- package/build-module/tabs-menu-item/controls.mjs +3 -104
- package/build-module/tabs-menu-item/controls.mjs.map +2 -2
- package/build-module/tabs-menu-item/edit.mjs +6 -66
- package/build-module/tabs-menu-item/edit.mjs.map +2 -2
- package/build-module/tabs-menu-item/save.mjs +1 -15
- package/build-module/tabs-menu-item/save.mjs.map +2 -2
- package/build-style/editor-rtl.css +10 -5
- package/build-style/editor.css +10 -5
- package/build-style/navigation-link/editor-rtl.css +10 -0
- package/build-style/navigation-link/editor.css +10 -0
- package/build-style/style-rtl.css +3 -12
- package/build-style/style.css +3 -12
- package/build-style/tabs-menu-item/editor-rtl.css +0 -5
- package/build-style/tabs-menu-item/editor.css +0 -5
- package/build-style/tabs-menu-item/style-rtl.css +3 -12
- package/build-style/tabs-menu-item/style.css +3 -12
- package/package.json +38 -38
- package/src/accordion/view.js +1 -44
- package/src/accordion-item/index.php +0 -1
- package/src/cover/index.php +4 -4
- package/src/icon/block.json +9 -1
- package/src/icon/components/custom-inserter/icon-grid.js +1 -1
- package/src/icon/components/custom-inserter/index.js +1 -1
- package/src/icon/edit.js +20 -10
- package/src/icon/index.php +1 -3
- package/src/image/edit.js +1 -1
- package/src/image/index.php +1 -4
- package/src/navigation/edit/index.js +4 -2
- package/src/navigation/edit/leaf-more-menu.js +86 -11
- package/src/navigation/edit/menu-inspector-controls.js +23 -142
- package/src/navigation/edit/navigation-link-ui.js +115 -0
- package/src/navigation/edit/navigation-list-view-header.js +62 -0
- package/src/navigation/edit/navigation-menu-selector.js +5 -3
- package/src/navigation/edit/placeholder/index.js +3 -2
- package/src/navigation/edit/test/navigation-menu-selector.js +23 -20
- package/src/navigation-link/editor.scss +18 -0
- package/src/navigation-link/shared/controls.js +35 -62
- package/src/navigation-link/shared/test/controls.js +5 -5
- package/src/navigation-link/shared/test/use-link-preview.test.js +10 -1
- package/src/navigation-link/shared/use-link-preview.js +13 -11
- package/src/navigation-overlay-close/edit.js +4 -3
- package/src/page-list/index.php +1 -1
- package/src/page-list-item/edit.js +8 -7
- package/src/post-featured-image/index.php +2 -4
- package/src/post-navigation-link/block.json +1 -3
- package/src/post-navigation-link/deprecated.js +72 -0
- package/src/post-navigation-link/edit.js +2 -35
- package/src/post-navigation-link/index.js +2 -0
- package/src/post-title/block.json +1 -3
- package/src/post-title/deprecated.js +86 -1
- package/src/post-title/edit.js +2 -18
- package/src/pullquote/deprecated.js +3 -3
- package/src/query/block.json +1 -2
- package/src/query-title/block.json +1 -3
- package/src/query-title/deprecated.js +74 -1
- package/src/query-title/edit.js +11 -27
- package/src/query-title/index.php +1 -1
- package/src/site-tagline/block.json +6 -4
- package/src/site-tagline/deprecated.js +70 -1
- package/src/site-tagline/edit.js +9 -22
- package/src/site-title/block.json +1 -3
- package/src/site-title/deprecated.js +83 -1
- package/src/site-title/edit.js +9 -22
- package/src/tabs-menu-item/block.json +1 -26
- package/src/tabs-menu-item/controls.js +0 -108
- package/src/tabs-menu-item/edit.js +6 -79
- package/src/tabs-menu-item/editor.scss +0 -6
- package/src/tabs-menu-item/save.js +1 -26
- package/src/tabs-menu-item/style.scss +3 -14
- package/build/navigation/use-navigation-entities.cjs +0 -67
- package/build/navigation/use-navigation-entities.cjs.map +0 -7
- package/build-module/navigation/use-navigation-entities.mjs +0 -46
- package/build-module/navigation/use-navigation-entities.mjs.map +0 -7
- package/src/navigation/use-navigation-entities.js +0 -72
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/navigation/edit/leaf-more-menu.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {
|
|
5
|
-
"mappings": ";AAGA,SAAS,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\taddSubmenu,\n\tchevronUp,\n\tchevronDown,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { DropdownMenu, MenuItem, MenuGroup } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BlockTitle, store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_BLOCK } from '../constants';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nconst BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\nfunction AddSubmenuItem( {\n\tblock,\n\tonClose,\n\texpandedState,\n\texpand,\n\tsetInsertedBlock,\n} ) {\n\tconst { insertBlock, replaceBlock, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst clientId = block.clientId;\n\tconst isDisabled = ! BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU.includes(\n\t\tblock.name\n\t);\n\treturn (\n\t\t<MenuItem\n\t\t\ticon={ addSubmenu }\n\t\t\tdisabled={ isDisabled }\n\t\t\tonClick={ () => {\n\t\t\t\tconst updateSelectionOnInsert = false;\n\t\t\t\tconst newLink = createBlock(\n\t\t\t\t\tDEFAULT_BLOCK.name,\n\t\t\t\t\tDEFAULT_BLOCK.attributes\n\t\t\t\t);\n\n\t\t\t\tif ( block.name === 'core/navigation-submenu' ) {\n\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\tnewLink,\n\t\t\t\t\t\tblock.innerBlocks.length,\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tupdateSelectionOnInsert\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// Convert to a submenu if the block currently isn't one.\n\t\t\t\t\tconst newSubmenu = createBlock(\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t);\n\n\t\t\t\t\t// The following must happen as two independent actions.\n\t\t\t\t\t// Why? Because the offcanvas editor relies on the getLastInsertedBlocksClientIds\n\t\t\t\t\t// selector to determine which block is \"active\". As the UX needs the newLink to be\n\t\t\t\t\t// the \"active\" block it must be the last block to be inserted.\n\t\t\t\t\t// Therefore the Submenu is first created and **then** the newLink is inserted\n\t\t\t\t\t// thus ensuring it is the last inserted block.\n\t\t\t\t\treplaceBlock( clientId, newSubmenu );\n\n\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\tnewSubmenu.clientId,\n\t\t\t\t\t\t[ newLink ],\n\t\t\t\t\t\tupdateSelectionOnInsert\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// This call sets the local List View state for the \"last inserted block\".\n\t\t\t\t// This is required for the Nav Block to determine whether or not to display\n\t\t\t\t// the Link UI for this new block.\n\t\t\t\tsetInsertedBlock( newLink );\n\n\t\t\t\tif ( ! expandedState[ block.clientId ] ) {\n\t\t\t\t\texpand( block.clientId );\n\t\t\t\t}\n\t\t\t\tonClose();\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Add submenu link' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default function LeafMoreMenu( props ) {\n\tconst { block } = props;\n\tconst { clientId } = block;\n\n\tconst {\n\t\tmoveBlocksDown,\n\t\tmoveBlocksUp,\n\t\tremoveBlocks,\n\t\tduplicateBlocks,\n\t\tinsertBeforeBlock,\n\t\tinsertAfterBlock,\n\t} = useDispatch( blockEditorStore );\n\n\tconst removeLabel = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__( 'Remove %s' ),\n\t\tBlockTitle( { clientId, maximumLength: 25 } )\n\t);\n\n\tconst { rootClientId, canDuplicate, canInsertBlock, isFirst, isLast } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tcanInsertBlockType,\n\t\t\t\t\tgetDirectInsertBlock,\n\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\tgetBlockCount,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst { getDefaultBlockName } = select( blocksStore );\n\n\t\t\t\tconst _rootClientId = getBlockRootClientId( clientId );\n\t\t\t\tconst canInsertDefaultBlock = canInsertBlockType(\n\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t_rootClientId\n\t\t\t\t);\n\t\t\t\tconst directInsertBlock = _rootClientId\n\t\t\t\t\t? getDirectInsertBlock( _rootClientId )\n\t\t\t\t\t: null;\n\n\t\t\t\treturn {\n\t\t\t\t\trootClientId: _rootClientId,\n\t\t\t\t\tcanDuplicate:\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\thasBlockSupport( block.name, 'multiple', true ) &&\n\t\t\t\t\t\tcanInsertBlockType( block.name, _rootClientId ),\n\t\t\t\t\tcanInsertBlock:\n\t\t\t\t\t\t( canInsertDefaultBlock || !! directInsertBlock ) &&\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\tcanInsertBlockType( block.name, _rootClientId ),\n\t\t\t\t\tisFirst: getBlockIndex( clientId ) === 0,\n\t\t\t\t\tisLast:\n\t\t\t\t\t\tgetBlockIndex( clientId ) ===\n\t\t\t\t\t\tgetBlockCount( _rootClientId ) - 1,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId, block ]\n\t\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tnoIcons\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\tdisabled={ isFirst }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Move up' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\tdisabled={ isLast }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Move down' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<AddSubmenuItem\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\texpandedState={ props.expandedState }\n\t\t\t\t\t\t\texpand={ props.expand }\n\t\t\t\t\t\t\tsetInsertedBlock={ props.setInsertedBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tduplicateBlocks( [ clientId ] );\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>\n\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ canInsertBlock && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tinsertBeforeBlock( clientId );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tinsertAfterBlock( clientId );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tremoveBlocks( [ clientId ], false );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ removeLabel }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,12 +4,7 @@ import {
|
|
|
4
4
|
InspectorControls,
|
|
5
5
|
store as blockEditorStore
|
|
6
6
|
} from "@wordpress/block-editor";
|
|
7
|
-
import {
|
|
8
|
-
PanelBody,
|
|
9
|
-
Spinner,
|
|
10
|
-
__experimentalHStack as HStack,
|
|
11
|
-
__experimentalHeading as Heading
|
|
12
|
-
} from "@wordpress/components";
|
|
7
|
+
import { PanelBody, Spinner } from "@wordpress/components";
|
|
13
8
|
import { useSelect, useDispatch } from "@wordpress/data";
|
|
14
9
|
import { __, sprintf } from "@wordpress/i18n";
|
|
15
10
|
import { useContext } from "@wordpress/element";
|
|
@@ -18,85 +13,19 @@ import { unlock } from "../../lock-unlock.mjs";
|
|
|
18
13
|
import DeletedNavigationWarning from "./deleted-navigation-warning.mjs";
|
|
19
14
|
import useNavigationMenu from "../use-navigation-menu.mjs";
|
|
20
15
|
import LeafMoreMenu from "./leaf-more-menu.mjs";
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
updateAttributes,
|
|
24
|
-
useEntityBinding
|
|
25
|
-
} from "../../navigation-link/shared/index.mjs";
|
|
16
|
+
import { NavigationLinkUI } from "./navigation-link-ui.mjs";
|
|
17
|
+
import NavigationListViewHeader from "./navigation-list-view-header.mjs";
|
|
26
18
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
27
19
|
var actionLabel = (
|
|
28
20
|
/* translators: %s: The name of a menu. */
|
|
29
21
|
__("Switch to '%s'")
|
|
30
22
|
);
|
|
31
|
-
var BLOCKS_WITH_LINK_UI_SUPPORT = [
|
|
32
|
-
"core/navigation-link",
|
|
33
|
-
"core/navigation-submenu"
|
|
34
|
-
];
|
|
35
23
|
var {
|
|
36
24
|
PrivateListView,
|
|
37
|
-
useBlockDisplayTitle,
|
|
38
25
|
PrivateBlockContext,
|
|
39
|
-
useListViewPanelState
|
|
26
|
+
useListViewPanelState,
|
|
27
|
+
useBlockDisplayTitle
|
|
40
28
|
} = unlock(blockEditorPrivateApis);
|
|
41
|
-
function AdditionalBlockContent({ block, insertedBlock, setInsertedBlock }) {
|
|
42
|
-
const { updateBlockAttributes, removeBlock } = useDispatch(blockEditorStore);
|
|
43
|
-
const supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(
|
|
44
|
-
insertedBlock?.name
|
|
45
|
-
);
|
|
46
|
-
const blockWasJustInserted = insertedBlock?.clientId === block.clientId;
|
|
47
|
-
const showLinkControls = supportsLinkControls && blockWasJustInserted;
|
|
48
|
-
const { createBinding, clearBinding } = useEntityBinding({
|
|
49
|
-
clientId: insertedBlock?.clientId,
|
|
50
|
-
attributes: insertedBlock?.attributes || {}
|
|
51
|
-
});
|
|
52
|
-
if (!showLinkControls) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
const cleanupInsertedBlock = () => {
|
|
56
|
-
const shouldAutoSelectBlock = false;
|
|
57
|
-
if (!insertedBlock?.attributes?.url && insertedBlock?.clientId) {
|
|
58
|
-
removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
|
|
59
|
-
}
|
|
60
|
-
setInsertedBlock(null);
|
|
61
|
-
};
|
|
62
|
-
const setInsertedBlockAttributes = (_insertedBlockClientId) => (_updatedAttributes) => {
|
|
63
|
-
if (!_insertedBlockClientId) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
updateBlockAttributes(_insertedBlockClientId, _updatedAttributes);
|
|
67
|
-
};
|
|
68
|
-
const handleSetInsertedBlock = (newBlock) => {
|
|
69
|
-
const shouldAutoSelectBlock = false;
|
|
70
|
-
if (insertedBlock?.clientId && newBlock) {
|
|
71
|
-
removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
|
|
72
|
-
}
|
|
73
|
-
setInsertedBlock(newBlock);
|
|
74
|
-
};
|
|
75
|
-
return /* @__PURE__ */ jsx(
|
|
76
|
-
LinkUI,
|
|
77
|
-
{
|
|
78
|
-
clientId: insertedBlock?.clientId,
|
|
79
|
-
link: insertedBlock?.attributes,
|
|
80
|
-
onBlockInsert: handleSetInsertedBlock,
|
|
81
|
-
onClose: () => {
|
|
82
|
-
cleanupInsertedBlock();
|
|
83
|
-
},
|
|
84
|
-
onChange: (updatedValue) => {
|
|
85
|
-
const { isEntityLink, attributes: updatedAttributes } = updateAttributes(
|
|
86
|
-
updatedValue,
|
|
87
|
-
setInsertedBlockAttributes(insertedBlock?.clientId),
|
|
88
|
-
insertedBlock?.attributes
|
|
89
|
-
);
|
|
90
|
-
if (isEntityLink) {
|
|
91
|
-
createBinding(updatedAttributes);
|
|
92
|
-
} else {
|
|
93
|
-
clearBinding();
|
|
94
|
-
}
|
|
95
|
-
setInsertedBlock(null);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
29
|
var MainContent = ({
|
|
101
30
|
clientId,
|
|
102
31
|
currentMenuId,
|
|
@@ -138,7 +67,7 @@ var MainContent = ({
|
|
|
138
67
|
description,
|
|
139
68
|
showAppender: true,
|
|
140
69
|
blockSettingsMenu: LeafMoreMenu,
|
|
141
|
-
additionalBlockContent:
|
|
70
|
+
additionalBlockContent: NavigationLinkUI,
|
|
142
71
|
onSelect: openListViewContentPanel
|
|
143
72
|
},
|
|
144
73
|
`${clientId}-${expandRevision}`
|
|
@@ -166,29 +95,20 @@ var MenuInspectorControls = (props) => {
|
|
|
166
95
|
const { isOpened, expandRevision, handleToggle } = useListViewPanelState(clientId);
|
|
167
96
|
if (!showBlockTitle) {
|
|
168
97
|
return /* @__PURE__ */ jsx(InspectorControls, { group: "list", children: /* @__PURE__ */ jsxs(PanelBody, { title: null, children: [
|
|
169
|
-
/* @__PURE__ */
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
onSelectNavigationMenu,
|
|
184
|
-
onCreateNew,
|
|
185
|
-
createNavigationMenuIsSuccess,
|
|
186
|
-
createNavigationMenuIsError,
|
|
187
|
-
actionLabel,
|
|
188
|
-
isManageMenusButtonDisabled
|
|
189
|
-
}
|
|
190
|
-
)
|
|
191
|
-
] }),
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
NavigationListViewHeader,
|
|
100
|
+
{
|
|
101
|
+
clientId,
|
|
102
|
+
blockEditingMode,
|
|
103
|
+
currentMenuId,
|
|
104
|
+
onSelectClassicMenu,
|
|
105
|
+
onSelectNavigationMenu,
|
|
106
|
+
onCreateNew,
|
|
107
|
+
createNavigationMenuIsSuccess,
|
|
108
|
+
createNavigationMenuIsError,
|
|
109
|
+
isManageMenusButtonDisabled
|
|
110
|
+
}
|
|
111
|
+
),
|
|
192
112
|
/* @__PURE__ */ jsx(
|
|
193
113
|
MainContent,
|
|
194
114
|
{
|
|
@@ -201,7 +121,7 @@ var MenuInspectorControls = (props) => {
|
|
|
201
121
|
return /* @__PURE__ */ jsx(InspectorControls, { group: "list", children: /* @__PURE__ */ jsxs(
|
|
202
122
|
PanelBody,
|
|
203
123
|
{
|
|
204
|
-
title:
|
|
124
|
+
title: blockTitle,
|
|
205
125
|
opened: isOpened,
|
|
206
126
|
onToggle: handleToggle,
|
|
207
127
|
children: [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/navigation/edit/menu-inspector-controls.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC,eAAe;AAAA,EACf;AAAA,EACA,SAAS;AAAA,OACH;AACP
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody, Spinner } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\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 { NavigationLinkUI } from './navigation-link-ui';\nimport NavigationListViewHeader from './navigation-list-view-header';\n\nconst actionLabel =\n\t/* translators: %s: The name of a menu. */ __( \"Switch to '%s'\" );\nconst {\n\tPrivateListView,\n\tPrivateBlockContext,\n\tuseListViewPanelState,\n\tuseBlockDisplayTitle,\n} = unlock( blockEditorPrivateApis );\n\nconst MainContent = ( {\n\tclientId,\n\tcurrentMenuId,\n\tisLoading,\n\tisNavigationMenuMissing,\n\tonCreateNew,\n\texpandRevision,\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 { openListViewContentPanel } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst { navigationMenu } = useNavigationMenu( currentMenuId );\n\n\tif ( currentMenuId && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<DeletedNavigationWarning onCreateNew={ onCreateNew } isNotice />\n\t\t);\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\tkey={ `${ clientId }-${ expandRevision }` }\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={ NavigationLinkUI }\n\t\t\t\tonSelect={ openListViewContentPanel }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst MenuInspectorControls = ( props ) => {\n\tconst {\n\t\tclientId,\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\tconst { isSelectionWithinCurrentSection } =\n\t\tuseContext( PrivateBlockContext );\n\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\n\t// Only make panel collapsible in contentOnly mode\n\tconst showBlockTitle = isSelectionWithinCurrentSection;\n\n\tconst { isOpened, expandRevision, handleToggle } =\n\t\tuseListViewPanelState( clientId );\n\n\tif ( ! showBlockTitle ) {\n\t\treturn (\n\t\t\t<InspectorControls group=\"list\">\n\t\t\t\t<PanelBody title={ null }>\n\t\t\t\t\t<NavigationListViewHeader\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisManageMenusButtonDisabled={\n\t\t\t\t\t\t\tisManageMenusButtonDisabled\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<MainContent\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\texpandRevision={ expandRevision }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\t// ContentOnly mode: use collapsible PanelBody\n\treturn (\n\t\t<InspectorControls group=\"list\">\n\t\t\t<PanelBody\n\t\t\t\ttitle={ blockTitle }\n\t\t\t\topened={ isOpened }\n\t\t\t\tonToggle={ handleToggle }\n\t\t\t>\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t}\n\t\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\t\tisManageMenusButtonDisabled={\n\t\t\t\t\t\t\tisManageMenusButtonDisabled\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<MainContent { ...props } expandRevision={ expandRevision } />\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default MenuInspectorControls;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// packages/block-library/src/navigation/edit/navigation-link-ui.js
|
|
2
|
+
import { store as blockEditorStore } from "@wordpress/block-editor";
|
|
3
|
+
import { useDispatch } from "@wordpress/data";
|
|
4
|
+
import {
|
|
5
|
+
LinkUI,
|
|
6
|
+
updateAttributes,
|
|
7
|
+
useEntityBinding
|
|
8
|
+
} from "../../navigation-link/shared/index.mjs";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var BLOCKS_WITH_LINK_UI_SUPPORT = [
|
|
11
|
+
"core/navigation-link",
|
|
12
|
+
"core/navigation-submenu"
|
|
13
|
+
];
|
|
14
|
+
function NavigationLinkUI({ block, insertedBlock, setInsertedBlock }) {
|
|
15
|
+
const { updateBlockAttributes, removeBlock } = useDispatch(blockEditorStore);
|
|
16
|
+
const supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(
|
|
17
|
+
insertedBlock?.name
|
|
18
|
+
);
|
|
19
|
+
const blockWasJustInserted = insertedBlock?.clientId === block.clientId;
|
|
20
|
+
const showLinkControls = supportsLinkControls && blockWasJustInserted;
|
|
21
|
+
const { createBinding, clearBinding } = useEntityBinding({
|
|
22
|
+
clientId: insertedBlock?.clientId,
|
|
23
|
+
attributes: insertedBlock?.attributes || {}
|
|
24
|
+
});
|
|
25
|
+
if (!showLinkControls) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const cleanupInsertedBlock = () => {
|
|
29
|
+
const shouldAutoSelectBlock = false;
|
|
30
|
+
if (!insertedBlock?.attributes?.url && insertedBlock?.clientId) {
|
|
31
|
+
removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
|
|
32
|
+
}
|
|
33
|
+
setInsertedBlock(null);
|
|
34
|
+
};
|
|
35
|
+
const setInsertedBlockAttributes = (_insertedBlockClientId) => (_updatedAttributes) => {
|
|
36
|
+
if (!_insertedBlockClientId) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
updateBlockAttributes(_insertedBlockClientId, _updatedAttributes);
|
|
40
|
+
};
|
|
41
|
+
const handleSetInsertedBlock = (newBlock) => {
|
|
42
|
+
const shouldAutoSelectBlock = false;
|
|
43
|
+
if (insertedBlock?.clientId && newBlock) {
|
|
44
|
+
removeBlock(insertedBlock.clientId, shouldAutoSelectBlock);
|
|
45
|
+
}
|
|
46
|
+
setInsertedBlock(newBlock);
|
|
47
|
+
};
|
|
48
|
+
return /* @__PURE__ */ jsx(
|
|
49
|
+
LinkUI,
|
|
50
|
+
{
|
|
51
|
+
clientId: insertedBlock?.clientId,
|
|
52
|
+
link: insertedBlock?.attributes,
|
|
53
|
+
onBlockInsert: handleSetInsertedBlock,
|
|
54
|
+
onClose: () => {
|
|
55
|
+
cleanupInsertedBlock();
|
|
56
|
+
},
|
|
57
|
+
onChange: (updatedValue) => {
|
|
58
|
+
const { isEntityLink, attributes: updatedAttributes } = updateAttributes(
|
|
59
|
+
updatedValue,
|
|
60
|
+
setInsertedBlockAttributes(insertedBlock?.clientId),
|
|
61
|
+
insertedBlock?.attributes
|
|
62
|
+
);
|
|
63
|
+
if (isEntityLink) {
|
|
64
|
+
createBinding(updatedAttributes);
|
|
65
|
+
} else {
|
|
66
|
+
clearBinding();
|
|
67
|
+
}
|
|
68
|
+
setInsertedBlock(null);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
NavigationLinkUI
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=navigation-link-ui.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/navigation/edit/navigation-link-ui.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLinkUI,\n\tupdateAttributes,\n\tuseEntityBinding,\n} from '../../navigation-link/shared';\n\nconst BLOCKS_WITH_LINK_UI_SUPPORT = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\nexport function NavigationLinkUI( { block, insertedBlock, setInsertedBlock } ) {\n\tconst { updateBlockAttributes, removeBlock } =\n\t\tuseDispatch( 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\t// Get binding utilities for the inserted block\n\tconst { createBinding, clearBinding } = useEntityBinding( {\n\t\tclientId: insertedBlock?.clientId,\n\t\tattributes: insertedBlock?.attributes || {},\n\t} );\n\n\tif ( ! showLinkControls ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Cleanup function for auto-inserted Navigation Link blocks.\n\t *\n\t * Removes the block if it has no URL and clears the inserted block state.\n\t * This ensures consistent cleanup behavior across different contexts.\n\t */\n\tconst cleanupInsertedBlock = () => {\n\t\t// Prevent automatic block selection when removing blocks in list view context\n\t\t// This avoids focus stealing that would close the list view and switch to canvas\n\t\tconst shouldAutoSelectBlock = false;\n\n\t\t// Follows the exact same pattern as Navigation Link block's onClose handler\n\t\t// If there is no URL then remove the auto-inserted block to avoid empty blocks\n\t\tif ( ! insertedBlock?.attributes?.url && insertedBlock?.clientId ) {\n\t\t\t// Remove the block entirely to avoid poor UX\n\t\t\t// This matches the Navigation Link block's behavior\n\t\t\tremoveBlock( insertedBlock.clientId, shouldAutoSelectBlock );\n\t\t}\n\t\tsetInsertedBlock( 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\t// Wrapper function to clean up original block when a new block is selected\n\tconst handleSetInsertedBlock = ( newBlock ) => {\n\t\t// Prevent automatic block selection when removing blocks in list view context\n\t\t// This avoids focus stealing that would close the list view and switch to canvas\n\t\tconst shouldAutoSelectBlock = false;\n\n\t\t// If we have an existing inserted block and a new block is being set,\n\t\t// remove the original block to avoid duplicates\n\t\tif ( insertedBlock?.clientId && newBlock ) {\n\t\t\tremoveBlock( insertedBlock.clientId, shouldAutoSelectBlock );\n\t\t}\n\t\tsetInsertedBlock( newBlock );\n\t};\n\n\treturn (\n\t\t<LinkUI\n\t\t\tclientId={ insertedBlock?.clientId }\n\t\t\tlink={ insertedBlock?.attributes }\n\t\t\tonBlockInsert={ handleSetInsertedBlock }\n\t\t\tonClose={ () => {\n\t\t\t\t// Use cleanup function\n\t\t\t\tcleanupInsertedBlock();\n\t\t\t} }\n\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t// updateAttributes determines the final state and returns metadata\n\t\t\t\tconst { isEntityLink, attributes: updatedAttributes } =\n\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\tsetInsertedBlockAttributes( insertedBlock?.clientId ),\n\t\t\t\t\t\tinsertedBlock?.attributes\n\t\t\t\t\t);\n\n\t\t\t\t// Handle URL binding based on the final computed state\n\t\t\t\t// Only create bindings for entity links (posts, pages, taxonomies)\n\t\t\t\t// Never create bindings for custom links (manual URLs)\n\t\t\t\tif ( isEntityLink ) {\n\t\t\t\t\tcreateBinding( updatedAttributes );\n\t\t\t\t} else {\n\t\t\t\t\tclearBinding();\n\t\t\t\t}\n\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,SAAS,wBAAwB;AAC1C,SAAS,mBAAmB;AAK5B;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAuEL;AArEF,IAAM,8BAA8B;AAAA,EACnC;AAAA,EACA;AACD;AAEO,SAAS,iBAAkB,EAAE,OAAO,eAAe,iBAAiB,GAAI;AAC9E,QAAM,EAAE,uBAAuB,YAAY,IAC1C,YAAa,gBAAiB;AAE/B,QAAM,uBAAuB,6BAA6B;AAAA,IACzD,eAAe;AAAA,EAChB;AACA,QAAM,uBAAuB,eAAe,aAAa,MAAM;AAC/D,QAAM,mBAAmB,wBAAwB;AAGjD,QAAM,EAAE,eAAe,aAAa,IAAI,iBAAkB;AAAA,IACzD,UAAU,eAAe;AAAA,IACzB,YAAY,eAAe,cAAc,CAAC;AAAA,EAC3C,CAAE;AAEF,MAAK,CAAE,kBAAmB;AACzB,WAAO;AAAA,EACR;AAQA,QAAM,uBAAuB,MAAM;AAGlC,UAAM,wBAAwB;AAI9B,QAAK,CAAE,eAAe,YAAY,OAAO,eAAe,UAAW;AAGlE,kBAAa,cAAc,UAAU,qBAAsB;AAAA,IAC5D;AACA,qBAAkB,IAAK;AAAA,EACxB;AAEA,QAAM,6BACL,CAAE,2BAA4B,CAAE,uBAAwB;AACvD,QAAK,CAAE,wBAAyB;AAC/B;AAAA,IACD;AACA,0BAAuB,wBAAwB,kBAAmB;AAAA,EACnE;AAGD,QAAM,yBAAyB,CAAE,aAAc;AAG9C,UAAM,wBAAwB;AAI9B,QAAK,eAAe,YAAY,UAAW;AAC1C,kBAAa,cAAc,UAAU,qBAAsB;AAAA,IAC5D;AACA,qBAAkB,QAAS;AAAA,EAC5B;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW,eAAe;AAAA,MAC1B,MAAO,eAAe;AAAA,MACtB,eAAgB;AAAA,MAChB,SAAU,MAAM;AAEf,6BAAqB;AAAA,MACtB;AAAA,MACA,UAAW,CAAE,iBAAkB;AAE9B,cAAM,EAAE,cAAc,YAAY,kBAAkB,IACnD;AAAA,UACC;AAAA,UACA,2BAA4B,eAAe,QAAS;AAAA,UACpD,eAAe;AAAA,QAChB;AAKD,YAAK,cAAe;AACnB,wBAAe,iBAAkB;AAAA,QAClC,OAAO;AACN,uBAAa;AAAA,QACd;AAEA,yBAAkB,IAAK;AAAA,MACxB;AAAA;AAAA,EACD;AAEF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// packages/block-library/src/navigation/edit/navigation-list-view-header.js
|
|
2
|
+
import {
|
|
3
|
+
__experimentalHStack as HStack,
|
|
4
|
+
__experimentalHeading as Heading
|
|
5
|
+
} from "@wordpress/components";
|
|
6
|
+
import { __ } from "@wordpress/i18n";
|
|
7
|
+
import { privateApis as blockEditorPrivateApis } from "@wordpress/block-editor";
|
|
8
|
+
import NavigationMenuSelector from "./navigation-menu-selector.mjs";
|
|
9
|
+
import { unlock } from "../../lock-unlock.mjs";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
var { useBlockDisplayTitle } = unlock(blockEditorPrivateApis);
|
|
12
|
+
var actionLabel = (
|
|
13
|
+
/* translators: %s: The name of a menu. */
|
|
14
|
+
__("Switch to '%s'")
|
|
15
|
+
);
|
|
16
|
+
function NavigationListViewHeader({
|
|
17
|
+
clientId,
|
|
18
|
+
blockEditingMode,
|
|
19
|
+
currentMenuId,
|
|
20
|
+
onSelectClassicMenu,
|
|
21
|
+
onSelectNavigationMenu,
|
|
22
|
+
onCreateNew,
|
|
23
|
+
createNavigationMenuIsSuccess,
|
|
24
|
+
createNavigationMenuIsError,
|
|
25
|
+
isManageMenusButtonDisabled
|
|
26
|
+
}) {
|
|
27
|
+
const blockTitle = useBlockDisplayTitle({
|
|
28
|
+
clientId,
|
|
29
|
+
context: "list-view"
|
|
30
|
+
});
|
|
31
|
+
return /* @__PURE__ */ jsxs(HStack, { className: "wp-block-navigation-off-canvas-editor__header", children: [
|
|
32
|
+
/* @__PURE__ */ jsx(
|
|
33
|
+
Heading,
|
|
34
|
+
{
|
|
35
|
+
className: "wp-block-navigation-off-canvas-editor__title",
|
|
36
|
+
level: 2,
|
|
37
|
+
children: blockTitle
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
blockEditingMode === "default" && /* @__PURE__ */ jsx(
|
|
41
|
+
NavigationMenuSelector,
|
|
42
|
+
{
|
|
43
|
+
currentMenuId,
|
|
44
|
+
onSelectClassicMenu,
|
|
45
|
+
onSelectNavigationMenu,
|
|
46
|
+
onCreateNew,
|
|
47
|
+
createNavigationMenuIsSuccess,
|
|
48
|
+
createNavigationMenuIsError,
|
|
49
|
+
actionLabel,
|
|
50
|
+
isManageMenusButtonDisabled
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
] });
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
NavigationListViewHeader as default
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=navigation-list-view-header.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/navigation/edit/navigation-list-view-header.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport { unlock } from '../../lock-unlock';\n\nconst { useBlockDisplayTitle } = unlock( blockEditorPrivateApis );\n\nconst actionLabel =\n\t/* translators: %s: The name of a menu. */ __( \"Switch to '%s'\" );\n\nexport default function NavigationListViewHeader( {\n\tclientId,\n\tblockEditingMode,\n\tcurrentMenuId,\n\tonSelectClassicMenu,\n\tonSelectNavigationMenu,\n\tonCreateNew,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n\tisManageMenusButtonDisabled,\n} ) {\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\n\treturn (\n\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t<Heading\n\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\tlevel={ 2 }\n\t\t\t>\n\t\t\t\t{ blockTitle }\n\t\t\t</Heading>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA;AAAA,EACC,wBAAwB;AAAA,EACxB,yBAAyB;AAAA,OACnB;AACP,SAAS,UAAU;AACnB,SAAS,eAAe,8BAA8B;AAKtD,OAAO,4BAA4B;AACnC,SAAS,cAAc;AAwBrB,SACC,KADD;AAtBF,IAAM,EAAE,qBAAqB,IAAI,OAAQ,sBAAuB;AAEhE,IAAM;AAAA;AAAA,EACsC,GAAI,gBAAiB;AAAA;AAElD,SAAR,yBAA2C;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,aAAa,qBAAsB;AAAA,IACxC;AAAA,IACA,SAAS;AAAA,EACV,CAAE;AAEF,SACC,qBAAC,UAAO,WAAU,iDACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,OAAQ;AAAA,QAEN;AAAA;AAAA,IACH;AAAA,IACE,qBAAqB,aACtB;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAGA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -9,9 +9,8 @@ import { moreVertical } from "@wordpress/icons";
|
|
|
9
9
|
import { __, sprintf } from "@wordpress/i18n";
|
|
10
10
|
import { decodeEntities } from "@wordpress/html-entities";
|
|
11
11
|
import { useEffect, useMemo, useState } from "@wordpress/element";
|
|
12
|
-
import { useEntityProp } from "@wordpress/core-data";
|
|
12
|
+
import { useEntityRecords, useEntityProp } from "@wordpress/core-data";
|
|
13
13
|
import useNavigationMenu from "../use-navigation-menu.mjs";
|
|
14
|
-
import useNavigationEntities from "../use-navigation-entities.mjs";
|
|
15
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
16
15
|
function buildMenuLabel(title, id, status) {
|
|
17
16
|
if (!title) {
|
|
@@ -39,7 +38,10 @@ function NavigationMenuSelector({
|
|
|
39
38
|
const createActionLabel = __("Create from '%s'");
|
|
40
39
|
const [isUpdatingMenuRef, setIsUpdatingMenuRef] = useState(false);
|
|
41
40
|
actionLabel = actionLabel || createActionLabel;
|
|
42
|
-
const {
|
|
41
|
+
const { records: classicMenus } = useEntityRecords("root", "menu", {
|
|
42
|
+
per_page: -1,
|
|
43
|
+
context: "view"
|
|
44
|
+
});
|
|
43
45
|
const {
|
|
44
46
|
navigationMenus,
|
|
45
47
|
isResolvingNavigationMenus,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/navigation/edit/navigation-menu-selector.js"],
|
|
4
|
-
"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';\
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,oBAAoB;AAC7B,SAAS,IAAI,eAAe;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,WAAW,SAAS,gBAAgB;AAC7C,SAAS,qBAAqB;
|
|
4
|
+
"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 { useEntityRecords, useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s: 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: 1: title of the menu. 2: 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 { records: classicMenus } = useEntityRecords( 'root', 'menu', {\n\t\tper_page: -1,\n\t\tcontext: 'view',\n\t} );\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t\tisNavigationMenuMissing,\n\t} = useNavigationMenu( currentMenuId );\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\tconst navMenuHasBeenDeleted = currentMenuId && isNavigationMenuMissing;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading\u2026' );\n\t} else if (\n\t\tnoMenuSelected ||\n\t\tnoBlockMenus ||\n\t\tmenuUnavailable ||\n\t\tnavMenuHasBeenDeleted\n\t) {\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"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ import { __ } from "@wordpress/i18n";
|
|
|
4
4
|
import { navigation, Icon } from "@wordpress/icons";
|
|
5
5
|
import { speak } from "@wordpress/a11y";
|
|
6
6
|
import { useEffect } from "@wordpress/element";
|
|
7
|
-
import
|
|
7
|
+
import { useEntityRecords } from "@wordpress/core-data";
|
|
8
8
|
import PlaceholderPreview from "./placeholder-preview.mjs";
|
|
9
9
|
import NavigationMenuSelector from "../navigation-menu-selector.mjs";
|
|
10
10
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -18,7 +18,7 @@ function NavigationPlaceholder({
|
|
|
18
18
|
onSelectClassicMenu,
|
|
19
19
|
onCreateEmpty
|
|
20
20
|
}) {
|
|
21
|
-
const { isResolvingMenus, hasResolvedMenus } =
|
|
21
|
+
const { isResolving: isResolvingMenus, hasResolved: hasResolvedMenus } = useEntityRecords("root", "menu", { per_page: -1, context: "view" });
|
|
22
22
|
useEffect(() => {
|
|
23
23
|
if (!isSelected) {
|
|
24
24
|
return;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/navigation/edit/placeholder/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport
|
|
5
|
-
"mappings": ";AAGA,SAAS,aAAa,QAAQ,eAAe;AAC7C,SAAS,UAAU;AACnB,SAAS,YAAY,YAAY;AACjC,SAAS,aAAa;AACtB,SAAS,iBAAiB;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PlaceholderPreview from './placeholder-preview';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tisSelected,\n\tcurrentMenuId,\n\tclientId,\n\tcanUserCreateNavigationMenus = false,\n\tisResolvingCanUserCreateNavigationMenus,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateEmpty,\n} ) {\n\tconst { isResolving: isResolvingMenus, hasResolved: hasResolvedMenus } =\n\t\tuseEntityRecords( 'root', 'menu', { per_page: -1, context: 'view' } );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isResolvingMenus ) {\n\t\t\tspeak( __( 'Loading navigation block setup options\u2026' ) );\n\t\t}\n\n\t\tif ( hasResolvedMenus ) {\n\t\t\tspeak( __( 'Navigation block setup options ready.' ) );\n\t\t}\n\t}, [ hasResolvedMenus, isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenus;\n\n\treturn (\n\t\t<>\n\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t{\n\t\t\t\t\t// The <PlaceholderPreview> component is displayed conditionally via CSS depending on\n\t\t\t\t\t// whether the block is selected or not. This is achieved via CSS to avoid\n\t\t\t\t\t// component re-renders\n\t\t\t\t }\n\t\t\t\t<PlaceholderPreview isVisible={ ! isSelected } />\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={ ! isSelected ? true : undefined }\n\t\t\t\t\tclassName=\"wp-block-navigation-placeholder__controls\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t<Icon icon={ navigation } /> { __( 'Navigation' ) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ isResolvingActions && <Spinner /> }\n\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmpty }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Placeholder>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,aAAa,QAAQ,eAAe;AAC7C,SAAS,UAAU;AACnB,SAAS,YAAY,YAAY;AACjC,SAAS,aAAa;AACtB,SAAS,iBAAiB;AAC1B,SAAS,wBAAwB;AAKjC,OAAO,wBAAwB;AAC/B,OAAO,4BAA4B;AAiCjC,mBAOE,KAME,YAbJ;AA/Ba,SAAR,sBAAwC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,+BAA+B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,aAAa,kBAAkB,aAAa,iBAAiB,IACpE,iBAAkB,QAAQ,QAAQ,EAAE,UAAU,IAAI,SAAS,OAAO,CAAE;AAErE,YAAW,MAAM;AAChB,QAAK,CAAE,YAAa;AACnB;AAAA,IACD;AAEA,QAAK,kBAAmB;AACvB,YAAO,GAAI,8CAA0C,CAAE;AAAA,IACxD;AAEA,QAAK,kBAAmB;AACvB,YAAO,GAAI,uCAAwC,CAAE;AAAA,IACtD;AAAA,EACD,GAAG,CAAE,kBAAkB,kBAAkB,UAAW,CAAE;AAEtD,QAAM,qBACL,oBAAoB;AAErB,SACC,gCACC,+BAAC,eAAY,WAAU,mCAMtB;AAAA,wBAAC,sBAAmB,WAAY,CAAE,YAAa;AAAA,IAC/C;AAAA,MAAC;AAAA;AAAA,QACA,eAAc,CAAE,aAAa,OAAO;AAAA,QACpC,WAAU;AAAA,QAEV,+BAAC,SAAI,WAAU,4CACd;AAAA,+BAAC,SAAI,WAAU,uDACd;AAAA,gCAAC,QAAK,MAAO,YAAa;AAAA,YAAE;AAAA,YAAG,GAAI,YAAa;AAAA,aACjD;AAAA,UAEA,oBAAC,QAAG;AAAA,UAEF,sBAAsB,oBAAC,WAAQ;AAAA,UAEjC;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACD;AAAA,UAEA,oBAAC,QAAG;AAAA,UAEF,gCACD;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,aAAc;AAAA;AAAA,UACrB;AAAA,WAEF;AAAA;AAAA,IACD;AAAA,KACD,GACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|