@wordpress/core-commands 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.27.0 (2024-05-16)
6
+
5
7
  ## 0.26.0 (2024-05-02)
6
8
 
7
9
  ## 0.25.0 (2024-04-19)
@@ -7,25 +7,11 @@ exports.useAdminNavigationCommands = useAdminNavigationCommands;
7
7
  var _commands = require("@wordpress/commands");
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _icons = require("@wordpress/icons");
10
- var _url = require("@wordpress/url");
11
- var _router = require("@wordpress/router");
12
- var _hooks = require("./hooks");
13
- var _lockUnlock = require("./lock-unlock");
14
10
  /**
15
11
  * WordPress dependencies
16
12
  */
17
13
 
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
- const {
23
- useHistory
24
- } = (0, _lockUnlock.unlock)(_router.privateApis);
25
14
  function useAdminNavigationCommands() {
26
- const history = useHistory();
27
- const isTemplatesAccessible = (0, _hooks.useIsTemplatesAccessible)();
28
- const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
29
15
  (0, _commands.useCommand)({
30
16
  name: 'core/add-new-post',
31
17
  label: (0, _i18n.__)('Add new post'),
@@ -42,31 +28,5 @@ function useAdminNavigationCommands() {
42
28
  document.location.href = 'post-new.php?post_type=page';
43
29
  }
44
30
  });
45
- (0, _commands.useCommand)({
46
- name: 'core/manage-reusable-blocks',
47
- label: (0, _i18n.__)('Patterns'),
48
- icon: _icons.symbol,
49
- callback: ({
50
- close
51
- }) => {
52
- // The site editor and templates both check whether the user
53
- // can read templates. We can leverage that here and this
54
- // command links to the classic dashboard manage patterns page
55
- // if the user can't access it.
56
- if (isTemplatesAccessible) {
57
- const args = {
58
- path: '/patterns'
59
- };
60
- if (isSiteEditor) {
61
- history.push(args);
62
- } else {
63
- document.location = (0, _url.addQueryArgs)('site-editor.php', args);
64
- }
65
- close();
66
- } else {
67
- document.location.href = 'edit.php?post_type=wp_block';
68
- }
69
- }
70
- });
71
31
  }
72
32
  //# sourceMappingURL=admin-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_icons","_url","_router","_hooks","_lockUnlock","useHistory","unlock","routerPrivateApis","useAdminNavigationCommands","history","isTemplatesAccessible","useIsTemplatesAccessible","isSiteEditor","getPath","window","location","href","includes","useCommand","name","label","__","icon","plus","callback","document","symbol","close","args","path","push","addQueryArgs"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, symbol } from '@wordpress/icons';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useIsTemplatesAccessible } from './hooks';\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useAdminNavigationCommands() {\n\tconst history = useHistory();\n\tconst isTemplatesAccessible = useIsTemplatesAccessible();\n\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/manage-reusable-blocks',\n\t\tlabel: __( 'Patterns' ),\n\t\ticon: symbol,\n\t\tcallback: ( { close } ) => {\n\t\t\t// The site editor and templates both check whether the user\n\t\t\t// can read templates. We can leverage that here and this\n\t\t\t// command links to the classic dashboard manage patterns page\n\t\t\t// if the user can't access it.\n\t\t\tif ( isTemplatesAccessible ) {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/patterns',\n\t\t\t\t};\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAbA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,MAAM;EAAEO;AAAW,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAE3C,SAASC,0BAA0BA,CAAA,EAAG;EAC5C,MAAMC,OAAO,GAAGJ,UAAU,CAAC,CAAC;EAC5B,MAAMK,qBAAqB,GAAG,IAAAC,+BAAwB,EAAC,CAAC;EAExD,MAAMC,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EAED,IAAAC,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACV,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACH,IAAAE,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACV,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;EACH,IAAAE,oBAAU,EAAE;IACXC,IAAI,EAAE,6BAA6B;IACnCC,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;IACvBC,IAAI,EAAEI,aAAM;IACZF,QAAQ,EAAEA,CAAE;MAAEG;IAAM,CAAC,KAAM;MAC1B;MACA;MACA;MACA;MACA,IAAKjB,qBAAqB,EAAG;QAC5B,MAAMkB,IAAI,GAAG;UACZC,IAAI,EAAE;QACP,CAAC;QACD,IAAKjB,YAAY,EAAG;UACnBH,OAAO,CAACqB,IAAI,CAAEF,IAAK,CAAC;QACrB,CAAC,MAAM;UACNH,QAAQ,CAACV,QAAQ,GAAG,IAAAgB,iBAAY,EAAE,iBAAiB,EAAEH,IAAK,CAAC;QAC5D;QACAD,KAAK,CAAC,CAAC;MACR,CAAC,MAAM;QACNF,QAAQ,CAACV,QAAQ,CAACC,IAAI,GAAG,6BAA6B;MACvD;IACD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_icons","useAdminNavigationCommands","useCommand","name","label","__","icon","plus","callback","document","location","href"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\n\nexport function useAdminNavigationCommands() {\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKO,SAASG,0BAA0BA,CAAA,EAAG;EAC5C,IAAAC,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACH,IAAAT,oBAAU,EAAE;IACXC,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IAC3BC,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
