@wordpress/core-commands 1.30.1-next.836ecdcae.0 → 1.31.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,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.31.0 (2025-09-17)
6
+
5
7
  ## 1.30.0 (2025-09-03)
6
8
 
7
9
  ## 1.29.0 (2025-08-20)
@@ -6,21 +6,49 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useAdminNavigationCommands = useAdminNavigationCommands;
7
7
  var _commands = require("@wordpress/commands");
8
8
  var _i18n = require("@wordpress/i18n");
9
+ var _icons = require("@wordpress/icons");
9
10
  var _element = require("@wordpress/element");
11
+ var _coreData = require("@wordpress/core-data");
12
+ var _data = require("@wordpress/data");
10
13
  /**
11
14
  * WordPress dependencies
12
15
  */
13
16
 
14
- const getAdminNavigationCommands = menuCommands => function useAdminBasicNavigationCommands() {
17
+ const getViewSiteCommand = () => function useViewSiteCommand() {
18
+ const homeUrl = (0, _data.useSelect)(select => {
19
+ // Site index.
20
+ return select(_coreData.store).getEntityRecord('root', '__unstableBase')?.home;
21
+ }, []);
22
+ const commands = (0, _element.useMemo)(() => {
23
+ if (!homeUrl) {
24
+ return [];
25
+ }
26
+ return [{
27
+ name: 'core/view-site',
28
+ label: (0, _i18n.__)('View site'),
29
+ icon: _icons.external,
30
+ callback: ({
31
+ close
32
+ }) => {
33
+ close();
34
+ window.open(homeUrl, '_blank');
35
+ }
36
+ }];
37
+ }, [homeUrl]);
38
+ return {
39
+ isLoading: false,
40
+ commands
41
+ };
42
+ };
43
+ function useAdminNavigationCommands(menuCommands) {
15
44
  const commands = (0, _element.useMemo)(() => {
16
45
  return (menuCommands !== null && menuCommands !== void 0 ? menuCommands : []).map(menuCommand => {
17
46
  const label = (0, _i18n.sprintf)(/* translators: %s: menu label */
18
47
  (0, _i18n.__)('Go to: %s'), menuCommand.label);
19
48
  return {
49
+ name: menuCommand.name,
20
50
  label,
21
51
  searchLabel: label,
22
- name: menuCommand.name,
23
- url: menuCommand.url,
24
52
  callback: ({
25
53
  close
26
54
  }) => {
@@ -29,16 +57,11 @@ const getAdminNavigationCommands = menuCommands => function useAdminBasicNavigat
29
57
  }
30
58
  };
31
59
  });
32
- }, []);
33
- return {
34
- commands,
35
- isLoading: false
36
- };
37
- };
38
- function useAdminNavigationCommands(menuCommands) {
60
+ }, [menuCommands]);
61
+ (0, _commands.useCommands)(commands);
39
62
  (0, _commands.useCommandLoader)({
40
- name: 'core/admin-navigation',
41
- hook: getAdminNavigationCommands(menuCommands)
63
+ name: 'core/view-site',
64
+ hook: getViewSiteCommand()
42
65
  });
43
66
  }
44
67
  //# sourceMappingURL=admin-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_element","getAdminNavigationCommands","menuCommands","useAdminBasicNavigationCommands","commands","useMemo","map","menuCommand","label","sprintf","__","searchLabel","name","url","callback","close","document","location","isLoading","useAdminNavigationCommands","useCommandLoader","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\n\nconst getAdminNavigationCommands = ( menuCommands ) =>\n\tfunction useAdminBasicNavigationCommands() {\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( menuCommands ?? [] ).map( ( menuCommand ) => {\n\t\t\t\tconst label = sprintf(\n\t\t\t\t\t/* translators: %s: menu label */\n\t\t\t\t\t__( 'Go to: %s' ),\n\t\t\t\t\tmenuCommand.label\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tlabel,\n\t\t\t\t\tsearchLabel: label,\n\t\t\t\t\tname: menuCommand.name,\n\t\t\t\t\turl: menuCommand.url,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tdocument.location = menuCommand.url;\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}, [] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands( menuCommands ) {\n\tuseCommandLoader( {\n\t\tname: 'core/admin-navigation',\n\t\thook: getAdminNavigationCommands( menuCommands ),\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKA,MAAMG,0BAA0B,GAAKC,YAAY,IAChD,SAASC,+BAA+BA,CAAA,EAAG;EAC1C,MAAMC,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,OAAO,CAAEH,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,EAAE,EAAGI,GAAG,CAAIC,WAAW,IAAM;MACrD,MAAMC,KAAK,GAAG,IAAAC,aAAO,EACpB;MACA,IAAAC,QAAE,EAAE,WAAY,CAAC,EACjBH,WAAW,CAACC,KACb,CAAC;MACD,OAAO;QACNA,KAAK;QACLG,WAAW,EAAEH,KAAK;QAClBI,IAAI,EAAEL,WAAW,CAACK,IAAI;QACtBC,GAAG,EAAEN,WAAW,CAACM,GAAG;QACpBC,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1BC,QAAQ,CAACC,QAAQ,GAAGV,WAAW,CAACM,GAAG;UACnCE,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,EAAG,CAAC;EAEP,OAAO;IACNX,QAAQ;IACRc,SAAS,EAAE;EACZ,CAAC;AACF,CAAC;AAEK,SAASC,0BAA0BA,CAAEjB,YAAY,EAAG;EAC1D,IAAAkB,0BAAgB,EAAE;IACjBR,IAAI,EAAE,uBAAuB;IAC7BS,IAAI,EAAEpB,0BAA0B,CAAEC,YAAa;EAChD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_icons","_element","_coreData","_data","getViewSiteCommand","useViewSiteCommand","homeUrl","useSelect","select","coreStore","getEntityRecord","home","commands","useMemo","name","label","__","icon","external","callback","close","window","open","isLoading","useAdminNavigationCommands","menuCommands","map","menuCommand","sprintf","searchLabel","document","location","url","useCommands","useCommandLoader","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader, useCommands } from '@wordpress/commands';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { external } from '@wordpress/icons';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst getViewSiteCommand = () =>\n\tfunction useViewSiteCommand() {\n\t\tconst homeUrl = useSelect( ( select ) => {\n\t\t\t// Site index.\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'__unstableBase'\n\t\t\t)?.home;\n\t\t}, [] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! homeUrl ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/view-site',\n\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\ticon: external,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t\twindow.open( homeUrl, '_blank' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ homeUrl ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands( menuCommands ) {\n\tconst commands = useMemo( () => {\n\t\treturn ( menuCommands ?? [] ).map( ( menuCommand ) => {\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %s: menu label */\n\t\t\t\t__( 'Go to: %s' ),\n\t\t\t\tmenuCommand.label\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tname: menuCommand.name,\n\t\t\t\tlabel,\n\t\t\t\tsearchLabel: label,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tdocument.location = menuCommand.url;\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t};\n\t\t} );\n\t}, [ menuCommands ] );\n\tuseCommands( commands );\n\n\tuseCommandLoader( {\n\t\tname: 'core/view-site',\n\t\thook: getViewSiteCommand(),\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AARA;AACA;AACA;;AAQA,MAAMM,kBAAkB,GAAGA,CAAA,KAC1B,SAASC,kBAAkBA,CAAA,EAAG;EAC7B,MAAMC,OAAO,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACxC;IACA,OAAOA,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CACzC,MAAM,EACN,gBACD,CAAC,EAAEC,IAAI;EACR,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IAAK,CAAEP,OAAO,EAAG;MAChB,OAAO,EAAE;IACV;IAEA,OAAO,CACN;MACCQ,IAAI,EAAE,gBAAgB;MACtBC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAY,CAAC;MACxBC,IAAI,EAAEC,eAAQ;MACdC,QAAQ,EAAEA,CAAE;QAAEC;MAAM,CAAC,KAAM;QAC1BA,KAAK,CAAC,CAAC;QACPC,MAAM,CAACC,IAAI,CAAEhB,OAAO,EAAE,QAAS,CAAC;MACjC;IACD,CAAC,CACD;EACF,CAAC,EAAE,CAAEA,OAAO,CAAG,CAAC;EAEhB,OAAO;IACNiB,SAAS,EAAE,KAAK;IAChBX;EACD,CAAC;AACF,CAAC;AAEK,SAASY,0BAA0BA,CAAEC,YAAY,EAAG;EAC1D,MAAMb,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,OAAO,CAAEY,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,EAAE,EAAGC,GAAG,CAAIC,WAAW,IAAM;MACrD,MAAMZ,KAAK,GAAG,IAAAa,aAAO,EACpB;MACA,IAAAZ,QAAE,EAAE,WAAY,CAAC,EACjBW,WAAW,CAACZ,KACb,CAAC;MACD,OAAO;QACND,IAAI,EAAEa,WAAW,CAACb,IAAI;QACtBC,KAAK;QACLc,WAAW,EAAEd,KAAK;QAClBI,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1BU,QAAQ,CAACC,QAAQ,GAAGJ,WAAW,CAACK,GAAG;UACnCZ,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEK,YAAY,CAAG,CAAC;EACrB,IAAAQ,qBAAW,EAAErB,QAAS,CAAC;EAEvB,IAAAsB,0BAAgB,EAAE;IACjBpB,IAAI,EAAE,gBAAgB;IACtBqB,IAAI,EAAE/B,kBAAkB,CAAC;EAC1B,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -31,6 +31,7 @@ const icons = {
