@wordpress/commands 0.27.0 → 0.29.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 +8 -0
- package/build/components/command-menu.js +6 -4
- package/build/components/command-menu.js.map +1 -1
- package/build-module/components/command-menu.js +6 -4
- package/build-module/components/command-menu.js.map +1 -1
- package/package.json +10 -10
- package/src/components/command-menu.js +6 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.29.0 (2024-05-16)
|
|
6
|
+
|
|
7
|
+
### Internal
|
|
8
|
+
|
|
9
|
+
- Replaced `classnames` package with the faster and smaller `clsx` package ([#61138](https://github.com/WordPress/gutenberg/pull/61138)).
|
|
10
|
+
|
|
11
|
+
## 0.28.0 (2024-05-02)
|
|
12
|
+
|
|
5
13
|
## 0.27.0 (2024-04-19)
|
|
6
14
|
|
|
7
15
|
## 0.26.0 (2024-04-03)
|
|
@@ -9,7 +9,7 @@ exports.CommandMenuGroup = CommandMenuGroup;
|
|
|
9
9
|
exports.CommandMenuLoaderWrapper = CommandMenuLoaderWrapper;
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _cmdk = require("cmdk");
|
|
12
|
-
var
|
|
12
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _data = require("@wordpress/data");
|
|
14
14
|
var _element = require("@wordpress/element");
|
|
15
15
|
var _i18n = require("@wordpress/i18n");
|
|
@@ -61,7 +61,7 @@ function CommandMenuLoader({
|
|
|
61
61
|
id: command.name
|
|
62
62
|
}, (0, _react.createElement)(_components.__experimentalHStack, {
|
|
63
63
|
alignment: "left",
|
|
64
|
-
className: (0,
|
|
64
|
+
className: (0, _clsx.default)('commands-command-menu__item', {
|
|
65
65
|
'has-icon': command.icon
|
|
66
66
|
})
|
|
67
67
|
}, command.icon && (0, _react.createElement)(_icons.Icon, {
|
|
@@ -132,7 +132,7 @@ function CommandMenuGroup({
|
|
|
132
132
|
id: command.name
|
|
133
133
|
}, (0, _react.createElement)(_components.__experimentalHStack, {
|
|
134
134
|
alignment: "left",
|
|
135
|
-
className: (0,
|
|
135
|
+
className: (0, _clsx.default)('commands-command-menu__item', {
|
|
136
136
|
'has-icon': command.icon
|
|
137
137
|
})
|
|
138
138
|
}, command.icon && (0, _react.createElement)(_icons.Icon, {
|
|
@@ -212,7 +212,9 @@ function CommandMenu() {
|
|
|
212
212
|
(0, _keyboardShortcuts.useShortcut)('core/commands', /** @type {import('react').KeyboardEventHandler} */
|
|
213
213
|
event => {
|
|
214
214
|
// Bails to avoid obscuring the effect of the preceding handler(s).
|
|
215
|
-
if (event.defaultPrevented)
|
|
215
|
+
if (event.defaultPrevented) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
216
218
|
event.preventDefault();
|
|
217
219
|
if (isOpen) {
|
|
218
220
|
close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cmdk","require","_classnames","_interopRequireDefault","_data","_element","_i18n","_components","_keyboardShortcuts","_icons","_store","inputLabel","__","CommandMenuLoader","name","search","hook","setLoader","close","_hook","isLoading","commands","useEffect","length","_react","createElement","Fragment","map","command","_command$searchLabel","Command","Item","key","value","searchLabel","label","onSelect","callback","id","__experimentalHStack","alignment","className","classnames","icon","Icon","TextHighlight","text","highlight","CommandMenuLoaderWrapper","currentLoader","useRef","setKey","useState","current","prevKey","CommandMenuGroup","isContextual","loaders","useSelect","select","getCommands","getCommandLoaders","commandsStore","Group","_command$searchLabel2","loader","CommandInput","isOpen","setSearch","commandMenuInput","_value","useCommandState","state","selectedItemId","useMemo","item","document","querySelector","getAttribute","focus","Input","ref","onValueChange","placeholder","CommandMenu","registerShortcut","useDispatch","keyboardShortcutsStore","open","setLoaders","commandListRef","category","description","keyCombination","modifier","character","removeAttribute","setAttribute","useShortcut","event","defaultPrevented","preventDefault","bindGlobal","useCallback","closeAndReset","onKeyDown","nativeEvent","isComposing","keyCode","Object","values","some","Boolean","Modal","overlayClassName","onRequestClose","__experimentalHideHeader","contentLabel","inputIcon","List","Empty"],"sources":["@wordpress/commands/src/components/command-menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Command, useCommandState } from 'cmdk';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tModal,\n\tTextHighlight,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport {\n\tstore as keyboardShortcutsStore,\n\tuseShortcut,\n} from '@wordpress/keyboard-shortcuts';\nimport { Icon, search as inputIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\nconst inputLabel = __( 'Search commands and settings' );\n\nfunction CommandMenuLoader( { name, search, hook, setLoader, close } ) {\n\tconst { isLoading, commands = [] } = hook( { search } ) ?? {};\n\tuseEffect( () => {\n\t\tsetLoader( name, isLoading );\n\t}, [ setLoader, name, isLoading ] );\n\n\tif ( ! commands.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ classnames( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nexport function CommandMenuLoaderWrapper( { hook, search, setLoader, close } ) {\n\t// The \"hook\" prop is actually a custom React hook\n\t// so to avoid breaking the rules of hooks\n\t// the CommandMenuLoaderWrapper component need to be\n\t// remounted on each hook prop change\n\t// We use the key state to make sure we do that properly.\n\tconst currentLoader = useRef( hook );\n\tconst [ key, setKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tif ( currentLoader.current !== hook ) {\n\t\t\tcurrentLoader.current = hook;\n\t\t\tsetKey( ( prevKey ) => prevKey + 1 );\n\t\t}\n\t}, [ hook ] );\n\n\treturn (\n\t\t<CommandMenuLoader\n\t\t\tkey={ key }\n\t\t\thook={ currentLoader.current }\n\t\t\tsearch={ search }\n\t\t\tsetLoader={ setLoader }\n\t\t\tclose={ close }\n\t\t/>\n\t);\n}\n\nexport function CommandMenuGroup( { isContextual, search, setLoader, close } ) {\n\tconst { commands, loaders } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCommands, getCommandLoaders } = select( commandsStore );\n\t\t\treturn {\n\t\t\t\tcommands: getCommands( isContextual ),\n\t\t\t\tloaders: getCommandLoaders( isContextual ),\n\t\t\t};\n\t\t},\n\t\t[ isContextual ]\n\t);\n\n\tif ( ! commands.length && ! loaders.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Command.Group>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ classnames( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t\t{ loaders.map( ( loader ) => (\n\t\t\t\t<CommandMenuLoaderWrapper\n\t\t\t\t\tkey={ loader.name }\n\t\t\t\t\thook={ loader.hook }\n\t\t\t\t\tsearch={ search }\n\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\tclose={ close }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Command.Group>\n\t);\n}\n\nfunction CommandInput( { isOpen, search, setSearch } ) {\n\tconst commandMenuInput = useRef();\n\tconst _value = useCommandState( ( state ) => state.value );\n\tconst selectedItemId = useMemo( () => {\n\t\tconst item = document.querySelector(\n\t\t\t`[cmdk-item=\"\"][data-value=\"${ _value }\"]`\n\t\t);\n\t\treturn item?.getAttribute( 'id' );\n\t}, [ _value ] );\n\tuseEffect( () => {\n\t\t// Focus the command palette input when mounting the modal.\n\t\tif ( isOpen ) {\n\t\t\tcommandMenuInput.current.focus();\n\t\t}\n\t}, [ isOpen ] );\n\treturn (\n\t\t<Command.Input\n\t\t\tref={ commandMenuInput }\n\t\t\tvalue={ search }\n\t\t\tonValueChange={ setSearch }\n\t\t\tplaceholder={ inputLabel }\n\t\t\taria-activedescendant={ selectedItemId }\n\t\t\ticon={ search }\n\t\t/>\n\t);\n}\n\n/**\n * @ignore\n */\nexport function CommandMenu() {\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst isOpen = useSelect(\n\t\t( select ) => select( commandsStore ).isOpen(),\n\t\t[]\n\t);\n\tconst { open, close } = useDispatch( commandsStore );\n\tconst [ loaders, setLoaders ] = useState( {} );\n\tconst commandListRef = useRef();\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/commands',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the command palette.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'k',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\t// Temporary fix for the suggestions Listbox labeling.\n\t// See https://github.com/pacocoursey/cmdk/issues/196\n\tuseEffect( () => {\n\t\tcommandListRef.current?.removeAttribute( 'aria-labelledby' );\n\t\tcommandListRef.current?.setAttribute(\n\t\t\t'aria-label',\n\t\t\t__( 'Command suggestions' )\n\t\t);\n\t}, [ commandListRef.current ] );\n\n\tuseShortcut(\n\t\t'core/commands',\n\t\t/** @type {import('react').KeyboardEventHandler} */\n\t\t( event ) => {\n\t\t\t// Bails to avoid obscuring the effect of the preceding handler(s).\n\t\t\tif ( event.defaultPrevented ) return;\n\n\t\t\tevent.preventDefault();\n\t\t\tif ( isOpen ) {\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\topen();\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbindGlobal: true,\n\t\t}\n\t);\n\n\tconst setLoader = useCallback(\n\t\t( name, value ) =>\n\t\t\tsetLoaders( ( current ) => ( {\n\t\t\t\t...current,\n\t\t\t\t[ name ]: value,\n\t\t\t} ) ),\n\t\t[]\n\t);\n\tconst closeAndReset = () => {\n\t\tsetSearch( '' );\n\t\tclose();\n\t};\n\n\tif ( ! isOpen ) {\n\t\treturn false;\n\t}\n\n\tconst onKeyDown = ( event ) => {\n\t\tif (\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst isLoading = Object.values( loaders ).some( Boolean );\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"commands-command-menu\"\n\t\t\toverlayClassName=\"commands-command-menu__overlay\"\n\t\t\tonRequestClose={ closeAndReset }\n\t\t\t__experimentalHideHeader\n\t\t\tcontentLabel={ __( 'Command palette' ) }\n\t\t>\n\t\t\t<div className=\"commands-command-menu__container\">\n\t\t\t\t<Command label={ inputLabel } onKeyDown={ onKeyDown }>\n\t\t\t\t\t<div className=\"commands-command-menu__header\">\n\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetSearch={ setSearch }\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Icon icon={ inputIcon } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Command.List ref={ commandListRef }>\n\t\t\t\t\t\t{ search && ! isLoading && (\n\t\t\t\t\t\t\t<Command.Empty>\n\t\t\t\t\t\t\t\t{ __( 'No results found.' ) }\n\t\t\t\t\t\t\t</Command.Empty>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\tisContextual\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ search && (\n\t\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Command.List>\n\t\t\t\t</Command>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cmdk","require","_clsx","_interopRequireDefault","_data","_element","_i18n","_components","_keyboardShortcuts","_icons","_store","inputLabel","__","CommandMenuLoader","name","search","hook","setLoader","close","_hook","isLoading","commands","useEffect","length","_react","createElement","Fragment","map","command","_command$searchLabel","Command","Item","key","value","searchLabel","label","onSelect","callback","id","__experimentalHStack","alignment","className","clsx","icon","Icon","TextHighlight","text","highlight","CommandMenuLoaderWrapper","currentLoader","useRef","setKey","useState","current","prevKey","CommandMenuGroup","isContextual","loaders","useSelect","select","getCommands","getCommandLoaders","commandsStore","Group","_command$searchLabel2","loader","CommandInput","isOpen","setSearch","commandMenuInput","_value","useCommandState","state","selectedItemId","useMemo","item","document","querySelector","getAttribute","focus","Input","ref","onValueChange","placeholder","CommandMenu","registerShortcut","useDispatch","keyboardShortcutsStore","open","setLoaders","commandListRef","category","description","keyCombination","modifier","character","removeAttribute","setAttribute","useShortcut","event","defaultPrevented","preventDefault","bindGlobal","useCallback","closeAndReset","onKeyDown","nativeEvent","isComposing","keyCode","Object","values","some","Boolean","Modal","overlayClassName","onRequestClose","__experimentalHideHeader","contentLabel","inputIcon","List","Empty"],"sources":["@wordpress/commands/src/components/command-menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Command, useCommandState } from 'cmdk';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tModal,\n\tTextHighlight,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport {\n\tstore as keyboardShortcutsStore,\n\tuseShortcut,\n} from '@wordpress/keyboard-shortcuts';\nimport { Icon, search as inputIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\nconst inputLabel = __( 'Search commands and settings' );\n\nfunction CommandMenuLoader( { name, search, hook, setLoader, close } ) {\n\tconst { isLoading, commands = [] } = hook( { search } ) ?? {};\n\tuseEffect( () => {\n\t\tsetLoader( name, isLoading );\n\t}, [ setLoader, name, isLoading ] );\n\n\tif ( ! commands.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ clsx( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nexport function CommandMenuLoaderWrapper( { hook, search, setLoader, close } ) {\n\t// The \"hook\" prop is actually a custom React hook\n\t// so to avoid breaking the rules of hooks\n\t// the CommandMenuLoaderWrapper component need to be\n\t// remounted on each hook prop change\n\t// We use the key state to make sure we do that properly.\n\tconst currentLoader = useRef( hook );\n\tconst [ key, setKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tif ( currentLoader.current !== hook ) {\n\t\t\tcurrentLoader.current = hook;\n\t\t\tsetKey( ( prevKey ) => prevKey + 1 );\n\t\t}\n\t}, [ hook ] );\n\n\treturn (\n\t\t<CommandMenuLoader\n\t\t\tkey={ key }\n\t\t\thook={ currentLoader.current }\n\t\t\tsearch={ search }\n\t\t\tsetLoader={ setLoader }\n\t\t\tclose={ close }\n\t\t/>\n\t);\n}\n\nexport function CommandMenuGroup( { isContextual, search, setLoader, close } ) {\n\tconst { commands, loaders } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCommands, getCommandLoaders } = select( commandsStore );\n\t\t\treturn {\n\t\t\t\tcommands: getCommands( isContextual ),\n\t\t\t\tloaders: getCommandLoaders( isContextual ),\n\t\t\t};\n\t\t},\n\t\t[ isContextual ]\n\t);\n\n\tif ( ! commands.length && ! loaders.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Command.Group>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ clsx( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t\t{ loaders.map( ( loader ) => (\n\t\t\t\t<CommandMenuLoaderWrapper\n\t\t\t\t\tkey={ loader.name }\n\t\t\t\t\thook={ loader.hook }\n\t\t\t\t\tsearch={ search }\n\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\tclose={ close }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Command.Group>\n\t);\n}\n\nfunction CommandInput( { isOpen, search, setSearch } ) {\n\tconst commandMenuInput = useRef();\n\tconst _value = useCommandState( ( state ) => state.value );\n\tconst selectedItemId = useMemo( () => {\n\t\tconst item = document.querySelector(\n\t\t\t`[cmdk-item=\"\"][data-value=\"${ _value }\"]`\n\t\t);\n\t\treturn item?.getAttribute( 'id' );\n\t}, [ _value ] );\n\tuseEffect( () => {\n\t\t// Focus the command palette input when mounting the modal.\n\t\tif ( isOpen ) {\n\t\t\tcommandMenuInput.current.focus();\n\t\t}\n\t}, [ isOpen ] );\n\treturn (\n\t\t<Command.Input\n\t\t\tref={ commandMenuInput }\n\t\t\tvalue={ search }\n\t\t\tonValueChange={ setSearch }\n\t\t\tplaceholder={ inputLabel }\n\t\t\taria-activedescendant={ selectedItemId }\n\t\t\ticon={ search }\n\t\t/>\n\t);\n}\n\n/**\n * @ignore\n */\nexport function CommandMenu() {\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst isOpen = useSelect(\n\t\t( select ) => select( commandsStore ).isOpen(),\n\t\t[]\n\t);\n\tconst { open, close } = useDispatch( commandsStore );\n\tconst [ loaders, setLoaders ] = useState( {} );\n\tconst commandListRef = useRef();\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/commands',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the command palette.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'k',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\t// Temporary fix for the suggestions Listbox labeling.\n\t// See https://github.com/pacocoursey/cmdk/issues/196\n\tuseEffect( () => {\n\t\tcommandListRef.current?.removeAttribute( 'aria-labelledby' );\n\t\tcommandListRef.current?.setAttribute(\n\t\t\t'aria-label',\n\t\t\t__( 'Command suggestions' )\n\t\t);\n\t}, [ commandListRef.current ] );\n\n\tuseShortcut(\n\t\t'core/commands',\n\t\t/** @type {import('react').KeyboardEventHandler} */\n\t\t( event ) => {\n\t\t\t// Bails to avoid obscuring the effect of the preceding handler(s).\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tif ( isOpen ) {\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\topen();\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbindGlobal: true,\n\t\t}\n\t);\n\n\tconst setLoader = useCallback(\n\t\t( name, value ) =>\n\t\t\tsetLoaders( ( current ) => ( {\n\t\t\t\t...current,\n\t\t\t\t[ name ]: value,\n\t\t\t} ) ),\n\t\t[]\n\t);\n\tconst closeAndReset = () => {\n\t\tsetSearch( '' );\n\t\tclose();\n\t};\n\n\tif ( ! isOpen ) {\n\t\treturn false;\n\t}\n\n\tconst onKeyDown = ( event ) => {\n\t\tif (\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst isLoading = Object.values( loaders ).some( Boolean );\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"commands-command-menu\"\n\t\t\toverlayClassName=\"commands-command-menu__overlay\"\n\t\t\tonRequestClose={ closeAndReset }\n\t\t\t__experimentalHideHeader\n\t\t\tcontentLabel={ __( 'Command palette' ) }\n\t\t>\n\t\t\t<div className=\"commands-command-menu__container\">\n\t\t\t\t<Command label={ inputLabel } onKeyDown={ onKeyDown }>\n\t\t\t\t\t<div className=\"commands-command-menu__header\">\n\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetSearch={ setSearch }\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Icon icon={ inputIcon } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Command.List ref={ commandListRef }>\n\t\t\t\t\t\t{ search && ! isLoading && (\n\t\t\t\t\t\t\t<Command.Empty>\n\t\t\t\t\t\t\t\t{ __( 'No results found.' ) }\n\t\t\t\t\t\t\t</Command.Empty>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\tisContextual\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ search && (\n\t\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Command.List>\n\t\t\t\t</Command>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { Command, useCommandState } from 'cmdk';
|
|
6
|
-
import
|
|
6
|
+
import clsx from 'clsx';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* WordPress dependencies
|
|
@@ -51,7 +51,7 @@ function CommandMenuLoader({
|
|
|
51
51
|
id: command.name
|
|
52
52
|
}, createElement(HStack, {
|
|
53
53
|
alignment: "left",
|
|
54
|
-
className:
|
|
54
|
+
className: clsx('commands-command-menu__item', {
|
|
55
55
|
'has-icon': command.icon
|
|
56
56
|
})
|
|
57
57
|
}, command.icon && createElement(Icon, {
|
|
@@ -122,7 +122,7 @@ export function CommandMenuGroup({
|
|
|
122
122
|
id: command.name
|
|
123
123
|
}, createElement(HStack, {
|
|
124
124
|
alignment: "left",
|
|
125
|
-
className:
|
|
125
|
+
className: clsx('commands-command-menu__item', {
|
|
126
126
|
'has-icon': command.icon
|
|
127
127
|
})
|
|
128
128
|
}, command.icon && createElement(Icon, {
|
|
@@ -202,7 +202,9 @@ export function CommandMenu() {
|
|
|
202
202
|
useShortcut('core/commands', /** @type {import('react').KeyboardEventHandler} */
|
|
203
203
|
event => {
|
|
204
204
|
// Bails to avoid obscuring the effect of the preceding handler(s).
|
|
205
|
-
if (event.defaultPrevented)
|
|
205
|
+
if (event.defaultPrevented) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
206
208
|
event.preventDefault();
|
|
207
209
|
if (isOpen) {
|
|
208
210
|
close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Command","useCommandState","classnames","useSelect","useDispatch","useState","useEffect","useRef","useCallback","useMemo","__","Modal","TextHighlight","__experimentalHStack","HStack","store","keyboardShortcutsStore","useShortcut","Icon","search","inputIcon","commandsStore","inputLabel","CommandMenuLoader","name","hook","setLoader","close","_hook","isLoading","commands","length","createElement","Fragment","map","command","_command$searchLabel","Item","key","value","searchLabel","label","onSelect","callback","id","alignment","className","icon","text","highlight","CommandMenuLoaderWrapper","currentLoader","setKey","current","prevKey","CommandMenuGroup","isContextual","loaders","select","getCommands","getCommandLoaders","Group","_command$searchLabel2","loader","CommandInput","isOpen","setSearch","commandMenuInput","_value","state","selectedItemId","item","document","querySelector","getAttribute","focus","Input","ref","onValueChange","placeholder","CommandMenu","registerShortcut","open","setLoaders","commandListRef","category","description","keyCombination","modifier","character","removeAttribute","setAttribute","event","defaultPrevented","preventDefault","bindGlobal","closeAndReset","onKeyDown","nativeEvent","isComposing","keyCode","Object","values","some","Boolean","overlayClassName","onRequestClose","__experimentalHideHeader","contentLabel","List","Empty"],"sources":["@wordpress/commands/src/components/command-menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Command, useCommandState } from 'cmdk';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tModal,\n\tTextHighlight,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport {\n\tstore as keyboardShortcutsStore,\n\tuseShortcut,\n} from '@wordpress/keyboard-shortcuts';\nimport { Icon, search as inputIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\nconst inputLabel = __( 'Search commands and settings' );\n\nfunction CommandMenuLoader( { name, search, hook, setLoader, close } ) {\n\tconst { isLoading, commands = [] } = hook( { search } ) ?? {};\n\tuseEffect( () => {\n\t\tsetLoader( name, isLoading );\n\t}, [ setLoader, name, isLoading ] );\n\n\tif ( ! commands.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ classnames( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nexport function CommandMenuLoaderWrapper( { hook, search, setLoader, close } ) {\n\t// The \"hook\" prop is actually a custom React hook\n\t// so to avoid breaking the rules of hooks\n\t// the CommandMenuLoaderWrapper component need to be\n\t// remounted on each hook prop change\n\t// We use the key state to make sure we do that properly.\n\tconst currentLoader = useRef( hook );\n\tconst [ key, setKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tif ( currentLoader.current !== hook ) {\n\t\t\tcurrentLoader.current = hook;\n\t\t\tsetKey( ( prevKey ) => prevKey + 1 );\n\t\t}\n\t}, [ hook ] );\n\n\treturn (\n\t\t<CommandMenuLoader\n\t\t\tkey={ key }\n\t\t\thook={ currentLoader.current }\n\t\t\tsearch={ search }\n\t\t\tsetLoader={ setLoader }\n\t\t\tclose={ close }\n\t\t/>\n\t);\n}\n\nexport function CommandMenuGroup( { isContextual, search, setLoader, close } ) {\n\tconst { commands, loaders } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCommands, getCommandLoaders } = select( commandsStore );\n\t\t\treturn {\n\t\t\t\tcommands: getCommands( isContextual ),\n\t\t\t\tloaders: getCommandLoaders( isContextual ),\n\t\t\t};\n\t\t},\n\t\t[ isContextual ]\n\t);\n\n\tif ( ! commands.length && ! loaders.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Command.Group>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ classnames( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t\t{ loaders.map( ( loader ) => (\n\t\t\t\t<CommandMenuLoaderWrapper\n\t\t\t\t\tkey={ loader.name }\n\t\t\t\t\thook={ loader.hook }\n\t\t\t\t\tsearch={ search }\n\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\tclose={ close }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Command.Group>\n\t);\n}\n\nfunction CommandInput( { isOpen, search, setSearch } ) {\n\tconst commandMenuInput = useRef();\n\tconst _value = useCommandState( ( state ) => state.value );\n\tconst selectedItemId = useMemo( () => {\n\t\tconst item = document.querySelector(\n\t\t\t`[cmdk-item=\"\"][data-value=\"${ _value }\"]`\n\t\t);\n\t\treturn item?.getAttribute( 'id' );\n\t}, [ _value ] );\n\tuseEffect( () => {\n\t\t// Focus the command palette input when mounting the modal.\n\t\tif ( isOpen ) {\n\t\t\tcommandMenuInput.current.focus();\n\t\t}\n\t}, [ isOpen ] );\n\treturn (\n\t\t<Command.Input\n\t\t\tref={ commandMenuInput }\n\t\t\tvalue={ search }\n\t\t\tonValueChange={ setSearch }\n\t\t\tplaceholder={ inputLabel }\n\t\t\taria-activedescendant={ selectedItemId }\n\t\t\ticon={ search }\n\t\t/>\n\t);\n}\n\n/**\n * @ignore\n */\nexport function CommandMenu() {\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst isOpen = useSelect(\n\t\t( select ) => select( commandsStore ).isOpen(),\n\t\t[]\n\t);\n\tconst { open, close } = useDispatch( commandsStore );\n\tconst [ loaders, setLoaders ] = useState( {} );\n\tconst commandListRef = useRef();\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/commands',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the command palette.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'k',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\t// Temporary fix for the suggestions Listbox labeling.\n\t// See https://github.com/pacocoursey/cmdk/issues/196\n\tuseEffect( () => {\n\t\tcommandListRef.current?.removeAttribute( 'aria-labelledby' );\n\t\tcommandListRef.current?.setAttribute(\n\t\t\t'aria-label',\n\t\t\t__( 'Command suggestions' )\n\t\t);\n\t}, [ commandListRef.current ] );\n\n\tuseShortcut(\n\t\t'core/commands',\n\t\t/** @type {import('react').KeyboardEventHandler} */\n\t\t( event ) => {\n\t\t\t// Bails to avoid obscuring the effect of the preceding handler(s).\n\t\t\tif ( event.defaultPrevented ) return;\n\n\t\t\tevent.preventDefault();\n\t\t\tif ( isOpen ) {\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\topen();\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbindGlobal: true,\n\t\t}\n\t);\n\n\tconst setLoader = useCallback(\n\t\t( name, value ) =>\n\t\t\tsetLoaders( ( current ) => ( {\n\t\t\t\t...current,\n\t\t\t\t[ name ]: value,\n\t\t\t} ) ),\n\t\t[]\n\t);\n\tconst closeAndReset = () => {\n\t\tsetSearch( '' );\n\t\tclose();\n\t};\n\n\tif ( ! isOpen ) {\n\t\treturn false;\n\t}\n\n\tconst onKeyDown = ( event ) => {\n\t\tif (\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst isLoading = Object.values( loaders ).some( Boolean );\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"commands-command-menu\"\n\t\t\toverlayClassName=\"commands-command-menu__overlay\"\n\t\t\tonRequestClose={ closeAndReset }\n\t\t\t__experimentalHideHeader\n\t\t\tcontentLabel={ __( 'Command palette' ) }\n\t\t>\n\t\t\t<div className=\"commands-command-menu__container\">\n\t\t\t\t<Command label={ inputLabel } onKeyDown={ onKeyDown }>\n\t\t\t\t\t<div className=\"commands-command-menu__header\">\n\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetSearch={ setSearch }\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Icon icon={ inputIcon } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Command.List ref={ commandListRef }>\n\t\t\t\t\t\t{ search && ! isLoading && (\n\t\t\t\t\t\t\t<Command.Empty>\n\t\t\t\t\t\t\t\t{ __( 'No results found.' ) }\n\t\t\t\t\t\t\t</Command.Empty>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\tisContextual\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ search && (\n\t\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Command.List>\n\t\t\t\t</Command>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Command","useCommandState","clsx","useSelect","useDispatch","useState","useEffect","useRef","useCallback","useMemo","__","Modal","TextHighlight","__experimentalHStack","HStack","store","keyboardShortcutsStore","useShortcut","Icon","search","inputIcon","commandsStore","inputLabel","CommandMenuLoader","name","hook","setLoader","close","_hook","isLoading","commands","length","createElement","Fragment","map","command","_command$searchLabel","Item","key","value","searchLabel","label","onSelect","callback","id","alignment","className","icon","text","highlight","CommandMenuLoaderWrapper","currentLoader","setKey","current","prevKey","CommandMenuGroup","isContextual","loaders","select","getCommands","getCommandLoaders","Group","_command$searchLabel2","loader","CommandInput","isOpen","setSearch","commandMenuInput","_value","state","selectedItemId","item","document","querySelector","getAttribute","focus","Input","ref","onValueChange","placeholder","CommandMenu","registerShortcut","open","setLoaders","commandListRef","category","description","keyCombination","modifier","character","removeAttribute","setAttribute","event","defaultPrevented","preventDefault","bindGlobal","closeAndReset","onKeyDown","nativeEvent","isComposing","keyCode","Object","values","some","Boolean","overlayClassName","onRequestClose","__experimentalHideHeader","contentLabel","List","Empty"],"sources":["@wordpress/commands/src/components/command-menu.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Command, useCommandState } from 'cmdk';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tModal,\n\tTextHighlight,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport {\n\tstore as keyboardShortcutsStore,\n\tuseShortcut,\n} from '@wordpress/keyboard-shortcuts';\nimport { Icon, search as inputIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\nconst inputLabel = __( 'Search commands and settings' );\n\nfunction CommandMenuLoader( { name, search, hook, setLoader, close } ) {\n\tconst { isLoading, commands = [] } = hook( { search } ) ?? {};\n\tuseEffect( () => {\n\t\tsetLoader( name, isLoading );\n\t}, [ setLoader, name, isLoading ] );\n\n\tif ( ! commands.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ clsx( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nexport function CommandMenuLoaderWrapper( { hook, search, setLoader, close } ) {\n\t// The \"hook\" prop is actually a custom React hook\n\t// so to avoid breaking the rules of hooks\n\t// the CommandMenuLoaderWrapper component need to be\n\t// remounted on each hook prop change\n\t// We use the key state to make sure we do that properly.\n\tconst currentLoader = useRef( hook );\n\tconst [ key, setKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tif ( currentLoader.current !== hook ) {\n\t\t\tcurrentLoader.current = hook;\n\t\t\tsetKey( ( prevKey ) => prevKey + 1 );\n\t\t}\n\t}, [ hook ] );\n\n\treturn (\n\t\t<CommandMenuLoader\n\t\t\tkey={ key }\n\t\t\thook={ currentLoader.current }\n\t\t\tsearch={ search }\n\t\t\tsetLoader={ setLoader }\n\t\t\tclose={ close }\n\t\t/>\n\t);\n}\n\nexport function CommandMenuGroup( { isContextual, search, setLoader, close } ) {\n\tconst { commands, loaders } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCommands, getCommandLoaders } = select( commandsStore );\n\t\t\treturn {\n\t\t\t\tcommands: getCommands( isContextual ),\n\t\t\t\tloaders: getCommandLoaders( isContextual ),\n\t\t\t};\n\t\t},\n\t\t[ isContextual ]\n\t);\n\n\tif ( ! commands.length && ! loaders.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Command.Group>\n\t\t\t{ commands.map( ( command ) => (\n\t\t\t\t<Command.Item\n\t\t\t\t\tkey={ command.name }\n\t\t\t\t\tvalue={ command.searchLabel ?? command.label }\n\t\t\t\t\tonSelect={ () => command.callback( { close } ) }\n\t\t\t\t\tid={ command.name }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName={ clsx( 'commands-command-menu__item', {\n\t\t\t\t\t\t\t'has-icon': command.icon,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ command.icon && <Icon icon={ command.icon } /> }\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<TextHighlight\n\t\t\t\t\t\t\t\ttext={ command.label }\n\t\t\t\t\t\t\t\thighlight={ search }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Command.Item>\n\t\t\t) ) }\n\t\t\t{ loaders.map( ( loader ) => (\n\t\t\t\t<CommandMenuLoaderWrapper\n\t\t\t\t\tkey={ loader.name }\n\t\t\t\t\thook={ loader.hook }\n\t\t\t\t\tsearch={ search }\n\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\tclose={ close }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Command.Group>\n\t);\n}\n\nfunction CommandInput( { isOpen, search, setSearch } ) {\n\tconst commandMenuInput = useRef();\n\tconst _value = useCommandState( ( state ) => state.value );\n\tconst selectedItemId = useMemo( () => {\n\t\tconst item = document.querySelector(\n\t\t\t`[cmdk-item=\"\"][data-value=\"${ _value }\"]`\n\t\t);\n\t\treturn item?.getAttribute( 'id' );\n\t}, [ _value ] );\n\tuseEffect( () => {\n\t\t// Focus the command palette input when mounting the modal.\n\t\tif ( isOpen ) {\n\t\t\tcommandMenuInput.current.focus();\n\t\t}\n\t}, [ isOpen ] );\n\treturn (\n\t\t<Command.Input\n\t\t\tref={ commandMenuInput }\n\t\t\tvalue={ search }\n\t\t\tonValueChange={ setSearch }\n\t\t\tplaceholder={ inputLabel }\n\t\t\taria-activedescendant={ selectedItemId }\n\t\t\ticon={ search }\n\t\t/>\n\t);\n}\n\n/**\n * @ignore\n */\nexport function CommandMenu() {\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst isOpen = useSelect(\n\t\t( select ) => select( commandsStore ).isOpen(),\n\t\t[]\n\t);\n\tconst { open, close } = useDispatch( commandsStore );\n\tconst [ loaders, setLoaders ] = useState( {} );\n\tconst commandListRef = useRef();\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/commands',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the command palette.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'k',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\t// Temporary fix for the suggestions Listbox labeling.\n\t// See https://github.com/pacocoursey/cmdk/issues/196\n\tuseEffect( () => {\n\t\tcommandListRef.current?.removeAttribute( 'aria-labelledby' );\n\t\tcommandListRef.current?.setAttribute(\n\t\t\t'aria-label',\n\t\t\t__( 'Command suggestions' )\n\t\t);\n\t}, [ commandListRef.current ] );\n\n\tuseShortcut(\n\t\t'core/commands',\n\t\t/** @type {import('react').KeyboardEventHandler} */\n\t\t( event ) => {\n\t\t\t// Bails to avoid obscuring the effect of the preceding handler(s).\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tif ( isOpen ) {\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\topen();\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbindGlobal: true,\n\t\t}\n\t);\n\n\tconst setLoader = useCallback(\n\t\t( name, value ) =>\n\t\t\tsetLoaders( ( current ) => ( {\n\t\t\t\t...current,\n\t\t\t\t[ name ]: value,\n\t\t\t} ) ),\n\t\t[]\n\t);\n\tconst closeAndReset = () => {\n\t\tsetSearch( '' );\n\t\tclose();\n\t};\n\n\tif ( ! isOpen ) {\n\t\treturn false;\n\t}\n\n\tconst onKeyDown = ( event ) => {\n\t\tif (\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst isLoading = Object.values( loaders ).some( Boolean );\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"commands-command-menu\"\n\t\t\toverlayClassName=\"commands-command-menu__overlay\"\n\t\t\tonRequestClose={ closeAndReset }\n\t\t\t__experimentalHideHeader\n\t\t\tcontentLabel={ __( 'Command palette' ) }\n\t\t>\n\t\t\t<div className=\"commands-command-menu__container\">\n\t\t\t\t<Command label={ inputLabel } onKeyDown={ onKeyDown }>\n\t\t\t\t\t<div className=\"commands-command-menu__header\">\n\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetSearch={ setSearch }\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Icon icon={ inputIcon } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Command.List ref={ commandListRef }>\n\t\t\t\t\t\t{ search && ! isLoading && (\n\t\t\t\t\t\t\t<Command.Empty>\n\t\t\t\t\t\t\t\t{ __( 'No results found.' ) }\n\t\t\t\t\t\t\t</Command.Empty>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\tisContextual\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ search && (\n\t\t\t\t\t\t\t<CommandMenuGroup\n\t\t\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\t\t\tsetLoader={ setLoader }\n\t\t\t\t\t\t\t\tclose={ closeAndReset }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Command.List>\n\t\t\t\t</Command>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/commands",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0",
|
|
4
4
|
"description": "Handles the commands menu.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
"react-native": "src/index",
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@babel/runtime": "^7.16.0",
|
|
30
|
-
"@wordpress/components": "^27.
|
|
31
|
-
"@wordpress/data": "^9.
|
|
32
|
-
"@wordpress/element": "^5.
|
|
33
|
-
"@wordpress/i18n": "^4.
|
|
34
|
-
"@wordpress/icons": "^9.
|
|
35
|
-
"@wordpress/keyboard-shortcuts": "^4.
|
|
36
|
-
"@wordpress/private-apis": "^0.
|
|
37
|
-
"
|
|
30
|
+
"@wordpress/components": "^27.6.0",
|
|
31
|
+
"@wordpress/data": "^9.28.0",
|
|
32
|
+
"@wordpress/element": "^5.35.0",
|
|
33
|
+
"@wordpress/i18n": "^4.58.0",
|
|
34
|
+
"@wordpress/icons": "^9.49.0",
|
|
35
|
+
"@wordpress/keyboard-shortcuts": "^4.35.0",
|
|
36
|
+
"@wordpress/private-apis": "^0.40.0",
|
|
37
|
+
"clsx": "^2.1.1",
|
|
38
38
|
"cmdk": "^0.2.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "42f38f287506a6b3ed8ccba839b18ad066821044"
|
|
48
48
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { Command, useCommandState } from 'cmdk';
|
|
5
|
-
import
|
|
5
|
+
import clsx from 'clsx';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
@@ -55,7 +55,7 @@ function CommandMenuLoader( { name, search, hook, setLoader, close } ) {
|
|
|
55
55
|
>
|
|
56
56
|
<HStack
|
|
57
57
|
alignment="left"
|
|
58
|
-
className={
|
|
58
|
+
className={ clsx( 'commands-command-menu__item', {
|
|
59
59
|
'has-icon': command.icon,
|
|
60
60
|
} ) }
|
|
61
61
|
>
|
|
@@ -126,7 +126,7 @@ export function CommandMenuGroup( { isContextual, search, setLoader, close } ) {
|
|
|
126
126
|
>
|
|
127
127
|
<HStack
|
|
128
128
|
alignment="left"
|
|
129
|
-
className={
|
|
129
|
+
className={ clsx( 'commands-command-menu__item', {
|
|
130
130
|
'has-icon': command.icon,
|
|
131
131
|
} ) }
|
|
132
132
|
>
|
|
@@ -221,7 +221,9 @@ export function CommandMenu() {
|
|
|
221
221
|
/** @type {import('react').KeyboardEventHandler} */
|
|
222
222
|
( event ) => {
|
|
223
223
|
// Bails to avoid obscuring the effect of the preceding handler(s).
|
|
224
|
-
if ( event.defaultPrevented )
|
|
224
|
+
if ( event.defaultPrevented ) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
225
227
|
|
|
226
228
|
event.preventDefault();
|
|
227
229
|
if ( isOpen ) {
|