@wordpress/core-commands 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.4.0 (2024-07-24)
6
+
5
7
  ## 1.3.0 (2024-07-10)
6
8
 
7
9
  ## 1.2.0 (2024-06-26)
@@ -14,7 +14,6 @@ var _router = require("@wordpress/router");
14
14
  var _url = require("@wordpress/url");
15
15
  var _compose = require("@wordpress/compose");
16
16
  var _htmlEntities = require("@wordpress/html-entities");
17
- var _hooks = require("./hooks");
18
17
  var _lockUnlock = require("./lock-unlock");
19
18
  var _orderEntityRecordsBySearch = require("./utils/order-entity-records-by-search");
20
19
  /**
@@ -47,7 +46,18 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
47
46
  search
48
47
  }) {
49
48
  const history = useHistory();
50
- const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
49
+ const {
50
+ isBlockBasedTheme,
51
+ canCreateTemplate
52
+ } = (0, _data.useSelect)(select => {
53
+ return {
54
+ isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
55
+ canCreateTemplate: select(_coreData.store).canUser('create', {
56
+ kind: 'postType',
57
+ name: 'wp_template'
58
+ })
59
+ };
60
+ }, []);
51
61
  const delayedSearch = useDebouncedValue(search);
52
62
  const {
53
63
  records,
@@ -77,7 +87,7 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
77
87
  label: record.title?.rendered ? (0, _htmlEntities.decodeEntities)(record.title?.rendered) : (0, _i18n.__)('(no title)'),
78
88
  icon: icons[postType]
79
89
  };
80
- if (postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
90
+ if (!canCreateTemplate || postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
81
91
  return {
82
92
  ...command,
83
93
  callback: ({
@@ -114,7 +124,7 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
114
124
  }
115
125
  };
116
126
  });
117
- }, [records, isBlockBasedTheme, history]);
127
+ }, [canCreateTemplate, records, isBlockBasedTheme, history]);
118
128
  return {
119
129
  commands,
120
130
  isLoading
@@ -124,7 +134,18 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
124
134
  search
125
135
  }) {
126
136
  const history = useHistory();
127
- const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
137
+ const {
138
+ isBlockBasedTheme,
139
+ canCreateTemplate
140
+ } = (0, _data.useSelect)(select => {
141
+ return {
142
+ isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
143
+ canCreateTemplate: select(_coreData.store).canUser('create', {
144
+ kind: 'postType',
145
+ name: templateType
146
+ })
147
+ };
148
+ }, []);
128
149
  const {
129
150
  records,
130
151
  isLoading
@@ -150,7 +171,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
150
171
  return (0, _orderEntityRecordsBySearch.orderEntityRecordsBySearch)(records, search).slice(0, 10);
151
172
  }, [records, search]);
152
173
  const commands = (0, _element.useMemo)(() => {
153
- if (!isBlockBasedTheme && !templateType === 'wp_template_part') {
174
+ if (!canCreateTemplate || !isBlockBasedTheme && !templateType === 'wp_template_part') {
154
175
  return [];
155
176
  }
156
177
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
@@ -202,7 +223,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
202
223
  });
203
224
  }
204
225
  return result;
205
- }, [isBlockBasedTheme, orderedRecords, history]);
226
+ }, [canCreateTemplate, isBlockBasedTheme, orderedRecords, history]);
206
227
  return {
207
228
  commands,
208
229
  isLoading
@@ -215,10 +236,18 @@ const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemp
215
236
  function useSiteEditorBasicNavigationCommands() {
216
237
  const history = useHistory();
217
238
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
218
- const canCreateTemplate = (0, _data.useSelect)(select => {
219
- return select(_coreData.store).canUser('create', 'templates');
239
+ const {
240
+ isBlockBasedTheme,
241
+ canCreateTemplate
242
+ } = (0, _data.useSelect)(select => {
243
+ return {
244
+ isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
245
+ canCreateTemplate: select(_coreData.store).canUser('create', {
246
+ kind: 'postType',
247
+ name: 'wp_template'
248
+ })
249
+ };
220
250
  }, []);
221
- const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
222
251
  const commands = (0, _element.useMemo)(() => {
223
252
  const result = [];
224
253
  if (canCreateTemplate && isBlockBasedTheme) {
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_htmlEntities","_hooks","_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","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","decodeEntities","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","canCreateTemplate","canUser","navigation","styles","path","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 { useIsBlockBasedTheme } from './hooks';\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 = 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? 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\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\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\tcanvas: 'edit',\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 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\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\tcanvas: 'edit',\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\tpostType: '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\tpostType: 'wp_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\tpostType: '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\tpostType: '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\tpostType: 'wp_block',\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":[]}
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","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","navigation","styles","path","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\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\tcanvas: 'edit',\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}, [ 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\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\tcanvas: 'edit',\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\tpostType: '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}, [ canCreateTemplate, 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 { isBlockBasedTheme, canCreateTemplate } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tisBlockBasedTheme:\n\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t};\n\t}, [] );\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\tpostType: 'wp_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\tpostType: '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\tpostType: '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\tpostType: 'wp_block',\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":[]}
@@ -15,7 +15,6 @@ import { decodeEntities } from '@wordpress/html-entities';
15
15
  /**
16
16
  * Internal dependencies
17
17
  */
