@wordpress/commands 1.36.1-next.6deb34194.0 → 1.36.1-next.76cff8c98.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.
Files changed (58) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +53 -53
  3. package/build/components/{command-menu.js → command-menu.cjs} +3 -3
  4. package/build/hooks/{use-command-context.js → use-command-context.cjs} +3 -3
  5. package/build/hooks/{use-command-loader.js → use-command-loader.cjs} +2 -2
  6. package/build/hooks/use-command-loader.cjs.map +7 -0
  7. package/build/hooks/{use-command.js → use-command.cjs} +2 -2
  8. package/build/{index.js → index.cjs} +6 -6
  9. package/build/{lock-unlock.js → lock-unlock.cjs} +1 -1
  10. package/build/{private-apis.js → private-apis.cjs} +3 -3
  11. package/build/store/{actions.js → actions.cjs} +1 -1
  12. package/build/store/{index.js → index.cjs} +6 -6
  13. package/build/store/{private-actions.js → private-actions.cjs} +1 -1
  14. package/build/store/{reducer.js → reducer.cjs} +1 -1
  15. package/build/store/{selectors.js → selectors.cjs} +1 -1
  16. package/build-module/components/{command-menu.js → command-menu.mjs} +3 -3
  17. package/build-module/hooks/{use-command-context.js → use-command-context.mjs} +3 -3
  18. package/build-module/hooks/{use-command-loader.js → use-command-loader.mjs} +2 -2
  19. package/build-module/hooks/use-command-loader.mjs.map +7 -0
  20. package/build-module/hooks/{use-command.js → use-command.mjs} +2 -2
  21. package/build-module/index.mjs +15 -0
  22. package/build-module/{lock-unlock.js → lock-unlock.mjs} +1 -1
  23. package/build-module/{private-apis.js → private-apis.mjs} +3 -3
  24. package/build-module/store/{actions.js → actions.mjs} +1 -1
  25. package/build-module/store/{index.js → index.mjs} +6 -6
  26. package/build-module/store/{private-actions.js → private-actions.mjs} +1 -1
  27. package/build-module/store/{reducer.js → reducer.mjs} +1 -1
  28. package/build-module/store/{selectors.js → selectors.mjs} +1 -1
  29. package/build-style/style-rtl.css +4 -120
  30. package/build-style/style.css +4 -120
  31. package/package.json +22 -14
  32. package/src/hooks/use-command-loader.js +28 -28
  33. package/src/style.scss +0 -2
  34. package/build/hooks/use-command-loader.js.map +0 -7
  35. package/build-module/hooks/use-command-loader.js.map +0 -7
  36. package/build-module/index.js +0 -15
  37. /package/build/components/{command-menu.js.map → command-menu.cjs.map} +0 -0
  38. /package/build/hooks/{use-command-context.js.map → use-command-context.cjs.map} +0 -0
  39. /package/build/hooks/{use-command.js.map → use-command.cjs.map} +0 -0
  40. /package/build/{index.js.map → index.cjs.map} +0 -0
  41. /package/build/{lock-unlock.js.map → lock-unlock.cjs.map} +0 -0
  42. /package/build/{private-apis.js.map → private-apis.cjs.map} +0 -0
  43. /package/build/store/{actions.js.map → actions.cjs.map} +0 -0
  44. /package/build/store/{index.js.map → index.cjs.map} +0 -0
  45. /package/build/store/{private-actions.js.map → private-actions.cjs.map} +0 -0
  46. /package/build/store/{reducer.js.map → reducer.cjs.map} +0 -0
  47. /package/build/store/{selectors.js.map → selectors.cjs.map} +0 -0
  48. /package/build-module/components/{command-menu.js.map → command-menu.mjs.map} +0 -0
  49. /package/build-module/hooks/{use-command-context.js.map → use-command-context.mjs.map} +0 -0
  50. /package/build-module/hooks/{use-command.js.map → use-command.mjs.map} +0 -0
  51. /package/build-module/{index.js.map → index.mjs.map} +0 -0
  52. /package/build-module/{lock-unlock.js.map → lock-unlock.mjs.map} +0 -0
  53. /package/build-module/{private-apis.js.map → private-apis.mjs.map} +0 -0
  54. /package/build-module/store/{actions.js.map → actions.mjs.map} +0 -0
  55. /package/build-module/store/{index.js.map → index.mjs.map} +0 -0
  56. /package/build-module/store/{private-actions.js.map → private-actions.mjs.map} +0 -0
  57. /package/build-module/store/{reducer.js.map → reducer.mjs.map} +0 -0
  58. /package/build-module/store/{selectors.js.map → selectors.mjs.map} +0 -0
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2025 by the contributors
3
+ Copyright 2016-2026 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
package/README.md CHANGED
@@ -122,65 +122,65 @@ Attach a command loader to the command palette. Used for dynamic commands.
122
122
  _Usage_
123
123
 
124
124
  ```js
125
+ import { __ } from '@wordpress/i18n';
126
+ import { addQueryArgs } from '@wordpress/url';
125
127
  import { useCommandLoader } from '@wordpress/commands';
126
- import { post, page, layout, symbolFilled } from '@wordpress/icons';
127
-
128
- const icons = {
129
- post,
130
- page,
131
- wp_template: layout,
132
- wp_template_part: symbolFilled,
133
- };
128
+ import { page } from '@wordpress/icons';
129
+ import { useSelect } from '@wordpress/data';
130
+ import { store as coreStore } from '@wordpress/core-data';
131
+ import { useMemo } from '@wordpress/element';
134
132
 
135
133
  function usePageSearchCommandLoader( { search } ) {
136
- // Retrieve the pages for the "search" term.
137
- const { records, isLoading } = useSelect( ( select ) => {
138
- const { getEntityRecords } = select( coreStore );
139
- const query = {
140
- search: !! search ? search : undefined,
141
- per_page: 10,
142
- orderby: search ? 'relevance' : 'date',
143
- };
144
- return {
145
- records: getEntityRecords( 'postType', 'page', query ),
146
- isLoading: ! select( coreStore ).hasFinishedResolution(
147
- 'getEntityRecords',
148
- 'postType', 'page', query ]
149
- ),
150
- };
151
- }, [ search ] );
152
-
153
- // Create the commands.
154
- const commands = useMemo( () => {
155
- return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {
156
- return {
157
- name: record.title?.rendered + ' ' + record.id,
158
- label: record.title?.rendered
159
- ? record.title?.rendered
160
- : __( '(no title)' ),
161
- icon: icons[ postType ],
162
- callback: ( { close } ) => {
163
- const args = {
164
- postType,
165
- postId: record.id,
166
- ...extraArgs,
167
- };
168
- document.location = addQueryArgs( 'site-editor.php', args );
169
- close();
170
- },
171
- };
172
- } );
173
- }, [ records, history ] );
174
-
175
- return {
176
- commands,
177
- isLoading,
178
- };
134
+ // Retrieve the pages for the "search" term.
135
+ const { records, isLoading } = useSelect(
136
+ ( select ) => {
137
+ const { getEntityRecords } = select( coreStore );
138
+ const query = {
139
+ search: !! search ? search : undefined,
140
+ per_page: 10,
141
+ orderby: search ? 'relevance' : 'date',
142
+ };
143
+ return {
144
+ records: getEntityRecords( 'postType', 'page', query ),
145
+ isLoading: ! select( coreStore ).hasFinishedResolution(
146
+ 'getEntityRecords',
147
+ [ 'postType', 'page', query ]
148
+ ),
149
+ };
150
+ },
151
+ [ search ]
152
+ );
153
+
154
+ // Create the commands.
155
+ const commands = useMemo( () => {
156
+ return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {
157
+ return {
158
+ name: record.title?.rendered + ' ' + record.id,
159
+ label: record.title?.rendered
160
+ ? record.title?.rendered
161
+ : __( '(no title)' ),
162
+ icon: page,
163
+ callback: ( { close } ) => {
164
+ const args = {
165
+ p: '/page',
166
+ postId: record.id,
167
+ };
168
+ document.location = addQueryArgs( 'site-editor.php', args );
169
+ close();
170
+ },
171
+ };
172
+ } );
173
+ }, [ records ] );
174
+
175
+ return {
176
+ commands,
177
+ isLoading,
178
+ };
179
179
  }
180
180
 
181
181
  useCommandLoader( {
182
- name: 'myplugin/page-search',
183
- hook: usePageSearchCommandLoader,
182
+ name: 'myplugin/page-search',
183
+ hook: usePageSearchCommandLoader,
184
184
  } );
185
185
  ```
