@wordpress/commands 1.2.0 → 1.4.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 CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.4.0 (2024-07-24)
6
+
7
+ ## 1.3.0 (2024-07-10)
8
+
5
9
  ## 1.2.0 (2024-06-26)
6
10
 
7
11
  ## 1.1.0 (2024-06-15)
@@ -198,7 +198,6 @@ function CommandMenu() {
198
198
  close
199
199
  } = (0, _data.useDispatch)(_store.store);
200
200
  const [loaders, setLoaders] = (0, _element.useState)({});
201
- const commandListRef = (0, _element.useRef)();
202
201
  (0, _element.useEffect)(() => {
203
202
  registerShortcut({
204
203
  name: 'core/commands',
@@ -210,13 +209,6 @@ function CommandMenu() {
210
209
  }
211
210
  });
212
211
  }, [registerShortcut]);
213
-
214
- // Temporary fix for the suggestions Listbox labeling.
215
- // See https://github.com/pacocoursey/cmdk/issues/196
216
- (0, _element.useEffect)(() => {
217
- commandListRef.current?.removeAttribute('aria-labelledby');
218
- commandListRef.current?.setAttribute('aria-label', (0, _i18n.__)('Command suggestions'));
219
- }, [commandListRef.current]);
220
212
  (0, _keyboardShortcuts.useShortcut)('core/commands', /** @type {import('react').KeyboardEventHandler} */
221
213
  event => {
222
214
  // Bails to avoid obscuring the effect of the preceding handler(s).
@@ -276,7 +268,7 @@ function CommandMenu() {
276
268
  icon: _icons.search
277
269
  })]