18
- import { useIsBlockBasedTheme } from './hooks';
19
18
  import { unlock } from './lock-unlock';
20
19
  import { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';
21
20
  const {
@@ -40,7 +39,18 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
40
39
  search
41
40
  }) {
42
41
  const history = useHistory();
43
- const isBlockBasedTheme = useIsBlockBasedTheme();
42
+ const {
43
+ isBlockBasedTheme,
44
+ canCreateTemplate
45
+ } = useSelect(select => {
46
+ return {
47
+ isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
48
+ canCreateTemplate: select(coreStore).canUser('create', {
49
+ kind: 'postType',
50
+ name: 'wp_template'
51
+ })
52
+ };
53
+ }, []);
44
54
  const delayedSearch = useDebouncedValue(search);
45
55
  const {
46
56
  records,
@@ -70,7 +80,7 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
70
80
  label: record.title?.rendered ? decodeEntities(record.title?.rendered) : __('(no title)'),
71
81
  icon: icons[postType]
72
82
  };
73
- if (postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
83
+ if (!canCreateTemplate || postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
74
84
  return {
75
85
  ...command,
76
86
  callback: ({
@@ -107,7 +117,7 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
107
117
  }
108
118
  };
109
119
  });
110
- }, [records, isBlockBasedTheme, history]);
120
+ }, [canCreateTemplate, records, isBlockBasedTheme, history]);
111
121
  return {
112
122
  commands,
113
123
  isLoading
@@ -117,7 +127,18 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
117
127
  search
118
128
  }) {
119
129
  const history = useHistory();
120
- const isBlockBasedTheme = useIsBlockBasedTheme();
130
+ const {
131
+ isBlockBasedTheme,
132
+ canCreateTemplate
133
+ } = useSelect(select => {
134
+ return {
135
+ isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
136
+ canCreateTemplate: select(coreStore).canUser('create', {
137
+ kind: 'postType',
138
+ name: templateType
139
+ })
140
+ };
141
+ }, []);
121
142
  const {
122
143
  records,
123
144
  isLoading
@@ -143,7 +164,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
143
164
  return orderEntityRecordsBySearch(records, search).slice(0, 10);
144
165
  }, [records, search]);
145
166
  const commands = useMemo(() => {
146
- if (!isBlockBasedTheme && !templateType === 'wp_template_part') {
167
+ if (!canCreateTemplate || !isBlockBasedTheme && !templateType === 'wp_template_part') {
147
168
  return [];
148
169
  }
149
170
  const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
@@ -195,7 +216,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
195
216
  });
196
217
  }
197
218
  return result;