package/build/hooks.js CHANGED
@@ -4,16 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useIsBlockBasedTheme = useIsBlockBasedTheme;
7
- exports.useIsTemplatesAccessible = useIsTemplatesAccessible;
8
7
  var _coreData = require("@wordpress/core-data");
9
8
  var _data = require("@wordpress/data");
10
9
  /**
11
10
  * WordPress dependencies
12
11
  */
13
12
 
14
- function useIsTemplatesAccessible() {
15
- return (0, _data.useSelect)(select => select(_coreData.store).canUser('read', 'templates'), []);
16
- }
17
13
  function useIsBlockBasedTheme() {
18
14
  return (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme()?.is_block_theme, []);
19
15
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_data","useIsTemplatesAccessible","useSelect","select","coreStore","canUser","useIsBlockBasedTheme","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsTemplatesAccessible() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).canUser( 'read', 'templates' ),\n\t\t[]\n\t);\n}\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIO,SAASE,wBAAwBA,CAAA,EAAG;EAC1C,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,EAChE,EACD,CAAC;AACF;AAEO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAO,IAAAJ,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,eAAU,CAAC,CAACG,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_data","useIsBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIO,SAASE,oBAAoBA,CAAA,EAAG;EACtC,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
@@ -159,8 +159,9 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
159
159
  if (!isBlockBasedTheme && !templateType === 'wp_template_part') {
160
160
  return [];
161
161
  }
162
- return orderedRecords.map(record => {
163
- const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
162
+ const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
163
+ const result = [];
164
+ result.push(...orderedRecords.map(record => {
164
165
  const extraArgs = isSiteEditor ? {
165
166
  canvas: (0, _url.getQueryArg)(window.location.href, 'canvas')
166
167
  } : {};
@@ -187,7 +188,31 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
187
188
  close();
188
189
  }
189
190
  };
190
- });
191
+ }));
192
+ if (orderedRecords?.length > 0 && templateType === 'wp_template_part') {
193
+ result.push({
194
+ name: 'core/edit-site/open-template-parts',
195
+ label: (0, _i18n.__)('Template parts'),
196
+ icon: _icons.symbolFilled,
197
+ callback: ({
198
+ close
199
+ }) => {
200
+ const args = {
201
+ path: '/patterns',
202
+ categoryType: 'wp_template_part',
203
+ categoryId: 'all-parts'
204
+ };
205
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
206
+ if (isSiteEditor) {
207
+ history.push(args);
208
+ } else {
209
+ document.location = targetUrl;
210
+ }
211
+ close();
212
+ }
213
+ });
214
+ }
215
+ return result;
191
216
  }, [isBlockBasedTheme, orderedRecords, history]);