278
270
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_cmdk.Command.List, {
279
- ref: commandListRef,
271
+ label: (0, _i18n.__)('Command suggestions'),
280
272
  children: [search && !isLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_cmdk.Command.Empty, {
281
273
  children: (0, _i18n.__)('No results found.')
282
274
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(CommandMenuGroup, {
@@ -1 +1 @@
1
- {"version":3,"names":["_cmdk","require","_clsx","_interopRequireDefault","_data","_element","_i18n","_components","_keyboardShortcuts","_icons","_store","_jsxRuntime","inputLabel","__","CommandMenuLoader","name","search","hook","setLoader","close","_hook","isLoading","commands","useEffect","length","jsx","Fragment","children","map","command","_command$searchLabel","Command","Item","value","searchLabel","label","onSelect","callback","id","jsxs","__experimentalHStack","alignment","className","clsx","icon","Icon","TextHighlight","text","highlight","CommandMenuLoaderWrapper","currentLoader","useRef","key","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":[]}
1
+ {"version":3,"names":["_cmdk","require","_clsx","_interopRequireDefault","_data","_element","_i18n","_components","_keyboardShortcuts","_icons","_store","_jsxRuntime","inputLabel","__","CommandMenuLoader","name","search","hook","setLoader","close","_hook","isLoading","commands","useEffect","length","jsx","Fragment","children","map","command","_command$searchLabel","Command","Item","value","searchLabel","label","onSelect","callback","id","jsxs","__experimentalHStack","alignment","className","clsx","icon","Icon","TextHighlight","text","highlight","CommandMenuLoaderWrapper","currentLoader","useRef","key","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","category","description","keyCombination","modifier","character","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\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\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 label={ __( 'Command suggestions' ) }>\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":[]}
@@ -190,7 +190,6 @@ export function CommandMenu() {
190
190
  close
191
191
  } = useDispatch(commandsStore);
192
192
  const [loaders, setLoaders] = useState({});
193
- const commandListRef = useRef();
194
193
  useEffect(() => {
195
194
  registerShortcut({
196
195
  name: 'core/commands',
@@ -202,13 +201,6 @@ export function CommandMenu() {
202
201
  }
203
202
  });
204
203
  }, [registerShortcut]);
205
-
206
- // Temporary fix for the suggestions Listbox labeling.
207
- // See https://github.com/pacocoursey/cmdk/issues/196
208
- useEffect(() => {
209
- commandListRef.current?.removeAttribute('aria-labelledby');
210
- commandListRef.current?.setAttribute('aria-label', __('Command suggestions'));
211
- }, [commandListRef.current]);
212
204
  useShortcut('core/commands', /** @type {import('react').KeyboardEventHandler} */
213
205
  event => {
214
206
  // Bails to avoid obscuring the effect of the preceding handler(s).
@@ -268,7 +260,7 @@ export function CommandMenu() {
268
260
  icon: inputIcon
269
261
  })]
270
262
  }), /*#__PURE__*/_jsxs(Command.List, {
271
- ref: commandListRef,
263
+ label: __('Command suggestions'),
272
264
  children: [search && !isLoading && /*#__PURE__*/_jsx(Command.Empty, {
273
265
  children: __('No results found.')
274
266
  }), /*#__PURE__*/_jsx(CommandMenuGroup, {
@@ -1 +1 @@
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","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","inputLabel","CommandMenuLoader","name","hook","setLoader","close","_hook","isLoading","commands","length","children","map","command","_command$searchLabel","Item","value","searchLabel","label","onSelect","callback","id","alignment","className","icon","text","highlight","CommandMenuLoaderWrapper","currentLoader","key","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":[]}
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","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","inputLabel","CommandMenuLoader","name","hook","setLoader","close","_hook","isLoading","commands","length","children","map","command","_command$searchLabel","Item","value","searchLabel","label","onSelect","callback","id","alignment","className","icon","text","highlight","CommandMenuLoaderWrapper","currentLoader","key","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","category","description","keyCombination","modifier","character","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\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\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 label={ __( 'Command suggestions' ) }>\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": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Handles the commands menu.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -28,15 +28,15 @@
28
28
  "react-native": "src/index",
29
29
  "dependencies": {
30
30
  "@babel/runtime": "^7.16.0",
31
- "@wordpress/components": "^28.2.0",
32
- "@wordpress/data": "^10.2.0",
33
- "@wordpress/element": "^6.2.0",
34
- "@wordpress/i18n": "^5.2.0",
35
- "@wordpress/icons": "^10.2.0",
36
- "@wordpress/keyboard-shortcuts": "^5.2.0",
37
- "@wordpress/private-apis": "^1.2.0",
31
+ "@wordpress/components": "^28.4.0",
32
+ "@wordpress/data": "^10.4.0",
33
+ "@wordpress/element": "^6.4.0",
34
+ "@wordpress/i18n": "^5.4.0",
35
+ "@wordpress/icons": "^10.4.0",
36
+ "@wordpress/keyboard-shortcuts": "^5.4.0",
37
+ "@wordpress/private-apis": "^1.4.0",
38
38
  "clsx": "^2.1.1",
39
- "cmdk": "^0.2.0"
39
+ "cmdk": "^1.0.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "react": "^18.0.0",
@@ -45,5 +45,5 @@
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "gitHead": "aa5b14bb5bdbb8d8a02914e154c3bc1c2f18ace6"
48
+ "gitHead": "363edb39b8dda8727f652e42cbb8497732693ed2"
49
49
  }
@@ -192,7 +192,6 @@ export function CommandMenu() {
192
192
  );
193
193
  const { open, close } = useDispatch( commandsStore );
194
194
  const [ loaders, setLoaders ] = useState( {} );
195
- const commandListRef = useRef();
196
195
 
197
196
  useEffect( () => {
198
197
  registerShortcut( {
@@ -206,16 +205,6 @@ export function CommandMenu() {
206
205
  } );
207
206
  }, [ registerShortcut ] );
208
207
 
209
- // Temporary fix for the suggestions Listbox labeling.
210
- // See https://github.com/pacocoursey/cmdk/issues/196
211
- useEffect( () => {
212
- commandListRef.current?.removeAttribute( 'aria-labelledby' );
213
- commandListRef.current?.setAttribute(
214
- 'aria-label',
215
- __( 'Command suggestions' )
216
- );
217
- }, [ commandListRef.current ] );
218
-
219
208
  useShortcut(
220
209
  'core/commands',
221
210
  /** @type {import('react').KeyboardEventHandler} */
@@ -287,7 +276,7 @@ export function CommandMenu() {
287
276
  />
288
277
  <Icon icon={ inputIcon } />
289
278
  </div>
290
- <Command.List ref={ commandListRef }>
279
+ <Command.List label={ __( 'Command suggestions' ) }>
291
280
  { search && ! isLoading && (
292
281
  <Command.Empty>
293
282
  { __( 'No results found.' ) }