@wordpress/core-commands 0.25.0 → 0.27.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
+ ## 0.27.0 (2024-05-16)
6
+
7
+ ## 0.26.0 (2024-05-02)
8
+
5
9
  ## 0.25.0 (2024-04-19)
6
10
 
7
11
  ## 0.24.0 (2024-04-03)
@@ -7,26 +7,11 @@ exports.useAdminNavigationCommands = useAdminNavigationCommands;
7
7
  var _commands = require("@wordpress/commands");
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _icons = require("@wordpress/icons");
10
- var _url = require("@wordpress/url");
11
- var _router = require("@wordpress/router");
12
- var _hooks = require("./hooks");
13
- var _lockUnlock = require("./lock-unlock");
14
10
  /**
15
11
  * WordPress dependencies
16
12
  */
17
13
 
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
- const {
23
- useHistory
24
- } = (0, _lockUnlock.unlock)(_router.privateApis);
25
14
  function useAdminNavigationCommands() {
26
- const history = useHistory();
27
- const isTemplatesAccessible = (0, _hooks.useIsTemplatesAccessible)();
28
- const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
29
- const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
30
15
  (0, _commands.useCommand)({
31
16
  name: 'core/add-new-post',
32
17
  label: (0, _i18n.__)('Add new post'),
@@ -43,27 +28,5 @@ function useAdminNavigationCommands() {
43
28
  document.location.href = 'post-new.php?post_type=page';
44
29
  }
45
30
  });
46
- (0, _commands.useCommand)({
47
- name: 'core/manage-reusable-blocks',
48
- label: (0, _i18n.__)('Patterns'),
49
- icon: _icons.symbol,
50
- callback: ({
51
- close
52
- }) => {
53
- if (isTemplatesAccessible && isBlockBasedTheme) {
54
- const args = {
55
- path: '/patterns'
56
- };
57
- if (isSiteEditor) {
58
- history.push(args);
59
- } else {
60
- document.location = (0, _url.addQueryArgs)('site-editor.php', args);
61
- }
62
- close();
63
- } else {
64
- document.location.href = 'edit.php?post_type=wp_block';
65
- }
66
- }
67
- });
68
31
  }
69
32
  //# sourceMappingURL=admin-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_icons","_url","_router","_hooks","_lockUnlock","useHistory","unlock","routerPrivateApis","useAdminNavigationCommands","history","isTemplatesAccessible","useIsTemplatesAccessible","isBlockBasedTheme","useIsBlockBasedTheme","isSiteEditor","getPath","window","location","href","includes","useCommand","name","label","__","icon","plus","callback","document","symbol","close","args","path","push","addQueryArgs"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, symbol } from '@wordpress/icons';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useIsTemplatesAccessible, useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useAdminNavigationCommands() {\n\tconst history = useHistory();\n\tconst isTemplatesAccessible = useIsTemplatesAccessible();\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/manage-reusable-blocks',\n\t\tlabel: __( 'Patterns' ),\n\t\ticon: symbol,\n\t\tcallback: ( { close } ) => {\n\t\t\tif ( isTemplatesAccessible && isBlockBasedTheme ) {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/patterns',\n\t\t\t\t};\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAbA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,MAAM;EAAEO;AAAW,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAE3C,SAASC,0BAA0BA,CAAA,EAAG;EAC5C,MAAMC,OAAO,GAAGJ,UAAU,CAAC,CAAC;EAC5B,MAAMK,qBAAqB,GAAG,IAAAC,+BAAwB,EAAC,CAAC;EACxD,MAAMC,iBAAiB,GAAG,IAAAC,2BAAoB,EAAC,CAAC;EAEhD,MAAMC,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EAED,IAAAC,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACV,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACH,IAAAE,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACV,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;EACH,IAAAE,oBAAU,EAAE;IACXC,IAAI,EAAE,6BAA6B;IACnCC,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;IACvBC,IAAI,EAAEI,aAAM;IACZF,QAAQ,EAAEA,CAAE;MAAEG;IAAM,CAAC,KAAM;MAC1B,IAAKnB,qBAAqB,IAAIE,iBAAiB,EAAG;QACjD,MAAMkB,IAAI,GAAG;UACZC,IAAI,EAAE;QACP,CAAC;QACD,IAAKjB,YAAY,EAAG;UACnBL,OAAO,CAACuB,IAAI,CAAEF,IAAK,CAAC;QACrB,CAAC,MAAM;UACNH,QAAQ,CAACV,QAAQ,GAAG,IAAAgB,iBAAY,EAAE,iBAAiB,EAAEH,IAAK,CAAC;QAC5D;QACAD,KAAK,CAAC,CAAC;MACR,CAAC,MAAM;QACNF,QAAQ,CAACV,QAAQ,CAACC,IAAI,GAAG,6BAA6B;MACvD;IACD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_icons","useAdminNavigationCommands","useCommand","name","label","__","icon","plus","callback","document","location","href"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\n\nexport function useAdminNavigationCommands() {\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKO,SAASG,0BAA0BA,CAAA,EAAG;EAC5C,IAAAC,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACH,IAAAT,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