186
186
 
@@ -42,8 +42,8 @@ var import_i18n = require("@wordpress/i18n");
42
42
  var import_components = require("@wordpress/components");
43
43
  var import_keyboard_shortcuts = require("@wordpress/keyboard-shortcuts");
44
44
  var import_icons = require("@wordpress/icons");
45
- var import_store = require("../store");
46
- var import_lock_unlock = require("../lock-unlock");
45
+ var import_store = require("../store/index.cjs");
46
+ var import_lock_unlock = require("../lock-unlock.cjs");
47
47
  var import_jsx_runtime = require("react/jsx-runtime");
48
48
  var { withIgnoreIMEEvents } = (0, import_lock_unlock.unlock)(import_components.privateApis);
49
49
  var inputLabel = (0, import_i18n.__)("Search commands and settings");
@@ -295,4 +295,4 @@ function CommandMenu() {
295
295
  CommandMenuGroup,
296
296
  CommandMenuLoaderWrapper
297
297
  });
298
- //# sourceMappingURL=command-menu.js.map
298
+ //# sourceMappingURL=command-menu.cjs.map
@@ -24,8 +24,8 @@ __export(use_command_context_exports, {
24
24
  module.exports = __toCommonJS(use_command_context_exports);
25
25
  var import_element = require("@wordpress/element");
26
26
  var import_data = require("@wordpress/data");
27
- var import_store = require("../store");
28
- var import_lock_unlock = require("../lock-unlock");
27
+ var import_store = require("../store/index.cjs");
28
+ var import_lock_unlock = require("../lock-unlock.cjs");
29
29
  function useCommandContext(context) {
30
30
  const { getContext } = (0, import_data.useSelect)(import_store.store);
31
31
  const initialContext = (0, import_element.useRef)(getContext());
@@ -38,4 +38,4 @@ function useCommandContext(context) {
38
38
  return () => setContext(initialContextRef);
39
39
  }, [setContext]);
40
40
  }
41
- //# sourceMappingURL=use-command-context.js.map
41
+ //# sourceMappingURL=use-command-context.cjs.map
@@ -24,7 +24,7 @@ __export(use_command_loader_exports, {
24
24
  module.exports = __toCommonJS(use_command_loader_exports);
25
25
  var import_element = require("@wordpress/element");
26
26
  var import_data = require("@wordpress/data");
27
- var import_store = require("../store");
27
+ var import_store = require("../store/index.cjs");
28
28
  function useCommandLoader(loader) {
29
29
  const { registerCommandLoader, unregisterCommandLoader } = (0, import_data.useDispatch)(import_store.store);
30
30
  (0, import_element.useEffect)(() => {
@@ -48,4 +48,4 @@ function useCommandLoader(loader) {
48
48
  unregisterCommandLoader
49
49
  ]);
50
50
  }
51
- //# sourceMappingURL=use-command-loader.js.map
51
+ //# sourceMappingURL=use-command-loader.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/hooks/use-command-loader.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\n/**\n * Attach a command loader to the command palette. Used for dynamic commands.\n *\n * @param {import('../store/actions').WPCommandLoaderConfig} loader command loader config.\n *\n * @example\n * ```js\n * import { __ } from '@wordpress/i18n';\n * import { addQueryArgs } from '@wordpress/url';\n * import { useCommandLoader } from '@wordpress/commands';\n * import { page } from '@wordpress/icons';\n * import { useSelect } from '@wordpress/data';\n * import { store as coreStore } from '@wordpress/core-data';\n * import { useMemo } from '@wordpress/element';\n *\n * function usePageSearchCommandLoader( { search } ) {\n * // Retrieve the pages for the \"search\" term.\n * const { records, isLoading } = useSelect(\n * ( select ) => {\n * const { getEntityRecords } = select( coreStore );\n * const query = {\n * search: !! search ? search : undefined,\n * per_page: 10,\n * orderby: search ? 'relevance' : 'date',\n * };\n * return {\n * records: getEntityRecords( 'postType', 'page', query ),\n * isLoading: ! select( coreStore ).hasFinishedResolution(\n * 'getEntityRecords',\n * [ 'postType', 'page', query ]\n * ),\n * };\n * },\n * [ search ]\n * );\n *\n * // Create the commands.\n * const commands = useMemo( () => {\n * return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n * return {\n * name: record.title?.rendered + ' ' + record.id,\n * label: record.title?.rendered\n * ? record.title?.rendered\n * : __( '(no title)' ),\n * icon: page,\n * callback: ( { close } ) => {\n * const args = {\n * \t\t\t\t\t\t\tp: '/page',\n * \t\t\t\t\t\t\tpostId: record.id,\n * };\n * document.location = addQueryArgs( 'site-editor.php', args );\n * close();\n * },\n * };\n * } );\n * }, [ records ] );\n *\n * return {\n * commands,\n * isLoading,\n * };\n * }\n *\n * useCommandLoader( {\n * name: 'myplugin/page-search',\n * hook: usePageSearchCommandLoader,\n * } );\n * ```\n */\nexport default function useCommandLoader( loader ) {\n\tconst { registerCommandLoader, unregisterCommandLoader } =\n\t\tuseDispatch( commandsStore );\n\tuseEffect( () => {\n\t\tif ( loader.disabled ) {\n\t\t\treturn;\n\t\t}\n\t\tregisterCommandLoader( {\n\t\t\tname: loader.name,\n\t\t\thook: loader.hook,\n\t\t\tcontext: loader.context,\n\t\t} );\n\t\treturn () => {\n\t\t\tunregisterCommandLoader( loader.name );\n\t\t};\n\t}, [\n\t\tloader.name,\n\t\tloader.hook,\n\t\tloader.context,\n\t\tloader.disabled,\n\t\tregisterCommandLoader,\n\t\tunregisterCommandLoader,\n\t] );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA0B;AAC1B,kBAA4B;AAK5B,mBAAuC;AAuExB,SAAR,iBAAmC,QAAS;AAClD,QAAM,EAAE,uBAAuB,wBAAwB,QACtD,yBAAa,aAAAA,KAAc;AAC5B,gCAAW,MAAM;AAChB,QAAK,OAAO,UAAW;AACtB;AAAA,IACD;AACA,0BAAuB;AAAA,MACtB,MAAM,OAAO;AAAA,MACb,MAAM,OAAO;AAAA,MACb,SAAS,OAAO;AAAA,IACjB,CAAE;AACF,WAAO,MAAM;AACZ,8BAAyB,OAAO,IAAK;AAAA,IACtC;AAAA,EACD,GAAG;AAAA,IACF,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACD,CAAE;AACH;",
6
+ "names": ["commandsStore"]
7
+ }
@@ -25,7 +25,7 @@ __export(use_command_exports, {
25
25
  module.exports = __toCommonJS(use_command_exports);
26
26
  var import_element = require("@wordpress/element");
27
27
  var import_data = require("@wordpress/data");
28
- var import_store = require("../store");
28
+ var import_store = require("../store/index.cjs");
29
29
  function useCommand(command) {
30
30
  const { registerCommand, unregisterCommand } = (0, import_data.useDispatch)(import_store.store);
31
31
  const currentCallbackRef = (0, import_element.useRef)(command.callback);
@@ -108,4 +108,4 @@ function useCommands(commands) {
108
108
  useCommand,
109
109
  useCommands
110
110
  });
111
- //# sourceMappingURL=use-command.js.map
111
+ //# sourceMappingURL=use-command.cjs.map
@@ -37,11 +37,11 @@ __export(index_exports, {
37
37
  useCommands: () => import_use_command.useCommands
38
38
  });
39
39
  module.exports = __toCommonJS(index_exports);
40
- var import_command_menu = require("./components/command-menu");
41
- var import_private_apis = require("./private-apis");
42
- var import_use_command = require("./hooks/use-command");
43
- var import_use_command_loader = __toESM(require("./hooks/use-command-loader"));
44
- var import_store = require("./store");
40
+ var import_command_menu = require("./components/command-menu.cjs");
41
+ var import_private_apis = require("./private-apis.cjs");
42
+ var import_use_command = require("./hooks/use-command.cjs");
43
+ var import_use_command_loader = __toESM(require("./hooks/use-command-loader.cjs"));
44
+ var import_store = require("./store/index.cjs");
45
45
  // Annotate the CommonJS export names for ESM import in node:
46
46
  0 && (module.exports = {
47
47
  CommandMenu,
@@ -51,4 +51,4 @@ var import_store = require("./store");
51
51
  useCommandLoader,
52
52
  useCommands
53
53
  });
54
- //# sourceMappingURL=index.js.map
54
+ //# sourceMappingURL=index.cjs.map
@@ -33,4 +33,4 @@ var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnl
33
33
  lock,
34
34
  unlock
35
35
  });
36
- //# sourceMappingURL=lock-unlock.js.map
36
+ //# sourceMappingURL=lock-unlock.cjs.map
@@ -32,8 +32,8 @@ __export(private_apis_exports, {
32
32
  privateApis: () => privateApis
33
33
  });
34
34
  module.exports = __toCommonJS(private_apis_exports);
35
- var import_use_command_context = __toESM(require("./hooks/use-command-context"));
36
- var import_lock_unlock = require("./lock-unlock");
35
+ var import_use_command_context = __toESM(require("./hooks/use-command-context.cjs"));
36
+ var import_lock_unlock = require("./lock-unlock.cjs");
37
37
  var privateApis = {};
38
38
  (0, import_lock_unlock.lock)(privateApis, {
39
39
  useCommandContext: import_use_command_context.default
@@ -42,4 +42,4 @@ var privateApis = {};
42
42
  0 && (module.exports = {
43
43
  privateApis
44
44
  });
45
- //# sourceMappingURL=private-apis.js.map
45
+ //# sourceMappingURL=private-apis.cjs.map
@@ -70,4 +70,4 @@ function close() {
70
70
  unregisterCommand,
71
71
  unregisterCommandLoader
72
72
  });
73
- //# sourceMappingURL=actions.js.map
73
+ //# sourceMappingURL=actions.cjs.map
@@ -33,11 +33,11 @@ __export(store_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(store_exports);
35
35
  var import_data = require("@wordpress/data");
36
- var import_reducer = __toESM(require("./reducer"));
37
- var actions = __toESM(require("./actions"));
38
- var selectors = __toESM(require("./selectors"));
39
- var privateActions = __toESM(require("./private-actions"));
40
- var import_lock_unlock = require("../lock-unlock");
36
+ var import_reducer = __toESM(require("./reducer.cjs"));
37
+ var actions = __toESM(require("./actions.cjs"));
38
+ var selectors = __toESM(require("./selectors.cjs"));
39
+ var privateActions = __toESM(require("./private-actions.cjs"));
40
+ var import_lock_unlock = require("../lock-unlock.cjs");
41
41
  var STORE_NAME = "core/commands";
42
42
  var store = (0, import_data.createReduxStore)(STORE_NAME, {
43
43
  reducer: import_reducer.default,
@@ -50,4 +50,4 @@ var store = (0, import_data.createReduxStore)(STORE_NAME, {
50
50
  0 && (module.exports = {
51
51
  store
52
52
  });
53
- //# sourceMappingURL=index.js.map
53
+ //# sourceMappingURL=index.cjs.map
@@ -32,4 +32,4 @@ function setContext(context) {
32
32
  0 && (module.exports = {
33
33
  setContext
34
34
  });
35
- //# sourceMappingURL=private-actions.js.map
35
+ //# sourceMappingURL=private-actions.cjs.map
@@ -86,4 +86,4 @@ var reducer = (0, import_data.combineReducers)({
86
86
  context
87
87
  });
88
88
  var reducer_default = reducer;
89
- //# sourceMappingURL=reducer.js.map
89
+ //# sourceMappingURL=reducer.cjs.map
@@ -53,4 +53,4 @@ function getContext(state) {
53
53
  getContext,
54
54
  isOpen
55
55
  });
56
- //# sourceMappingURL=selectors.js.map
56
+ //# sourceMappingURL=selectors.cjs.map
@@ -21,8 +21,8 @@ import {
21
21
  useShortcut
22
22
  } from "@wordpress/keyboard-shortcuts";
23
23
  import { Icon, search as inputIcon } from "@wordpress/icons";
24
- import { store as commandsStore } from "../store";
25
- import { unlock } from "../lock-unlock";
24
+ import { store as commandsStore } from "../store/index.mjs";
25
+ import { unlock } from "../lock-unlock.mjs";
26
26
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
27
27
  var { withIgnoreIMEEvents } = unlock(componentsPrivateApis);
28
28
  var inputLabel = __("Search commands and settings");
@@ -273,4 +273,4 @@ export {
273
273
  CommandMenuGroup,
274
274
  CommandMenuLoaderWrapper
275
275
  };
276
- //# sourceMappingURL=command-menu.js.map
276
+ //# sourceMappingURL=command-menu.mjs.map
@@ -1,8 +1,8 @@
1
1
  // packages/commands/src/hooks/use-command-context.js
2
2
  import { useEffect, useRef } from "@wordpress/element";
3
3
  import { useDispatch, useSelect } from "@wordpress/data";
4
- import { store as commandsStore } from "../store";
5
- import { unlock } from "../lock-unlock";
4
+ import { store as commandsStore } from "../store/index.mjs";
5
+ import { unlock } from "../lock-unlock.mjs";
6
6
  function useCommandContext(context) {
7
7
  const { getContext } = useSelect(commandsStore);
8
8
  const initialContext = useRef(getContext());
@@ -18,4 +18,4 @@ function useCommandContext(context) {
18
18
  export {
19
19
  useCommandContext as default
20
20
  };
21
- //# sourceMappingURL=use-command-context.js.map
21
+ //# sourceMappingURL=use-command-context.mjs.map
@@ -1,7 +1,7 @@
1
1
  // packages/commands/src/hooks/use-command-loader.js
2
2
  import { useEffect } from "@wordpress/element";
3
3
  import { useDispatch } from "@wordpress/data";
4
- import { store as commandsStore } from "../store";
4
+ import { store as commandsStore } from "../store/index.mjs";
5
5
  function useCommandLoader(loader) {
6
6
  const { registerCommandLoader, unregisterCommandLoader } = useDispatch(commandsStore);
7
7
  useEffect(() => {
@@ -28,4 +28,4 @@ function useCommandLoader(loader) {
28
28
  export {
29
29
  useCommandLoader as default
30
30
  };
31
- //# sourceMappingURL=use-command-loader.js.map
31
+ //# sourceMappingURL=use-command-loader.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/hooks/use-command-loader.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\n/**\n * Attach a command loader to the command palette. Used for dynamic commands.\n *\n * @param {import('../store/actions').WPCommandLoaderConfig} loader command loader config.\n *\n * @example\n * ```js\n * import { __ } from '@wordpress/i18n';\n * import { addQueryArgs } from '@wordpress/url';\n * import { useCommandLoader } from '@wordpress/commands';\n * import { page } from '@wordpress/icons';\n * import { useSelect } from '@wordpress/data';\n * import { store as coreStore } from '@wordpress/core-data';\n * import { useMemo } from '@wordpress/element';\n *\n * function usePageSearchCommandLoader( { search } ) {\n * // Retrieve the pages for the \"search\" term.\n * const { records, isLoading } = useSelect(\n * ( select ) => {\n * const { getEntityRecords } = select( coreStore );\n * const query = {\n * search: !! search ? search : undefined,\n * per_page: 10,\n * orderby: search ? 'relevance' : 'date',\n * };\n * return {\n * records: getEntityRecords( 'postType', 'page', query ),\n * isLoading: ! select( coreStore ).hasFinishedResolution(\n * 'getEntityRecords',\n * [ 'postType', 'page', query ]\n * ),\n * };\n * },\n * [ search ]\n * );\n *\n * // Create the commands.\n * const commands = useMemo( () => {\n * return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n * return {\n * name: record.title?.rendered + ' ' + record.id,\n * label: record.title?.rendered\n * ? record.title?.rendered\n * : __( '(no title)' ),\n * icon: page,\n * callback: ( { close } ) => {\n * const args = {\n * \t\t\t\t\t\t\tp: '/page',\n * \t\t\t\t\t\t\tpostId: record.id,\n * };\n * document.location = addQueryArgs( 'site-editor.php', args );\n * close();\n * },\n * };\n * } );\n * }, [ records ] );\n *\n * return {\n * commands,\n * isLoading,\n * };\n * }\n *\n * useCommandLoader( {\n * name: 'myplugin/page-search',\n * hook: usePageSearchCommandLoader,\n * } );\n * ```\n */\nexport default function useCommandLoader( loader ) {\n\tconst { registerCommandLoader, unregisterCommandLoader } =\n\t\tuseDispatch( commandsStore );\n\tuseEffect( () => {\n\t\tif ( loader.disabled ) {\n\t\t\treturn;\n\t\t}\n\t\tregisterCommandLoader( {\n\t\t\tname: loader.name,\n\t\t\thook: loader.hook,\n\t\t\tcontext: loader.context,\n\t\t} );\n\t\treturn () => {\n\t\t\tunregisterCommandLoader( loader.name );\n\t\t};\n\t}, [\n\t\tloader.name,\n\t\tloader.hook,\n\t\tloader.context,\n\t\tloader.disabled,\n\t\tregisterCommandLoader,\n\t\tunregisterCommandLoader,\n\t] );\n}\n"],
5
+ "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAK5B,SAAS,SAAS,qBAAqB;AAuExB,SAAR,iBAAmC,QAAS;AAClD,QAAM,EAAE,uBAAuB,wBAAwB,IACtD,YAAa,aAAc;AAC5B,YAAW,MAAM;AAChB,QAAK,OAAO,UAAW;AACtB;AAAA,IACD;AACA,0BAAuB;AAAA,MACtB,MAAM,OAAO;AAAA,MACb,MAAM,OAAO;AAAA,MACb,SAAS,OAAO;AAAA,IACjB,CAAE;AACF,WAAO,MAAM;AACZ,8BAAyB,OAAO,IAAK;AAAA,IACtC;AAAA,EACD,GAAG;AAAA,IACF,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACD,CAAE;AACH;",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  // packages/commands/src/hooks/use-command.js
2
2
  import { useEffect, useRef } from "@wordpress/element";
3
3
  import { useDispatch } from "@wordpress/data";
4
- import { store as commandsStore } from "../store";
4
+ import { store as commandsStore } from "../store/index.mjs";
5
5
  function useCommand(command) {
6
6
  const { registerCommand, unregisterCommand } = useDispatch(commandsStore);
7
7
  const currentCallbackRef = useRef(command.callback);
@@ -83,4 +83,4 @@ export {
83
83
  useCommand,
84
84
  useCommands
85
85
  };
86
- //# sourceMappingURL=use-command.js.map
86
+ //# sourceMappingURL=use-command.mjs.map
@@ -0,0 +1,15 @@
1
+ // packages/commands/src/index.js
2
+ import { CommandMenu } from "./components/command-menu.mjs";
3
+ import { privateApis } from "./private-apis.mjs";
4
+ import { useCommand, useCommands } from "./hooks/use-command.mjs";
5
+ import { default as default2 } from "./hooks/use-command-loader.mjs";
6
+ import { store } from "./store/index.mjs";
7
+ export {
8
+ CommandMenu,
9
+ privateApis,
10
+ store,
11
+ useCommand,
12
+ default2 as useCommandLoader,
13
+ useCommands
14
+ };
15
+ //# sourceMappingURL=index.mjs.map
@@ -8,4 +8,4 @@ export {
8
8
  lock,
9
9
  unlock
10
10
  };
11
- //# sourceMappingURL=lock-unlock.js.map
11
+ //# sourceMappingURL=lock-unlock.mjs.map
@@ -1,6 +1,6 @@
1
1
  // packages/commands/src/private-apis.js
2
- import { default as useCommandContext } from "./hooks/use-command-context";
3
- import { lock } from "./lock-unlock";
2
+ import { default as useCommandContext } from "./hooks/use-command-context.mjs";
3
+ import { lock } from "./lock-unlock.mjs";
4
4
  var privateApis = {};
5
5
  lock(privateApis, {
6
6
  useCommandContext
@@ -8,4 +8,4 @@ lock(privateApis, {
8
8
  export {
9
9
  privateApis
10
10
  };
11
- //# sourceMappingURL=private-apis.js.map
11
+ //# sourceMappingURL=private-apis.mjs.map
@@ -41,4 +41,4 @@ export {
41
41
  unregisterCommand,
42
42
  unregisterCommandLoader
43
43
  };
44
- //# sourceMappingURL=actions.js.map
44
+ //# sourceMappingURL=actions.mjs.map
@@ -1,10 +1,10 @@
1
1
  // packages/commands/src/store/index.js
2
2
  import { createReduxStore, register } from "@wordpress/data";
3
- import reducer from "./reducer";
4
- import * as actions from "./actions";
5
- import * as selectors from "./selectors";
6
- import * as privateActions from "./private-actions";
7
- import { unlock } from "../lock-unlock";
3
+ import reducer from "./reducer.mjs";
4
+ import * as actions from "./actions.mjs";
5
+ import * as selectors from "./selectors.mjs";
6
+ import * as privateActions from "./private-actions.mjs";
7
+ import { unlock } from "../lock-unlock.mjs";
8
8
  var STORE_NAME = "core/commands";
9
9
  var store = createReduxStore(STORE_NAME, {
10
10
  reducer,
@@ -16,4 +16,4 @@ unlock(store).registerPrivateActions(privateActions);
16
16
  export {
17
17
  store
18
18
  };
19
- //# sourceMappingURL=index.js.map
19
+ //# sourceMappingURL=index.mjs.map
@@ -8,4 +8,4 @@ function setContext(context) {
8
8
  export {
9
9
  setContext
10
10
  };
11
- //# sourceMappingURL=private-actions.js.map
11
+ //# sourceMappingURL=private-actions.mjs.map
@@ -66,4 +66,4 @@ var reducer_default = reducer;
66
66
  export {
67
67
  reducer_default as default
68
68
  };
69
- //# sourceMappingURL=reducer.js.map
69
+ //# sourceMappingURL=reducer.mjs.map
@@ -26,4 +26,4 @@ export {
26
26
  getContext,
27
27
  isOpen
28
28
  };
29
- //# sourceMappingURL=selectors.js.map
29
+ //# sourceMappingURL=selectors.mjs.map
@@ -83,6 +83,10 @@
83
83
  /**
84
84
  * Reset the WP Admin page styles for Gutenberg-like pages.
85
85
  */
86
+ /**
87
+ * Creates a checkerboard pattern background to indicate transparency.
88
+ * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
89
+ */
86
90
  :root {
87
91
  --wp-block-synced-color: #7a00df;
88
92
  --wp-block-synced-color--rgb: 122, 0, 223;
@@ -235,124 +239,4 @@
235
239
  color: inherit;
236
240
  background: unset;
237
241
  font-weight: 600;
238
- }
239
-
240
- body.admin-color-light {
241
- --wp-admin-theme-color: #0085ba;
242
- --wp-admin-theme-color--rgb: 0, 133, 186;
243
- --wp-admin-theme-color-darker-10: rgb(0, 114.7661290323, 160.5);
244
- --wp-admin-theme-color-darker-10--rgb: 0, 114.7661290323, 160.5;
245
- --wp-admin-theme-color-darker-20: rgb(0, 96.5322580645, 135);
246
- --wp-admin-theme-color-darker-20--rgb: 0, 96.5322580645, 135;
247
- --wp-admin-border-width-focus: 2px;
248
- }
249
- @media (min-resolution: 192dpi) {
250
- body.admin-color-light {
251
- --wp-admin-border-width-focus: 1.5px;
252
- }
253
- }
254
-
255
- body.admin-color-modern {
256
- --wp-admin-theme-color: #3858e9;
257
- --wp-admin-theme-color--rgb: 56, 88, 233;
258
- --wp-admin-theme-color-darker-10: rgb(33.0384615385, 68.7307692308, 230.4615384615);
259
- --wp-admin-theme-color-darker-10--rgb: 33.0384615385, 68.7307692308, 230.4615384615;
260
- --wp-admin-theme-color-darker-20: rgb(23.6923076923, 58.1538461538, 214.3076923077);
261
- --wp-admin-theme-color-darker-20--rgb: 23.6923076923, 58.1538461538, 214.3076923077;
262
- --wp-admin-border-width-focus: 2px;
263
- }
264
- @media (min-resolution: 192dpi) {
265
- body.admin-color-modern {
266
- --wp-admin-border-width-focus: 1.5px;
267
- }
268
- }
269
-
270
- body.admin-color-blue {
271
- --wp-admin-theme-color: #096484;
272
- --wp-admin-theme-color--rgb: 9, 100, 132;
273
- --wp-admin-theme-color-darker-10: rgb(7.3723404255, 81.914893617, 108.1276595745);
274
- --wp-admin-theme-color-darker-10--rgb: 7.3723404255, 81.914893617, 108.1276595745;
275
- --wp-admin-theme-color-darker-20: rgb(5.7446808511, 63.829787234, 84.2553191489);
276
- --wp-admin-theme-color-darker-20--rgb: 5.7446808511, 63.829787234, 84.2553191489;
277
- --wp-admin-border-width-focus: 2px;
278
- }
279
- @media (min-resolution: 192dpi) {
280
- body.admin-color-blue {
281
- --wp-admin-border-width-focus: 1.5px;
282
- }
283
- }
284
-
285
- body.admin-color-coffee {
286
- --wp-admin-theme-color: #46403c;
287
- --wp-admin-theme-color--rgb: 70, 64, 60;
288
- --wp-admin-theme-color-darker-10: rgb(56.2692307692, 51.4461538462, 48.2307692308);
289
- --wp-admin-theme-color-darker-10--rgb: 56.2692307692, 51.4461538462, 48.2307692308;
290
- --wp-admin-theme-color-darker-20: rgb(42.5384615385, 38.8923076923, 36.4615384615);
291
- --wp-admin-theme-color-darker-20--rgb: 42.5384615385, 38.8923076923, 36.4615384615;
292
- --wp-admin-border-width-focus: 2px;
293
- }
294
- @media (min-resolution: 192dpi) {
295
- body.admin-color-coffee {
296
- --wp-admin-border-width-focus: 1.5px;
297
- }
298
- }
299
-
300
- body.admin-color-ectoplasm {
301
- --wp-admin-theme-color: #523f6d;
302
- --wp-admin-theme-color--rgb: 82, 63, 109;
303
- --wp-admin-theme-color-darker-10: rgb(69.8430232558, 53.6598837209, 92.8401162791);
304
- --wp-admin-theme-color-darker-10--rgb: 69.8430232558, 53.6598837209, 92.8401162791;
305
- --wp-admin-theme-color-darker-20: rgb(57.6860465116, 44.3197674419, 76.6802325581);
306
- --wp-admin-theme-color-darker-20--rgb: 57.6860465116, 44.3197674419, 76.6802325581;
307
- --wp-admin-border-width-focus: 2px;
308
- }
309
- @media (min-resolution: 192dpi) {
310
- body.admin-color-ectoplasm {
311
- --wp-admin-border-width-focus: 1.5px;
312
- }
313
- }
314
-
315
- body.admin-color-midnight {
316
- --wp-admin-theme-color: #e14d43;
317
- --wp-admin-theme-color--rgb: 225, 77, 67;
318
- --wp-admin-theme-color-darker-10: rgb(221.4908256881, 56.1788990826, 45.0091743119);
319
- --wp-admin-theme-color-darker-10--rgb: 221.4908256881, 56.1788990826, 45.0091743119;
320
- --wp-admin-theme-color-darker-20: rgb(207.8348623853, 44.2201834862, 33.1651376147);
321
- --wp-admin-theme-color-darker-20--rgb: 207.8348623853, 44.2201834862, 33.1651376147;
322
- --wp-admin-border-width-focus: 2px;
323
- }
324
- @media (min-resolution: 192dpi) {
325
- body.admin-color-midnight {
326
- --wp-admin-border-width-focus: 1.5px;
327
- }
328
- }
329
-
330
- body.admin-color-ocean {
331
- --wp-admin-theme-color: #627c83;
332
- --wp-admin-theme-color--rgb: 98, 124, 131;
333
- --wp-admin-theme-color-darker-10: rgb(87.0873362445, 110.192139738, 116.4126637555);
334
- --wp-admin-theme-color-darker-10--rgb: 87.0873362445, 110.192139738, 116.4126637555;
335
- --wp-admin-theme-color-darker-20: rgb(76.1746724891, 96.384279476, 101.8253275109);
336
- --wp-admin-theme-color-darker-20--rgb: 76.1746724891, 96.384279476, 101.8253275109;
337
- --wp-admin-border-width-focus: 2px;
338
- }
339
- @media (min-resolution: 192dpi) {
340
- body.admin-color-ocean {
341
- --wp-admin-border-width-focus: 1.5px;
342
- }
343
- }
344
-
345
- body.admin-color-sunrise {
346
- --wp-admin-theme-color: #dd823b;
347
- --wp-admin-theme-color--rgb: 221, 130, 59;
348
- --wp-admin-theme-color-darker-10: rgb(216.8782608696, 116.1847826087, 37.6217391304);
349
- --wp-admin-theme-color-darker-10--rgb: 216.8782608696, 116.1847826087, 37.6217391304;
350
- --wp-admin-theme-color-darker-20: rgb(195.147826087, 104.5434782609, 33.852173913);
351
- --wp-admin-theme-color-darker-20--rgb: 195.147826087, 104.5434782609, 33.852173913;
352
- --wp-admin-border-width-focus: 2px;
353
- }
354
- @media (min-resolution: 192dpi) {
355
- body.admin-color-sunrise {
356
- --wp-admin-border-width-focus: 1.5px;
357
- }
358
242
  }
@@ -83,6 +83,10 @@
83
83
  /**
84
84
  * Reset the WP Admin page styles for Gutenberg-like pages.
85
85
  */
86
+ /**
87
+ * Creates a checkerboard pattern background to indicate transparency.
88
+ * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
89
+ */
86
90
  :root {
87
91
  --wp-block-synced-color: #7a00df;
88
92
  --wp-block-synced-color--rgb: 122, 0, 223;
@@ -235,124 +239,4 @@
235
239
  color: inherit;
236
240
  background: unset;
237
241
  font-weight: 600;
238
- }
239
-
240
- body.admin-color-light {
241
- --wp-admin-theme-color: #0085ba;
242
- --wp-admin-theme-color--rgb: 0, 133, 186;
243
- --wp-admin-theme-color-darker-10: rgb(0, 114.7661290323, 160.5);
244
- --wp-admin-theme-color-darker-10--rgb: 0, 114.7661290323, 160.5;
245
- --wp-admin-theme-color-darker-20: rgb(0, 96.5322580645, 135);
246
- --wp-admin-theme-color-darker-20--rgb: 0, 96.5322580645, 135;
247
- --wp-admin-border-width-focus: 2px;
248
- }
249
- @media (min-resolution: 192dpi) {
250
- body.admin-color-light {
251
- --wp-admin-border-width-focus: 1.5px;
252
- }
253
- }
254
-
255
- body.admin-color-modern {
256
- --wp-admin-theme-color: #3858e9;
257
- --wp-admin-theme-color--rgb: 56, 88, 233;
258
- --wp-admin-theme-color-darker-10: rgb(33.0384615385, 68.7307692308, 230.4615384615);
259
- --wp-admin-theme-color-darker-10--rgb: 33.0384615385, 68.7307692308, 230.4615384615;
260
- --wp-admin-theme-color-darker-20: rgb(23.6923076923, 58.1538461538, 214.3076923077);
261
- --wp-admin-theme-color-darker-20--rgb: 23.6923076923, 58.1538461538, 214.3076923077;
262
- --wp-admin-border-width-focus: 2px;
263
- }
264
- @media (min-resolution: 192dpi) {
265
- body.admin-color-modern {
266
- --wp-admin-border-width-focus: 1.5px;
267
- }
268
- }
269
-
270
- body.admin-color-blue {
271
- --wp-admin-theme-color: #096484;
272
- --wp-admin-theme-color--rgb: 9, 100, 132;
273
- --wp-admin-theme-color-darker-10: rgb(7.3723404255, 81.914893617, 108.1276595745);
274
- --wp-admin-theme-color-darker-10--rgb: 7.3723404255, 81.914893617, 108.1276595745;
275
- --wp-admin-theme-color-darker-20: rgb(5.7446808511, 63.829787234, 84.2553191489);
276
- --wp-admin-theme-color-darker-20--rgb: 5.7446808511, 63.829787234, 84.2553191489;
277
- --wp-admin-border-width-focus: 2px;
278
- }
279
- @media (min-resolution: 192dpi) {
280
- body.admin-color-blue {
281
- --wp-admin-border-width-focus: 1.5px;
282
- }
283
- }
284
-
285
- body.admin-color-coffee {
286
- --wp-admin-theme-color: #46403c;
287
- --wp-admin-theme-color--rgb: 70, 64, 60;
288
- --wp-admin-theme-color-darker-10: rgb(56.2692307692, 51.4461538462, 48.2307692308);
289
- --wp-admin-theme-color-darker-10--rgb: 56.2692307692, 51.4461538462, 48.2307692308;
290
- --wp-admin-theme-color-darker-20: rgb(42.5384615385, 38.8923076923, 36.4615384615);
291
- --wp-admin-theme-color-darker-20--rgb: 42.5384615385, 38.8923076923, 36.4615384615;
292
- --wp-admin-border-width-focus: 2px;
293
- }
294
- @media (min-resolution: 192dpi) {
295
- body.admin-color-coffee {
296
- --wp-admin-border-width-focus: 1.5px;
297
- }
298
- }
299
-
300
- body.admin-color-ectoplasm {
301
- --wp-admin-theme-color: #523f6d;
302
- --wp-admin-theme-color--rgb: 82, 63, 109;
303
- --wp-admin-theme-color-darker-10: rgb(69.8430232558, 53.6598837209, 92.8401162791);
304
- --wp-admin-theme-color-darker-10--rgb: 69.8430232558, 53.6598837209, 92.8401162791;
305
- --wp-admin-theme-color-darker-20: rgb(57.6860465116, 44.3197674419, 76.6802325581);
306
- --wp-admin-theme-color-darker-20--rgb: 57.6860465116, 44.3197674419, 76.6802325581;
307
- --wp-admin-border-width-focus: 2px;
308
- }
309
- @media (min-resolution: 192dpi) {
310
- body.admin-color-ectoplasm {
311
- --wp-admin-border-width-focus: 1.5px;
312
- }
313
- }
314
-
315
- body.admin-color-midnight {
316
- --wp-admin-theme-color: #e14d43;
317
- --wp-admin-theme-color--rgb: 225, 77, 67;
318
- --wp-admin-theme-color-darker-10: rgb(221.4908256881, 56.1788990826, 45.0091743119);
319
- --wp-admin-theme-color-darker-10--rgb: 221.4908256881, 56.1788990826, 45.0091743119;
320
- --wp-admin-theme-color-darker-20: rgb(207.8348623853, 44.2201834862, 33.1651376147);
321
- --wp-admin-theme-color-darker-20--rgb: 207.8348623853, 44.2201834862, 33.1651376147;
322
- --wp-admin-border-width-focus: 2px;
323
- }
324
- @media (min-resolution: 192dpi) {
325
- body.admin-color-midnight {
326
- --wp-admin-border-width-focus: 1.5px;
327
- }
328
- }
329
-
330
- body.admin-color-ocean {
331
- --wp-admin-theme-color: #627c83;
332
- --wp-admin-theme-color--rgb: 98, 124, 131;
333
- --wp-admin-theme-color-darker-10: rgb(87.0873362445, 110.192139738, 116.4126637555);
334
- --wp-admin-theme-color-darker-10--rgb: 87.0873362445, 110.192139738, 116.4126637555;
335
- --wp-admin-theme-color-darker-20: rgb(76.1746724891, 96.384279476, 101.8253275109);
336
- --wp-admin-theme-color-darker-20--rgb: 76.1746724891, 96.384279476, 101.8253275109;
337
- --wp-admin-border-width-focus: 2px;
338
- }
339
- @media (min-resolution: 192dpi) {
340
- body.admin-color-ocean {
341
- --wp-admin-border-width-focus: 1.5px;
342
- }
343
- }
344
-
345
- body.admin-color-sunrise {
346
- --wp-admin-theme-color: #dd823b;
347
- --wp-admin-theme-color--rgb: 221, 130, 59;
348
- --wp-admin-theme-color-darker-10: rgb(216.8782608696, 116.1847826087, 37.6217391304);
349
- --wp-admin-theme-color-darker-10--rgb: 216.8782608696, 116.1847826087, 37.6217391304;
350
- --wp-admin-theme-color-darker-20: rgb(195.147826087, 104.5434782609, 33.852173913);
351
- --wp-admin-theme-color-darker-20--rgb: 195.147826087, 104.5434782609, 33.852173913;
352
- --wp-admin-border-width-focus: 2px;
353
- }
354
- @media (min-resolution: 192dpi) {
355
- body.admin-color-sunrise {
356
- --wp-admin-border-width-focus: 1.5px;
357
- }
358
242
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/commands",
3
- "version": "1.36.1-next.6deb34194.0",
3
+ "version": "1.36.1-next.76cff8c98.0",
4
4
  "description": "Handles the commands menu.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -23,12 +23,20 @@
23
23
  "node": ">=18.12.0",
24
24
  "npm": ">=8.19.2"
25
25
  },
26
- "main": "build/index.js",
27
- "module": "build-module/index.js",
26
+ "files": [
27
+ "src",
28
+ "build",
29
+ "build-module",
30
+ "build-style",
31
+ "build-types",
32
+ "*.md"
33
+ ],
34
+ "main": "build/index.cjs",
35
+ "module": "build-module/index.mjs",
28
36
  "exports": {
29
37
  ".": {
30
- "import": "./build-module/index.js",
31
- "require": "./build/index.js"
38
+ "import": "./build-module/index.mjs",
39
+ "require": "./build/index.cjs"
32
40
  },
33
41
  "./package.json": "./package.json",
34
42
  "./build-style/": "./build-style/"
@@ -36,14 +44,14 @@
36
44
  "react-native": "src/index",
37
45
  "wpScript": true,
38
46
  "dependencies": {
39
- "@wordpress/base-styles": "^6.12.1-next.6deb34194.0",
40
- "@wordpress/components": "^31.0.1-next.6deb34194.0",
41
- "@wordpress/data": "^10.36.1-next.6deb34194.0",
42
- "@wordpress/element": "^6.36.1-next.6deb34194.0",
43
- "@wordpress/i18n": "^6.9.1-next.6deb34194.0",
44
- "@wordpress/icons": "^11.3.1-next.6deb34194.0",
45
- "@wordpress/keyboard-shortcuts": "^5.36.1-next.6deb34194.0",
46
- "@wordpress/private-apis": "^1.36.1-next.6deb34194.0",
47
+ "@wordpress/base-styles": "^6.12.2-next.76cff8c98.0",
48
+ "@wordpress/components": "^31.0.1-next.76cff8c98.0",
49
+ "@wordpress/data": "^10.36.1-next.76cff8c98.0",
50
+ "@wordpress/element": "^6.36.1-next.76cff8c98.0",
51
+ "@wordpress/i18n": "^6.9.1-next.76cff8c98.0",
52
+ "@wordpress/icons": "^11.3.1-next.76cff8c98.0",
53
+ "@wordpress/keyboard-shortcuts": "^5.36.1-next.76cff8c98.0",
54
+ "@wordpress/private-apis": "^1.36.1-next.76cff8c98.0",
47
55
  "clsx": "^2.1.1",
48
56
  "cmdk": "^1.0.0"
49
57
  },
@@ -54,5 +62,5 @@
54
62
  "publishConfig": {
55
63
  "access": "public"
56
64
  },
57
- "gitHead": "457096e9e9b3896d2d4fe54fc19d7fb571ee9a44"
65
+ "gitHead": "368727f14b858e75179e140967c2d9ec965c8790"
58
66
  }
@@ -16,33 +16,34 @@ import { store as commandsStore } from '../store';
16
16
  *
17
17
  * @example
18
18
  * ```js
19
+ * import { __ } from '@wordpress/i18n';
20
+ * import { addQueryArgs } from '@wordpress/url';
19
21
  * import { useCommandLoader } from '@wordpress/commands';
20
- * import { post, page, layout, symbolFilled } from '@wordpress/icons';
21
- *
22
- * const icons = {
23
- * post,
24
- * page,
25
- * wp_template: layout,
26
- * wp_template_part: symbolFilled,
27
- * };
22
+ * import { page } from '@wordpress/icons';
23
+ * import { useSelect } from '@wordpress/data';
24
+ * import { store as coreStore } from '@wordpress/core-data';
25
+ * import { useMemo } from '@wordpress/element';
28
26
  *
29
27
  * function usePageSearchCommandLoader( { search } ) {
30
28
  * // Retrieve the pages for the "search" term.
31
- * const { records, isLoading } = useSelect( ( select ) => {
32
- * const { getEntityRecords } = select( coreStore );
33
- * const query = {
34
- * search: !! search ? search : undefined,
35
- * per_page: 10,
36
- * orderby: search ? 'relevance' : 'date',
37
- * };
38
- * return {
39
- * records: getEntityRecords( 'postType', 'page', query ),
40
- * isLoading: ! select( coreStore ).hasFinishedResolution(
41
- * 'getEntityRecords',
42
- * 'postType', 'page', query ]
43
- * ),
44
- * };
45
- * }, [ search ] );
29
+ * const { records, isLoading } = useSelect(
30
+ * ( select ) => {
31
+ * const { getEntityRecords } = select( coreStore );
32
+ * const query = {
33
+ * search: !! search ? search : undefined,
34
+ * per_page: 10,
35
+ * orderby: search ? 'relevance' : 'date',
36
+ * };
37
+ * return {
38
+ * records: getEntityRecords( 'postType', 'page', query ),
39
+ * isLoading: ! select( coreStore ).hasFinishedResolution(
40
+ * 'getEntityRecords',
41
+ * [ 'postType', 'page', query ]
42
+ * ),
43
+ * };
44
+ * },
45
+ * [ search ]
46
+ * );
46
47
  *
47
48
  * // Create the commands.
48
49
  * const commands = useMemo( () => {
@@ -52,19 +53,18 @@ import { store as commandsStore } from '../store';
52
53
  * label: record.title?.rendered
53
54
  * ? record.title?.rendered
54
55
  * : __( '(no title)' ),
55
- * icon: icons[ postType ],
56
+ * icon: page,
56
57
  * callback: ( { close } ) => {
57
58
  * const args = {
58
- * postType,
59
- * postId: record.id,
60
- * ...extraArgs,
59
+ * p: '/page',
60
+ * postId: record.id,
61
61
  * };
62
62
  * document.location = addQueryArgs( 'site-editor.php', args );
63
63
  * close();
64
64
  * },
65
65
  * };
66
66
  * } );
67
- * }, [ records, history ] );
67
+ * }, [ records ] );
68
68
  *
69
69
  * return {
70
70
  * commands,
package/src/style.scss CHANGED
@@ -1,5 +1,3 @@
1
1
  @use "@wordpress/base-styles/default-custom-properties" as *;
2
2
  @use "@wordpress/base-styles/mixins" as *;
3
3
  @use "./components/style.scss" as *;
4
-
5
- @include wordpress-admin-schemes();
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/use-command-loader.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\n/**\n * Attach a command loader to the command palette. Used for dynamic commands.\n *\n * @param {import('../store/actions').WPCommandLoaderConfig} loader command loader config.\n *\n * @example\n * ```js\n * import { useCommandLoader } from '@wordpress/commands';\n * import { post, page, layout, symbolFilled } from '@wordpress/icons';\n *\n * const icons = {\n * post,\n * page,\n * wp_template: layout,\n * wp_template_part: symbolFilled,\n * };\n *\n * function usePageSearchCommandLoader( { search } ) {\n * // Retrieve the pages for the \"search\" term.\n * const { records, isLoading } = useSelect( ( select ) => {\n * const { getEntityRecords } = select( coreStore );\n * const query = {\n * search: !! search ? search : undefined,\n * per_page: 10,\n * orderby: search ? 'relevance' : 'date',\n * };\n * return {\n * records: getEntityRecords( 'postType', 'page', query ),\n * isLoading: ! select( coreStore ).hasFinishedResolution(\n * 'getEntityRecords',\n * 'postType', 'page', query ]\n * ),\n * };\n * }, [ search ] );\n *\n * // Create the commands.\n * const commands = useMemo( () => {\n * return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n * return {\n * name: record.title?.rendered + ' ' + record.id,\n * label: record.title?.rendered\n * ? record.title?.rendered\n * : __( '(no title)' ),\n * icon: icons[ postType ],\n * callback: ( { close } ) => {\n * const args = {\n * postType,\n * postId: record.id,\n * ...extraArgs,\n * };\n * document.location = addQueryArgs( 'site-editor.php', args );\n * close();\n * },\n * };\n * } );\n * }, [ records, history ] );\n *\n * return {\n * commands,\n * isLoading,\n * };\n * }\n *\n * useCommandLoader( {\n * name: 'myplugin/page-search',\n * hook: usePageSearchCommandLoader,\n * } );\n * ```\n */\nexport default function useCommandLoader( loader ) {\n\tconst { registerCommandLoader, unregisterCommandLoader } =\n\t\tuseDispatch( commandsStore );\n\tuseEffect( () => {\n\t\tif ( loader.disabled ) {\n\t\t\treturn;\n\t\t}\n\t\tregisterCommandLoader( {\n\t\t\tname: loader.name,\n\t\t\thook: loader.hook,\n\t\t\tcontext: loader.context,\n\t\t} );\n\t\treturn () => {\n\t\t\tunregisterCommandLoader( loader.name );\n\t\t};\n\t}, [\n\t\tloader.name,\n\t\tloader.hook,\n\t\tloader.context,\n\t\tloader.disabled,\n\t\tregisterCommandLoader,\n\t\tunregisterCommandLoader,\n\t] );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA0B;AAC1B,kBAA4B;AAK5B,mBAAuC;AAuExB,SAAR,iBAAmC,QAAS;AAClD,QAAM,EAAE,uBAAuB,wBAAwB,QACtD,yBAAa,aAAAA,KAAc;AAC5B,gCAAW,MAAM;AAChB,QAAK,OAAO,UAAW;AACtB;AAAA,IACD;AACA,0BAAuB;AAAA,MACtB,MAAM,OAAO;AAAA,MACb,MAAM,OAAO;AAAA,MACb,SAAS,OAAO;AAAA,IACjB,CAAE;AACF,WAAO,MAAM;AACZ,8BAAyB,OAAO,IAAK;AAAA,IACtC;AAAA,EACD,GAAG;AAAA,IACF,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACD,CAAE;AACH;",
6
- "names": ["commandsStore"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/use-command-loader.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as commandsStore } from '../store';\n\n/**\n * Attach a command loader to the command palette. Used for dynamic commands.\n *\n * @param {import('../store/actions').WPCommandLoaderConfig} loader command loader config.\n *\n * @example\n * ```js\n * import { useCommandLoader } from '@wordpress/commands';\n * import { post, page, layout, symbolFilled } from '@wordpress/icons';\n *\n * const icons = {\n * post,\n * page,\n * wp_template: layout,\n * wp_template_part: symbolFilled,\n * };\n *\n * function usePageSearchCommandLoader( { search } ) {\n * // Retrieve the pages for the \"search\" term.\n * const { records, isLoading } = useSelect( ( select ) => {\n * const { getEntityRecords } = select( coreStore );\n * const query = {\n * search: !! search ? search : undefined,\n * per_page: 10,\n * orderby: search ? 'relevance' : 'date',\n * };\n * return {\n * records: getEntityRecords( 'postType', 'page', query ),\n * isLoading: ! select( coreStore ).hasFinishedResolution(\n * 'getEntityRecords',\n * 'postType', 'page', query ]\n * ),\n * };\n * }, [ search ] );\n *\n * // Create the commands.\n * const commands = useMemo( () => {\n * return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n * return {\n * name: record.title?.rendered + ' ' + record.id,\n * label: record.title?.rendered\n * ? record.title?.rendered\n * : __( '(no title)' ),\n * icon: icons[ postType ],\n * callback: ( { close } ) => {\n * const args = {\n * postType,\n * postId: record.id,\n * ...extraArgs,\n * };\n * document.location = addQueryArgs( 'site-editor.php', args );\n * close();\n * },\n * };\n * } );\n * }, [ records, history ] );\n *\n * return {\n * commands,\n * isLoading,\n * };\n * }\n *\n * useCommandLoader( {\n * name: 'myplugin/page-search',\n * hook: usePageSearchCommandLoader,\n * } );\n * ```\n */\nexport default function useCommandLoader( loader ) {\n\tconst { registerCommandLoader, unregisterCommandLoader } =\n\t\tuseDispatch( commandsStore );\n\tuseEffect( () => {\n\t\tif ( loader.disabled ) {\n\t\t\treturn;\n\t\t}\n\t\tregisterCommandLoader( {\n\t\t\tname: loader.name,\n\t\t\thook: loader.hook,\n\t\t\tcontext: loader.context,\n\t\t} );\n\t\treturn () => {\n\t\t\tunregisterCommandLoader( loader.name );\n\t\t};\n\t}, [\n\t\tloader.name,\n\t\tloader.hook,\n\t\tloader.context,\n\t\tloader.disabled,\n\t\tregisterCommandLoader,\n\t\tunregisterCommandLoader,\n\t] );\n}\n"],
5
- "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAK5B,SAAS,SAAS,qBAAqB;AAuExB,SAAR,iBAAmC,QAAS;AAClD,QAAM,EAAE,uBAAuB,wBAAwB,IACtD,YAAa,aAAc;AAC5B,YAAW,MAAM;AAChB,QAAK,OAAO,UAAW;AACtB;AAAA,IACD;AACA,0BAAuB;AAAA,MACtB,MAAM,OAAO;AAAA,MACb,MAAM,OAAO;AAAA,MACb,SAAS,OAAO;AAAA,IACjB,CAAE;AACF,WAAO,MAAM;AACZ,8BAAyB,OAAO,IAAK;AAAA,IACtC;AAAA,EACD,GAAG;AAAA,IACF,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACD,CAAE;AACH;",
6
- "names": []
7
- }
@@ -1,15 +0,0 @@
1
- // packages/commands/src/index.js
2
- import { CommandMenu } from "./components/command-menu";
3
- import { privateApis } from "./private-apis";
4
- import { useCommand, useCommands } from "./hooks/use-command";
5
- import { default as default2 } from "./hooks/use-command-loader";
6
- import { store } from "./store";
7
- export {
8
- CommandMenu,
9
- privateApis,
10
- store,
11
- useCommand,
12
- default2 as useCommandLoader,
13
- useCommands
14
- };
15
- //# sourceMappingURL=index.js.map
File without changes
File without changes
File without changes
File without changes
File without changes