198
- }, [isBlockBasedTheme, orderedRecords, history]);
219
+ }, [canCreateTemplate, isBlockBasedTheme, orderedRecords, history]);
199
220
  return {
200
221
  commands,
201
222
  isLoading
@@ -208,10 +229,18 @@ const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemp
208
229
  function useSiteEditorBasicNavigationCommands() {
209
230
  const history = useHistory();
210
231
  const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
211
- const canCreateTemplate = useSelect(select => {
212
- return select(coreStore).canUser('create', 'templates');
232
+ const {
233
+ isBlockBasedTheme,
234
+ canCreateTemplate
235
+ } = useSelect(select => {
236
+ return {
237
+ isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
238
+ canCreateTemplate: select(coreStore).canUser('create', {
239
+ kind: 'postType',
240
+ name: 'wp_template'
241
+ })
242
+ };
213
243
  }, []);
214
- const isBlockBasedTheme = useIsBlockBasedTheme();
215
244
  const commands = useMemo(() => {
216
245
  const result = [];
217
246
  if (canCreateTemplate && isBlockBasedTheme) {
@@ -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","useIsBlockBasedTheme","unlock","orderEntityRecordsBySearch","useHistory","icons","wp_template","wp_template_part","useDebouncedValue","value","debouncedValue","setDebouncedValue","debounced","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","delayedSearch","records","isLoading","select","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","map","record","command","name","id","searchLabel","title","rendered","label","icon","callback","close","args","action","targetUrl","document","location","isSiteEditor","window","href","includes","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","canCreateTemplate","canUser","path","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 { useIsBlockBasedTheme } from './hooks';\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 = 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? 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\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\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\tcanvas: 'edit',\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 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\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\tcanvas: 'edit',\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\tpostType: '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\tpostType: 'wp_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\tpostType: '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\tpostType: '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\tpostType: 'wp_block',\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":[]}
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","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","path","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\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\tcanvas: 'edit',\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}, [ 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\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\tcanvas: 'edit',\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\tpostType: '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}, [ canCreateTemplate, 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 { isBlockBasedTheme, canCreateTemplate } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tisBlockBasedTheme:\n\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t};\n\t}, [] );\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\tpostType: 'wp_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\tpostType: '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\tpostType: '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\tpostType: 'wp_block',\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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/core-commands",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "WordPress core reusable commands.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -28,18 +28,18 @@
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
30
  "@babel/runtime": "^7.16.0",
31
- "@wordpress/block-editor": "^13.3.0",
32
- "@wordpress/commands": "^1.3.0",
33
- "@wordpress/compose": "^7.3.0",
34
- "@wordpress/core-data": "^7.3.0",
35
- "@wordpress/data": "^10.3.0",
36
- "@wordpress/element": "^6.3.0",
37
- "@wordpress/html-entities": "^4.3.0",
38
- "@wordpress/i18n": "^5.3.0",
39
- "@wordpress/icons": "^10.3.0",
40
- "@wordpress/private-apis": "^1.3.0",
41
- "@wordpress/router": "^1.3.0",
42
- "@wordpress/url": "^4.3.0"
31
+ "@wordpress/block-editor": "^13.4.0",
32
+ "@wordpress/commands": "^1.4.0",
33
+ "@wordpress/compose": "^7.4.0",
34
+ "@wordpress/core-data": "^7.4.0",
35
+ "@wordpress/data": "^10.4.0",
36
+ "@wordpress/element": "^6.4.0",
37
+ "@wordpress/html-entities": "^4.4.0",
38
+ "@wordpress/i18n": "^5.4.0",
39
+ "@wordpress/icons": "^10.4.0",
40
+ "@wordpress/private-apis": "^1.4.0",
41
+ "@wordpress/router": "^1.4.0",
42
+ "@wordpress/url": "^4.4.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": "^18.0.0",
@@ -48,5 +48,5 @@
48
48
  "publishConfig": {
49
49
  "access": "public"
50
50
  },
51
- "gitHead": "122867d355ca4edc63d3a3bbd9411d3a2e1458df"
51
+ "gitHead": "363edb39b8dda8727f652e42cbb8497732693ed2"
52
52
  }
@@ -23,7 +23,6 @@ import { decodeEntities } from '@wordpress/html-entities';
23
23
  /**
24
24
  * Internal dependencies
25
25
  */
26
- import { useIsBlockBasedTheme } from './hooks';
27
26
  import { unlock } from './lock-unlock';
28
27
  import { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';
29
28
 
@@ -51,7 +50,19 @@ function useDebouncedValue( value ) {
51
50
  const getNavigationCommandLoaderPerPostType = ( postType ) =>
52
51
  function useNavigationCommandLoader( { search } ) {
53
52
  const history = useHistory();
54
- const isBlockBasedTheme = useIsBlockBasedTheme();
53
+ const { isBlockBasedTheme, canCreateTemplate } = useSelect(
54
+ ( select ) => {
55
+ return {
56
+ isBlockBasedTheme:
57
+ select( coreStore ).getCurrentTheme()?.is_block_theme,
58
+ canCreateTemplate: select( coreStore ).canUser( 'create', {
59
+ kind: 'postType',
60
+ name: 'wp_template',
61
+ } ),
62
+ };
63
+ },
64
+ []
65
+ );
55
66
  const delayedSearch = useDebouncedValue( search );
56
67
  const { records, isLoading } = useSelect(
57
68
  ( select ) => {
@@ -100,6 +111,7 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
100
111
  };
101
112
 
102
113
  if (
114
+ ! canCreateTemplate ||
103
115
  postType === 'post' ||
104
116
  ( postType === 'page' && ! isBlockBasedTheme )
105
117
  ) {
@@ -142,7 +154,7 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
142
154
  },
143
155
  };
144
156
  } );
145
- }, [ records, isBlockBasedTheme, history ] );
157
+ }, [ canCreateTemplate, records, isBlockBasedTheme, history ] );
146
158
 
147
159
  return {
148
160
  commands,
@@ -153,7 +165,19 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
153
165
  const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
154
166
  function useNavigationCommandLoader( { search } ) {
155
167
  const history = useHistory();
156
- const isBlockBasedTheme = useIsBlockBasedTheme();
168
+ const { isBlockBasedTheme, canCreateTemplate } = useSelect(
169
+ ( select ) => {
170
+ return {
171
+ isBlockBasedTheme:
172
+ select( coreStore ).getCurrentTheme()?.is_block_theme,
173
+ canCreateTemplate: select( coreStore ).canUser( 'create', {
174
+ kind: 'postType',
175
+ name: templateType,
176
+ } ),
177
+ };
178
+ },
179
+ []
180
+ );
157
181
  const { records, isLoading } = useSelect( ( select ) => {
158
182
  const { getEntityRecords } = select( coreStore );
159
183
  const query = { per_page: -1 };
@@ -177,8 +201,8 @@ const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
177
201
 
178
202
  const commands = useMemo( () => {
179
203
  if (
180
- ! isBlockBasedTheme &&
181
- ! templateType === 'wp_template_part'
204
+ ! canCreateTemplate ||
205
+ ( ! isBlockBasedTheme && ! templateType === 'wp_template_part' )
182
206
  ) {
183
207
  return [];
184
208
  }
@@ -243,7 +267,7 @@ const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
243
267
  } );
244
268
  }
245
269
  return result;
246
- }, [ isBlockBasedTheme, orderedRecords, history ] );
270
+ }, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );
247
271
 
248
272
  return {
249
273
  commands,
@@ -265,10 +289,16 @@ function useSiteEditorBasicNavigationCommands() {
265
289
  const isSiteEditor = getPath( window.location.href )?.includes(
266
290
  'site-editor.php'
267
291
  );
268
- const canCreateTemplate = useSelect( ( select ) => {
269
- return select( coreStore ).canUser( 'create', 'templates' );
292
+ const { isBlockBasedTheme, canCreateTemplate } = useSelect( ( select ) => {
293
+ return {
294
+ isBlockBasedTheme:
295
+ select( coreStore ).getCurrentTheme()?.is_block_theme,
296
+ canCreateTemplate: select( coreStore ).canUser( 'create', {
297
+ kind: 'postType',
298
+ name: 'wp_template',
299
+ } ),
300
+ };
270
301
  }, [] );
271
- const isBlockBasedTheme = useIsBlockBasedTheme();
272
302
  const commands = useMemo( () => {
273
303
  const result = [];
274
304
 
package/build/hooks.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useIsBlockBasedTheme = useIsBlockBasedTheme;
7
- var _coreData = require("@wordpress/core-data");
8
- var _data = require("@wordpress/data");
9
- /**
10
- * WordPress dependencies
11
- */
12
-
13
- function useIsBlockBasedTheme() {
14
- return (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme()?.is_block_theme, []);
15
- }
16
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,9 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { store as coreStore } from '@wordpress/core-data';
5
- import { useSelect } from '@wordpress/data';
6
- export function useIsBlockBasedTheme() {
7
- return useSelect(select => select(coreStore).getCurrentTheme()?.is_block_theme, []);
8
- }
9
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
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":[]}
package/src/hooks.js DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { store as coreStore } from '@wordpress/core-data';
5
- import { useSelect } from '@wordpress/data';
6
-
7
- export function useIsBlockBasedTheme() {
8
- return useSelect(
9
- ( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,
10
- []
11
- );
12
- }