192
217
  return {
193
218
  commands,
@@ -201,91 +226,116 @@ const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemp
201
226
  function useSiteEditorBasicNavigationCommands() {
202
227
  const history = useHistory();
203
228
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
204
- const isTemplatesAccessible = (0, _hooks.useIsTemplatesAccessible)();
229
+ const canCreateTemplate = (0, _data.useSelect)(select => {
230
+ return select(_coreData.store).canUser('create', 'templates');
231
+ }, []);
205
232
  const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
206
233
  const commands = (0, _element.useMemo)(() => {
207
234
  const result = [];
208
- if (!isTemplatesAccessible || !isBlockBasedTheme) {
209
- return result;
210
- }
211
- result.push({
212
- name: 'core/edit-site/open-navigation',
213
- label: (0, _i18n.__)('Navigation'),
214
- icon: _icons.navigation,
215
- callback: ({
216
- close
217
- }) => {
218
- const args = {
219
- path: '/navigation'
220
- };
221
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
222
- if (isSiteEditor) {
223
- history.push(args);
224
- } else {
225
- document.location = targetUrl;
235
+ if (canCreateTemplate && isBlockBasedTheme) {
236
+ result.push({
237
+ name: 'core/edit-site/open-navigation',
238
+ label: (0, _i18n.__)('Navigation'),
239
+ icon: _icons.navigation,
240
+ callback: ({
241
+ close
242
+ }) => {
243
+ const args = {
244
+ path: '/navigation'
245
+ };
246
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
247
+ if (isSiteEditor) {
248
+ history.push(args);
249
+ } else {
250
+ document.location = targetUrl;
251
+ }
252
+ close();
226
253
  }
227
- close();
228
- }
229
- });
230
- result.push({
231
- name: 'core/edit-site/open-styles',
232
- label: (0, _i18n.__)('Styles'),
233
- icon: _icons.styles,
234
- callback: ({
235
- close
236
- }) => {
237
- const args = {
238
- path: '/wp_global_styles'
239
- };
240
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
241
- if (isSiteEditor) {
242
- history.push(args);
243
- } else {
244
- document.location = targetUrl;
254
+ });
255
+ result.push({
256
+ name: 'core/edit-site/open-styles',
257
+ label: (0, _i18n.__)('Styles'),
258
+ icon: _icons.styles,
259
+ callback: ({
260
+ close
261
+ }) => {
262
+ const args = {
263
+ path: '/wp_global_styles'
264
+ };
265
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
266
+ if (isSiteEditor) {
267
+ history.push(args);
268
+ } else {
269
+ document.location = targetUrl;
270
+ }
271
+ close();
245
272
  }
246
- close();
247
- }
248
- });
249
- result.push({
250
- name: 'core/edit-site/open-pages',
251
- label: (0, _i18n.__)('Pages'),
252
- icon: _icons.page,
253
- callback: ({
254
- close
255
- }) => {
256
- const args = {
257
- path: '/page'
258
- };
259
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
260
- if (isSiteEditor) {
261
- history.push(args);
262
- } else {
263
- document.location = targetUrl;
273
+ });
274
+ result.push({
275
+ name: 'core/edit-site/open-pages',
276
+ label: (0, _i18n.__)('Pages'),
277
+ icon: _icons.page,
278
+ callback: ({
279
+ close
280
+ }) => {
281
+ const args = {
282
+ path: '/page'
283
+ };
284
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
285
+ if (isSiteEditor) {
286
+ history.push(args);
287
+ } else {
288
+ document.location = targetUrl;
289
+ }
290
+ close();
264
291
  }
265
- close();
266
- }
267
- });
292
+ });
293
+ result.push({
294
+ name: 'core/edit-site/open-templates',
295
+ label: (0, _i18n.__)('Templates'),
296
+ icon: _icons.layout,
297
+ callback: ({
298
+ close
299
+ }) => {
300
+ const args = {
301
+ path: '/wp_template'
302
+ };
303
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
304
+ if (isSiteEditor) {
305
+ history.push(args);
306
+ } else {
307
+ document.location = targetUrl;
308
+ }
309
+ close();
310
+ }
311
+ });
312
+ }
268
313
  result.push({
269
- name: 'core/edit-site/open-templates',
270
- label: (0, _i18n.__)('Templates'),
271
- icon: _icons.layout,
314
+ name: 'core/edit-site/open-patterns',
315
+ label: (0, _i18n.__)('Patterns'),
316
+ icon: _icons.symbol,
272
317
  callback: ({
273
318
  close
274
319
  }) => {
275
- const args = {
276
- path: '/wp_template'
277
- };
278
- const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
279
- if (isSiteEditor) {
280
- history.push(args);
320
+ if (canCreateTemplate) {
321
+ const args = {
322
+ path: '/patterns'
323
+ };
324
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
325
+ if (isSiteEditor) {
326
+ history.push(args);
327
+ } else {
328
+ document.location = targetUrl;
329
+ }
330
+ close();
281
331
  } else {
282
- document.location = targetUrl;
332
+ // If a user cannot access the site editor
333
+ document.location.href = 'edit.php?post_type=wp_block';
283
334
  }
284
- close();
285
335
  }
286
336
  });
287
337
  return result;
288
- }, [history, isSiteEditor, isTemplatesAccessible, isBlockBasedTheme]);
338
+ }, [history, isSiteEditor, canCreateTemplate, isBlockBasedTheme]);
289
339
  return {
290
340
  commands,
291
341
  isLoading: false
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_hooks","_lockUnlock","_orderEntityRecordsBySearch","useHistory","useLocation","unlock","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","useDebouncedValue","value","debouncedValue","setDebouncedValue","useState","debounced","useDebounce","useEffect","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","useIsBlockBasedTheme","delayedSearch","records","isLoading","useSelect","select","query","per_page","orderby","status","coreStore","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","name","id","searchLabel","title","rendered","label","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","extraArgs","canvas","getQueryArg","postId","push","getNavigationCommandLoaderPerTemplate","templateType","isPatternsPage","params","path","didAccessPatternsPage","orderedRecords","orderEntityRecordsBySearch","slice","undefined","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","isTemplatesAccessible","useIsTemplatesAccessible","result","navigation","styles","useSiteEditorNavigationCommands","useCommandLoader","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useIsTemplatesAccessible, useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\t\t\t\t: {};\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst location = useLocation();\n\n\t\tconst isPatternsPage =\n\t\t\tlocation?.params?.path === '/patterns' ||\n\t\t\tlocation?.params?.postType === 'wp_block';\n\t\tconst didAccessPatternsPage =\n\t\t\t!! location?.params?.didAccessPatternsPage;\n\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t! templateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\treturn orderedRecords.map( ( record ) => {\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? { canvas: getQueryArg( window.location.href, 'canvas' ) }\n\t\t\t\t\t: {};\n\n\t\t\t\treturn {\n\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\tdidAccessPatternsPage:\n\t\t\t\t\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t\t\t\t\t( isPatternsPage || didAccessPatternsPage )\n\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst isTemplatesAccessible = useIsTemplatesAccessible();\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( ! isTemplatesAccessible || ! isBlockBasedTheme ) {\n\t\t\treturn result;\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\tlabel: __( 'Navigation' ),\n\t\t\ticon: navigation,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/navigation',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-styles',\n\t\t\tlabel: __( 'Styles' ),\n\t\t\ticon: styles,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-pages',\n\t\t\tlabel: __( 'Pages' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/page',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-templates',\n\t\t\tlabel: __( 'Templates' ),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_template',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, isTemplatesAccessible, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_hooks","_lockUnlock","_orderEntityRecordsBySearch","useHistory","useLocation","unlock","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","useDebouncedValue","value","debouncedValue","setDebouncedValue","useState","debounced","useDebounce","useEffect","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","useIsBlockBasedTheme","delayedSearch","records","isLoading","useSelect","select","query","per_page","orderby","status","coreStore","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","name","id","searchLabel","title","rendered","label","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","extraArgs","canvas","getQueryArg","postId","push","getNavigationCommandLoaderPerTemplate","templateType","isPatternsPage","params","path","didAccessPatternsPage","orderedRecords","orderEntityRecordsBySearch","slice","result","undefined","length","categoryType","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","canCreateTemplate","canUser","navigation","styles","symbol","useSiteEditorNavigationCommands","useCommandLoader","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbol,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\t\t\t\t: {};\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst location = useLocation();\n\n\t\tconst isPatternsPage =\n\t\t\tlocation?.params?.path === '/patterns' ||\n\t\t\tlocation?.params?.postType === 'wp_block';\n\t\tconst didAccessPatternsPage =\n\t\t\t!! location?.params?.didAccessPatternsPage;\n\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t! templateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t'site-editor.php'\n\t\t\t);\n\t\t\tconst result = [];\n\t\t\tresult.push(\n\t\t\t\t...orderedRecords.map( ( record ) => {\n\t\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {};\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t\tdidAccessPatternsPage:\n\t\t\t\t\t\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t\t\t\t\t\t( isPatternsPage || didAccessPatternsPage )\n\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\torderedRecords?.length > 0 &&\n\t\t\t\ttemplateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\t\t\tlabel: __( 'Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t\t\t\tcategoryType: 'wp_template_part',\n\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn result;\n\t\t}, [ isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst canCreateTemplate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', 'templates' );\n\t}, [] );\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\ticon: navigation,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/navigation',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\ticon: styles,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\ticon: page,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/page',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\ticon: layout,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_template',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\tlabel: __( 'Patterns' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t} else {\n\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,22 +3,8 @@
3
3
  */
4
4
  import { useCommand } from '@wordpress/commands';
5
5
  import { __ } from '@wordpress/i18n';
6
- import { plus, symbol } from '@wordpress/icons';
7
- import { addQueryArgs, getPath } from '@wordpress/url';
8
- import { privateApis as routerPrivateApis } from '@wordpress/router';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import { useIsTemplatesAccessible } from './hooks';
14
- import { unlock } from './lock-unlock';
15
- const {
16
- useHistory
17
- } = unlock(routerPrivateApis);
6
+ import { plus } from '@wordpress/icons';
18
7
  export function useAdminNavigationCommands() {
19
- const history = useHistory();
20
- const isTemplatesAccessible = useIsTemplatesAccessible();
21
- const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
22
8
  useCommand({
23
9
  name: 'core/add-new-post',
24
10
  label: __('Add new post'),
@@ -35,31 +21,5 @@ export function useAdminNavigationCommands() {
35
21
  document.location.href = 'post-new.php?post_type=page';
36
22
  }
37
23
  });
38
- useCommand({
39
- name: 'core/manage-reusable-blocks',
40
- label: __('Patterns'),
41
- icon: symbol,
42
- callback: ({
43
- close
44
- }) => {
45
- // The site editor and templates both check whether the user
46
- // can read templates. We can leverage that here and this
47
- // command links to the classic dashboard manage patterns page
48
- // if the user can't access it.
49
- if (isTemplatesAccessible) {
50
- const args = {
51
- path: '/patterns'
52
- };
53
- if (isSiteEditor) {
54
- history.push(args);
55
- } else {
56
- document.location = addQueryArgs('site-editor.php', args);
57
- }
58
- close();
59
- } else {
60
- document.location.href = 'edit.php?post_type=wp_block';
61
- }
62
- }
63
- });
64
24
  }
65
25
  //# sourceMappingURL=admin-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCommand","__","plus","symbol","addQueryArgs","getPath","privateApis","routerPrivateApis","useIsTemplatesAccessible","unlock","useHistory","useAdminNavigationCommands","history","isTemplatesAccessible","isSiteEditor","window","location","href","includes","name","label","icon","callback","document","close","args","path","push"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, symbol } from '@wordpress/icons';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useIsTemplatesAccessible } from './hooks';\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useAdminNavigationCommands() {\n\tconst history = useHistory();\n\tconst isTemplatesAccessible = useIsTemplatesAccessible();\n\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/manage-reusable-blocks',\n\t\tlabel: __( 'Patterns' ),\n\t\ticon: symbol,\n\t\tcallback: ( { close } ) => {\n\t\t\t// The site editor and templates both check whether the user\n\t\t\t// can read templates. We can leverage that here and this\n\t\t\t// command links to the classic dashboard manage patterns page\n\t\t\t// if the user can't access it.\n\t\t\tif ( isTemplatesAccessible ) {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/patterns',\n\t\t\t\t};\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t} else {\n\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,qBAAqB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,MAAM,QAAQ,kBAAkB;AAC/C,SAASC,YAAY,EAAEC,OAAO,QAAQ,gBAAgB;AACtD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,SAAS;AAClD,SAASC,MAAM,QAAQ,eAAe;AAEtC,MAAM;EAAEC;AAAW,CAAC,GAAGD,MAAM,CAAEF,iBAAkB,CAAC;AAElD,OAAO,SAASI,0BAA0BA,CAAA,EAAG;EAC5C,MAAMC,OAAO,GAAGF,UAAU,CAAC,CAAC;EAC5B,MAAMG,qBAAqB,GAAGL,wBAAwB,CAAC,CAAC;EAExD,MAAMM,YAAY,GAAGT,OAAO,CAAEU,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EAEDlB,UAAU,CAAE;IACXmB,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAEnB,EAAE,CAAE,cAAe,CAAC;IAC3BoB,IAAI,EAAEnB,IAAI;IACVoB,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACP,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACHjB,UAAU,CAAE;IACXmB,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAEnB,EAAE,CAAE,cAAe,CAAC;IAC3BoB,IAAI,EAAEnB,IAAI;IACVoB,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACP,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;EACHjB,UAAU,CAAE;IACXmB,IAAI,EAAE,6BAA6B;IACnCC,KAAK,EAAEnB,EAAE,CAAE,UAAW,CAAC;IACvBoB,IAAI,EAAElB,MAAM;IACZmB,QAAQ,EAAEA,CAAE;MAAEE;IAAM,CAAC,KAAM;MAC1B;MACA;MACA;MACA;MACA,IAAKX,qBAAqB,EAAG;QAC5B,MAAMY,IAAI,GAAG;UACZC,IAAI,EAAE;QACP,CAAC;QACD,IAAKZ,YAAY,EAAG;UACnBF,OAAO,CAACe,IAAI,CAAEF,IAAK,CAAC;QACrB,CAAC,MAAM;UACNF,QAAQ,CAACP,QAAQ,GAAGZ,YAAY,CAAE,iBAAiB,EAAEqB,IAAK,CAAC;QAC5D;QACAD,KAAK,CAAC,CAAC;MACR,CAAC,MAAM;QACND,QAAQ,CAACP,QAAQ,CAACC,IAAI,GAAG,6BAA6B;MACvD;IACD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["useCommand","__","plus","useAdminNavigationCommands","name","label","icon","callback","document","location","href"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\n\nexport function useAdminNavigationCommands() {\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add new post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php';\n\t\t},\n\t} );\n\tuseCommand( {\n\t\tname: 'core/add-new-page',\n\t\tlabel: __( 'Add new page' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'post-new.php?post_type=page';\n\t\t},\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,qBAAqB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,OAAO,SAASC,0BAA0BA,CAAA,EAAG;EAC5CH,UAAU,CAAE;IACXI,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAEJ,EAAE,CAAE,cAAe,CAAC;IAC3BK,IAAI,EAAEJ,IAAI;IACVK,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,cAAc;IACxC;EACD,CAAE,CAAC;EACHV,UAAU,CAAE;IACXI,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAEJ,EAAE,CAAE,cAAe,CAAC;IAC3BK,IAAI,EAAEJ,IAAI;IACVK,QAAQ,EAAEA,CAAA,KAAM;MACfC,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAG,6BAA6B;IACvD;EACD,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -3,9 +3,6 @@
3
3
  */
4
4
  import { store as coreStore } from '@wordpress/core-data';
5
5
  import { useSelect } from '@wordpress/data';
6
- export function useIsTemplatesAccessible() {
7
- return useSelect(select => select(coreStore).canUser('read', 'templates'), []);
8
- }
9
6
  export function useIsBlockBasedTheme() {
10
7
  return useSelect(select => select(coreStore).getCurrentTheme()?.is_block_theme, []);
11
8
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreStore","useSelect","useIsTemplatesAccessible","select","canUser","useIsBlockBasedTheme","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsTemplatesAccessible() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).canUser( 'read', 'templates' ),\n\t\t[]\n\t);\n}\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,OAAO,SAASC,wBAAwBA,CAAA,EAAG;EAC1C,OAAOD,SAAS,CACbE,MAAM,IAAMA,MAAM,CAAEH,SAAU,CAAC,CAACI,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,EAChE,EACD,CAAC;AACF;AAEA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAOJ,SAAS,CACbE,MAAM,IAAMA,MAAM,CAAEH,SAAU,CAAC,CAACM,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["store","coreStore","useSelect","useIsBlockBasedTheme","select","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAOD,SAAS,CACbE,MAAM,IAAMA,MAAM,CAAEH,SAAU,CAAC,CAACI,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}