31
31
  post: _icons.post,
32
32
  page: _icons.page,
33
33
  wp_template: _icons.layout,
34
+ wp_registered_template: _icons.layout,
34
35
  wp_template_part: _icons.symbolFilled
35
36
  };
36
37
  function useDebouncedValue(value) {
@@ -137,7 +138,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
137
138
  } = (0, _data.useSelect)(select => {
138
139
  return {
139
140
  isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
140
- canCreateTemplate: select(_coreData.store).canUser('create', {
141
+ canCreateTemplate: select(_coreData.store).canUser('read', {
141
142
  kind: 'postType',
142
143
  name: templateType
143
144
  })
@@ -197,7 +198,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
197
198
  if (orderedRecords?.length > 0 && templateType === 'wp_template_part') {
198
199
  result.push({
199
200
  name: 'core/edit-site/open-template-parts',
200
- label: (0, _i18n.__)('Template parts'),
201
+ label: (0, _i18n.__)('Go to: Template parts'),
201
202
  icon: _icons.symbolFilled,
202
203
  callback: ({
203
204
  close
@@ -245,9 +246,10 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
245
246
  const commands = (0, _element.useMemo)(() => {
246
247
  const result = [];
247
248
  if (canCreateTemplate && isBlockBasedTheme) {
249
+ // Go to Styles command
248
250
  result.push({
249
251
  name: 'core/edit-site/open-styles',
250
- label: (0, _i18n.__)('Styles'),
252
+ label: (0, _i18n.__)('Go to: Styles'),
251
253
  icon: _icons.styles,
252
254
  callback: ({
253
255
  close
@@ -264,7 +266,7 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
264
266
  });
265
267
  result.push({
266
268
  name: 'core/edit-site/open-navigation',
267
- label: (0, _i18n.__)('Navigation'),
269
+ label: (0, _i18n.__)('Go to: Navigation'),
268
270
  icon: _icons.navigation,
269
271
  callback: ({
270
272
  close
@@ -279,26 +281,9 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
279
281
  close();
280
282
  }
281
283
  });
282
- result.push({
283
- name: 'core/edit-site/open-pages',
284
- label: (0, _i18n.__)('Pages'),
285
- icon: _icons.page,
286
- callback: ({
287
- close
288
- }) => {
289
- if (isSiteEditor) {
290
- history.navigate('/page');
291
- } else {
292
- document.location = (0, _url.addQueryArgs)('site-editor.php', {
293
- p: '/page'
294
- });
295
- }
296
- close();
297
- }
298
- });
299
284
  result.push({
300
285
  name: 'core/edit-site/open-templates',
301
- label: (0, _i18n.__)('Templates'),
286
+ label: (0, _i18n.__)('Go to: Templates'),
302
287
  icon: _icons.layout,
303
288
  callback: ({
304
289
  close
@@ -317,7 +302,7 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
317
302
  if (canCreatePatterns) {
318
303
  result.push({
319
304
  name: 'core/edit-site/open-patterns',
320
- label: (0, _i18n.__)('Patterns'),
305
+ label: (0, _i18n.__)('Go to: Patterns'),
321
306
  icon: _icons.symbol,
322
307
  callback: ({
323
308
  close
@@ -332,7 +317,7 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
332
317
  }
333
318
  close();
334
319
  } else {
335
- // If a user cannot access the site editor
320
+ // If a user cannot access the site editor.
336
321
  document.location.href = 'edit.php?post_type=wp_block';
337
322
  }
338
323
  }
@@ -345,6 +330,50 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
345
330
  isLoading: false
346
331
  };
347
332
  };
333
+ const getGlobalStylesOpenCssCommands = () => function useGlobalStylesOpenCssCommands() {
334
+ const history = useHistory();
335
+ const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
336
+ const {
337
+ canEditCSS
338
+ } = (0, _data.useSelect)(select => {
339
+ const {
340
+ getEntityRecord,
341
+ __experimentalGetCurrentGlobalStylesId
342
+ } = select(_coreData.store);
343
+ const globalStylesId = __experimentalGetCurrentGlobalStylesId();
344
+ const globalStyles = globalStylesId ? getEntityRecord('root', 'globalStyles', globalStylesId) : undefined;
345
+ return {
346
+ canEditCSS: !!globalStyles?._links?.['wp:action-edit-css']
347
+ };
348
+ }, []);
349
+ const commands = (0, _element.useMemo)(() => {
350
+ if (!canEditCSS) {
351
+ return [];
352
+ }
353
+ return [{
354
+ name: 'core/open-styles-css',
355
+ label: (0, _i18n.__)('Open custom CSS'),
356
+ icon: _icons.brush,
357
+ callback: ({
358
+ close
359
+ }) => {
360
+ close();
361
+ if (isSiteEditor) {
362
+ history.navigate('/styles?section=/css');
363
+ } else {
364
+ document.location = (0, _url.addQueryArgs)('site-editor.php', {
365
+ p: '/styles',
366
+ section: '/css'
367
+ });
368
+ }
369
+ }
370
+ }];
371
+ }, [history, canEditCSS, isSiteEditor]);
372
+ return {
373
+ isLoading: false,
374
+ commands
375
+ };
376
+ };
348
377
  function useSiteEditorNavigationCommands() {
349
378
  (0, _commands.useCommandLoader)({
350
379
  name: 'core/edit-site/navigate-pages',
@@ -358,6 +387,10 @@ function useSiteEditorNavigationCommands() {
358
387
  name: 'core/edit-site/navigate-templates',
359
388
  hook: getNavigationCommandLoaderPerTemplate('wp_template')
360
389
  });
390
+ (0, _commands.useCommandLoader)({
391
+ name: 'core/edit-site/navigate-templates',
392
+ hook: getNavigationCommandLoaderPerTemplate('wp_registered_template')
393
+ });
361
394
  (0, _commands.useCommandLoader)({
362
395
  name: 'core/edit-site/navigate-template-parts',
363
396
  hook: getNavigationCommandLoaderPerTemplate('wp_template_part')
@@ -367,5 +400,9 @@ function useSiteEditorNavigationCommands() {
367
400
  hook: getSiteEditorBasicNavigationCommands(),
368
401
  context: 'site-editor'
369
402
  });
403
+ (0, _commands.useCommandLoader)({
404
+ name: 'core/edit-site/global-styles-css',
405
+ hook: getGlobalStylesOpenCssCommands()
406
+ });
370
407
  }
371
408
  //# sourceMappingURL=site-editor-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_htmlEntities","_lockUnlock","_orderEntityRecordsBySearch","useHistory","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","canCreateTemplate","useSelect","select","coreStore","getCurrentTheme","is_block_theme","canUser","kind","name","delayedSearch","records","isLoading","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","id","searchLabel","title","rendered","label","decodeEntities","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","canCreatePatterns","styles","navigation","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 { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = 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, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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? decodeEntities( 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\t! canCreateTemplate ||\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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, 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 { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: templateType,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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! canCreateTemplate ||\n\t\t\t\t( ! isBlockBasedTheme && ! 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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } =\n\t\t\tuseSelect( ( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t\tcanCreatePatterns: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_block',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t}, [] );\n\t\tconst commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\t\ticon: page,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/page' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/page',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( canCreatePatterns ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\t\tlabel: __( 'Patterns' ),\n\t\t\t\t\ticon: symbol,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t'edit.php?post_type=wp_block';\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\treturn result;\n\t\t}, [\n\t\t\thistory,\n\t\t\tisSiteEditor,\n\t\t\tcanCreateTemplate,\n\t\t\tcanCreatePatterns,\n\t\t\tisBlockBasedTheme,\n\t\t] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_htmlEntities","_lockUnlock","_orderEntityRecordsBySearch","useHistory","unlock","routerPrivateApis","icons","post","page","wp_template","layout","wp_registered_template","wp_template_part","symbolFilled","useDebouncedValue","value","debouncedValue","setDebouncedValue","useState","debounced","useDebounce","useEffect","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","canCreateTemplate","useSelect","select","coreStore","getCurrentTheme","is_block_theme","canUser","kind","name","delayedSearch","records","isLoading","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","id","searchLabel","title","rendered","label","decodeEntities","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","canCreatePatterns","styles","navigation","symbol","getGlobalStylesOpenCssCommands","useGlobalStylesOpenCssCommands","canEditCSS","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","brush","section","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\tbrush,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_registered_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, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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? decodeEntities( 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\t! canCreateTemplate ||\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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, 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 { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'read', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: templateType,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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! canCreateTemplate ||\n\t\t\t\t( ! isBlockBasedTheme && ! 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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\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: __( 'Go to: Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } =\n\t\t\tuseSelect( ( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t\tcanCreatePatterns: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_block',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t}, [] );\n\t\tconst commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\t// Go to Styles command\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Go to: Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Go to: Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Go to: Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\tif ( canCreatePatterns ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\t\tlabel: __( 'Go to: Patterns' ),\n\t\t\t\t\ticon: symbol,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If a user cannot access the site editor.\n\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t'edit.php?post_type=wp_block';\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\treturn result;\n\t\t}, [\n\t\t\thistory,\n\t\t\tisSiteEditor,\n\t\t\tcanCreateTemplate,\n\t\t\tcanCreatePatterns,\n\t\t\tisBlockBasedTheme,\n\t\t] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nconst getGlobalStylesOpenCssCommands = () =>\n\tfunction useGlobalStylesOpenCssCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t\t};\n\t\t}, [] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! canEditCSS ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/open-styles-css',\n\t\t\t\t\tlabel: __( 'Open custom CSS' ),\n\t\t\t\t\ticon: brush,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tclose();\n\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles?section=/css' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t\tsection: '/css',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ history, canEditCSS, isSiteEditor ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_registered_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\n\t\tcontext: 'site-editor',\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/global-styles-css',\n\t\thook: getGlobalStylesOpenCssCommands(),\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,47 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useCommandLoader } from '@wordpress/commands';
4
+ import { useCommandLoader, useCommands } from '@wordpress/commands';
5
5
  import { __, sprintf } from '@wordpress/i18n';
6
+ import { external } from '@wordpress/icons';
6
7
  import { useMemo } from '@wordpress/element';
7
- const getAdminNavigationCommands = menuCommands => function useAdminBasicNavigationCommands() {
8
+ import { store as coreStore } from '@wordpress/core-data';
9
+ import { useSelect } from '@wordpress/data';
10
+ const getViewSiteCommand = () => function useViewSiteCommand() {
11
+ const homeUrl = useSelect(select => {
12
+ // Site index.
13
+ return select(coreStore).getEntityRecord('root', '__unstableBase')?.home;
14
+ }, []);
15
+ const commands = useMemo(() => {
16
+ if (!homeUrl) {
17
+ return [];
18
+ }
19
+ return [{
20
+ name: 'core/view-site',
21
+ label: __('View site'),
22
+ icon: external,
23
+ callback: ({
24
+ close
25
+ }) => {
26
+ close();
27
+ window.open(homeUrl, '_blank');
28
+ }
29
+ }];
30
+ }, [homeUrl]);
31
+ return {
32
+ isLoading: false,
33
+ commands
34
+ };
35
+ };
36
+ export function useAdminNavigationCommands(menuCommands) {
8
37
  const commands = useMemo(() => {
9
38
  return (menuCommands !== null && menuCommands !== void 0 ? menuCommands : []).map(menuCommand => {
10
39
  const label = sprintf(/* translators: %s: menu label */
11
40
  __('Go to: %s'), menuCommand.label);
12
41
  return {
42
+ name: menuCommand.name,
13
43
  label,
14
44
  searchLabel: label,
15
- name: menuCommand.name,
16
- url: menuCommand.url,
17
45
  callback: ({
18
46
  close
19
47
  }) => {
@@ -22,16 +50,11 @@ const getAdminNavigationCommands = menuCommands => function useAdminBasicNavigat
22
50
  }
23
51
  };
24
52
  });
25
- }, []);
26
- return {
27
- commands,
28
- isLoading: false
29
- };
30
- };
31
- export function useAdminNavigationCommands(menuCommands) {
53
+ }, [menuCommands]);
54
+ useCommands(commands);
32
55
  useCommandLoader({
33
- name: 'core/admin-navigation',
34
- hook: getAdminNavigationCommands(menuCommands)
56
+ name: 'core/view-site',
57
+ hook: getViewSiteCommand()
35
58
  });
36
59
  }
37
60
  //# sourceMappingURL=admin-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCommandLoader","__","sprintf","useMemo","getAdminNavigationCommands","menuCommands","useAdminBasicNavigationCommands","commands","map","menuCommand","label","searchLabel","name","url","callback","close","document","location","isLoading","useAdminNavigationCommands","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\n\nconst getAdminNavigationCommands = ( menuCommands ) =>\n\tfunction useAdminBasicNavigationCommands() {\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( menuCommands ?? [] ).map( ( menuCommand ) => {\n\t\t\t\tconst label = sprintf(\n\t\t\t\t\t/* translators: %s: menu label */\n\t\t\t\t\t__( 'Go to: %s' ),\n\t\t\t\t\tmenuCommand.label\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tlabel,\n\t\t\t\t\tsearchLabel: label,\n\t\t\t\t\tname: menuCommand.name,\n\t\t\t\t\turl: menuCommand.url,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tdocument.location = menuCommand.url;\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}, [] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands( menuCommands ) {\n\tuseCommandLoader( {\n\t\tname: 'core/admin-navigation',\n\t\thook: getAdminNavigationCommands( menuCommands ),\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,MAAMC,0BAA0B,GAAKC,YAAY,IAChD,SAASC,+BAA+BA,CAAA,EAAG;EAC1C,MAAMC,QAAQ,GAAGJ,OAAO,CAAE,MAAM;IAC/B,OAAO,CAAEE,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,EAAE,EAAGG,GAAG,CAAIC,WAAW,IAAM;MACrD,MAAMC,KAAK,GAAGR,OAAO,CACpB;MACAD,EAAE,CAAE,WAAY,CAAC,EACjBQ,WAAW,CAACC,KACb,CAAC;MACD,OAAO;QACNA,KAAK;QACLC,WAAW,EAAED,KAAK;QAClBE,IAAI,EAAEH,WAAW,CAACG,IAAI;QACtBC,GAAG,EAAEJ,WAAW,CAACI,GAAG;QACpBC,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1BC,QAAQ,CAACC,QAAQ,GAAGR,WAAW,CAACI,GAAG;UACnCE,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,EAAG,CAAC;EAEP,OAAO;IACNR,QAAQ;IACRW,SAAS,EAAE;EACZ,CAAC;AACF,CAAC;AAEF,OAAO,SAASC,0BAA0BA,CAAEd,YAAY,EAAG;EAC1DL,gBAAgB,CAAE;IACjBY,IAAI,EAAE,uBAAuB;IAC7BQ,IAAI,EAAEhB,0BAA0B,CAAEC,YAAa;EAChD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["useCommandLoader","useCommands","__","sprintf","external","useMemo","store","coreStore","useSelect","getViewSiteCommand","useViewSiteCommand","homeUrl","select","getEntityRecord","home","commands","name","label","icon","callback","close","window","open","isLoading","useAdminNavigationCommands","menuCommands","map","menuCommand","searchLabel","document","location","url","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader, useCommands } from '@wordpress/commands';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { external } from '@wordpress/icons';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst getViewSiteCommand = () =>\n\tfunction useViewSiteCommand() {\n\t\tconst homeUrl = useSelect( ( select ) => {\n\t\t\t// Site index.\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'__unstableBase'\n\t\t\t)?.home;\n\t\t}, [] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! homeUrl ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/view-site',\n\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\ticon: external,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t\twindow.open( homeUrl, '_blank' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ homeUrl ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands( menuCommands ) {\n\tconst commands = useMemo( () => {\n\t\treturn ( menuCommands ?? [] ).map( ( menuCommand ) => {\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %s: menu label */\n\t\t\t\t__( 'Go to: %s' ),\n\t\t\t\tmenuCommand.label\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tname: menuCommand.name,\n\t\t\t\tlabel,\n\t\t\t\tsearchLabel: label,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tdocument.location = menuCommand.url;\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t};\n\t\t} );\n\t}, [ menuCommands ] );\n\tuseCommands( commands );\n\n\tuseCommandLoader( {\n\t\tname: 'core/view-site',\n\t\thook: getViewSiteCommand(),\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAgB,EAAEC,WAAW,QAAQ,qBAAqB;AACnE,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,kBAAkB,GAAGA,CAAA,KAC1B,SAASC,kBAAkBA,CAAA,EAAG;EAC7B,MAAMC,OAAO,GAAGH,SAAS,CAAII,MAAM,IAAM;IACxC;IACA,OAAOA,MAAM,CAAEL,SAAU,CAAC,CAACM,eAAe,CACzC,MAAM,EACN,gBACD,CAAC,EAAEC,IAAI;EACR,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,QAAQ,GAAGV,OAAO,CAAE,MAAM;IAC/B,IAAK,CAAEM,OAAO,EAAG;MAChB,OAAO,EAAE;IACV;IAEA,OAAO,CACN;MACCK,IAAI,EAAE,gBAAgB;MACtBC,KAAK,EAAEf,EAAE,CAAE,WAAY,CAAC;MACxBgB,IAAI,EAAEd,QAAQ;MACde,QAAQ,EAAEA,CAAE;QAAEC;MAAM,CAAC,KAAM;QAC1BA,KAAK,CAAC,CAAC;QACPC,MAAM,CAACC,IAAI,CAAEX,OAAO,EAAE,QAAS,CAAC;MACjC;IACD,CAAC,CACD;EACF,CAAC,EAAE,CAAEA,OAAO,CAAG,CAAC;EAEhB,OAAO;IACNY,SAAS,EAAE,KAAK;IAChBR;EACD,CAAC;AACF,CAAC;AAEF,OAAO,SAASS,0BAA0BA,CAAEC,YAAY,EAAG;EAC1D,MAAMV,QAAQ,GAAGV,OAAO,CAAE,MAAM;IAC/B,OAAO,CAAEoB,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,EAAE,EAAGC,GAAG,CAAIC,WAAW,IAAM;MACrD,MAAMV,KAAK,GAAGd,OAAO,CACpB;MACAD,EAAE,CAAE,WAAY,CAAC,EACjByB,WAAW,CAACV,KACb,CAAC;MACD,OAAO;QACND,IAAI,EAAEW,WAAW,CAACX,IAAI;QACtBC,KAAK;QACLW,WAAW,EAAEX,KAAK;QAClBE,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1BS,QAAQ,CAACC,QAAQ,GAAGH,WAAW,CAACI,GAAG;UACnCX,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEK,YAAY,CAAG,CAAC;EACrBxB,WAAW,CAAEc,QAAS,CAAC;EAEvBf,gBAAgB,CAAE;IACjBgB,IAAI,EAAE,gBAAgB;IACtBgB,IAAI,EAAEvB,kBAAkB,CAAC;EAC1B,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -6,7 +6,7 @@ import { __ } from '@wordpress/i18n';
6
6
  import { useMemo, useEffect, useState } from '@wordpress/element';
7
7
  import { useSelect } from '@wordpress/data';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
- import { post, page, layout, symbol, symbolFilled, styles, navigation } from '@wordpress/icons';
9
+ import { post, page, layout, symbol, symbolFilled, styles, navigation, brush } from '@wordpress/icons';
10
10
  import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  import { addQueryArgs, getPath } from '@wordpress/url';
12
12
  import { useDebounce } from '@wordpress/compose';
@@ -24,6 +24,7 @@ const icons = {
24
24
  post,
25
25
  page,
26
26
  wp_template: layout,
27
+ wp_registered_template: layout,
27
28
  wp_template_part: symbolFilled
28
29
  };
29
30
  function useDebouncedValue(value) {
@@ -130,7 +131,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
130
131
  } = useSelect(select => {
131
132
  return {
132
133
  isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
133
- canCreateTemplate: select(coreStore).canUser('create', {
134
+ canCreateTemplate: select(coreStore).canUser('read', {
134
135
  kind: 'postType',
135
136
  name: templateType
136
137
  })
@@ -190,7 +191,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
190
191
  if (orderedRecords?.length > 0 && templateType === 'wp_template_part') {
191
192
  result.push({
192
193
  name: 'core/edit-site/open-template-parts',
193
- label: __('Template parts'),
194
+ label: __('Go to: Template parts'),
194
195
  icon: symbolFilled,
195
196
  callback: ({
196
197
  close
@@ -238,9 +239,10 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
238
239
  const commands = useMemo(() => {
239
240
  const result = [];
240
241
  if (canCreateTemplate && isBlockBasedTheme) {
242
+ // Go to Styles command
241
243
  result.push({
242
244
  name: 'core/edit-site/open-styles',
243
- label: __('Styles'),
245
+ label: __('Go to: Styles'),
244
246
  icon: styles,
245
247
  callback: ({
246
248
  close
@@ -257,7 +259,7 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
257
259
  });
258
260
  result.push({
259
261
  name: 'core/edit-site/open-navigation',
260
- label: __('Navigation'),
262
+ label: __('Go to: Navigation'),
261
263
  icon: navigation,
262
264
  callback: ({
263
265
  close
@@ -272,26 +274,9 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
272
274
  close();
273
275
  }
274
276
  });
275
- result.push({
276
- name: 'core/edit-site/open-pages',
277
- label: __('Pages'),
278
- icon: page,
279
- callback: ({
280
- close
281
- }) => {
282
- if (isSiteEditor) {
283
- history.navigate('/page');
284
- } else {
285
- document.location = addQueryArgs('site-editor.php', {
286
- p: '/page'
287
- });
288
- }
289
- close();
290
- }
291
- });
292
277
  result.push({
293
278
  name: 'core/edit-site/open-templates',
294
- label: __('Templates'),
279
+ label: __('Go to: Templates'),
295
280
  icon: layout,
296
281
  callback: ({
297
282
  close
@@ -310,7 +295,7 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
310
295
  if (canCreatePatterns) {
311
296
  result.push({
312
297
  name: 'core/edit-site/open-patterns',
313
- label: __('Patterns'),
298
+ label: __('Go to: Patterns'),
314
299
  icon: symbol,
315
300
  callback: ({
316
301
  close
@@ -325,7 +310,7 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
325
310
  }
326
311
  close();
327
312
  } else {
328
- // If a user cannot access the site editor
313
+ // If a user cannot access the site editor.
329
314
  document.location.href = 'edit.php?post_type=wp_block';
330
315
  }
331
316
  }
@@ -338,6 +323,50 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
338
323
  isLoading: false
339
324
  };
340
325
  };
326
+ const getGlobalStylesOpenCssCommands = () => function useGlobalStylesOpenCssCommands() {
327
+ const history = useHistory();
328
+ const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
329
+ const {
330
+ canEditCSS
331
+ } = useSelect(select => {
332
+ const {
333
+ getEntityRecord,
334
+ __experimentalGetCurrentGlobalStylesId
335
+ } = select(coreStore);
336
+ const globalStylesId = __experimentalGetCurrentGlobalStylesId();
337
+ const globalStyles = globalStylesId ? getEntityRecord('root', 'globalStyles', globalStylesId) : undefined;
338
+ return {
339
+ canEditCSS: !!globalStyles?._links?.['wp:action-edit-css']
340
+ };
341
+ }, []);
342
+ const commands = useMemo(() => {
343
+ if (!canEditCSS) {
344
+ return [];
345
+ }
346
+ return [{
347
+ name: 'core/open-styles-css',
348
+ label: __('Open custom CSS'),
349
+ icon: brush,
350
+ callback: ({
351
+ close
352
+ }) => {
353
+ close();
354
+ if (isSiteEditor) {
355
+ history.navigate('/styles?section=/css');
356
+ } else {
357
+ document.location = addQueryArgs('site-editor.php', {
358
+ p: '/styles',
359
+ section: '/css'
360
+ });
361
+ }
362
+ }
363
+ }];
364
+ }, [history, canEditCSS, isSiteEditor]);
365
+ return {
366
+ isLoading: false,
367
+ commands
368
+ };
369
+ };
341
370
  export function useSiteEditorNavigationCommands() {
342
371
  useCommandLoader({
343
372
  name: 'core/edit-site/navigate-pages',
@@ -351,6 +380,10 @@ export function useSiteEditorNavigationCommands() {
351
380
  name: 'core/edit-site/navigate-templates',
352
381
  hook: getNavigationCommandLoaderPerTemplate('wp_template')
353
382
  });
383
+ useCommandLoader({
384
+ name: 'core/edit-site/navigate-templates',
385
+ hook: getNavigationCommandLoaderPerTemplate('wp_registered_template')
386
+ });
354
387
  useCommandLoader({
355
388
  name: 'core/edit-site/navigate-template-parts',
356
389
  hook: getNavigationCommandLoaderPerTemplate('wp_template_part')
@@ -360,5 +393,9 @@ export function useSiteEditorNavigationCommands() {
360
393
  hook: getSiteEditorBasicNavigationCommands(),
361
394
  context: 'site-editor'
362
395
  });
396
+ useCommandLoader({
397
+ name: 'core/edit-site/global-styles-css',
398
+ hook: getGlobalStylesOpenCssCommands()
399
+ });
363
400
  }
364
401
  //# sourceMappingURL=site-editor-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCommandLoader","__","useMemo","useEffect","useState","useSelect","store","coreStore","post","page","layout","symbol","symbolFilled","styles","navigation","privateApis","routerPrivateApis","addQueryArgs","getPath","useDebounce","decodeEntities","unlock","orderEntityRecordsBySearch","useHistory","icons","wp_template","wp_template_part","useDebouncedValue","value","debouncedValue","setDebouncedValue","debounced","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","canCreateTemplate","select","getCurrentTheme","is_block_theme","canUser","kind","name","delayedSearch","records","isLoading","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","map","record","command","id","searchLabel","title","rendered","label","icon","callback","close","args","action","targetUrl","document","location","isSiteEditor","window","href","includes","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","canCreatePatterns","useSiteEditorNavigationCommands","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 { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = 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, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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? decodeEntities( 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\t! canCreateTemplate ||\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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, 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 { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: templateType,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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! canCreateTemplate ||\n\t\t\t\t( ! isBlockBasedTheme && ! 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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } =\n\t\t\tuseSelect( ( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t\tcanCreatePatterns: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_block',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t}, [] );\n\t\tconst commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\t\ticon: page,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/page' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/page',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( canCreatePatterns ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\t\tlabel: __( 'Patterns' ),\n\t\t\t\t\ticon: symbol,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t'edit.php?post_type=wp_block';\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\treturn result;\n\t\t}, [\n\t\t\thistory,\n\t\t\tisSiteEditor,\n\t\t\tcanCreateTemplate,\n\t\t\tcanCreatePatterns,\n\t\t\tisBlockBasedTheme,\n\t\t] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCommandLoader","__","useMemo","useEffect","useState","useSelect","store","coreStore","post","page","layout","symbol","symbolFilled","styles","navigation","brush","privateApis","routerPrivateApis","addQueryArgs","getPath","useDebounce","decodeEntities","unlock","orderEntityRecordsBySearch","useHistory","icons","wp_template","wp_registered_template","wp_template_part","useDebouncedValue","value","debouncedValue","setDebouncedValue","debounced","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","canCreateTemplate","select","getCurrentTheme","is_block_theme","canUser","kind","name","delayedSearch","records","isLoading","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","map","record","command","id","searchLabel","title","rendered","label","icon","callback","close","args","action","targetUrl","document","location","isSiteEditor","window","href","includes","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","canCreatePatterns","getGlobalStylesOpenCssCommands","useGlobalStylesOpenCssCommands","canEditCSS","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","section","useSiteEditorNavigationCommands","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\tbrush,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_registered_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, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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? decodeEntities( 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\t! canCreateTemplate ||\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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, 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 { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'read', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: templateType,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\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! canCreateTemplate ||\n\t\t\t\t( ! isBlockBasedTheme && ! 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\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\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: __( 'Go to: Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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}, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } =\n\t\t\tuseSelect( ( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t\tcanCreatePatterns: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_block',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t}, [] );\n\t\tconst commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\t// Go to Styles command\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Go to: Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Go to: Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Go to: Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\tif ( canCreatePatterns ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\t\tlabel: __( 'Go to: Patterns' ),\n\t\t\t\t\ticon: symbol,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If a user cannot access the site editor.\n\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t'edit.php?post_type=wp_block';\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\treturn result;\n\t\t}, [\n\t\t\thistory,\n\t\t\tisSiteEditor,\n\t\t\tcanCreateTemplate,\n\t\t\tcanCreatePatterns,\n\t\t\tisBlockBasedTheme,\n\t\t] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nconst getGlobalStylesOpenCssCommands = () =>\n\tfunction useGlobalStylesOpenCssCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t\t};\n\t\t}, [] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! canEditCSS ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/open-styles-css',\n\t\t\t\t\tlabel: __( 'Open custom CSS' ),\n\t\t\t\t\ticon: brush,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tclose();\n\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles?section=/css' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t\tsection: '/css',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ history, canEditCSS, isSiteEditor ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_registered_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\n\t\tcontext: 'site-editor',\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/global-styles-css',\n\t\thook: getGlobalStylesOpenCssCommands(),\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/core-commands",
3
- "version": "1.30.1-next.836ecdcae.0",
3
+ "version": "1.31.0",
4
4
  "description": "WordPress core reusable commands.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -29,19 +29,19 @@
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
31
  "@babel/runtime": "7.25.7",
32
- "@wordpress/block-editor": "^15.3.1-next.836ecdcae.0",
33
- "@wordpress/commands": "^1.30.1-next.836ecdcae.0",
34
- "@wordpress/compose": "^7.30.1-next.836ecdcae.0",
35
- "@wordpress/core-data": "^7.30.1-next.836ecdcae.0",
36
- "@wordpress/data": "^10.30.1-next.836ecdcae.0",
37
- "@wordpress/element": "^6.30.1-next.836ecdcae.0",
38
- "@wordpress/html-entities": "^4.30.1-next.836ecdcae.0",
39
- "@wordpress/i18n": "^6.3.1-next.836ecdcae.0",
40
- "@wordpress/icons": "^10.30.1-next.836ecdcae.0",
41
- "@wordpress/notices": "^5.30.1-next.836ecdcae.0",
42
- "@wordpress/private-apis": "^1.30.1-next.836ecdcae.0",
43
- "@wordpress/router": "^1.30.1-next.836ecdcae.0",
44
- "@wordpress/url": "^4.30.1-next.836ecdcae.0"
32
+ "@wordpress/block-editor": "^15.4.0",
33
+ "@wordpress/commands": "^1.31.0",
34
+ "@wordpress/compose": "^7.31.0",
35
+ "@wordpress/core-data": "^7.31.0",
36
+ "@wordpress/data": "^10.31.0",
37
+ "@wordpress/element": "^6.31.0",
38
+ "@wordpress/html-entities": "^4.31.0",
39
+ "@wordpress/i18n": "^6.4.0",
40
+ "@wordpress/icons": "^10.31.0",
41
+ "@wordpress/notices": "^5.31.0",
42
+ "@wordpress/private-apis": "^1.31.0",
43
+ "@wordpress/router": "^1.31.0",
44
+ "@wordpress/url": "^4.31.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "react": "^18.0.0",
@@ -50,5 +50,5 @@
50
50
  "publishConfig": {
51
51
  "access": "public"
52
52
  },
53
- "gitHead": "3e60b4c1e78d7b27acbf1d7dd172bbd64358a0f2"
53
+ "gitHead": "d7601d30d49462ea942168e8ab6bf449fb93097e"
54
54
  }
@@ -1,41 +1,70 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useCommandLoader } from '@wordpress/commands';
4
+ import { useCommandLoader, useCommands } from '@wordpress/commands';
5
5
  import { __, sprintf } from '@wordpress/i18n';
6
+ import { external } from '@wordpress/icons';
6
7
  import { useMemo } from '@wordpress/element';
8
+ import { store as coreStore } from '@wordpress/core-data';
9
+ import { useSelect } from '@wordpress/data';
10
+
11
+ const getViewSiteCommand = () =>
12
+ function useViewSiteCommand() {
13
+ const homeUrl = useSelect( ( select ) => {
14
+ // Site index.
15
+ return select( coreStore ).getEntityRecord(
16
+ 'root',
17
+ '__unstableBase'
18
+ )?.home;
19
+ }, [] );
7
20
 
8
- const getAdminNavigationCommands = ( menuCommands ) =>
9
- function useAdminBasicNavigationCommands() {
10
21
  const commands = useMemo( () => {
11
- return ( menuCommands ?? [] ).map( ( menuCommand ) => {
12
- const label = sprintf(
13
- /* translators: %s: menu label */
14
- __( 'Go to: %s' ),
15
- menuCommand.label
16
- );
17
- return {
18
- label,
19
- searchLabel: label,
20
- name: menuCommand.name,
21
- url: menuCommand.url,
22
+ if ( ! homeUrl ) {
23
+ return [];
24
+ }
25
+
26
+ return [
27
+ {
28
+ name: 'core/view-site',
29
+ label: __( 'View site' ),
30
+ icon: external,
22
31
  callback: ( { close } ) => {
23
- document.location = menuCommand.url;
24
32
  close();
33
+ window.open( homeUrl, '_blank' );
25
34
  },
26
- };
27
- } );
28
- }, [] );
35
+ },
36
+ ];
37
+ }, [ homeUrl ] );
29
38
 
30
39
  return {
31
- commands,
32
40
  isLoading: false,
41
+ commands,
33
42
  };
34
43
  };
35
44
 
36
45
  export function useAdminNavigationCommands( menuCommands ) {
46
+ const commands = useMemo( () => {
47
+ return ( menuCommands ?? [] ).map( ( menuCommand ) => {
48
+ const label = sprintf(
49
+ /* translators: %s: menu label */
50
+ __( 'Go to: %s' ),
51
+ menuCommand.label
52
+ );
53
+ return {
54
+ name: menuCommand.name,
55
+ label,
56
+ searchLabel: label,
57
+ callback: ( { close } ) => {
58
+ document.location = menuCommand.url;
59
+ close();
60
+ },
61
+ };
62
+ } );
63
+ }, [ menuCommands ] );
64
+ useCommands( commands );
65
+
37
66
  useCommandLoader( {
38
- name: 'core/admin-navigation',
39
- hook: getAdminNavigationCommands( menuCommands ),
67
+ name: 'core/view-site',
68
+ hook: getViewSiteCommand(),
40
69
  } );
41
70
  }
@@ -14,6 +14,7 @@ import {
14
14
  symbolFilled,
15
15
  styles,
16
16
  navigation,
17
+ brush,
17
18
  } from '@wordpress/icons';
18
19
  import { privateApis as routerPrivateApis } from '@wordpress/router';
19
20
  import { addQueryArgs, getPath } from '@wordpress/url';
@@ -32,6 +33,7 @@ const icons = {
32
33
  post,
33
34
  page,
34
35
  wp_template: layout,
36
+ wp_registered_template: layout,
35
37
  wp_template_part: symbolFilled,
36
38
  };
37
39
 
@@ -169,7 +171,7 @@ const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
169
171
  return {
170
172
  isBlockBasedTheme:
171
173
  select( coreStore ).getCurrentTheme()?.is_block_theme,
172
- canCreateTemplate: select( coreStore ).canUser( 'create', {
174
+ canCreateTemplate: select( coreStore ).canUser( 'read', {
173
175
  kind: 'postType',
174
176
  name: templateType,
175
177
  } ),
@@ -244,7 +246,7 @@ const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
244
246
  ) {
245
247
  result.push( {
246
248
  name: 'core/edit-site/open-template-parts',
247
- label: __( 'Template parts' ),
249
+ label: __( 'Go to: Template parts' ),
248
250
  icon: symbolFilled,
249
251
  callback: ( { close } ) => {
250
252
  if ( isSiteEditor ) {
@@ -299,9 +301,10 @@ const getSiteEditorBasicNavigationCommands = () =>
299
301
  const result = [];
300
302
 
301
303
  if ( canCreateTemplate && isBlockBasedTheme ) {
304
+ // Go to Styles command
302
305
  result.push( {
303
306
  name: 'core/edit-site/open-styles',
304
- label: __( 'Styles' ),
307
+ label: __( 'Go to: Styles' ),
305
308
  icon: styles,
306
309
  callback: ( { close } ) => {
307
310
  if ( isSiteEditor ) {
@@ -320,7 +323,7 @@ const getSiteEditorBasicNavigationCommands = () =>
320
323
 
321
324
  result.push( {
322
325
  name: 'core/edit-site/open-navigation',
323
- label: __( 'Navigation' ),
326
+ label: __( 'Go to: Navigation' ),
324
327
  icon: navigation,
325
328
  callback: ( { close } ) => {
326
329
  if ( isSiteEditor ) {
@@ -337,28 +340,9 @@ const getSiteEditorBasicNavigationCommands = () =>
337
340
  },
338
341
  } );
339
342
 
340
- result.push( {
341
- name: 'core/edit-site/open-pages',
342
- label: __( 'Pages' ),
343
- icon: page,
344
- callback: ( { close } ) => {
345
- if ( isSiteEditor ) {
346
- history.navigate( '/page' );
347
- } else {
348
- document.location = addQueryArgs(
349
- 'site-editor.php',
350
- {
351
- p: '/page',
352
- }
353
- );
354
- }
355
- close();
356
- },
357
- } );
358
-
359
343
  result.push( {
360
344
  name: 'core/edit-site/open-templates',
361
- label: __( 'Templates' ),
345
+ label: __( 'Go to: Templates' ),
362
346
  icon: layout,
363
347
  callback: ( { close } ) => {
364
348
  if ( isSiteEditor ) {
@@ -375,10 +359,11 @@ const getSiteEditorBasicNavigationCommands = () =>
375
359
  },
376
360
  } );
377
361
  }
362
+
378
363
  if ( canCreatePatterns ) {
379
364
  result.push( {
380
365
  name: 'core/edit-site/open-patterns',
381
- label: __( 'Patterns' ),
366
+ label: __( 'Go to: Patterns' ),
382
367
  icon: symbol,
383
368
  callback: ( { close } ) => {
384
369
  if ( canCreateTemplate ) {
@@ -394,7 +379,7 @@ const getSiteEditorBasicNavigationCommands = () =>
394
379
  }
395
380
  close();
396
381
  } else {
397
- // If a user cannot access the site editor
382
+ // If a user cannot access the site editor.
398
383
  document.location.href =
399
384
  'edit.php?post_type=wp_block';
400
385
  }
@@ -417,6 +402,61 @@ const getSiteEditorBasicNavigationCommands = () =>
417
402
  };
418
403
  };
419
404
 
405
+ const getGlobalStylesOpenCssCommands = () =>
406
+ function useGlobalStylesOpenCssCommands() {
407
+ const history = useHistory();
408
+ const isSiteEditor = getPath( window.location.href )?.includes(
409
+ 'site-editor.php'
410
+ );
411
+ const { canEditCSS } = useSelect( ( select ) => {
412
+ const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
413
+ select( coreStore );
414
+
415
+ const globalStylesId = __experimentalGetCurrentGlobalStylesId();
416
+ const globalStyles = globalStylesId
417
+ ? getEntityRecord( 'root', 'globalStyles', globalStylesId )
418
+ : undefined;
419
+
420
+ return {
421
+ canEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],
422
+ };
423
+ }, [] );
424
+
425
+ const commands = useMemo( () => {
426
+ if ( ! canEditCSS ) {
427
+ return [];
428
+ }
429
+
430
+ return [
431
+ {
432
+ name: 'core/open-styles-css',
433
+ label: __( 'Open custom CSS' ),
434
+ icon: brush,
435
+ callback: ( { close } ) => {
436
+ close();
437
+
438
+ if ( isSiteEditor ) {
439
+ history.navigate( '/styles?section=/css' );
440
+ } else {
441
+ document.location = addQueryArgs(
442
+ 'site-editor.php',
443
+ {
444
+ p: '/styles',
445
+ section: '/css',
446
+ }
447
+ );
448
+ }
449
+ },
450
+ },
451
+ ];
452
+ }, [ history, canEditCSS, isSiteEditor ] );
453
+
454
+ return {
455
+ isLoading: false,
456
+ commands,
457
+ };
458
+ };
459
+
420
460
  export function useSiteEditorNavigationCommands() {
421
461
  useCommandLoader( {
422
462
  name: 'core/edit-site/navigate-pages',
@@ -430,6 +470,10 @@ export function useSiteEditorNavigationCommands() {
430
470
  name: 'core/edit-site/navigate-templates',
431
471
  hook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),
432
472
  } );
473
+ useCommandLoader( {
474
+ name: 'core/edit-site/navigate-templates',
475
+ hook: getNavigationCommandLoaderPerTemplate( 'wp_registered_template' ),
476
+ } );
433
477
  useCommandLoader( {
434
478
  name: 'core/edit-site/navigate-template-parts',
435
479
  hook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),
@@ -439,4 +483,8 @@ export function useSiteEditorNavigationCommands() {
439
483
  hook: getSiteEditorBasicNavigationCommands(),
440
484
  context: 'site-editor',
441
485
  } );
486
+ useCommandLoader( {
487
+ name: 'core/edit-site/global-styles-css',
488
+ hook: getGlobalStylesOpenCssCommands(),
489
+ } );
442
490
  }