package/build/hooks.js CHANGED
@@ -4,16 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useIsBlockBasedTheme = useIsBlockBasedTheme;
7
- exports.useIsTemplatesAccessible = useIsTemplatesAccessible;
8
7
  var _coreData = require("@wordpress/core-data");
9
8
  var _data = require("@wordpress/data");
10
9
  /**
11
10
  * WordPress dependencies
12
11
  */
13
12
 
14
- function useIsTemplatesAccessible() {
15
- return (0, _data.useSelect)(select => select(_coreData.store).canUser('read', 'templates'), []);
16
- }
17
13
  function useIsBlockBasedTheme() {
18
14
  return (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme()?.is_block_theme, []);
19
15
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_data","useIsTemplatesAccessible","useSelect","select","coreStore","canUser","useIsBlockBasedTheme","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsTemplatesAccessible() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).canUser( 'read', 'templates' ),\n\t\t[]\n\t);\n}\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIO,SAASE,wBAAwBA,CAAA,EAAG;EAC1C,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,EAChE,EACD,CAAC;AACF;AAEO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAO,IAAAJ,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,eAAU,CAAC,CAACG,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_data","useIsBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIO,SAASE,oBAAoBA,CAAA,EAAG;EACtC,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
@@ -159,8 +159,9 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
159
159
  if (!isBlockBasedTheme && !templateType === 'wp_template_part') {
160
160
  return [];
161
161
  }
162
- return orderedRecords.map(record => {
163
- const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
162
+ const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
163
+ const result = [];
164
+ result.push(...orderedRecords.map(record => {
164
165
  const extraArgs = isSiteEditor ? {
165
166
  canvas: (0, _url.getQueryArg)(window.location.href, 'canvas')
166
167
  } : {};
@@ -187,7 +188,31 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
187
188
  close();
188
189
  }
189
190
  };
190
- });
191
+ }));
192
+ if (orderedRecords?.length > 0 && templateType === 'wp_template_part') {
193
+ result.push({
194
+ name: 'core/edit-site/open-template-parts',
195
+ label: (0, _i18n.__)('Template parts'),
196
+ icon: _icons.symbolFilled,
197
+ callback: ({
198
+ close
199
+ }) => {
200
+ const args = {
201
+ path: '/patterns',
202
+ categoryType: 'wp_template_part',
203
+ categoryId: 'all-parts'
204
+ };
205
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
206
+ if (isSiteEditor) {
207
+ history.push(args);
208
+ } else {
209
+ document.location = targetUrl;
210
+ }
211
+ close();
212
+ }
213
+ });
214
+ }
215
+ return result;
191
216
  }, [isBlockBasedTheme, orderedRecords, history]);
