diff -r 48c4eec2b7e6 -r 8c2e4d02f4ef wp/wp-includes/js/dist/core-commands.js --- a/wp/wp-includes/js/dist/core-commands.js Fri Sep 05 18:40:08 2025 +0200 +++ b/wp/wp-includes/js/dist/core-commands.js Fri Sep 05 18:52:52 2025 +0200 @@ -42,15 +42,15 @@ privateApis: () => (/* reexport */ privateApis) }); -;// CONCATENATED MODULE: external ["wp","commands"] +;// external ["wp","commands"] const external_wp_commands_namespaceObject = window["wp"]["commands"]; -;// CONCATENATED MODULE: external ["wp","i18n"] +;// external ["wp","i18n"] const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; -;// CONCATENATED MODULE: external ["wp","primitives"] +;// external ["wp","primitives"] const external_wp_primitives_namespaceObject = window["wp"]["primitives"]; -;// CONCATENATED MODULE: external "ReactJSXRuntime" +;// external "ReactJSXRuntime" const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js +;// ./node_modules/@wordpress/icons/build-module/library/plus.js /** * WordPress dependencies */ @@ -65,39 +65,114 @@ }); /* harmony default export */ const library_plus = (plus); -;// CONCATENATED MODULE: ./node_modules/@wordpress/core-commands/build-module/admin-navigation-commands.js +;// external ["wp","url"] +const external_wp_url_namespaceObject = window["wp"]["url"]; +;// external ["wp","coreData"] +const external_wp_coreData_namespaceObject = window["wp"]["coreData"]; +;// external ["wp","data"] +const external_wp_data_namespaceObject = window["wp"]["data"]; +;// external ["wp","element"] +const external_wp_element_namespaceObject = window["wp"]["element"]; +;// external ["wp","notices"] +const external_wp_notices_namespaceObject = window["wp"]["notices"]; +;// external ["wp","router"] +const external_wp_router_namespaceObject = window["wp"]["router"]; +;// external ["wp","privateApis"] +const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; +;// ./node_modules/@wordpress/core-commands/build-module/lock-unlock.js +/** + * WordPress dependencies + */ + +const { + lock, + unlock +} = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/core-commands'); + +;// ./node_modules/@wordpress/core-commands/build-module/admin-navigation-commands.js /** * WordPress dependencies */ + + + + + + + +/** + * Internal dependencies + */ + +const { + useHistory +} = unlock(external_wp_router_namespaceObject.privateApis); +const getAddNewPageCommand = () => function useAddNewPageCommand() { + const isSiteEditor = (0,external_wp_url_namespaceObject.getPath)(window.location.href)?.includes('site-editor.php'); + const history = useHistory(); + const isBlockBasedTheme = (0,external_wp_data_namespaceObject.useSelect)(select => { + return select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.is_block_theme; + }, []); + const { + saveEntityRecord + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); + const { + createErrorNotice + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); + const createPageEntity = (0,external_wp_element_namespaceObject.useCallback)(async ({ + close + }) => { + try { + const page = await saveEntityRecord('postType', 'page', { + status: 'draft' + }, { + throwOnError: true + }); + if (page?.id) { + history.navigate(`/page/${page.id}?canvas=edit`); + } + } catch (error) { + const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0,external_wp_i18n_namespaceObject.__)('An error occurred while creating the item.'); + createErrorNotice(errorMessage, { + type: 'snackbar' + }); + } finally { + close(); + } + }, [createErrorNotice, history, saveEntityRecord]); + const commands = (0,external_wp_element_namespaceObject.useMemo)(() => { + const addNewPage = isSiteEditor && isBlockBasedTheme ? createPageEntity : () => document.location.href = 'post-new.php?post_type=page'; + return [{ + name: 'core/add-new-page', + label: (0,external_wp_i18n_namespaceObject.__)('Add new page'), + icon: library_plus, + callback: addNewPage + }]; + }, [createPageEntity, isSiteEditor, isBlockBasedTheme]); + return { + isLoading: false, + commands + }; +}; function useAdminNavigationCommands() { (0,external_wp_commands_namespaceObject.useCommand)({ name: 'core/add-new-post', label: (0,external_wp_i18n_namespaceObject.__)('Add new post'), icon: library_plus, callback: () => { - document.location.href = 'post-new.php'; + document.location.assign('post-new.php'); } }); - (0,external_wp_commands_namespaceObject.useCommand)({ + (0,external_wp_commands_namespaceObject.useCommandLoader)({ name: 'core/add-new-page', - label: (0,external_wp_i18n_namespaceObject.__)('Add new page'), - icon: library_plus, - callback: () => { - document.location.href = 'post-new.php?post_type=page'; - } + hook: getAddNewPageCommand() }); } -;// CONCATENATED MODULE: external ["wp","element"] -const external_wp_element_namespaceObject = window["wp"]["element"]; -;// CONCATENATED MODULE: external ["wp","data"] -const external_wp_data_namespaceObject = window["wp"]["data"]; -;// CONCATENATED MODULE: external ["wp","coreData"] -const external_wp_coreData_namespaceObject = window["wp"]["coreData"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post.js +;// ./node_modules/@wordpress/icons/build-module/library/post.js /** * WordPress dependencies */ @@ -112,13 +187,12 @@ }); /* harmony default export */ const library_post = (post); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/page.js +;// ./node_modules/@wordpress/icons/build-module/library/page.js /** * WordPress dependencies */ - const page = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", @@ -130,7 +204,7 @@ }); /* harmony default export */ const library_page = (page); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/layout.js +;// ./node_modules/@wordpress/icons/build-module/library/layout.js /** * WordPress dependencies */ @@ -145,7 +219,7 @@ }); /* harmony default export */ const library_layout = (layout); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/symbol-filled.js +;// ./node_modules/@wordpress/icons/build-module/library/symbol-filled.js /** * WordPress dependencies */ @@ -160,7 +234,7 @@ }); /* harmony default export */ const symbol_filled = (symbolFilled); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/navigation.js +;// ./node_modules/@wordpress/icons/build-module/library/navigation.js /** * WordPress dependencies */ @@ -175,7 +249,7 @@ }); /* harmony default export */ const library_navigation = (navigation); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/styles.js +;// ./node_modules/@wordpress/icons/build-module/library/styles.js /** * WordPress dependencies */ @@ -185,12 +259,14 @@ viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { - d: "M12 4c-4.4 0-8 3.6-8 8v.1c0 4.1 3.2 7.5 7.2 7.9h.8c4.4 0 8-3.6 8-8s-3.6-8-8-8zm0 15V5c3.9 0 7 3.1 7 7s-3.1 7-7 7z" + fillRule: "evenodd", + clipRule: "evenodd", + d: "M20 12a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 0 1-6.5 6.5v-13a6.5 6.5 0 0 1 6.5 6.5Z" }) }); /* harmony default export */ const library_styles = (styles); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/symbol.js +;// ./node_modules/@wordpress/icons/build-module/library/symbol.js /** * WordPress dependencies */ @@ -205,35 +281,11 @@ }); /* harmony default export */ const library_symbol = (symbol); -;// CONCATENATED MODULE: external ["wp","router"] -const external_wp_router_namespaceObject = window["wp"]["router"]; -;// CONCATENATED MODULE: external ["wp","url"] -const external_wp_url_namespaceObject = window["wp"]["url"]; -;// CONCATENATED MODULE: external ["wp","compose"] +;// external ["wp","compose"] const external_wp_compose_namespaceObject = window["wp"]["compose"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/core-commands/build-module/hooks.js -/** - * WordPress dependencies - */ - - -function useIsBlockBasedTheme() { - return (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.is_block_theme, []); -} - -;// CONCATENATED MODULE: external ["wp","privateApis"] -const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/core-commands/build-module/lock-unlock.js -/** - * WordPress dependencies - */ - -const { - lock, - unlock -} = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/core-commands'); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/core-commands/build-module/utils/order-entity-records-by-search.js +;// external ["wp","htmlEntities"] +const external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"]; +;// ./node_modules/@wordpress/core-commands/build-module/utils/order-entity-records-by-search.js function orderEntityRecordsBySearch(records = [], search = '') { if (!Array.isArray(records) || !records.length) { return []; @@ -254,7 +306,7 @@ return priority.concat(nonPriority); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/core-commands/build-module/site-editor-navigation-commands.js +;// ./node_modules/@wordpress/core-commands/build-module/site-editor-navigation-commands.js /** * WordPress dependencies */ @@ -268,14 +320,14 @@ + /** * Internal dependencies */ - const { - useHistory + useHistory: site_editor_navigation_commands_useHistory } = unlock(external_wp_router_namespaceObject.privateApis); const icons = { post: library_post, @@ -295,8 +347,19 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigationCommandLoader({ search }) { - const history = useHistory(); - const isBlockBasedTheme = useIsBlockBasedTheme(); + const history = site_editor_navigation_commands_useHistory(); + const { + isBlockBasedTheme, + canCreateTemplate + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + return { + isBlockBasedTheme: select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.is_block_theme, + canCreateTemplate: select(external_wp_coreData_namespaceObject.store).canUser('create', { + kind: 'postType', + name: 'wp_template' + }) + }; + }, []); const delayedSearch = useDebouncedValue(search); const { records, @@ -323,10 +386,10 @@ const command = { name: postType + '-' + record.id, searchLabel: record.title?.rendered + ' ' + record.id, - label: record.title?.rendered ? record.title?.rendered : (0,external_wp_i18n_namespaceObject.__)('(no title)'), + label: record.title?.rendered ? (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(record.title?.rendered) : (0,external_wp_i18n_namespaceObject.__)('(no title)'), icon: icons[postType] }; - if (postType === 'post' || postType === 'page' && !isBlockBasedTheme) { + if (!canCreateTemplate || postType === 'post' || postType === 'page' && !isBlockBasedTheme) { return { ...command, callback: ({ @@ -348,22 +411,19 @@ callback: ({ close }) => { - const args = { - postType, - postId: record.id, - canvas: 'edit' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate(`/${postType}/${record.id}?canvas=edit`); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: `/${postType}/${record.id}`, + canvas: 'edit' + }); } close(); } }; }); - }, [records, isBlockBasedTheme, history]); + }, [canCreateTemplate, records, isBlockBasedTheme, history]); return { commands, isLoading @@ -372,8 +432,19 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNavigationCommandLoader({ search }) { - const history = useHistory(); - const isBlockBasedTheme = useIsBlockBasedTheme(); + const history = site_editor_navigation_commands_useHistory(); + const { + isBlockBasedTheme, + canCreateTemplate + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + return { + isBlockBasedTheme: select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.is_block_theme, + canCreateTemplate: select(external_wp_coreData_namespaceObject.store).canUser('create', { + kind: 'postType', + name: templateType + }) + }; + }, []); const { records, isLoading @@ -399,7 +470,7 @@ return orderEntityRecordsBySearch(records, search).slice(0, 10); }, [records, search]); const commands = (0,external_wp_element_namespaceObject.useMemo)(() => { - if (!isBlockBasedTheme && !templateType === 'wp_template_part') { + if (!canCreateTemplate || !isBlockBasedTheme && !templateType === 'wp_template_part') { return []; } const isSiteEditor = (0,external_wp_url_namespaceObject.getPath)(window.location.href)?.includes('site-editor.php'); @@ -413,16 +484,13 @@ callback: ({ close }) => { - const args = { - postType: templateType, - postId: record.id, - canvas: 'edit' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate(`/${templateType}/${record.id}?canvas=edit`); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: `/${templateType}/${record.id}`, + canvas: 'edit' + }); } close(); } @@ -436,38 +504,41 @@ callback: ({ close }) => { - const args = { - postType: 'wp_template_part', - categoryId: 'all-parts' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate('/pattern?postType=wp_template_part&categoryId=all-parts'); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: '/pattern', + postType: 'wp_template_part', + categoryId: 'all-parts' + }); } close(); } }); } return result; - }, [isBlockBasedTheme, orderedRecords, history]); + }, [canCreateTemplate, isBlockBasedTheme, orderedRecords, history]); return { commands, isLoading }; }; -const usePageNavigationCommandLoader = getNavigationCommandLoaderPerPostType('page'); -const usePostNavigationCommandLoader = getNavigationCommandLoaderPerPostType('post'); -const useTemplateNavigationCommandLoader = getNavigationCommandLoaderPerTemplate('wp_template'); -const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemplate('wp_template_part'); -function useSiteEditorBasicNavigationCommands() { - const history = useHistory(); +const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNavigationCommands() { + const history = site_editor_navigation_commands_useHistory(); const isSiteEditor = (0,external_wp_url_namespaceObject.getPath)(window.location.href)?.includes('site-editor.php'); - const canCreateTemplate = (0,external_wp_data_namespaceObject.useSelect)(select => { - return select(external_wp_coreData_namespaceObject.store).canUser('create', 'templates'); + const { + isBlockBasedTheme, + canCreateTemplate + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + return { + isBlockBasedTheme: select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.is_block_theme, + canCreateTemplate: select(external_wp_coreData_namespaceObject.store).canUser('create', { + kind: 'postType', + name: 'wp_template' + }) + }; }, []); - const isBlockBasedTheme = useIsBlockBasedTheme(); const commands = (0,external_wp_element_namespaceObject.useMemo)(() => { const result = []; if (canCreateTemplate && isBlockBasedTheme) { @@ -478,14 +549,12 @@ callback: ({ close }) => { - const args = { - postType: 'wp_navigation' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate('/navigation'); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: '/navigation' + }); } close(); } @@ -497,14 +566,12 @@ callback: ({ close }) => { - const args = { - path: '/wp_global_styles' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate('/styles'); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: '/styles' + }); } close(); } @@ -516,14 +583,12 @@ callback: ({ close }) => { - const args = { - postType: 'page' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate('/page'); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: '/page' + }); } close(); } @@ -535,14 +600,12 @@ callback: ({ close }) => { - const args = { - postType: 'wp_template' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate('/template'); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: '/template' + }); } close(); } @@ -556,14 +619,12 @@ close }) => { if (canCreateTemplate) { - const args = { - postType: 'wp_block' - }; - const targetUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', args); if (isSiteEditor) { - history.push(args); + history.navigate('/pattern'); } else { - document.location = targetUrl; + document.location = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + p: '/pattern' + }); } close(); } else { @@ -578,32 +639,32 @@ commands, isLoading: false }; -} +}; function useSiteEditorNavigationCommands() { (0,external_wp_commands_namespaceObject.useCommandLoader)({ name: 'core/edit-site/navigate-pages', - hook: usePageNavigationCommandLoader + hook: getNavigationCommandLoaderPerPostType('page') }); (0,external_wp_commands_namespaceObject.useCommandLoader)({ name: 'core/edit-site/navigate-posts', - hook: usePostNavigationCommandLoader + hook: getNavigationCommandLoaderPerPostType('post') }); (0,external_wp_commands_namespaceObject.useCommandLoader)({ name: 'core/edit-site/navigate-templates', - hook: useTemplateNavigationCommandLoader + hook: getNavigationCommandLoaderPerTemplate('wp_template') }); (0,external_wp_commands_namespaceObject.useCommandLoader)({ name: 'core/edit-site/navigate-template-parts', - hook: useTemplatePartNavigationCommandLoader + hook: getNavigationCommandLoaderPerTemplate('wp_template_part') }); (0,external_wp_commands_namespaceObject.useCommandLoader)({ name: 'core/edit-site/basic-navigation', - hook: useSiteEditorBasicNavigationCommands, + hook: getSiteEditorBasicNavigationCommands(), context: 'site-editor' }); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/core-commands/build-module/private-apis.js +;// ./node_modules/@wordpress/core-commands/build-module/private-apis.js /** * Internal dependencies */ @@ -619,7 +680,7 @@ useCommands }); -;// CONCATENATED MODULE: ./node_modules/@wordpress/core-commands/build-module/index.js +;// ./node_modules/@wordpress/core-commands/build-module/index.js (window.wp = window.wp || {}).coreCommands = __webpack_exports__;