@wordpress/edit-site 3.0.22 → 3.0.27
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/build/components/add-new-template/new-template-part.js +4 -1
- package/build/components/add-new-template/new-template-part.js.map +1 -1
- package/build/components/editor/index.js +11 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/error-boundary/index.js +11 -27
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/error-boundary/warning.js +70 -0
- package/build/components/error-boundary/warning.js.map +1 -0
- package/build/components/global-styles/screen-background-color.js +8 -9
- package/build/components/global-styles/screen-background-color.js.map +1 -1
- package/build/components/global-styles/screen-link-color.js +6 -10
- package/build/components/global-styles/screen-link-color.js.map +1 -1
- package/build/components/global-styles/screen-text-color.js +6 -10
- package/build/components/global-styles/screen-text-color.js.map +1 -1
- package/build/components/header/more-menu/index.js +68 -39
- package/build/components/header/more-menu/index.js.map +1 -1
- package/build/{plugins → components/header/more-menu}/site-export.js +0 -0
- package/build/components/header/more-menu/site-export.js.map +1 -0
- package/build/{plugins → components/header/more-menu}/welcome-guide-menu-item.js +1 -1
- package/build/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
- package/build/components/header/tools-more-menu-group/index.js +1 -5
- package/build/components/header/tools-more-menu-group/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +45 -0
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -0
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +56 -0
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
- package/build/components/keyboard-shortcut-help-modal/index.js +137 -0
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -0
- package/build/components/keyboard-shortcut-help-modal/shortcut.js +65 -0
- package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
- package/build/components/keyboard-shortcuts/index.js +9 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/list/added-by.js +51 -50
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/routes/redirect-to-homepage.js +106 -0
- package/build/components/routes/redirect-to-homepage.js.map +1 -0
- package/build/components/template-part-converter/convert-to-template-part.js +4 -1
- package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build/components/url-query-controller/index.js +1 -38
- package/build/components/url-query-controller/index.js.map +1 -1
- package/build/index.js +23 -4
- package/build/index.js.map +1 -1
- package/build/store/actions.js +7 -25
- package/build/store/actions.js.map +1 -1
- package/build-module/components/add-new-template/new-template-part.js +4 -1
- package/build-module/components/add-new-template/new-template-part.js.map +1 -1
- package/build-module/components/editor/index.js +11 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/error-boundary/index.js +9 -26
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/error-boundary/warning.js +60 -0
- package/build-module/components/error-boundary/warning.js.map +1 -0
- package/build-module/components/global-styles/screen-background-color.js +8 -10
- package/build-module/components/global-styles/screen-background-color.js.map +1 -1
- package/build-module/components/global-styles/screen-link-color.js +7 -11
- package/build-module/components/global-styles/screen-link-color.js.map +1 -1
- package/build-module/components/global-styles/screen-text-color.js +7 -11
- package/build-module/components/global-styles/screen-text-color.js.map +1 -1
- package/build-module/components/header/more-menu/index.js +65 -40
- package/build-module/components/header/more-menu/index.js.map +1 -1
- package/build-module/{plugins → components/header/more-menu}/site-export.js +0 -0
- package/build-module/components/header/more-menu/site-export.js.map +1 -0
- package/build-module/{plugins → components/header/more-menu}/welcome-guide-menu-item.js +1 -1
- package/build-module/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
- package/build-module/components/header/tools-more-menu-group/index.js +2 -5
- package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js +36 -0
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +44 -0
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/index.js +120 -0
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +58 -0
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
- package/build-module/components/keyboard-shortcuts/index.js +9 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/list/added-by.js +52 -51
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/routes/redirect-to-homepage.js +94 -0
- package/build-module/components/routes/redirect-to-homepage.js.map +1 -0
- package/build-module/components/template-part-converter/convert-to-template-part.js +4 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build-module/components/url-query-controller/index.js +3 -40
- package/build-module/components/url-query-controller/index.js.map +1 -1
- package/build-module/index.js +20 -3
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +7 -23
- package/build-module/store/actions.js.map +1 -1
- package/build-style/style-rtl.css +55 -5
- package/build-style/style.css +55 -5
- package/package.json +9 -9
- package/src/components/add-new-template/new-template-part.js +7 -1
- package/src/components/block-editor/style.scss +6 -6
- package/src/components/editor/index.js +14 -0
- package/src/components/error-boundary/index.js +11 -28
- package/src/components/error-boundary/warning.js +59 -0
- package/src/components/global-styles/screen-background-color.js +6 -9
- package/src/components/global-styles/screen-link-color.js +6 -14
- package/src/components/global-styles/screen-text-color.js +6 -14
- package/src/components/header/more-menu/index.js +103 -44
- package/src/{plugins → components/header/more-menu}/site-export.js +0 -0
- package/src/{plugins → components/header/more-menu}/welcome-guide-menu-item.js +1 -1
- package/src/components/header/tools-more-menu-group/index.js +2 -7
- package/src/components/keyboard-shortcut-help-modal/config.js +27 -0
- package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +41 -0
- package/src/components/keyboard-shortcut-help-modal/index.js +135 -0
- package/src/components/keyboard-shortcut-help-modal/shortcut.js +73 -0
- package/src/components/keyboard-shortcut-help-modal/style.scss +66 -0
- package/src/components/keyboard-shortcuts/index.js +10 -0
- package/src/components/list/added-by.js +57 -63
- package/src/components/routes/redirect-to-homepage.js +94 -0
- package/src/components/template-part-converter/convert-to-template-part.js +6 -1
- package/src/components/url-query-controller/index.js +3 -35
- package/src/index.js +25 -2
- package/src/store/actions.js +7 -35
- package/src/store/test/actions.js +0 -90
- package/src/style.scss +1 -0
- package/build/plugins/index.js +0 -28
- package/build/plugins/index.js.map +0 -1
- package/build/plugins/site-export.js.map +0 -1
- package/build/plugins/welcome-guide-menu-item.js.map +0 -1
- package/build-module/plugins/index.js +0 -20
- package/build-module/plugins/index.js.map +0 -1
- package/build-module/plugins/site-export.js.map +0 -1
- package/build-module/plugins/welcome-guide-menu-item.js.map +0 -1
- package/src/plugins/index.js +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/store/actions.js"],"names":["parse","__unstableSerializeAndClean","controls","dispatch","apiFetch","addQueryArgs","getPathAndQueryString","__","sprintf","store","noticesStore","coreStore","interfaceStore","STORE_NAME","editSiteStoreName","isTemplateRevertable","toggleFeature","feature","type","__experimentalSetPreviewDeviceType","deviceType","setTemplate","templateId","templateSlug","pageContext","template","resolveSelect","slug","page","context","addTemplate","newTemplate","content","id","blocks","undoIgnore","removeTemplate","force","lastError","select","title","rendered","error","errorMessage","message","code","setTemplatePart","templatePartId","setHomeTemplateId","homeTemplateId","setPage","path","postId","entity","postType","link","showHomepage","show_on_front","showOnFront","page_on_front","frontpageId","siteUrl","homeTemplate","setNavigationPanelActiveMenu","menu","openNavigationPanelToMenu","setIsNavigationPanelOpened","isOpen","setIsInserterOpened","value","updateSettings","settings","setIsListViewOpened","revertTemplate","allowUndo","templateEntity","fileTemplatePath","baseURL","source","fileTemplate","serializeBlocks","blocksForSerialization","edited","raw","undoRevert","editEntityRecord","actions","label","onClick","openGeneralSidebar","name","closeGeneralSidebar"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { controls, dispatch } from '@wordpress/data';\nimport { apiFetch } from '@wordpress/data-controls';\nimport { addQueryArgs, getPathAndQueryString } from '@wordpress/url';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME as editSiteStoreName } from './constants';\nimport isTemplateRevertable from '../utils/is-template-revertable';\n\n/**\n * Returns an action object used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n *\n * @return {Object} Action object.\n */\nexport function toggleFeature( feature ) {\n\treturn {\n\t\ttype: 'TOGGLE_FEATURE',\n\t\tfeature,\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to set a template.\n *\n * @param {number} templateId The template ID.\n * @param {string} templateSlug The template slug.\n * @return {Object} Action object.\n */\nexport function* setTemplate( templateId, templateSlug ) {\n\tconst pageContext = { templateSlug };\n\tif ( ! templateSlug ) {\n\t\tconst template = yield controls.resolveSelect(\n\t\t\tcoreStore,\n\t\t\t'getEntityRecord',\n\t\t\t'postType',\n\t\t\t'wp_template',\n\t\t\ttemplateId\n\t\t);\n\t\tpageContext.templateSlug = template?.slug;\n\t}\n\treturn {\n\t\ttype: 'SET_TEMPLATE',\n\t\ttemplateId,\n\t\tpage: { context: pageContext },\n\t};\n}\n\n/**\n * Adds a new template, and sets it as the current template.\n *\n * @param {Object} template The template.\n *\n * @return {Object} Action object used to set the current template.\n */\nexport function* addTemplate( template ) {\n\tconst newTemplate = yield controls.dispatch(\n\t\tcoreStore,\n\t\t'saveEntityRecord',\n\t\t'postType',\n\t\t'wp_template',\n\t\ttemplate\n\t);\n\n\tif ( template.content ) {\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'editEntityRecord',\n\t\t\t'postType',\n\t\t\t'wp_template',\n\t\t\tnewTemplate.id,\n\t\t\t{ blocks: parse( template.content ) },\n\t\t\t{ undoIgnore: true }\n\t\t);\n\t}\n\n\treturn {\n\t\ttype: 'SET_TEMPLATE',\n\t\ttemplateId: newTemplate.id,\n\t\tpage: { context: { templateSlug: newTemplate.slug } },\n\t};\n}\n\n/**\n * Removes a template.\n *\n * @param {Object} template The template object.\n */\nexport function* removeTemplate( template ) {\n\ttry {\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'deleteEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id,\n\t\t\t{ force: true }\n\t\t);\n\n\t\tconst lastError = yield controls.select(\n\t\t\tcoreStore,\n\t\t\t'getLastEntityDeleteError',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id\n\t\t);\n\n\t\tif ( lastError ) {\n\t\t\tthrow lastError;\n\t\t}\n\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createSuccessNotice',\n\t\t\tsprintf(\n\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t__( '\"%s\" removed.' ),\n\t\t\t\ttemplate.title.rendered\n\t\t\t),\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t} catch ( error ) {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? error.message\n\t\t\t\t: __( 'An error occurred while deleting the template.' );\n\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createErrorNotice',\n\t\t\terrorMessage,\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t}\n}\n\n/**\n * Returns an action object used to set a template part.\n *\n * @param {string} templatePartId The template part ID.\n *\n * @return {Object} Action object.\n */\nexport function setTemplatePart( templatePartId ) {\n\treturn {\n\t\ttype: 'SET_TEMPLATE_PART',\n\t\ttemplatePartId,\n\t};\n}\n\n/**\n * Updates the homeTemplateId state with the templateId of the page resolved\n * from the given path.\n *\n * @param {number} homeTemplateId The template ID for the homepage.\n */\nexport function setHomeTemplateId( homeTemplateId ) {\n\treturn {\n\t\ttype: 'SET_HOME_TEMPLATE',\n\t\thomeTemplateId,\n\t};\n}\n\n/**\n * Resolves the template for a page and displays both. If no path is given, attempts\n * to use the postId to generate a path like `?p=${ postId }`.\n *\n * @param {Object} page The page object.\n * @param {string} page.type The page type.\n * @param {string} page.slug The page slug.\n * @param {string} page.path The page path.\n * @param {Object} page.context The page context.\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport function* setPage( page ) {\n\tif ( ! page.path && page.context?.postId ) {\n\t\tconst entity = yield controls.resolveSelect(\n\t\t\tcoreStore,\n\t\t\t'getEntityRecord',\n\t\t\t'postType',\n\t\t\tpage.context.postType || 'post',\n\t\t\tpage.context.postId\n\t\t);\n\n\t\tpage.path = getPathAndQueryString( entity.link );\n\t}\n\tconst { id: templateId, slug: templateSlug } = yield controls.resolveSelect(\n\t\tcoreStore,\n\t\t'__experimentalGetTemplateForLink',\n\t\tpage.path\n\t);\n\tyield {\n\t\ttype: 'SET_PAGE',\n\t\tpage: ! templateSlug\n\t\t\t? page\n\t\t\t: {\n\t\t\t\t\t...page,\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\t...page.context,\n\t\t\t\t\t\ttemplateSlug,\n\t\t\t\t\t},\n\t\t\t },\n\t\ttemplateId,\n\t};\n\treturn templateId;\n}\n\n/**\n * Displays the site homepage for editing in the editor.\n */\nexport function* showHomepage() {\n\tconst {\n\t\tshow_on_front: showOnFront,\n\t\tpage_on_front: frontpageId,\n\t} = yield controls.resolveSelect(\n\t\tcoreStore,\n\t\t'getEntityRecord',\n\t\t'root',\n\t\t'site'\n\t);\n\n\tconst { siteUrl } = yield controls.select(\n\t\teditSiteStoreName,\n\t\t'getSettings'\n\t);\n\n\tconst page = {\n\t\tpath: siteUrl,\n\t\tcontext:\n\t\t\tshowOnFront === 'page'\n\t\t\t\t? {\n\t\t\t\t\t\tpostType: 'page',\n\t\t\t\t\t\tpostId: frontpageId,\n\t\t\t\t }\n\t\t\t\t: {},\n\t};\n\n\tconst homeTemplate = yield* setPage( page );\n\tyield setHomeTemplateId( homeTemplate );\n}\n\n/**\n * Returns an action object used to set the active navigation panel menu.\n *\n * @param {string} menu Menu prop of active menu.\n *\n * @return {Object} Action object.\n */\nexport function setNavigationPanelActiveMenu( menu ) {\n\treturn {\n\t\ttype: 'SET_NAVIGATION_PANEL_ACTIVE_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Opens the navigation panel and sets its active menu at the same time.\n *\n * @param {string} menu Identifies the menu to open.\n */\nexport function openNavigationPanelToMenu( menu ) {\n\treturn {\n\t\ttype: 'OPEN_NAVIGATION_PANEL_TO_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Sets whether the navigation panel should be open.\n *\n * @param {boolean} isOpen If true, opens the nav panel. If false, closes it. It\n * does not toggle the state, but sets it directly.\n */\nexport function setIsNavigationPanelOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_NAVIGATION_PANEL_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to update the settings.\n *\n * @param {Object} settings New settings.\n *\n * @return {Object} Action object.\n */\nexport function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Sets whether the list view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the list view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport function* revertTemplate( template, { allowUndo = true } = {} ) {\n\tif ( ! isTemplateRevertable( template ) ) {\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createErrorNotice',\n\t\t\t__( 'This template is not revertable.' ),\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst templateEntity = yield controls.select(\n\t\t\tcoreStore,\n\t\t\t'getEntity',\n\t\t\t'postType',\n\t\t\ttemplate.type\n\t\t);\n\t\tif ( ! templateEntity ) {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createErrorNotice',\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t`${ templateEntity.baseURL }/${ template.id }`,\n\t\t\t{ context: 'edit', source: 'theme' }\n\t\t);\n\t\tconst fileTemplate = yield apiFetch( { path: fileTemplatePath } );\n\t\tif ( ! fileTemplate ) {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createErrorNotice',\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst serializeBlocks = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t\tconst edited = yield controls.select(\n\t\t\tcoreStore,\n\t\t\t'getEditedEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id\n\t\t);\n\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t// the revert in the header toolbar correctly.\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'editEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks, // required to make the `undo` behave correctly\n\t\t\t\tblocks: edited.blocks, // required to revert the blocks in the editor\n\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t},\n\t\t\t{\n\t\t\t\tundoIgnore: true, // required to merge this edit with the last undo level\n\t\t\t}\n\t\t);\n\n\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'editEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\tfileTemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks,\n\t\t\t\tblocks,\n\t\t\t\tsource: 'theme',\n\t\t\t}\n\t\t);\n\n\t\tif ( allowUndo ) {\n\t\t\tconst undoRevert = async () => {\n\t\t\t\tawait dispatch( coreStore ).editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\tedited.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t};\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createSuccessNotice',\n\t\t\t\t__( 'Template reverted.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: undoRevert,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createSuccessNotice',\n\t\t\t\t__( 'Template reverted.' )\n\t\t\t);\n\t\t}\n\t} catch ( error ) {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? error.message\n\t\t\t\t: __( 'Template revert failed. Please reload.' );\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createErrorNotice',\n\t\t\terrorMessage,\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t}\n}\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n *\n * @yield {Object} Action object.\n */\nexport function* openGeneralSidebar( name ) {\n\tyield controls.dispatch(\n\t\tinterfaceStore,\n\t\t'enableComplementaryArea',\n\t\teditSiteStoreName,\n\t\tname\n\t);\n}\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n *\n * @yield {Object} Action object.\n */\nexport function* closeGeneralSidebar() {\n\tyield controls.dispatch(\n\t\tinterfaceStore,\n\t\t'disableComplementaryArea',\n\t\teditSiteStoreName\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/store/actions.js"],"names":["parse","__unstableSerializeAndClean","controls","dispatch","apiFetch","addQueryArgs","getPathAndQueryString","__","sprintf","store","noticesStore","coreStore","interfaceStore","STORE_NAME","editSiteStoreName","isTemplateRevertable","toggleFeature","feature","type","__experimentalSetPreviewDeviceType","deviceType","setTemplate","templateId","templateSlug","pageContext","template","resolveSelect","slug","page","context","addTemplate","newTemplate","content","id","blocks","undoIgnore","removeTemplate","force","lastError","select","title","rendered","error","errorMessage","message","code","setTemplatePart","templatePartId","setHomeTemplateId","homeTemplateId","setPage","path","postId","entity","postType","link","setNavigationPanelActiveMenu","menu","openNavigationPanelToMenu","setIsNavigationPanelOpened","isOpen","setIsInserterOpened","value","updateSettings","settings","setIsListViewOpened","revertTemplate","allowUndo","templateEntity","fileTemplatePath","baseURL","source","fileTemplate","serializeBlocks","blocksForSerialization","edited","raw","undoRevert","editEntityRecord","actions","label","onClick","openGeneralSidebar","name","closeGeneralSidebar"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAT,EAAgBC,2BAAhB,QAAmD,mBAAnD;AACA,SAASC,QAAT,EAAmBC,QAAnB,QAAmC,iBAAnC;AACA,SAASC,QAAT,QAAyB,0BAAzB;AACA,SAASC,YAAT,EAAuBC,qBAAvB,QAAoD,gBAApD;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASD,KAAK,IAAIE,SAAlB,QAAmC,sBAAnC;AACA,SAASF,KAAK,IAAIG,cAAlB,QAAwC,sBAAxC;AAEA;AACA;AACA;;AACA,SAASC,UAAU,IAAIC,iBAAvB,QAAgD,aAAhD;AACA,OAAOC,oBAAP,MAAiC,iCAAjC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,aAAT,CAAwBC,OAAxB,EAAkC;AACxC,SAAO;AACNC,IAAAA,IAAI,EAAE,gBADA;AAEND,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,kCAAT,CAA6CC,UAA7C,EAA0D;AAChE,SAAO;AACNF,IAAAA,IAAI,EAAE,yBADA;AAENE,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,UAAUC,WAAV,CAAuBC,UAAvB,EAAmCC,YAAnC,EAAkD;AACxD,QAAMC,WAAW,GAAG;AAAED,IAAAA;AAAF,GAApB;;AACA,MAAK,CAAEA,YAAP,EAAsB;AACrB,UAAME,QAAQ,GAAG,MAAMvB,QAAQ,CAACwB,aAAT,CACtBf,SADsB,EAEtB,iBAFsB,EAGtB,UAHsB,EAItB,aAJsB,EAKtBW,UALsB,CAAvB;AAOAE,IAAAA,WAAW,CAACD,YAAZ,GAA2BE,QAA3B,aAA2BA,QAA3B,uBAA2BA,QAAQ,CAAEE,IAArC;AACA;;AACD,SAAO;AACNT,IAAAA,IAAI,EAAE,cADA;AAENI,IAAAA,UAFM;AAGNM,IAAAA,IAAI,EAAE;AAAEC,MAAAA,OAAO,EAAEL;AAAX;AAHA,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,UAAUM,WAAV,CAAuBL,QAAvB,EAAkC;AACxC,QAAMM,WAAW,GAAG,MAAM7B,QAAQ,CAACC,QAAT,CACzBQ,SADyB,EAEzB,kBAFyB,EAGzB,UAHyB,EAIzB,aAJyB,EAKzBc,QALyB,CAA1B;;AAQA,MAAKA,QAAQ,CAACO,OAAd,EAAwB;AACvB,UAAM9B,QAAQ,CAACC,QAAT,CACLQ,SADK,EAEL,kBAFK,EAGL,UAHK,EAIL,aAJK,EAKLoB,WAAW,CAACE,EALP,EAML;AAAEC,MAAAA,MAAM,EAAElC,KAAK,CAAEyB,QAAQ,CAACO,OAAX;AAAf,KANK,EAOL;AAAEG,MAAAA,UAAU,EAAE;AAAd,KAPK,CAAN;AASA;;AAED,SAAO;AACNjB,IAAAA,IAAI,EAAE,cADA;AAENI,IAAAA,UAAU,EAAES,WAAW,CAACE,EAFlB;AAGNL,IAAAA,IAAI,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAEN,QAAAA,YAAY,EAAEQ,WAAW,CAACJ;AAA5B;AAAX;AAHA,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,UAAUS,cAAV,CAA0BX,QAA1B,EAAqC;AAC3C,MAAI;AACH,UAAMvB,QAAQ,CAACC,QAAT,CACLQ,SADK,EAEL,oBAFK,EAGL,UAHK,EAILc,QAAQ,CAACP,IAJJ,EAKLO,QAAQ,CAACQ,EALJ,EAML;AAAEI,MAAAA,KAAK,EAAE;AAAT,KANK,CAAN;AASA,UAAMC,SAAS,GAAG,MAAMpC,QAAQ,CAACqC,MAAT,CACvB5B,SADuB,EAEvB,0BAFuB,EAGvB,UAHuB,EAIvBc,QAAQ,CAACP,IAJc,EAKvBO,QAAQ,CAACQ,EALc,CAAxB;;AAQA,QAAKK,SAAL,EAAiB;AAChB,YAAMA,SAAN;AACA;;AAED,UAAMpC,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,qBAFK,EAGLF,OAAO;AACN;AACAD,IAAAA,EAAE,CAAE,eAAF,CAFI,EAGNkB,QAAQ,CAACe,KAAT,CAAeC,QAHT,CAHF,EAQL;AAAEvB,MAAAA,IAAI,EAAE;AAAR,KARK,CAAN;AAUA,GAhCD,CAgCE,OAAQwB,KAAR,EAAgB;AACjB,UAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEGrC,EAAE,CAAE,gDAAF,CAHN;AAKA,UAAML,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,mBAFK,EAGLiC,YAHK,EAIL;AAAEzB,MAAAA,IAAI,EAAE;AAAR,KAJK,CAAN;AAMA;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAAS4B,eAAT,CAA0BC,cAA1B,EAA2C;AACjD,SAAO;AACN7B,IAAAA,IAAI,EAAE,mBADA;AAEN6B,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,iBAAT,CAA4BC,cAA5B,EAA6C;AACnD,SAAO;AACN/B,IAAAA,IAAI,EAAE,mBADA;AAEN+B,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,UAAUC,OAAV,CAAmBtB,IAAnB,EAA0B;AAAA;;AAChC,MAAK,CAAEA,IAAI,CAACuB,IAAP,qBAAevB,IAAI,CAACC,OAApB,0CAAe,cAAcuB,MAAlC,EAA2C;AAC1C,UAAMC,MAAM,GAAG,MAAMnD,QAAQ,CAACwB,aAAT,CACpBf,SADoB,EAEpB,iBAFoB,EAGpB,UAHoB,EAIpBiB,IAAI,CAACC,OAAL,CAAayB,QAAb,IAAyB,MAJL,EAKpB1B,IAAI,CAACC,OAAL,CAAauB,MALO,CAArB;AAQAxB,IAAAA,IAAI,CAACuB,IAAL,GAAY7C,qBAAqB,CAAE+C,MAAM,CAACE,IAAT,CAAjC;AACA;;AACD,QAAM9B,QAAQ,GAAG,MAAMvB,QAAQ,CAACwB,aAAT,CACtBf,SADsB,EAEtB,kCAFsB,EAGtBiB,IAAI,CAACuB,IAHiB,CAAvB;;AAMA,MAAK,CAAE1B,QAAP,EAAkB;AACjB;AACA;;AAED,QAAM;AAAEQ,IAAAA,EAAE,EAAEX,UAAN;AAAkBK,IAAAA,IAAI,EAAEJ;AAAxB,MAAyCE,QAA/C;AACA,QAAM;AACLP,IAAAA,IAAI,EAAE,UADD;AAELU,IAAAA,IAAI,EAAE,CAAEL,YAAF,GACHK,IADG,GAEH,EACA,GAAGA,IADH;AAEAC,MAAAA,OAAO,EAAE,EACR,GAAGD,IAAI,CAACC,OADA;AAERN,QAAAA;AAFQ;AAFT,KAJE;AAWLD,IAAAA;AAXK,GAAN;AAaA,SAAOA,UAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASkC,4BAAT,CAAuCC,IAAvC,EAA8C;AACpD,SAAO;AACNvC,IAAAA,IAAI,EAAE,kCADA;AAENuC,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,yBAAT,CAAoCD,IAApC,EAA2C;AACjD,SAAO;AACNvC,IAAAA,IAAI,EAAE,+BADA;AAENuC,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,0BAAT,CAAqCC,MAArC,EAA8C;AACpD,SAAO;AACN1C,IAAAA,IAAI,EAAE,gCADA;AAEN0C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,mBAAT,CAA8BC,KAA9B,EAAsC;AAC5C,SAAO;AACN5C,IAAAA,IAAI,EAAE,wBADA;AAEN4C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,cAAT,CAAyBC,QAAzB,EAAoC;AAC1C,SAAO;AACN9C,IAAAA,IAAI,EAAE,iBADA;AAEN8C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,mBAAT,CAA8BL,MAA9B,EAAuC;AAC7C,SAAO;AACN1C,IAAAA,IAAI,EAAE,yBADA;AAEN0C,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,UAAUM,cAAV,CAA0BzC,QAA1B,EAAgE;AAAA,MAA5B;AAAE0C,IAAAA,SAAS,GAAG;AAAd,GAA4B,uEAAL,EAAK;;AACtE,MAAK,CAAEpD,oBAAoB,CAAEU,QAAF,CAA3B,EAA0C;AACzC,UAAMvB,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,mBAFK,EAGLH,EAAE,CAAE,kCAAF,CAHG,EAIL;AAAEW,MAAAA,IAAI,EAAE;AAAR,KAJK,CAAN;AAMA;AACA;;AAED,MAAI;AAAA;;AACH,UAAMkD,cAAc,GAAG,MAAMlE,QAAQ,CAACqC,MAAT,CAC5B5B,SAD4B,EAE5B,WAF4B,EAG5B,UAH4B,EAI5Bc,QAAQ,CAACP,IAJmB,CAA7B;;AAMA,QAAK,CAAEkD,cAAP,EAAwB;AACvB,YAAMlE,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,mBAFK,EAGLH,EAAE,CACD,gEADC,CAHG,EAML;AAAEW,QAAAA,IAAI,EAAE;AAAR,OANK,CAAN;AAQA;AACA;;AAED,UAAMmD,gBAAgB,GAAGhE,YAAY,CACnC,GAAG+D,cAAc,CAACE,OAAS,IAAI7C,QAAQ,CAACQ,EAAI,EADT,EAEpC;AAAEJ,MAAAA,OAAO,EAAE,MAAX;AAAmB0C,MAAAA,MAAM,EAAE;AAA3B,KAFoC,CAArC;AAIA,UAAMC,YAAY,GAAG,MAAMpE,QAAQ,CAAE;AAAE+C,MAAAA,IAAI,EAAEkB;AAAR,KAAF,CAAnC;;AACA,QAAK,CAAEG,YAAP,EAAsB;AACrB,YAAMtE,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,mBAFK,EAGLH,EAAE,CACD,gEADC,CAHG,EAML;AAAEW,QAAAA,IAAI,EAAE;AAAR,OANK,CAAN;AAQA;AACA;;AAED,UAAMuD,eAAe,GAAG;AAAA,UAAE;AAAEvC,QAAAA,MAAM,EAAEwC,sBAAsB,GAAG;AAAnC,OAAF;AAAA,aACvBzE,2BAA2B,CAAEyE,sBAAF,CADJ;AAAA,KAAxB;;AAEA,UAAMC,MAAM,GAAG,MAAMzE,QAAQ,CAACqC,MAAT,CACpB5B,SADoB,EAEpB,uBAFoB,EAGpB,UAHoB,EAIpBc,QAAQ,CAACP,IAJW,EAKpBO,QAAQ,CAACQ,EALW,CAArB,CAtCG,CA6CH;AACA;;AACA,UAAM/B,QAAQ,CAACC,QAAT,CACLQ,SADK,EAEL,kBAFK,EAGL,UAHK,EAILc,QAAQ,CAACP,IAJJ,EAKLO,QAAQ,CAACQ,EALJ,EAML;AACCD,MAAAA,OAAO,EAAEyC,eADV;AAC2B;AAC1BvC,MAAAA,MAAM,EAAEyC,MAAM,CAACzC,MAFhB;AAEwB;AACvBqC,MAAAA,MAAM,EAAE,QAHT,CAGmB;;AAHnB,KANK,EAWL;AACCpC,MAAAA,UAAU,EAAE,IADb,CACmB;;AADnB,KAXK,CAAN;AAgBA,UAAMD,MAAM,GAAGlC,KAAK,CAAEwE,YAAF,aAAEA,YAAF,gDAAEA,YAAY,CAAExC,OAAhB,0DAAE,sBAAuB4C,GAAzB,CAApB;AACA,UAAM1E,QAAQ,CAACC,QAAT,CACLQ,SADK,EAEL,kBAFK,EAGL,UAHK,EAILc,QAAQ,CAACP,IAJJ,EAKLsD,YAAY,CAACvC,EALR,EAML;AACCD,MAAAA,OAAO,EAAEyC,eADV;AAECvC,MAAAA,MAFD;AAGCqC,MAAAA,MAAM,EAAE;AAHT,KANK,CAAN;;AAaA,QAAKJ,SAAL,EAAiB;AAChB,YAAMU,UAAU,GAAG,YAAY;AAC9B,cAAM1E,QAAQ,CAAEQ,SAAF,CAAR,CAAsBmE,gBAAtB,CACL,UADK,EAELrD,QAAQ,CAACP,IAFJ,EAGLyD,MAAM,CAAC1C,EAHF,EAIL;AACCD,UAAAA,OAAO,EAAEyC,eADV;AAECvC,UAAAA,MAAM,EAAEyC,MAAM,CAACzC,MAFhB;AAGCqC,UAAAA,MAAM,EAAE;AAHT,SAJK,CAAN;AAUA,OAXD;;AAYA,YAAMrE,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,qBAFK,EAGLH,EAAE,CAAE,oBAAF,CAHG,EAIL;AACCW,QAAAA,IAAI,EAAE,UADP;AAEC6D,QAAAA,OAAO,EAAE,CACR;AACCC,UAAAA,KAAK,EAAEzE,EAAE,CAAE,MAAF,CADV;AAEC0E,UAAAA,OAAO,EAAEJ;AAFV,SADQ;AAFV,OAJK,CAAN;AAcA,KA3BD,MA2BO;AACN,YAAM3E,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,qBAFK,EAGLH,EAAE,CAAE,oBAAF,CAHG,CAAN;AAKA;AACD,GA/GD,CA+GE,OAAQmC,KAAR,EAAgB;AACjB,UAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEGrC,EAAE,CAAE,wCAAF,CAHN;AAIA,UAAML,QAAQ,CAACC,QAAT,CACLO,YADK,EAEL,mBAFK,EAGLiC,YAHK,EAIL;AAAEzB,MAAAA,IAAI,EAAE;AAAR,KAJK,CAAN;AAMA;AACD;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,UAAUgE,kBAAV,CAA8BC,IAA9B,EAAqC;AAC3C,QAAMjF,QAAQ,CAACC,QAAT,CACLS,cADK,EAEL,yBAFK,EAGLE,iBAHK,EAILqE,IAJK,CAAN;AAMA;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,UAAUC,mBAAV,GAAgC;AACtC,QAAMlF,QAAQ,CAACC,QAAT,CACLS,cADK,EAEL,0BAFK,EAGLE,iBAHK,CAAN;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { controls, dispatch } from '@wordpress/data';\nimport { apiFetch } from '@wordpress/data-controls';\nimport { addQueryArgs, getPathAndQueryString } from '@wordpress/url';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME as editSiteStoreName } from './constants';\nimport isTemplateRevertable from '../utils/is-template-revertable';\n\n/**\n * Returns an action object used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n *\n * @return {Object} Action object.\n */\nexport function toggleFeature( feature ) {\n\treturn {\n\t\ttype: 'TOGGLE_FEATURE',\n\t\tfeature,\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to set a template.\n *\n * @param {number} templateId The template ID.\n * @param {string} templateSlug The template slug.\n * @return {Object} Action object.\n */\nexport function* setTemplate( templateId, templateSlug ) {\n\tconst pageContext = { templateSlug };\n\tif ( ! templateSlug ) {\n\t\tconst template = yield controls.resolveSelect(\n\t\t\tcoreStore,\n\t\t\t'getEntityRecord',\n\t\t\t'postType',\n\t\t\t'wp_template',\n\t\t\ttemplateId\n\t\t);\n\t\tpageContext.templateSlug = template?.slug;\n\t}\n\treturn {\n\t\ttype: 'SET_TEMPLATE',\n\t\ttemplateId,\n\t\tpage: { context: pageContext },\n\t};\n}\n\n/**\n * Adds a new template, and sets it as the current template.\n *\n * @param {Object} template The template.\n *\n * @return {Object} Action object used to set the current template.\n */\nexport function* addTemplate( template ) {\n\tconst newTemplate = yield controls.dispatch(\n\t\tcoreStore,\n\t\t'saveEntityRecord',\n\t\t'postType',\n\t\t'wp_template',\n\t\ttemplate\n\t);\n\n\tif ( template.content ) {\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'editEntityRecord',\n\t\t\t'postType',\n\t\t\t'wp_template',\n\t\t\tnewTemplate.id,\n\t\t\t{ blocks: parse( template.content ) },\n\t\t\t{ undoIgnore: true }\n\t\t);\n\t}\n\n\treturn {\n\t\ttype: 'SET_TEMPLATE',\n\t\ttemplateId: newTemplate.id,\n\t\tpage: { context: { templateSlug: newTemplate.slug } },\n\t};\n}\n\n/**\n * Removes a template.\n *\n * @param {Object} template The template object.\n */\nexport function* removeTemplate( template ) {\n\ttry {\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'deleteEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id,\n\t\t\t{ force: true }\n\t\t);\n\n\t\tconst lastError = yield controls.select(\n\t\t\tcoreStore,\n\t\t\t'getLastEntityDeleteError',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id\n\t\t);\n\n\t\tif ( lastError ) {\n\t\t\tthrow lastError;\n\t\t}\n\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createSuccessNotice',\n\t\t\tsprintf(\n\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t__( '\"%s\" removed.' ),\n\t\t\t\ttemplate.title.rendered\n\t\t\t),\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t} catch ( error ) {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? error.message\n\t\t\t\t: __( 'An error occurred while deleting the template.' );\n\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createErrorNotice',\n\t\t\terrorMessage,\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t}\n}\n\n/**\n * Returns an action object used to set a template part.\n *\n * @param {string} templatePartId The template part ID.\n *\n * @return {Object} Action object.\n */\nexport function setTemplatePart( templatePartId ) {\n\treturn {\n\t\ttype: 'SET_TEMPLATE_PART',\n\t\ttemplatePartId,\n\t};\n}\n\n/**\n * Updates the homeTemplateId state with the templateId of the page resolved\n * from the given path.\n *\n * @param {number} homeTemplateId The template ID for the homepage.\n */\nexport function setHomeTemplateId( homeTemplateId ) {\n\treturn {\n\t\ttype: 'SET_HOME_TEMPLATE',\n\t\thomeTemplateId,\n\t};\n}\n\n/**\n * Resolves the template for a page and displays both. If no path is given, attempts\n * to use the postId to generate a path like `?p=${ postId }`.\n *\n * @param {Object} page The page object.\n * @param {string} page.type The page type.\n * @param {string} page.slug The page slug.\n * @param {string} page.path The page path.\n * @param {Object} page.context The page context.\n *\n * @return {number} The resolved template ID for the page route.\n */\nexport function* setPage( page ) {\n\tif ( ! page.path && page.context?.postId ) {\n\t\tconst entity = yield controls.resolveSelect(\n\t\t\tcoreStore,\n\t\t\t'getEntityRecord',\n\t\t\t'postType',\n\t\t\tpage.context.postType || 'post',\n\t\t\tpage.context.postId\n\t\t);\n\n\t\tpage.path = getPathAndQueryString( entity.link );\n\t}\n\tconst template = yield controls.resolveSelect(\n\t\tcoreStore,\n\t\t'__experimentalGetTemplateForLink',\n\t\tpage.path\n\t);\n\n\tif ( ! template ) {\n\t\treturn;\n\t}\n\n\tconst { id: templateId, slug: templateSlug } = template;\n\tyield {\n\t\ttype: 'SET_PAGE',\n\t\tpage: ! templateSlug\n\t\t\t? page\n\t\t\t: {\n\t\t\t\t\t...page,\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\t...page.context,\n\t\t\t\t\t\ttemplateSlug,\n\t\t\t\t\t},\n\t\t\t },\n\t\ttemplateId,\n\t};\n\treturn templateId;\n}\n\n/**\n * Returns an action object used to set the active navigation panel menu.\n *\n * @param {string} menu Menu prop of active menu.\n *\n * @return {Object} Action object.\n */\nexport function setNavigationPanelActiveMenu( menu ) {\n\treturn {\n\t\ttype: 'SET_NAVIGATION_PANEL_ACTIVE_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Opens the navigation panel and sets its active menu at the same time.\n *\n * @param {string} menu Identifies the menu to open.\n */\nexport function openNavigationPanelToMenu( menu ) {\n\treturn {\n\t\ttype: 'OPEN_NAVIGATION_PANEL_TO_MENU',\n\t\tmenu,\n\t};\n}\n\n/**\n * Sets whether the navigation panel should be open.\n *\n * @param {boolean} isOpen If true, opens the nav panel. If false, closes it. It\n * does not toggle the state, but sets it directly.\n */\nexport function setIsNavigationPanelOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_NAVIGATION_PANEL_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to update the settings.\n *\n * @param {Object} settings New settings.\n *\n * @return {Object} Action object.\n */\nexport function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Sets whether the list view panel should be open.\n *\n * @param {boolean} isOpen If true, opens the list view. If false, closes it.\n * It does not toggle the state, but sets it directly.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport function* revertTemplate( template, { allowUndo = true } = {} ) {\n\tif ( ! isTemplateRevertable( template ) ) {\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createErrorNotice',\n\t\t\t__( 'This template is not revertable.' ),\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst templateEntity = yield controls.select(\n\t\t\tcoreStore,\n\t\t\t'getEntity',\n\t\t\t'postType',\n\t\t\ttemplate.type\n\t\t);\n\t\tif ( ! templateEntity ) {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createErrorNotice',\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t`${ templateEntity.baseURL }/${ template.id }`,\n\t\t\t{ context: 'edit', source: 'theme' }\n\t\t);\n\t\tconst fileTemplate = yield apiFetch( { path: fileTemplatePath } );\n\t\tif ( ! fileTemplate ) {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createErrorNotice',\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst serializeBlocks = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t\tconst edited = yield controls.select(\n\t\t\tcoreStore,\n\t\t\t'getEditedEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id\n\t\t);\n\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t// the revert in the header toolbar correctly.\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'editEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks, // required to make the `undo` behave correctly\n\t\t\t\tblocks: edited.blocks, // required to revert the blocks in the editor\n\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t},\n\t\t\t{\n\t\t\t\tundoIgnore: true, // required to merge this edit with the last undo level\n\t\t\t}\n\t\t);\n\n\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\tyield controls.dispatch(\n\t\t\tcoreStore,\n\t\t\t'editEntityRecord',\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\tfileTemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks,\n\t\t\t\tblocks,\n\t\t\t\tsource: 'theme',\n\t\t\t}\n\t\t);\n\n\t\tif ( allowUndo ) {\n\t\t\tconst undoRevert = async () => {\n\t\t\t\tawait dispatch( coreStore ).editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\tedited.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t};\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createSuccessNotice',\n\t\t\t\t__( 'Template reverted.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: undoRevert,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createSuccessNotice',\n\t\t\t\t__( 'Template reverted.' )\n\t\t\t);\n\t\t}\n\t} catch ( error ) {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? error.message\n\t\t\t\t: __( 'Template revert failed. Please reload.' );\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createErrorNotice',\n\t\t\terrorMessage,\n\t\t\t{ type: 'snackbar' }\n\t\t);\n\t}\n}\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n *\n * @yield {Object} Action object.\n */\nexport function* openGeneralSidebar( name ) {\n\tyield controls.dispatch(\n\t\tinterfaceStore,\n\t\t'enableComplementaryArea',\n\t\teditSiteStoreName,\n\t\tname\n\t);\n}\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n *\n * @yield {Object} Action object.\n */\nexport function* closeGeneralSidebar() {\n\tyield controls.dispatch(\n\t\tinterfaceStore,\n\t\t'disableComplementaryArea',\n\t\teditSiteStoreName\n\t);\n}\n"]}
|
|
@@ -470,6 +470,10 @@ body.is-fullscreen-mode .interface-interface-skeleton {
|
|
|
470
470
|
.edit-site-visual-editor.is-focus-mode .components-resizable-box__container {
|
|
471
471
|
overflow: visible;
|
|
472
472
|
}
|
|
473
|
+
.edit-site-visual-editor .components-resizable-box__container {
|
|
474
|
+
margin: 0 auto;
|
|
475
|
+
overflow: auto;
|
|
476
|
+
}
|
|
473
477
|
|
|
474
478
|
.edit-site-visual-editor__editor-canvas {
|
|
475
479
|
border-radius: 2px 2px 0 0;
|
|
@@ -485,11 +489,6 @@ body.is-fullscreen-mode .interface-interface-skeleton {
|
|
|
485
489
|
color: #f0f0f0;
|
|
486
490
|
}
|
|
487
491
|
|
|
488
|
-
.components-resizable-box__container {
|
|
489
|
-
margin: 0 auto;
|
|
490
|
-
overflow: auto;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
492
|
.resizable-editor__drag-handle {
|
|
494
493
|
position: absolute;
|
|
495
494
|
top: 0;
|
|
@@ -1773,6 +1772,57 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
|
|
|
1773
1772
|
vertical-align: text-top;
|
|
1774
1773
|
}
|
|
1775
1774
|
|
|
1775
|
+
.edit-site-keyboard-shortcut-help-modal__section {
|
|
1776
|
+
margin: 0 0 2rem 0;
|
|
1777
|
+
}
|
|
1778
|
+
.edit-site-keyboard-shortcut-help-modal__main-shortcuts .edit-site-keyboard-shortcut-help-modal__shortcut-list {
|
|
1779
|
+
margin-top: -25px;
|
|
1780
|
+
}
|
|
1781
|
+
.edit-site-keyboard-shortcut-help-modal__section-title {
|
|
1782
|
+
font-size: 0.9rem;
|
|
1783
|
+
font-weight: 600;
|
|
1784
|
+
}
|
|
1785
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut {
|
|
1786
|
+
display: flex;
|
|
1787
|
+
align-items: baseline;
|
|
1788
|
+
padding: 0.6rem 0;
|
|
1789
|
+
border-top: 1px solid #ddd;
|
|
1790
|
+
margin-bottom: 0;
|
|
1791
|
+
}
|
|
1792
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut:last-child {
|
|
1793
|
+
border-bottom: 1px solid #ddd;
|
|
1794
|
+
}
|
|
1795
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut:empty {
|
|
1796
|
+
display: none;
|
|
1797
|
+
}
|
|
1798
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-term {
|
|
1799
|
+
font-weight: 600;
|
|
1800
|
+
margin: 0 1rem 0 0;
|
|
1801
|
+
text-align: left;
|
|
1802
|
+
}
|
|
1803
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-description {
|
|
1804
|
+
flex: 1;
|
|
1805
|
+
margin: 0;
|
|
1806
|
+
flex-basis: auto;
|
|
1807
|
+
}
|
|
1808
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination {
|
|
1809
|
+
display: block;
|
|
1810
|
+
background: none;
|
|
1811
|
+
margin: 0;
|
|
1812
|
+
padding: 0;
|
|
1813
|
+
}
|
|
1814
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination + .edit-site-keyboard-shortcut-help-modal__shortcut-key-combination {
|
|
1815
|
+
margin-top: 10px;
|
|
1816
|
+
}
|
|
1817
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key {
|
|
1818
|
+
padding: 0.25rem 0.5rem;
|
|
1819
|
+
border-radius: 8%;
|
|
1820
|
+
margin: 0 0.2rem 0 0.2rem;
|
|
1821
|
+
}
|
|
1822
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key:last-child {
|
|
1823
|
+
margin: 0 0.2rem 0 0;
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1776
1826
|
html.wp-toolbar {
|
|
1777
1827
|
background: #fff;
|
|
1778
1828
|
}
|
package/build-style/style.css
CHANGED
|
@@ -470,6 +470,10 @@ body.is-fullscreen-mode .interface-interface-skeleton {
|
|
|
470
470
|
.edit-site-visual-editor.is-focus-mode .components-resizable-box__container {
|
|
471
471
|
overflow: visible;
|
|
472
472
|
}
|
|
473
|
+
.edit-site-visual-editor .components-resizable-box__container {
|
|
474
|
+
margin: 0 auto;
|
|
475
|
+
overflow: auto;
|
|
476
|
+
}
|
|
473
477
|
|
|
474
478
|
.edit-site-visual-editor__editor-canvas {
|
|
475
479
|
border-radius: 2px 2px 0 0;
|
|
@@ -485,11 +489,6 @@ body.is-fullscreen-mode .interface-interface-skeleton {
|
|
|
485
489
|
color: #f0f0f0;
|
|
486
490
|
}
|
|
487
491
|
|
|
488
|
-
.components-resizable-box__container {
|
|
489
|
-
margin: 0 auto;
|
|
490
|
-
overflow: auto;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
492
|
.resizable-editor__drag-handle {
|
|
494
493
|
position: absolute;
|
|
495
494
|
top: 0;
|
|
@@ -1773,6 +1772,57 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
|
|
|
1773
1772
|
vertical-align: text-top;
|
|
1774
1773
|
}
|
|
1775
1774
|
|
|
1775
|
+
.edit-site-keyboard-shortcut-help-modal__section {
|
|
1776
|
+
margin: 0 0 2rem 0;
|
|
1777
|
+
}
|
|
1778
|
+
.edit-site-keyboard-shortcut-help-modal__main-shortcuts .edit-site-keyboard-shortcut-help-modal__shortcut-list {
|
|
1779
|
+
margin-top: -25px;
|
|
1780
|
+
}
|
|
1781
|
+
.edit-site-keyboard-shortcut-help-modal__section-title {
|
|
1782
|
+
font-size: 0.9rem;
|
|
1783
|
+
font-weight: 600;
|
|
1784
|
+
}
|
|
1785
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut {
|
|
1786
|
+
display: flex;
|
|
1787
|
+
align-items: baseline;
|
|
1788
|
+
padding: 0.6rem 0;
|
|
1789
|
+
border-top: 1px solid #ddd;
|
|
1790
|
+
margin-bottom: 0;
|
|
1791
|
+
}
|
|
1792
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut:last-child {
|
|
1793
|
+
border-bottom: 1px solid #ddd;
|
|
1794
|
+
}
|
|
1795
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut:empty {
|
|
1796
|
+
display: none;
|
|
1797
|
+
}
|
|
1798
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-term {
|
|
1799
|
+
font-weight: 600;
|
|
1800
|
+
margin: 0 0 0 1rem;
|
|
1801
|
+
text-align: right;
|
|
1802
|
+
}
|
|
1803
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-description {
|
|
1804
|
+
flex: 1;
|
|
1805
|
+
margin: 0;
|
|
1806
|
+
flex-basis: auto;
|
|
1807
|
+
}
|
|
1808
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination {
|
|
1809
|
+
display: block;
|
|
1810
|
+
background: none;
|
|
1811
|
+
margin: 0;
|
|
1812
|
+
padding: 0;
|
|
1813
|
+
}
|
|
1814
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key-combination + .edit-site-keyboard-shortcut-help-modal__shortcut-key-combination {
|
|
1815
|
+
margin-top: 10px;
|
|
1816
|
+
}
|
|
1817
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key {
|
|
1818
|
+
padding: 0.25rem 0.5rem;
|
|
1819
|
+
border-radius: 8%;
|
|
1820
|
+
margin: 0 0.2rem 0 0.2rem;
|
|
1821
|
+
}
|
|
1822
|
+
.edit-site-keyboard-shortcut-help-modal__shortcut-key:last-child {
|
|
1823
|
+
margin: 0 0 0 0.2rem;
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1776
1826
|
html.wp-toolbar {
|
|
1777
1827
|
background: #fff;
|
|
1778
1828
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-site",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.27",
|
|
4
4
|
"description": "Edit Site Page module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -29,28 +29,28 @@
|
|
|
29
29
|
"@babel/runtime": "^7.16.0",
|
|
30
30
|
"@wordpress/a11y": "^3.2.4",
|
|
31
31
|
"@wordpress/api-fetch": "^5.2.6",
|
|
32
|
-
"@wordpress/block-editor": "^8.0.
|
|
33
|
-
"@wordpress/block-library": "^6.0.
|
|
32
|
+
"@wordpress/block-editor": "^8.0.17",
|
|
33
|
+
"@wordpress/block-library": "^6.0.26",
|
|
34
34
|
"@wordpress/blocks": "^11.1.5",
|
|
35
|
-
"@wordpress/components": "^19.2.
|
|
35
|
+
"@wordpress/components": "^19.2.3",
|
|
36
36
|
"@wordpress/compose": "^5.0.7",
|
|
37
|
-
"@wordpress/core-data": "^4.0.
|
|
37
|
+
"@wordpress/core-data": "^4.0.10",
|
|
38
38
|
"@wordpress/data": "^6.1.5",
|
|
39
39
|
"@wordpress/data-controls": "^2.2.8",
|
|
40
|
-
"@wordpress/editor": "^12.0.
|
|
40
|
+
"@wordpress/editor": "^12.0.21",
|
|
41
41
|
"@wordpress/element": "^4.0.4",
|
|
42
42
|
"@wordpress/hooks": "^3.2.2",
|
|
43
43
|
"@wordpress/html-entities": "^3.2.3",
|
|
44
44
|
"@wordpress/i18n": "^4.2.4",
|
|
45
45
|
"@wordpress/icons": "^6.1.1",
|
|
46
|
-
"@wordpress/interface": "^4.1.
|
|
46
|
+
"@wordpress/interface": "^4.1.18",
|
|
47
47
|
"@wordpress/keyboard-shortcuts": "^3.0.7",
|
|
48
48
|
"@wordpress/keycodes": "^3.2.4",
|
|
49
49
|
"@wordpress/media-utils": "^3.0.5",
|
|
50
50
|
"@wordpress/notices": "^3.2.8",
|
|
51
51
|
"@wordpress/plugins": "^4.0.7",
|
|
52
52
|
"@wordpress/primitives": "^3.0.4",
|
|
53
|
-
"@wordpress/reusable-blocks": "^3.0.
|
|
53
|
+
"@wordpress/reusable-blocks": "^3.0.23",
|
|
54
54
|
"@wordpress/url": "^3.3.1",
|
|
55
55
|
"@wordpress/viewport": "^4.0.7",
|
|
56
56
|
"classnames": "^2.3.1",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "1246a52b9fdfecf592a9fa1d33a2804a6cc2d257"
|
|
68
68
|
}
|
|
@@ -35,11 +35,17 @@ export default function NewTemplatePart( { postType } ) {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
try {
|
|
38
|
+
// Currently template parts only allow latin chars.
|
|
39
|
+
// Fallback slug will receive suffix by default.
|
|
40
|
+
const cleanSlug =
|
|
41
|
+
kebabCase( title ).replace( /[^\w-]+/g, '' ) ||
|
|
42
|
+
'wp-custom-part';
|
|
43
|
+
|
|
38
44
|
const templatePart = await saveEntityRecord(
|
|
39
45
|
'postType',
|
|
40
46
|
'wp_template_part',
|
|
41
47
|
{
|
|
42
|
-
slug:
|
|
48
|
+
slug: cleanSlug,
|
|
43
49
|
title,
|
|
44
50
|
content: '',
|
|
45
51
|
area,
|
|
@@ -31,6 +31,12 @@
|
|
|
31
31
|
overflow: visible;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
.components-resizable-box__container {
|
|
36
|
+
margin: 0 auto;
|
|
37
|
+
// Removing this will cancel the bottom margins in the iframe.
|
|
38
|
+
overflow: auto;
|
|
39
|
+
}
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
.edit-site-visual-editor__editor-canvas {
|
|
@@ -50,12 +56,6 @@
|
|
|
50
56
|
}
|
|
51
57
|
}
|
|
52
58
|
|
|
53
|
-
.components-resizable-box__container {
|
|
54
|
-
margin: 0 auto;
|
|
55
|
-
// Removing this will cancel the bottom margins in the iframe.
|
|
56
|
-
overflow: auto;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
59
|
.resizable-editor__drag-handle {
|
|
60
60
|
$height: 100px;
|
|
61
61
|
position: absolute;
|
|
@@ -105,6 +105,7 @@ function Editor( { onError } ) {
|
|
|
105
105
|
};
|
|
106
106
|
}, [] );
|
|
107
107
|
const { setPage, setIsInserterOpened } = useDispatch( editSiteStore );
|
|
108
|
+
const { enableComplementaryArea } = useDispatch( interfaceStore );
|
|
108
109
|
|
|
109
110
|
const [
|
|
110
111
|
isEntitiesSavedStatesOpen,
|
|
@@ -147,6 +148,19 @@ function Editor( { onError } ) {
|
|
|
147
148
|
}
|
|
148
149
|
}, [ isNavigationOpen ] );
|
|
149
150
|
|
|
151
|
+
useEffect(
|
|
152
|
+
function openGlobalStylesOnLoad() {
|
|
153
|
+
const searchParams = new URLSearchParams( window.location.search );
|
|
154
|
+
if ( searchParams.get( 'styles' ) === 'open' ) {
|
|
155
|
+
enableComplementaryArea(
|
|
156
|
+
'core/edit-site',
|
|
157
|
+
'edit-site/global-styles'
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
[ enableComplementaryArea ]
|
|
162
|
+
);
|
|
163
|
+
|
|
150
164
|
// Don't render the Editor until the settings are set and loaded
|
|
151
165
|
const isReady =
|
|
152
166
|
settings?.siteUrl &&
|
|
@@ -3,18 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Component } from '@wordpress/element';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { Button } from '@wordpress/components';
|
|
7
|
-
import { Warning } from '@wordpress/block-editor';
|
|
8
|
-
import { useCopyToClipboard } from '@wordpress/compose';
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
{ children }
|
|
15
|
-
</Button>
|
|
16
|
-
);
|
|
17
|
-
}
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import ErrorBoundaryWarning from './warning';
|
|
18
11
|
|
|
19
12
|
export default class ErrorBoundary extends Component {
|
|
20
13
|
constructor() {
|
|
@@ -42,23 +35,13 @@ export default class ErrorBoundary extends Component {
|
|
|
42
35
|
}
|
|
43
36
|
|
|
44
37
|
return (
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
>
|
|
53
|
-
{ __( 'Attempt Recovery' ) }
|
|
54
|
-
</Button>,
|
|
55
|
-
<CopyButton key="copy-error" text={ error.stack }>
|
|
56
|
-
{ __( 'Copy Error' ) }
|
|
57
|
-
</CopyButton>,
|
|
58
|
-
] }
|
|
59
|
-
>
|
|
60
|
-
{ __( 'The editor has encountered an unexpected error.' ) }
|
|
61
|
-
</Warning>
|
|
38
|
+
<ErrorBoundaryWarning
|
|
39
|
+
message={ __(
|
|
40
|
+
'The editor has encountered an unexpected error.'
|
|
41
|
+
) }
|
|
42
|
+
error={ error }
|
|
43
|
+
reboot={ this.reboot }
|
|
44
|
+
/>
|
|
62
45
|
);
|
|
63
46
|
}
|
|
64
47
|
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { Button } from '@wordpress/components';
|
|
6
|
+
import { Warning } from '@wordpress/block-editor';
|
|
7
|
+
import { useCopyToClipboard } from '@wordpress/compose';
|
|
8
|
+
|
|
9
|
+
function CopyButton( { text, children } ) {
|
|
10
|
+
const ref = useCopyToClipboard( text );
|
|
11
|
+
return (
|
|
12
|
+
<Button variant="secondary" ref={ ref }>
|
|
13
|
+
{ children }
|
|
14
|
+
</Button>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default function ErrorBoundaryWarning( {
|
|
19
|
+
message,
|
|
20
|
+
error,
|
|
21
|
+
reboot,
|
|
22
|
+
dashboardLink,
|
|
23
|
+
} ) {
|
|
24
|
+
const actions = [];
|
|
25
|
+
|
|
26
|
+
if ( reboot ) {
|
|
27
|
+
actions.push(
|
|
28
|
+
<Button key="recovery" onClick={ reboot } variant="secondary">
|
|
29
|
+
{ __( 'Attempt Recovery' ) }
|
|
30
|
+
</Button>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if ( error ) {
|
|
35
|
+
actions.push(
|
|
36
|
+
<CopyButton key="copy-error" text={ error.stack }>
|
|
37
|
+
{ __( 'Copy Error' ) }
|
|
38
|
+
</CopyButton>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if ( dashboardLink ) {
|
|
43
|
+
actions.push(
|
|
44
|
+
<Button
|
|
45
|
+
key="back-to-dashboard"
|
|
46
|
+
variant="secondary"
|
|
47
|
+
href={ dashboardLink }
|
|
48
|
+
>
|
|
49
|
+
{ __( 'Back to dashboard' ) }
|
|
50
|
+
</Button>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<Warning className="editor-error-boundary" actions={ actions }>
|
|
56
|
+
{ message }
|
|
57
|
+
</Warning>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
-
import {
|
|
5
|
+
import { __experimentalColorGradientControl as ColorGradientControl } from '@wordpress/block-editor';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
@@ -55,7 +55,6 @@ function ScreenBackgroundColor( { name } ) {
|
|
|
55
55
|
return null;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
const settings = [];
|
|
59
58
|
let backgroundSettings = {};
|
|
60
59
|
if ( hasBackgroundColor ) {
|
|
61
60
|
backgroundSettings = {
|
|
@@ -79,11 +78,10 @@ function ScreenBackgroundColor( { name } ) {
|
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
|
|
82
|
-
|
|
81
|
+
const controlProps = {
|
|
83
82
|
...backgroundSettings,
|
|
84
83
|
...gradientSettings,
|
|
85
|
-
|
|
86
|
-
} );
|
|
84
|
+
};
|
|
87
85
|
|
|
88
86
|
return (
|
|
89
87
|
<>
|
|
@@ -94,10 +92,8 @@ function ScreenBackgroundColor( { name } ) {
|
|
|
94
92
|
'Set a background color or gradient for the whole website.'
|
|
95
93
|
) }
|
|
96
94
|
/>
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
title={ __( 'Color' ) }
|
|
100
|
-
settings={ settings }
|
|
95
|
+
<ColorGradientControl
|
|
96
|
+
className="edit-site-screen-background-color__control"
|
|
101
97
|
colors={ colorsPerOrigin }
|
|
102
98
|
gradients={ gradientsPerOrigin }
|
|
103
99
|
disableCustomColors={ ! areCustomSolidsEnabled }
|
|
@@ -106,6 +102,7 @@ function ScreenBackgroundColor( { name } ) {
|
|
|
106
102
|
showTitle={ false }
|
|
107
103
|
enableAlpha
|
|
108
104
|
__experimentalIsRenderedInSidebar
|
|
105
|
+
{ ...controlProps }
|
|
109
106
|
/>
|
|
110
107
|
</>
|
|
111
108
|
);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
-
import {
|
|
5
|
+
import { __experimentalColorGradientControl as ColorGradientControl } from '@wordpress/block-editor';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
@@ -44,15 +44,6 @@ function ScreenLinkColor( { name } ) {
|
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
const settings = [
|
|
48
|
-
{
|
|
49
|
-
colorValue: linkColor,
|
|
50
|
-
onColorChange: setLinkColor,
|
|
51
|
-
label: __( 'Link color' ),
|
|
52
|
-
clearable: linkColor === userLinkColor,
|
|
53
|
-
},
|
|
54
|
-
];
|
|
55
|
-
|
|
56
47
|
return (
|
|
57
48
|
<>
|
|
58
49
|
<ScreenHeader
|
|
@@ -62,16 +53,17 @@ function ScreenLinkColor( { name } ) {
|
|
|
62
53
|
'Set the default color used for links across the site.'
|
|
63
54
|
) }
|
|
64
55
|
/>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
title={ __( 'Color' ) }
|
|
68
|
-
settings={ settings }
|
|
56
|
+
<ColorGradientControl
|
|
57
|
+
className="edit-site-screen-link-color__control"
|
|
69
58
|
colors={ colorsPerOrigin }
|
|
70
59
|
disableCustomColors={ ! areCustomSolidsEnabled }
|
|
71
60
|
__experimentalHasMultipleOrigins
|
|
72
61
|
showTitle={ false }
|
|
73
62
|
enableAlpha
|
|
74
63
|
__experimentalIsRenderedInSidebar
|
|
64
|
+
colorValue={ linkColor }
|
|
65
|
+
onColorChange={ setLinkColor }
|
|
66
|
+
clearable={ linkColor === userLinkColor }
|
|
75
67
|
/>
|
|
76
68
|
</>
|
|
77
69
|
);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
-
import {
|
|
5
|
+
import { __experimentalColorGradientControl as ColorGradientControl } from '@wordpress/block-editor';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
@@ -36,15 +36,6 @@ function ScreenTextColor( { name } ) {
|
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
const settings = [
|
|
40
|
-
{
|
|
41
|
-
colorValue: color,
|
|
42
|
-
onColorChange: setColor,
|
|
43
|
-
label: __( 'Text color' ),
|
|
44
|
-
clearable: color === userColor,
|
|
45
|
-
},
|
|
46
|
-
];
|
|
47
|
-
|
|
48
39
|
return (
|
|
49
40
|
<>
|
|
50
41
|
<ScreenHeader
|
|
@@ -54,16 +45,17 @@ function ScreenTextColor( { name } ) {
|
|
|
54
45
|
'Set the default color used for text across the site.'
|
|
55
46
|
) }
|
|
56
47
|
/>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
title={ __( 'Color' ) }
|
|
60
|
-
settings={ settings }
|
|
48
|
+
<ColorGradientControl
|
|
49
|
+
className="edit-site-screen-text-color__control"
|
|
61
50
|
colors={ colorsPerOrigin }
|
|
62
51
|
disableCustomColors={ ! areCustomSolidsEnabled }
|
|
63
52
|
__experimentalHasMultipleOrigins
|
|
64
53
|
showTitle={ false }
|
|
65
54
|
enableAlpha
|
|
66
55
|
__experimentalIsRenderedInSidebar
|
|
56
|
+
colorValue={ color }
|
|
57
|
+
onColorChange={ setColor }
|
|
58
|
+
clearable={ color === userColor }
|
|
67
59
|
/>
|
|
68
60
|
</>
|
|
69
61
|
);
|