192
217
  return {
193
218
  commands,
@@ -201,91 +226,116 @@ const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemp
201
226
  function useSiteEditorBasicNavigationCommands() {
202
227
  const history = useHistory();
203
228
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
204
- const isTemplatesAccessible = (0, _hooks.useIsTemplatesAccessible)();
229
+ const canCreateTemplate = (0, _data.useSelect)(select => {
230
+ return select(_coreData.store).canUser('create', 'templates');
231
+ }, []);
205
232
  const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
206
233
  const commands = (0, _element.useMemo)(() => {
207
234
  const result = [];
208
- if (!isTemplatesAccessible || !isBlockBasedTheme) {
209
- return result;
210
- }
211
- result.push({
212
- name: 'core/edit-site/open-navigation',
213
- label: (0, _i18n.__)('Navigation'),
214
- icon: _icons.navigation,
215
- callback: ({
216
- close
217
- }) => {
218
- const args = {
219
- path: '/navigation'
220
- };
221
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
222
- if (isSiteEditor) {
223
- history.push(args);
224
- } else {
225
- document.location = targetUrl;
235
+ if (canCreateTemplate && isBlockBasedTheme) {
236
+ result.push({
237
+ name: 'core/edit-site/open-navigation',
238
+ label: (0, _i18n.__)('Navigation'),
239
+ icon: _icons.navigation,
240
+ callback: ({
241
+ close
242
+ }) => {
243
+ const args = {
244
+ path: '/navigation'
245
+ };
246
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
247
+ if (isSiteEditor) {
248
+ history.push(args);
249
+ } else {
250
+ document.location = targetUrl;
251
+ }
252
+ close();
226
253
  }
227
- close();
228
- }
229
- });
230
- result.push({
231
- name: 'core/edit-site/open-styles',
232
- label: (0, _i18n.__)('Styles'),
233
- icon: _icons.styles,
234
- callback: ({
235
- close
236
- }) => {
237
- const args = {
238
- path: '/wp_global_styles'
239
- };
240
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
241
- if (isSiteEditor) {
242
- history.push(args);
243
- } else {
244
- document.location = targetUrl;
254
+ });
255
+ result.push({
256
+ name: 'core/edit-site/open-styles',
257
+ label: (0, _i18n.__)('Styles'),
258
+ icon: _icons.styles,
259
+ callback: ({
260
+ close
261
+ }) => {
262
+ const args = {
263
+ path: '/wp_global_styles'
264
+ };
265
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
266
+ if (isSiteEditor) {
267
+ history.push(args);
268
+ } else {
269
+ document.location = targetUrl;
270
+ }
271
+ close();
245
272
  }
246
- close();
247
- }
248
- });
249
- result.push({
250
- name: 'core/edit-site/open-pages',
251
- label: (0, _i18n.__)('Pages'),
252
- icon: _icons.page,
253
- callback: ({
254
- close
255
- }) => {
256
- const args = {
257
- path: '/page'
258
- };
259
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
260
- if (isSiteEditor) {
261
- history.push(args);
262
- } else {
263
- document.location = targetUrl;
273
+ });
274
+ result.push({
275
+ name: 'core/edit-site/open-pages',
276
+ label: (0, _i18n.__)('Pages'),
277
+ icon: _icons.page,
278
+ callback: ({
279
+ close
280
+ }) => {
281
+ const args = {
282
+ path: '/page'
283
+ };
284
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
285
+ if (isSiteEditor) {
286
+ history.push(args);
287
+ } else {
288
+ document.location = targetUrl;
289
+ }
290
+ close();
264
291
  }
265
- close();
266
- }
267
- });
292
+ });
293
+ result.push({
294
+ name: 'core/edit-site/open-templates',
295
+ label: (0, _i18n.__)('Templates'),
296
+ icon: _icons.layout,
297
+ callback: ({
298
+ close
299
+ }) => {
300
+ const args = {
301
+ path: '/wp_template'
302
+ };
303
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
304
+ if (isSiteEditor) {
305
+ history.push(args);
306
+ } else {
307
+ document.location = targetUrl;
308
+ }
309
+ close();
310
+ }
311
+ });
312
+ }
268
313
  result.push({
269
- name: 'core/edit-site/open-templates',
270
- label: (0, _i18n.__)('Templates'),
271
- icon: _icons.layout,
314
+ name: 'core/edit-site/open-patterns',
315
+ label: (0, _i18n.__)('Patterns'),
316
+ icon: _icons.symbol,
272
317
  callback: ({
273
318
  close
274
319
  }) => {
275
- const args = {
276
- path: '/wp_template'
277
- };
278
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
279
- if (isSiteEditor) {
280
- history.push(args);
320
+ if (canCreateTemplate) {
321
+ const args = {
322
+ path: '/patterns'
323
+ };
324
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
325
+ if (isSiteEditor) {
326
+ history.push(args);
327
+ } else {
328
+ document.location = targetUrl;
329
+ }
330
+ close();
281
331
  } else {
282
- document.location = targetUrl;
332
+ // If a user cannot access the site editor
333
+ document.location.href = 'edit.php?post_type=wp_block';
283
334
  }
284
- close();
285
335
  }
286
336
  });
287
337
  return result;
288
- }, [history, isSiteEditor, isTemplatesAccessible, isBlockBasedTheme]);
338
+ }, [history, isSiteEditor, canCreateTemplate, isBlockBasedTheme]);
289
339
  return {
290
340
  commands,
291
341
  isLoading: false
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_hooks","_lockUnlock","_orderEntityRecordsBySearch","useHistory","useLocation","unlock","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","useDebouncedValue","value","debouncedValue","setDebouncedValue","useState","debounced","useDebounce","useEffect","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","useIsBlockBasedTheme","delayedSearch","records","isLoading","useSelect","select","query","per_page","orderby","status","coreStore","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","name","id","searchLabel","title","rendered","label","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","extraArgs","canvas","getQueryArg","postId","push","getNavigationCommandLoaderPerTemplate","templateType","isPatternsPage","params","path","didAccessPatternsPage","orderedRecords","orderEntityRecordsBySearch","slice","undefined","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","isTemplatesAccessible","useIsTemplatesAccessible","result","navigation","styles","useSiteEditorNavigationCommands","useCommandLoader","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useIsTemplatesAccessible, useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\t\t\t\t: {};\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst location = useLocation();\n\n\t\tconst isPatternsPage =\n\t\t\tlocation?.params?.path === '/patterns' ||\n\t\t\tlocation?.params?.postType === 'wp_block';\n\t\tconst didAccessPatternsPage =\n\t\t\t!! location?.params?.didAccessPatternsPage;\n\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t! templateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\treturn orderedRecords.map( ( record ) => {\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? { canvas: getQueryArg( window.location.href, 'canvas' ) }\n\t\t\t\t\t: {};\n\n\t\t\t\treturn {\n\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\tdidAccessPatternsPage:\n\t\t\t\t\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t\t\t\t\t( isPatternsPage || didAccessPatternsPage )\n\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst isTemplatesAccessible = useIsTemplatesAccessible();\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( ! isTemplatesAccessible || ! isBlockBasedTheme ) {\n\t\t\treturn result;\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\tlabel: __( 'Navigation' ),\n\t\t\ticon: navigation,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/navigation',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-styles',\n\t\t\tlabel: __( 'Styles' ),\n\t\t\ticon: styles,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-pages',\n\t\t\tlabel: __( 'Pages' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/page',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-templates',\n\t\t\tlabel: __( 'Templates' ),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_template',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, isTemplatesAccessible, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAQA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAKA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,2BAAA,GAAAX,OAAA;AAzBA;AACA;AACA;;AAkBA;AACA;AACA;;AAKA,MAAM;EAAEY,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAE/D,MAAMC,KAAK,GAAG;EACbC,IAAI,EAAJA,WAAI;EACJC,IAAI,EAAJA,WAAI;EACJC,WAAW,EAAEC,aAAM;EACnBC,gBAAgB,EAAEC;AACnB,CAAC;AAED,SAASC,iBAAiBA,CAAEC,KAAK,EAAG;EACnC,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAC5D,MAAMC,SAAS,GAAG,IAAAC,oBAAW,EAAEH,iBAAiB,EAAE,GAAI,CAAC;EAEvD,IAAAI,kBAAS,EAAE,MAAM;IAChBF,SAAS,CAAEJ,KAAM,CAAC;IAClB,OAAO,MAAMI,SAAS,CAACG,MAAM,CAAC,CAAC;EAChC,CAAC,EAAE,CAAEH,SAAS,EAAEJ,KAAK,CAAG,CAAC;EAEzB,OAAOC,cAAc;AACtB;AAEA,MAAMO,qCAAqC,GAAKC,QAAQ,IACvD,SAASC,0BAA0BA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACjD,MAAMC,OAAO,GAAGxB,UAAU,CAAC,CAAC;EAC5B,MAAMyB,iBAAiB,GAAG,IAAAC,2BAAoB,EAAC,CAAC;EAChD,MAAMC,aAAa,GAAGhB,iBAAiB,CAAEY,MAAO,CAAC;EACjD,MAAM;IAAEK,OAAO;IAAEC;EAAU,CAAC,GAAG,IAAAC,eAAS,EACrCC,MAAM,IAAM;IACb,IAAK,CAAEJ,aAAa,EAAG;MACtB,OAAO;QACNE,SAAS,EAAE;MACZ,CAAC;IACF;IAEA,MAAMG,KAAK,GAAG;MACbT,MAAM,EAAEI,aAAa;MACrBM,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE,CACP,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS;IAEX,CAAC;IACD,OAAO;MACNP,OAAO,EAAEG,MAAM,CAAEK,eAAU,CAAC,CAACC,gBAAgB,CAC5C,UAAU,EACVhB,QAAQ,EACRW,KACD,CAAC;MACDH,SAAS,EAAE,CAAEE,MAAM,CAAEK,eAAU,CAAC,CAACE,qBAAqB,CACrD,kBAAkB,EAClB,CAAE,UAAU,EAAEjB,QAAQ,EAAEW,KAAK,CAC9B;IACD,CAAC;EACF,CAAC,EACD,CAAEL,aAAa,CAChB,CAAC;EAED,MAAMY,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,OAAO,CAAEZ,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGa,GAAG,CAAIC,MAAM,IAAM;MAC3C,MAAMC,OAAO,GAAG;QACfC,IAAI,EAAEvB,QAAQ,GAAG,GAAG,GAAGqB,MAAM,CAACG,EAAE;QAChCC,WAAW,EAAEJ,MAAM,CAACK,KAAK,EAAEC,QAAQ,GAAG,GAAG,GAAGN,MAAM,CAACG,EAAE;QACrDI,KAAK,EAAEP,MAAM,CAACK,KAAK,EAAEC,QAAQ,GAC1BN,MAAM,CAACK,KAAK,EAAEC,QAAQ,GACtB,IAAAE,QAAE,EAAE,YAAa,CAAC;QACrBC,IAAI,EAAE/C,KAAK,CAAEiB,QAAQ;MACtB,CAAC;MAED,IACCA,QAAQ,KAAK,MAAM,IACjBA,QAAQ,KAAK,MAAM,IAAI,CAAEI,iBAAmB,EAC7C;QACD,OAAO;UACN,GAAGkB,OAAO;UACVS,QAAQ,EAAEA,CAAE;YAAEC;UAAM,CAAC,KAAM;YAC1B,MAAMC,IAAI,GAAG;cACZjD,IAAI,EAAEqC,MAAM,CAACG,EAAE;cACfU,MAAM,EAAE;YACT,CAAC;YACD,MAAMC,SAAS,GAAG,IAAAC,iBAAY,EAAE,UAAU,EAAEH,IAAK,CAAC;YAClDI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;YAC7BH,KAAK,CAAC,CAAC;UACR;QACD,CAAC;MACF;MAEA,MAAMO,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACH,QAAQ,CAACI,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;MACD,MAAMC,SAAS,GAAGL,YAAY,GAC3B;QACAM,MAAM,EAAE,IAAAC,gBAAW,EAClBL,MAAM,CAACH,QAAQ,CAACI,IAAI,EACpB,QACD;MACA,CAAC,GACD,CAAC,CAAC;MAEL,OAAO;QACN,GAAGpB,OAAO;QACVS,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,MAAMC,IAAI,GAAG;YACZjC,QAAQ;YACR+C,MAAM,EAAE1B,MAAM,CAACG,EAAE;YACjB,GAAGoB;UACJ,CAAC;UACD,MAAMT,SAAS,GAAG,IAAAC,iBAAY,EAC7B,iBAAiB,EACjBH,IACD,CAAC;UACD,IAAKM,YAAY,EAAG;YACnBpC,OAAO,CAAC6C,IAAI,CAAEf,IAAK,CAAC;UACrB,CAAC,MAAM;YACNI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;UAC9B;UACAH,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEzB,OAAO,EAAEH,iBAAiB,EAAED,OAAO,CAAG,CAAC;EAE5C,OAAO;IACNe,QAAQ;IACRV;EACD,CAAC;AACF,CAAC;AAEF,MAAMyC,qCAAqC,GAAKC,YAAY,IAC3D,SAASjD,0BAA0BA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACjD,MAAMC,OAAO,GAAGxB,UAAU,CAAC,CAAC;EAC5B,MAAM2D,QAAQ,GAAG1D,WAAW,CAAC,CAAC;EAE9B,MAAMuE,cAAc,GACnBb,QAAQ,EAAEc,MAAM,EAAEC,IAAI,KAAK,WAAW,IACtCf,QAAQ,EAAEc,MAAM,EAAEpD,QAAQ,KAAK,UAAU;EAC1C,MAAMsD,qBAAqB,GAC1B,CAAC,CAAEhB,QAAQ,EAAEc,MAAM,EAAEE,qBAAqB;EAE3C,MAAMlD,iBAAiB,GAAG,IAAAC,2BAAoB,EAAC,CAAC;EAChD,MAAM;IAAEE,OAAO;IAAEC;EAAU,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACvD,MAAM;MAAEM;IAAiB,CAAC,GAAGN,MAAM,CAAEK,eAAU,CAAC;IAChD,MAAMJ,KAAK,GAAG;MAAEC,QAAQ,EAAE,CAAC;IAAE,CAAC;IAC9B,OAAO;MACNL,OAAO,EAAES,gBAAgB,CAAE,UAAU,EAAEkC,YAAY,EAAEvC,KAAM,CAAC;MAC5DH,SAAS,EAAE,CAAEE,MAAM,CAAEK,eAAU,CAAC,CAACE,qBAAqB,CACrD,kBAAkB,EAClB,CAAE,UAAU,EAAEiC,YAAY,EAAEvC,KAAK,CAClC;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;AACF;AACA;AACA;AACA;EACE,MAAM4C,cAAc,GAAG,IAAApC,gBAAO,EAAE,MAAM;IACrC,OAAO,IAAAqC,sDAA0B,EAAEjD,OAAO,EAAEL,MAAO,CAAC,CAACuD,KAAK,CAAE,CAAC,EAAE,EAAG,CAAC;EACpE,CAAC,EAAE,CAAElD,OAAO,EAAEL,MAAM,CAAG,CAAC;EAExB,MAAMgB,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IACC,CAAEf,iBAAiB,IACnB,CAAE8C,YAAY,KAAK,kBAAkB,EACpC;MACD,OAAO,EAAE;IACV;IACA,OAAOK,cAAc,CAACnC,GAAG,CAAIC,MAAM,IAAM;MACxC,MAAMkB,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACH,QAAQ,CAACI,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;MACD,MAAMC,SAAS,GAAGL,YAAY,GAC3B;QAAEM,MAAM,EAAE,IAAAC,gBAAW,EAAEL,MAAM,CAACH,QAAQ,CAACI,IAAI,EAAE,QAAS;MAAE,CAAC,GACzD,CAAC,CAAC;MAEL,OAAO;QACNnB,IAAI,EAAE2B,YAAY,GAAG,GAAG,GAAG7B,MAAM,CAACG,EAAE;QACpCC,WAAW,EAAEJ,MAAM,CAACK,KAAK,EAAEC,QAAQ,GAAG,GAAG,GAAGN,MAAM,CAACG,EAAE;QACrDI,KAAK,EAAEP,MAAM,CAACK,KAAK,EAAEC,QAAQ,GAC1BN,MAAM,CAACK,KAAK,EAAEC,QAAQ,GACtB,IAAAE,QAAE,EAAE,YAAa,CAAC;QACrBC,IAAI,EAAE/C,KAAK,CAAEmE,YAAY,CAAE;QAC3BnB,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,MAAMC,IAAI,GAAG;YACZjC,QAAQ,EAAEkD,YAAY;YACtBH,MAAM,EAAE1B,MAAM,CAACG,EAAE;YACjB8B,qBAAqB,EACpB,CAAElD,iBAAiB,KACjB+C,cAAc,IAAIG,qBAAqB,CAAE,GACxC,CAAC,GACDI,SAAS;YACb,GAAGd;UACJ,CAAC;UACD,MAAMT,SAAS,GAAG,IAAAC,iBAAY,EAC7B,iBAAiB,EACjBH,IACD,CAAC;UACD,IAAKM,YAAY,EAAG;YACnBpC,OAAO,CAAC6C,IAAI,CAAEf,IAAK,CAAC;UACrB,CAAC,MAAM;YACNI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;UAC9B;UACAH,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,CAAE5B,iBAAiB,EAAEmD,cAAc,EAAEpD,OAAO,CAAG,CAAC;EAEnD,OAAO;IACNe,QAAQ;IACRV;EACD,CAAC;AACF,CAAC;AAEF,MAAMmD,8BAA8B,GACnC5D,qCAAqC,CAAE,MAAO,CAAC;AAChD,MAAM6D,8BAA8B,GACnC7D,qCAAqC,CAAE,MAAO,CAAC;AAChD,MAAM8D,kCAAkC,GACvCZ,qCAAqC,CAAE,aAAc,CAAC;AACvD,MAAMa,sCAAsC,GAC3Cb,qCAAqC,CAAE,kBAAmB,CAAC;AAE5D,SAASc,oCAAoCA,CAAA,EAAG;EAC/C,MAAM5D,OAAO,GAAGxB,UAAU,CAAC,CAAC;EAC5B,MAAM4D,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACH,QAAQ,CAACI,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EACD,MAAMqB,qBAAqB,GAAG,IAAAC,+BAAwB,EAAC,CAAC;EACxD,MAAM7D,iBAAiB,GAAG,IAAAC,2BAAoB,EAAC,CAAC;EAChD,MAAMa,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,MAAM+C,MAAM,GAAG,EAAE;IAEjB,IAAK,CAAEF,qBAAqB,IAAI,CAAE5D,iBAAiB,EAAG;MACrD,OAAO8D,MAAM;IACd;IAEAA,MAAM,CAAClB,IAAI,CAAE;MACZzB,IAAI,EAAE,gCAAgC;MACtCK,KAAK,EAAE,IAAAC,QAAE,EAAE,YAAa,CAAC;MACzBC,IAAI,EAAEqC,iBAAU;MAChBpC,QAAQ,EAAEA,CAAE;QAAEC;MAAM,CAAC,KAAM;QAC1B,MAAMC,IAAI,GAAG;UACZoB,IAAI,EAAE;QACP,CAAC;QACD,MAAMlB,SAAS,GAAG,IAAAC,iBAAY,EAAE,iBAAiB,EAAEH,IAAK,CAAC;QACzD,IAAKM,YAAY,EAAG;UACnBpC,OAAO,CAAC6C,IAAI,CAAEf,IAAK,CAAC;QACrB,CAAC,MAAM;UACNI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;QAC9B;QACAH,KAAK,CAAC,CAAC;MACR;IACD,CAAE,CAAC;IAEHkC,MAAM,CAAClB,IAAI,CAAE;MACZzB,IAAI,EAAE,4BAA4B;MAClCK,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;MACrBC,IAAI,EAAEsC,aAAM;MACZrC,QAAQ,EAAEA,CAAE;QAAEC;MAAM,CAAC,KAAM;QAC1B,MAAMC,IAAI,GAAG;UACZoB,IAAI,EAAE;QACP,CAAC;QACD,MAAMlB,SAAS,GAAG,IAAAC,iBAAY,EAAE,iBAAiB,EAAEH,IAAK,CAAC;QACzD,IAAKM,YAAY,EAAG;UACnBpC,OAAO,CAAC6C,IAAI,CAAEf,IAAK,CAAC;QACrB,CAAC,MAAM;UACNI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;QAC9B;QACAH,KAAK,CAAC,CAAC;MACR;IACD,CAAE,CAAC;IAEHkC,MAAM,CAAClB,IAAI,CAAE;MACZzB,IAAI,EAAE,2BAA2B;MACjCK,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;MACpBC,IAAI,EAAE7C,WAAI;MACV8C,QAAQ,EAAEA,CAAE;QAAEC;MAAM,CAAC,KAAM;QAC1B,MAAMC,IAAI,GAAG;UACZoB,IAAI,EAAE;QACP,CAAC;QACD,MAAMlB,SAAS,GAAG,IAAAC,iBAAY,EAAE,iBAAiB,EAAEH,IAAK,CAAC;QACzD,IAAKM,YAAY,EAAG;UACnBpC,OAAO,CAAC6C,IAAI,CAAEf,IAAK,CAAC;QACrB,CAAC,MAAM;UACNI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;QAC9B;QACAH,KAAK,CAAC,CAAC;MACR;IACD,CAAE,CAAC;IAEHkC,MAAM,CAAClB,IAAI,CAAE;MACZzB,IAAI,EAAE,+BAA+B;MACrCK,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAY,CAAC;MACxBC,IAAI,EAAE3C,aAAM;MACZ4C,QAAQ,EAAEA,CAAE;QAAEC;MAAM,CAAC,KAAM;QAC1B,MAAMC,IAAI,GAAG;UACZoB,IAAI,EAAE;QACP,CAAC;QACD,MAAMlB,SAAS,GAAG,IAAAC,iBAAY,EAAE,iBAAiB,EAAEH,IAAK,CAAC;QACzD,IAAKM,YAAY,EAAG;UACnBpC,OAAO,CAAC6C,IAAI,CAAEf,IAAK,CAAC;QACrB,CAAC,MAAM;UACNI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;QAC9B;QACAH,KAAK,CAAC,CAAC;MACR;IACD,CAAE,CAAC;IAEH,OAAOkC,MAAM;EACd,CAAC,EAAE,CAAE/D,OAAO,EAAEoC,YAAY,EAAEyB,qBAAqB,EAAE5D,iBAAiB,CAAG,CAAC;EAExE,OAAO;IACNc,QAAQ;IACRV,SAAS,EAAE;EACZ,CAAC;AACF;AAEO,SAAS6D,+BAA+BA,CAAA,EAAG;EACjD,IAAAC,0BAAgB,EAAE;IACjB/C,IAAI,EAAE,+BAA+B;IACrCgD,IAAI,EAAEZ;EACP,CAAE,CAAC;EACH,IAAAW,0BAAgB,EAAE;IACjB/C,IAAI,EAAE,+BAA+B;IACrCgD,IAAI,EAAEX;EACP,CAAE,CAAC;EACH,IAAAU,0BAAgB,EAAE;IACjB/C,IAAI,EAAE,mCAAmC;IACzCgD,IAAI,EAAEV;EACP,CAAE,CAAC;EACH,IAAAS,0BAAgB,EAAE;IACjB/C,IAAI,EAAE,wCAAwC;IAC9CgD,IAAI,EAAET;EACP,CAAE,CAAC;EACH,IAAAQ,0BAAgB,EAAE;IACjB/C,IAAI,EAAE,iCAAiC;IACvCgD,IAAI,EAAER,oCAAoC;IAC1CS,OAAO,EAAE;EACV,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_hooks","_lockUnlock","_orderEntityRecordsBySearch","useHistory","useLocation","unlock","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","useDebouncedValue","value","debouncedValue","setDebouncedValue","useState","debounced","useDebounce","useEffect","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","useIsBlockBasedTheme","delayedSearch","records","isLoading","useSelect","select","query","per_page","orderby","status","coreStore","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","name","id","searchLabel","title","rendered","label","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","extraArgs","canvas","getQueryArg","postId","push","getNavigationCommandLoaderPerTemplate","templateType","isPatternsPage","params","path","didAccessPatternsPage","orderedRecords","orderEntityRecordsBySearch","slice","result","undefined","length","categoryType","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","canCreateTemplate","canUser","navigation","styles","symbol","useSiteEditorNavigationCommands","useCommandLoader","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbol,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\t\t\t\t: {};\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst location = useLocation();\n\n\t\tconst isPatternsPage =\n\t\t\tlocation?.params?.path === '/patterns' ||\n\t\t\tlocation?.params?.postType === 'wp_block';\n\t\tconst didAccessPatternsPage =\n\t\t\t!! location?.params?.didAccessPatternsPage;\n\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t! templateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t'site-editor.php'\n\t\t\t);\n\t\t\tconst result = [];\n\t\t\tresult.push(\n\t\t\t\t...orderedRecords.map( ( record ) => {\n\t\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {};\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t\tdidAccessPatternsPage:\n\t\t\t\t\t\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t\t\t\t\t\t( isPatternsPage || didAccessPatternsPage )\n\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\torderedRecords?.length > 0 &&\n\t\t\t\ttemplateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\t\t\tlabel: __( 'Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t\t\t\tcategoryType: 'wp_template_part',\n\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn result;\n\t\t}, [ isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst canCreateTemplate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', 'templates' );\n\t}, [] );\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\ticon: navigation,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/navigation',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\ticon: styles,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\ticon: page,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/page',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\ticon: layout,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_template',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\tlabel: __( 'Patterns' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t} else {\n\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,23 +3,8 @@
3
3
  */
4
4
  import { useCommand } from '@wordpress/commands';
5
5
  import { __ } from '@wordpress/i18n';
6
- import { plus, symbol } from '@wordpress/icons';
7
- import { addQueryArgs, getPath } from '@wordpress/url';
8
- import { privateApis as routerPrivateApis } from '@wordpress/router';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import { useIsTemplatesAccessible, useIsBlockBasedTheme } from './hooks';
14
- import { unlock } from './lock-unlock';
15
- const {
16
- useHistory
17
- } = unlock(routerPrivateApis);
6
+ import { plus } from '@wordpress/icons';
18
7
  export function useAdminNavigationCommands() {
19
- const history = useHistory();
20
- const isTemplatesAccessible = useIsTemplatesAccessible();
21
- const isBlockBasedTheme = useIsBlockBasedTheme();
22
- const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
23
8
  useCommand({
24
9
  name: 'core/add-new-post',
25
10
  label: __('Add new post'),
@@ -36,27 +21,5 @@ export function useAdminNavigationCommands() {
36
21
  document.location.href = 'post-new.php?post_type=page';
37
22
  }
38
23
  });
39
- useCommand({
40
- name: 'core/manage-reusable-blocks',
41
- label: __('Patterns'),
42
- icon: symbol,
43
- callback: ({
44
- close
45
- }) => {
46
- if (isTemplatesAccessible && isBlockBasedTheme) {
47
- const args = {
48
- path: '/patterns'
49
- };
50
- if (isSiteEditor) {
51
- history.push(args);
52
- } else {
53
- document.location = addQueryArgs('site-editor.php', args);
54
- }
55
- close();
56
- } else {
57
- document.location.href = 'edit.php?post_type=wp_block';
58
- }
59
- }
60
- });
61
24
  }
62
25
  //# sourceMappingURL=admin-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCommand","__","plus","symbol","addQueryArgs","getPath","privateApis","routerPrivateApis","useIsTemplatesAccessible","useIsBlockBasedTheme","unlock","useHistory","useAdminNavigationCommands","history","isTemplatesAccessible","isBlockBasedTheme","isSiteEditor","window","location","href","includes","name","label","icon","callback","document","close","args","path","push"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, symbol } from '@wordpress/icons';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useIsTemplatesAccessible, useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useAdminNavigationCommands() {\n\tconst history = useHistory();\n\tconst isTemplatesAccessible = useIsTemplatesAccessible();\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/manage-reusable-blocks',\n\t\tlabel: __( 'Patterns' ),\n\t\ticon: symbol,\n\t\tcallback: ( { close } ) => {\n\t\t\tif ( isTemplatesAccessible && isBlockBasedTheme ) {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/patterns',\n\t\t\t\t};\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,qBAAqB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,MAAM,QAAQ,kBAAkB;AAC/C,SAASC,YAAY,EAAEC,OAAO,QAAQ,gBAAgB;AACtD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,wBAAwB,EAAEC,oBAAoB,QAAQ,SAAS;AACxE,SAASC,MAAM,QAAQ,eAAe;AAEtC,MAAM;EAAEC;AAAW,CAAC,GAAGD,MAAM,CAAEH,iBAAkB,CAAC;AAElD,OAAO,SAASK,0BAA0BA,CAAA,EAAG;EAC5C,MAAMC,OAAO,GAAGF,UAAU,CAAC,CAAC;EAC5B,MAAMG,qBAAqB,GAAGN,wBAAwB,CAAC,CAAC;EACxD,MAAMO,iBAAiB,GAAGN,oBAAoB,CAAC,CAAC;EAEhD,MAAMO,YAAY,GAAGX,OAAO,CAAEY,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EAEDpB,UAAU,CAAE;IACXqB,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAErB,EAAE,CAAE,cAAe,CAAC;IAC3BsB,IAAI,EAAErB,IAAI;IACVsB,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACP,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACHnB,UAAU,CAAE;IACXqB,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAErB,EAAE,CAAE,cAAe,CAAC;IAC3BsB,IAAI,EAAErB,IAAI;IACVsB,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACP,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;EACHnB,UAAU,CAAE;IACXqB,IAAI,EAAE,6BAA6B;IACnCC,KAAK,EAAErB,EAAE,CAAE,UAAW,CAAC;IACvBsB,IAAI,EAAEpB,MAAM;IACZqB,QAAQ,EAAEA,CAAE;MAAEE;IAAM,CAAC,KAAM;MAC1B,IAAKZ,qBAAqB,IAAIC,iBAAiB,EAAG;QACjD,MAAMY,IAAI,GAAG;UACZC,IAAI,EAAE;QACP,CAAC;QACD,IAAKZ,YAAY,EAAG;UACnBH,OAAO,CAACgB,IAAI,CAAEF,IAAK,CAAC;QACrB,CAAC,MAAM;UACNF,QAAQ,CAACP,QAAQ,GAAGd,YAAY,CAAE,iBAAiB,EAAEuB,IAAK,CAAC;QAC5D;QACAD,KAAK,CAAC,CAAC;MACR,CAAC,MAAM;QACND,QAAQ,CAACP,QAAQ,CAACC,IAAI,GAAG,6BAA6B;MACvD;IACD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["useCommand","__","plus","useAdminNavigationCommands","name","label","icon","callback","document","location","href"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\n\nexport function useAdminNavigationCommands() {\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,qBAAqB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,OAAO,SAASC,0BAA0BA,CAAA,EAAG;EAC5CH,UAAU,CAAE;IACXI,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAEJ,EAAE,CAAE,cAAe,CAAC;IAC3BK,IAAI,EAAEJ,IAAI;IACVK,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACHV,UAAU,CAAE;IACXI,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAEJ,EAAE,CAAE,cAAe,CAAC;IAC3BK,IAAI,EAAEJ,IAAI;IACVK,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -3,9 +3,6 @@
3
3
  */
4
4
  import { store as coreStore } from '@wordpress/core-data';
5
5
  import { useSelect } from '@wordpress/data';
6
- export function useIsTemplatesAccessible() {
7
- return useSelect(select => select(coreStore).canUser('read', 'templates'), []);
8
- }
9
6
  export function useIsBlockBasedTheme() {
10
7
  return useSelect(select => select(coreStore).getCurrentTheme()?.is_block_theme, []);
11
8
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreStore","useSelect","useIsTemplatesAccessible","select","canUser","useIsBlockBasedTheme","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsTemplatesAccessible() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).canUser( 'read', 'templates' ),\n\t\t[]\n\t);\n}\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,OAAO,SAASC,wBAAwBA,CAAA,EAAG;EAC1C,OAAOD,SAAS,CACbE,MAAM,IAAMA,MAAM,CAAEH,SAAU,CAAC,CAACI,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,EAChE,EACD,CAAC;AACF;AAEA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAOJ,SAAS,CACbE,MAAM,IAAMA,MAAM,CAAEH,SAAU,CAAC,CAACM,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["store","coreStore","useSelect","useIsBlockBasedTheme","select","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAOD,SAAS,CACbE,MAAM,IAAMA,MAAM,CAAEH,SAAU,CAAC,CAACI,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}