@wordpress/edit-site 5.28.3 → 5.29.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 +2 -0
- package/build/components/block-editor/use-site-editor-settings.js +2 -1
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/code-editor/index.js +3 -2
- package/build/components/code-editor/index.js.map +1 -1
- package/build/components/editor/index.js +4 -4
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -1
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/header-edit-mode/document-tools/index.js +1 -2
- package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +3 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +7 -4
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/keyboard-shortcuts/register.js +0 -18
- package/build/components/keyboard-shortcuts/register.js.map +1 -1
- package/build/components/layout/index.js +0 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
- package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build/components/page-patterns/header.js +2 -1
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +0 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/save-button/index.js +2 -1
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/sidebar/index.js +3 -2
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/style-book/index.js +2 -0
- package/build/components/style-book/index.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +3 -171
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +4 -5
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +91 -0
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
- package/build/store/actions.js +19 -50
- package/build/store/actions.js.map +1 -1
- package/build/utils/clone-deep.js +15 -0
- package/build/utils/clone-deep.js.map +1 -0
- package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/code-editor/index.js +3 -2
- package/build-module/components/code-editor/index.js.map +1 -1
- package/build-module/components/editor/index.js +4 -4
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +2 -2
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
- package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +3 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +6 -3
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/register.js +0 -18
- package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
- package/build-module/components/layout/index.js +1 -2
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
- package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build-module/components/page-patterns/header.js +2 -1
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +0 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/save-button/index.js +2 -1
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +3 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/style-book/index.js +2 -0
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +82 -0
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
- package/build-module/store/actions.js +19 -50
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/clone-deep.js +9 -0
- package/build-module/utils/clone-deep.js.map +1 -0
- package/build-style/style-rtl.css +24 -208
- package/build-style/style.css +24 -208
- package/package.json +43 -42
- package/src/components/block-editor/use-site-editor-settings.js +1 -0
- package/src/components/code-editor/index.js +3 -2
- package/src/components/editor/index.js +10 -7
- package/src/components/editor-canvas-container/index.js +2 -5
- package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
- package/src/components/global-styles/screen-revisions/style.scss +2 -2
- package/src/components/global-styles/style.scss +1 -1
- package/src/components/header-edit-mode/document-tools/index.js +1 -2
- package/src/components/header-edit-mode/index.js +1 -1
- package/src/components/header-edit-mode/more-menu/index.js +8 -3
- package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
- package/src/components/keyboard-shortcuts/register.js +0 -19
- package/src/components/layout/index.js +0 -2
- package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
- package/src/components/page-patterns/header.js +1 -0
- package/src/components/page-patterns/index.js +0 -1
- package/src/components/page-patterns/style.scss +0 -182
- package/src/components/save-button/index.js +2 -1
- package/src/components/save-hub/style.scss +1 -1
- package/src/components/sidebar/index.js +2 -1
- package/src/components/sidebar-button/style.scss +1 -1
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
- package/src/components/sidebar-edit-mode/style.scss +4 -0
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
- package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
- package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
- package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
- package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
- package/src/components/style-book/index.js +5 -1
- package/src/hooks/commands/use-edit-mode-commands.js +3 -184
- package/src/hooks/index.js +0 -1
- package/src/hooks/push-changes-to-global-styles/index.js +1 -4
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +964 -0
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +92 -0
- package/src/store/actions.js +21 -85
- package/src/store/test/actions.js +0 -75
- package/src/style.scss +1 -6
- package/src/utils/clone-deep.js +8 -0
- package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
- package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
- package/build/components/page-patterns/duplicate-menu-item.js +0 -93
- package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
- package/build/components/page-patterns/grid-item.js +0 -223
- package/build/components/page-patterns/grid-item.js.map +0 -1
- package/build/components/page-patterns/grid.js +0 -31
- package/build/components/page-patterns/grid.js.map +0 -1
- package/build/components/page-patterns/no-patterns.js +0 -18
- package/build/components/page-patterns/no-patterns.js.map +0 -1
- package/build/components/page-patterns/patterns-list.js +0 -168
- package/build/components/page-patterns/patterns-list.js.map +0 -1
- package/build/components/page-patterns/rename-menu-item.js +0 -105
- package/build/components/page-patterns/rename-menu-item.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
- package/build/hooks/navigation-menu-edit.js +0 -82
- package/build/hooks/navigation-menu-edit.js.map +0 -1
- package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
- package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
- package/build-module/components/page-patterns/grid-item.js +0 -215
- package/build-module/components/page-patterns/grid-item.js.map +0 -1
- package/build-module/components/page-patterns/grid.js +0 -23
- package/build-module/components/page-patterns/grid.js.map +0 -1
- package/build-module/components/page-patterns/no-patterns.js +0 -11
- package/build-module/components/page-patterns/no-patterns.js.map +0 -1
- package/build-module/components/page-patterns/patterns-list.js +0 -160
- package/build-module/components/page-patterns/patterns-list.js.map +0 -1
- package/build-module/components/page-patterns/rename-menu-item.js +0 -98
- package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
- package/build-module/hooks/navigation-menu-edit.js +0 -75
- package/build-module/hooks/navigation-menu-edit.js.map +0 -1
- package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
- package/src/components/page-patterns/duplicate-menu-item.js +0 -105
- package/src/components/page-patterns/grid-item.js +0 -331
- package/src/components/page-patterns/grid.js +0 -22
- package/src/components/page-patterns/no-patterns.js +0 -12
- package/src/components/page-patterns/patterns-list.js +0 -229
- package/src/components/page-patterns/rename-menu-item.js +0 -132
- package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
- package/src/hooks/navigation-menu-edit.js +0 -92
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","_notices","_constants","RenameMenuItem","item","onClose","title","setTitle","useState","isModalOpen","setIsModalOpen","editEntityRecord","saveEditedEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","type","TEMPLATE_PART_POST_TYPE","isCustom","onRename","event","preventDefault","id","throwOnError","__","error","fallbackErrorMessage","errorMessage","message","code","_react","createElement","Fragment","MenuItem","onClick","Modal","onRequestClose","overlayClassName","onSubmit","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","value","onChange","required","__experimentalHStack","justify","Button","variant"],"sources":["@wordpress/edit-site/src/components/page-patterns/rename-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tMenuItem,\n\tModal,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nexport default function RenameMenuItem( { item, onClose } ) {\n\tconst [ title, setTitle ] = useState( () => item.title );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tif ( item.type === TEMPLATE_PART_POST_TYPE && ! item.isCustom ) {\n\t\treturn null;\n\t}\n\n\tasync function onRename( event ) {\n\t\tevent.preventDefault();\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', item.type, item.id, { title } );\n\n\t\t\t// Update state before saving rerenders the list.\n\t\t\tsetTitle( '' );\n\t\t\tsetIsModalOpen( false );\n\t\t\tonClose();\n\n\t\t\t// Persist edited entity.\n\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t? __( 'Template part renamed.' )\n\t\t\t\t\t: __( 'Pattern renamed.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst fallbackErrorMessage =\n\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t? __(\n\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'An error occurred while renaming the pattern.' );\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t\tsetTitle( item.title );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"edit-site-list__rename-modal\"\n\t\t\t\t>\n\t\t\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = ReplaceTemplateButton;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _data = require("@wordpress/data");
|
|
9
|
-
var _element = require("@wordpress/element");
|
|
10
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
11
|
-
var _components = require("@wordpress/components");
|
|
12
|
-
var _i18n = require("@wordpress/i18n");
|
|
13
|
-
var _coreData = require("@wordpress/core-data");
|
|
14
|
-
var _compose = require("@wordpress/compose");
|
|
15
|
-
var _blocks = require("@wordpress/blocks");
|
|
16
|
-
var _store = require("../../../store");
|
|
17
|
-
/**
|
|
18
|
-
* WordPress dependencies
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Internal dependencies
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
function ReplaceTemplateButton({
|
|
26
|
-
onClick,
|
|
27
|
-
availableTemplates
|
|
28
|
-
}) {
|
|
29
|
-
const {
|
|
30
|
-
editEntityRecord
|
|
31
|
-
} = (0, _data.useDispatch)(_coreData.store);
|
|
32
|
-
const [showModal, setShowModal] = (0, _element.useState)(false);
|
|
33
|
-
const onClose = () => {
|
|
34
|
-
setShowModal(false);
|
|
35
|
-
};
|
|
36
|
-
const {
|
|
37
|
-
postId,
|
|
38
|
-
postType
|
|
39
|
-
} = (0, _data.useSelect)(select => {
|
|
40
|
-
return {
|
|
41
|
-
postId: select(_store.store).getEditedPostId(),
|
|
42
|
-
postType: select(_store.store).getEditedPostType()
|
|
43
|
-
};
|
|
44
|
-
}, []);
|
|
45
|
-
const onTemplateSelect = async selectedTemplate => {
|
|
46
|
-
onClose(); // Close the template suggestions modal first.
|
|
47
|
-
onClick();
|
|
48
|
-
await editEntityRecord('postType', postType, postId, {
|
|
49
|
-
blocks: selectedTemplate.blocks,
|
|
50
|
-
content: (0, _blocks.serialize)(selectedTemplate.blocks)
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
if (!availableTemplates.length || availableTemplates.length < 1) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.MenuItem, {
|
|
57
|
-
info: (0, _i18n.__)('Replace the contents of this template with another.'),
|
|
58
|
-
onClick: () => setShowModal(true)
|
|
59
|
-
}, (0, _i18n.__)('Replace template')), showModal && (0, _react.createElement)(_components.Modal, {
|
|
60
|
-
title: (0, _i18n.__)('Choose a template'),
|
|
61
|
-
onRequestClose: onClose,
|
|
62
|
-
overlayClassName: "edit-site-template-panel__replace-template-modal",
|
|
63
|
-
isFullScreen: true
|
|
64
|
-
}, (0, _react.createElement)("div", {
|
|
65
|
-
className: "edit-site-template-panel__replace-template-modal__content"
|
|
66
|
-
}, (0, _react.createElement)(TemplatesList, {
|
|
67
|
-
availableTemplates: availableTemplates,
|
|
68
|
-
onSelect: onTemplateSelect
|
|
69
|
-
}))));
|
|
70
|
-
}
|
|
71
|
-
function TemplatesList({
|
|
72
|
-
availableTemplates,
|
|
73
|
-
onSelect
|
|
74
|
-
}) {
|
|
75
|
-
const shownTemplates = (0, _compose.useAsyncList)(availableTemplates);
|
|
76
|
-
return (0, _react.createElement)(_blockEditor.__experimentalBlockPatternsList, {
|
|
77
|
-
label: (0, _i18n.__)('Templates'),
|
|
78
|
-
blockPatterns: availableTemplates,
|
|
79
|
-
shownPatterns: shownTemplates,
|
|
80
|
-
onClickPattern: onSelect
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=replace-template-button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_blockEditor","_components","_i18n","_coreData","_compose","_blocks","_store","ReplaceTemplateButton","onClick","availableTemplates","editEntityRecord","useDispatch","coreStore","showModal","setShowModal","useState","onClose","postId","postType","useSelect","select","editSiteStore","getEditedPostId","getEditedPostType","onTemplateSelect","selectedTemplate","blocks","content","serialize","length","_react","createElement","Fragment","MenuItem","info","__","Modal","title","onRequestClose","overlayClassName","isFullScreen","className","TemplatesList","onSelect","shownTemplates","useAsyncList","__experimentalBlockPatternsList","label","blockPatterns","shownPatterns","onClickPattern"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/replace-template-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { MenuItem, Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ReplaceTemplateButton( {\n\tonClick,\n\tavailableTemplates,\n} ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst onClose = () => {\n\t\tsetShowModal( false );\n\t};\n\n\tconst { postId, postType } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostId: select( editSiteStore ).getEditedPostId(),\n\t\t\tpostType: select( editSiteStore ).getEditedPostType(),\n\t\t};\n\t}, [] );\n\n\tconst onTemplateSelect = async ( selectedTemplate ) => {\n\t\tonClose(); // Close the template suggestions modal first.\n\t\tonClick();\n\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\tblocks: selectedTemplate.blocks,\n\t\t\tcontent: serialize( selectedTemplate.blocks ),\n\t\t} );\n\t};\n\n\tif ( ! availableTemplates.length || availableTemplates.length < 1 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Replace the contents of this template with another.'\n\t\t\t\t) }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t>\n\t\t\t\t{ __( 'Replace template' ) }\n\t\t\t</MenuItem>\n\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Choose a template' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\toverlayClassName=\"edit-site-template-panel__replace-template-modal\"\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-template-panel__replace-template-modal__content\">\n\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\tavailableTemplates={ availableTemplates }\n\t\t\t\t\t\t\tonSelect={ onTemplateSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction TemplatesList( { availableTemplates, onSelect } ) {\n\tconst shownTemplates = useAsyncList( availableTemplates );\n\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ availableTemplates }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAKA,IAAAQ,MAAA,GAAAR,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGe,SAASS,qBAAqBA,CAAE;EAC9CC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EACrD,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACrD,MAAMC,OAAO,GAAGA,CAAA,KAAM;IACrBF,YAAY,CAAE,KAAM,CAAC;EACtB,CAAC;EAED,MAAM;IAAEG,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACrD,OAAO;MACNH,MAAM,EAAEG,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAC,CAAC;MACjDJ,QAAQ,EAAEE,MAAM,CAAEC,YAAc,CAAC,CAACE,iBAAiB,CAAC;IACrD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,gBAAgB,GAAG,MAAQC,gBAAgB,IAAM;IACtDT,OAAO,CAAC,CAAC,CAAC,CAAC;IACXR,OAAO,CAAC,CAAC;IACT,MAAME,gBAAgB,CAAE,UAAU,EAAEQ,QAAQ,EAAED,MAAM,EAAE;MACrDS,MAAM,EAAED,gBAAgB,CAACC,MAAM;MAC/BC,OAAO,EAAE,IAAAC,iBAAS,EAAEH,gBAAgB,CAACC,MAAO;IAC7C,CAAE,CAAC;EACJ,CAAC;EAED,IAAK,CAAEjB,kBAAkB,CAACoB,MAAM,IAAIpB,kBAAkB,CAACoB,MAAM,GAAG,CAAC,EAAG;IACnE,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC9B,WAAA,CAAAgC,QAAQ;IACRC,IAAI,EAAG,IAAAC,QAAE,EACR,qDACD,CAAG;IACH3B,OAAO,EAAGA,CAAA,KAAMM,YAAY,CAAE,IAAK;EAAG,GAEpC,IAAAqB,QAAE,EAAE,kBAAmB,CAChB,CAAC,EAETtB,SAAS,IACV,IAAAiB,MAAA,CAAAC,aAAA,EAAC9B,WAAA,CAAAmC,KAAK;IACLC,KAAK,EAAG,IAAAF,QAAE,EAAE,mBAAoB,CAAG;IACnCG,cAAc,EAAGtB,OAAS;IAC1BuB,gBAAgB,EAAC,kDAAkD;IACnEC,YAAY;EAAA,GAEZ,IAAAV,MAAA,CAAAC,aAAA;IAAKU,SAAS,EAAC;EAA2D,GACzE,IAAAX,MAAA,CAAAC,aAAA,EAACW,aAAa;IACbjC,kBAAkB,EAAGA,kBAAoB;IACzCkC,QAAQ,EAAGnB;EAAkB,CAC7B,CACG,CACC,CAEP,CAAC;AAEL;AAEA,SAASkB,aAAaA,CAAE;EAAEjC,kBAAkB;EAAEkC;AAAS,CAAC,EAAG;EAC1D,MAAMC,cAAc,GAAG,IAAAC,qBAAY,EAAEpC,kBAAmB,CAAC;EAEzD,OACC,IAAAqB,MAAA,CAAAC,aAAA,EAAC/B,YAAA,CAAA8C,+BAAiB;IACjBC,KAAK,EAAG,IAAAZ,QAAE,EAAE,WAAY,CAAG;IAC3Ba,aAAa,EAAGvC,kBAAoB;IACpCwC,aAAa,EAAGL,cAAgB;IAChCM,cAAc,EAAGP;EAAU,CAC3B,CAAC;AAEJ"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.withEditBlockControls = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _i18n = require("@wordpress/i18n");
|
|
9
|
-
var _data = require("@wordpress/data");
|
|
10
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
11
|
-
var _coreData = require("@wordpress/core-data");
|
|
12
|
-
var _components = require("@wordpress/components");
|
|
13
|
-
var _hooks = require("@wordpress/hooks");
|
|
14
|
-
var _compose = require("@wordpress/compose");
|
|
15
|
-
var _router = require("@wordpress/router");
|
|
16
|
-
var _link = require("../components/routes/link");
|
|
17
|
-
var _lockUnlock = require("../lock-unlock");
|
|
18
|
-
var _constants = require("../utils/constants");
|
|
19
|
-
/**
|
|
20
|
-
* WordPress dependencies
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Internal dependencies
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
const {
|
|
28
|
-
useLocation
|
|
29
|
-
} = (0, _lockUnlock.unlock)(_router.privateApis);
|
|
30
|
-
function NavigationMenuEdit({
|
|
31
|
-
attributes
|
|
32
|
-
}) {
|
|
33
|
-
const {
|
|
34
|
-
ref
|
|
35
|
-
} = attributes;
|
|
36
|
-
const {
|
|
37
|
-
params
|
|
38
|
-
} = useLocation();
|
|
39
|
-
const blockEditingMode = (0, _blockEditor.useBlockEditingMode)();
|
|
40
|
-
const navigationMenu = (0, _data.useSelect)(select => {
|
|
41
|
-
return select(_coreData.store).getEntityRecord('postType', _constants.NAVIGATION_POST_TYPE,
|
|
42
|
-
// Ideally this should be an official public API.
|
|
43
|
-
ref);
|
|
44
|
-
}, [ref]);
|
|
45
|
-
const linkProps = (0, _link.useLink)({
|
|
46
|
-
postId: navigationMenu?.id,
|
|
47
|
-
postType: navigationMenu?.type,
|
|
48
|
-
canvas: 'edit'
|
|
49
|
-
}, {
|
|
50
|
-
// this applies to Navigation Menus as well.
|
|
51
|
-
fromTemplateId: params.postId || navigationMenu?.id
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// A non-default setting for block editing mode indicates that the
|
|
55
|
-
// editor should restrict "editing" actions. Therefore the `Edit` button
|
|
56
|
-
// should not be displayed.
|
|
57
|
-
if (!navigationMenu || blockEditingMode !== 'default') {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
return (0, _react.createElement)(_blockEditor.BlockControls, {
|
|
61
|
-
group: "other"
|
|
62
|
-
}, (0, _react.createElement)(_components.ToolbarButton, {
|
|
63
|
-
...linkProps,
|
|
64
|
-
onClick: event => {
|
|
65
|
-
linkProps.onClick(event);
|
|
66
|
-
}
|
|
67
|
-
}, (0, _i18n.__)('Edit')));
|
|
68
|
-
}
|
|
69
|
-
const withEditBlockControls = exports.withEditBlockControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
|
|
70
|
-
const {
|
|
71
|
-
attributes,
|
|
72
|
-
name
|
|
73
|
-
} = props;
|
|
74
|
-
const isDisplayed = name === 'core/navigation' && attributes.ref;
|
|
75
|
-
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(BlockEdit, {
|
|
76
|
-
...props
|
|
77
|
-
}), isDisplayed && (0, _react.createElement)(NavigationMenuEdit, {
|
|
78
|
-
attributes: attributes
|
|
79
|
-
}));
|
|
80
|
-
}, 'withEditBlockControls');
|
|
81
|
-
(0, _hooks.addFilter)('editor.BlockEdit', 'core/edit-site/navigation-edit-button', withEditBlockControls);
|
|
82
|
-
//# sourceMappingURL=navigation-menu-edit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_data","_blockEditor","_coreData","_components","_hooks","_compose","_router","_link","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","NavigationMenuEdit","attributes","ref","params","blockEditingMode","useBlockEditingMode","navigationMenu","useSelect","select","coreStore","getEntityRecord","NAVIGATION_POST_TYPE","linkProps","useLink","postId","id","postType","type","canvas","fromTemplateId","_react","createElement","BlockControls","group","ToolbarButton","onClick","event","__","withEditBlockControls","exports","createHigherOrderComponent","BlockEdit","props","name","isDisplayed","Fragment","addFilter"],"sources":["@wordpress/edit-site/src/hooks/navigation-menu-edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { BlockControls, useBlockEditingMode } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ToolbarButton } from '@wordpress/components';\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useLink } from '../components/routes/link';\nimport { unlock } from '../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction NavigationMenuEdit( { attributes } ) {\n\tconst { ref } = attributes;\n\tconst { params } = useLocation();\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst navigationMenu = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tNAVIGATION_POST_TYPE,\n\t\t\t\t// Ideally this should be an official public API.\n\t\t\t\tref\n\t\t\t);\n\t\t},\n\t\t[ ref ]\n\t);\n\n\tconst linkProps = useLink(\n\t\t{\n\t\t\tpostId: navigationMenu?.id,\n\t\t\tpostType: navigationMenu?.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t\t{\n\t\t\t// this applies to Navigation Menus as well.\n\t\t\tfromTemplateId: params.postId || navigationMenu?.id,\n\t\t}\n\t);\n\n\t// A non-default setting for block editing mode indicates that the\n\t// editor should restrict \"editing\" actions. Therefore the `Edit` button\n\t// should not be displayed.\n\tif ( ! navigationMenu || blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarButton\n\t\t\t\t{ ...linkProps }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tlinkProps.onClick( event );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Edit' ) }\n\t\t\t</ToolbarButton>\n\t\t</BlockControls>\n\t);\n}\n\nexport const withEditBlockControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { attributes, name } = props;\n\t\tconst isDisplayed = name === 'core/navigation' && attributes.ref;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ isDisplayed && (\n\t\t\t\t\t<NavigationMenuEdit attributes={ attributes } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\t'withEditBlockControls'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/navigation-edit-button',\n\twithEditBlockControls\n);\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAKA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AAjBA;AACA;AACA;;AAUA;AACA;AACA;;AAKA,MAAM;EAAEW;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEnD,SAASC,kBAAkBA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC7C,MAAM;IAAEC;EAAI,CAAC,GAAGD,UAAU;EAC1B,MAAM;IAAEE;EAAO,CAAC,GAAGN,WAAW,CAAC,CAAC;EAChC,MAAMO,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAC9C,MAAMC,cAAc,GAAG,IAAAC,eAAS,EAC7BC,MAAM,IAAM;IACb,OAAOA,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CACzC,UAAU,EACVC,+BAAoB;IACpB;IACAT,GACD,CAAC;EACF,CAAC,EACD,CAAEA,GAAG,CACN,CAAC;EAED,MAAMU,SAAS,GAAG,IAAAC,aAAO,EACxB;IACCC,MAAM,EAAER,cAAc,EAAES,EAAE;IAC1BC,QAAQ,EAAEV,cAAc,EAAEW,IAAI;IAC9BC,MAAM,EAAE;EACT,CAAC,EACD;IACC;IACAC,cAAc,EAAEhB,MAAM,CAACW,MAAM,IAAIR,cAAc,EAAES;EAClD,CACD,CAAC;;EAED;EACA;EACA;EACA,IAAK,CAAET,cAAc,IAAIF,gBAAgB,KAAK,SAAS,EAAG;IACzD,OAAO,IAAI;EACZ;EAEA,OACC,IAAAgB,MAAA,CAAAC,aAAA,EAACjC,YAAA,CAAAkC,aAAa;IAACC,KAAK,EAAC;EAAO,GAC3B,IAAAH,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAkC,aAAa;IAAA,GACRZ,SAAS;IACda,OAAO,EAAKC,KAAK,IAAM;MACtBd,SAAS,CAACa,OAAO,CAAEC,KAAM,CAAC;IAC3B;EAAG,GAED,IAAAC,QAAE,EAAE,MAAO,CACC,CACD,CAAC;AAElB;AAEO,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,IAAAE,mCAA0B,EAC5DC,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAM;IAAE/B,UAAU;IAAEgC;EAAK,CAAC,GAAGD,KAAK;EAClC,MAAME,WAAW,GAAGD,IAAI,KAAK,iBAAiB,IAAIhC,UAAU,CAACC,GAAG;EAEhE,OACC,IAAAkB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAe,QAAA,QACC,IAAAf,MAAA,CAAAC,aAAA,EAACU,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC,EACxBE,WAAW,IACZ,IAAAd,MAAA,CAAAC,aAAA,EAACrB,kBAAkB;IAACC,UAAU,EAAGA;EAAY,CAAE,CAE/C,CAAC;AAEL,CAAC,EACD,uBACD,CAAC;AAED,IAAAmC,gBAAS,EACR,kBAAkB,EAClB,uCAAuC,EACvCR,qBACD,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { MenuItemsChoice, MenuGroup } from '@wordpress/components';
|
|
7
|
-
import { useSelect, useDispatch } from '@wordpress/data';
|
|
8
|
-
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Internal dependencies
|
|
12
|
-
*/
|
|
13
|
-
import { store as editSiteStore } from '../../../store';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Set of available mode options.
|
|
17
|
-
*
|
|
18
|
-
* @type {Array}
|
|
19
|
-
*/
|
|
20
|
-
const MODES = [{
|
|
21
|
-
value: 'visual',
|
|
22
|
-
label: __('Visual editor')
|
|
23
|
-
}, {
|
|
24
|
-
value: 'text',
|
|
25
|
-
label: __('Code editor')
|
|
26
|
-
}];
|
|
27
|
-
function ModeSwitcher() {
|
|
28
|
-
const {
|
|
29
|
-
shortcut,
|
|
30
|
-
mode
|
|
31
|
-
} = useSelect(select => ({
|
|
32
|
-
shortcut: select(keyboardShortcutsStore).getShortcutRepresentation('core/edit-site/toggle-mode'),
|
|
33
|
-
mode: select(editSiteStore).getEditorMode()
|
|
34
|
-
}), []);
|
|
35
|
-
const {
|
|
36
|
-
switchEditorMode
|
|
37
|
-
} = useDispatch(editSiteStore);
|
|
38
|
-
const choices = MODES.map(choice => {
|
|
39
|
-
if (choice.value !== mode) {
|
|
40
|
-
return {
|
|
41
|
-
...choice,
|
|
42
|
-
shortcut
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
return choice;
|
|
46
|
-
});
|
|
47
|
-
return createElement(MenuGroup, {
|
|
48
|
-
label: __('Editor')
|
|
49
|
-
}, createElement(MenuItemsChoice, {
|
|
50
|
-
choices: choices,
|
|
51
|
-
value: mode,
|
|
52
|
-
onSelect: switchEditorMode
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
export default ModeSwitcher;
|
|
56
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__","MenuItemsChoice","MenuGroup","useSelect","useDispatch","store","keyboardShortcutsStore","editSiteStore","MODES","value","label","ModeSwitcher","shortcut","mode","select","getShortcutRepresentation","getEditorMode","switchEditorMode","choices","map","choice","createElement","onSelect"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/mode-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code editor' ),\n\t},\n];\n\nfunction ModeSwitcher() {\n\tconst { shortcut, mode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-site/toggle-mode' ),\n\t\t\tmode: select( editSiteStore ).getEditorMode(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { switchEditorMode } = useDispatch( editSiteStore );\n\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( choice.value !== mode ) {\n\t\t\treturn { ...choice, shortcut };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Editor' ) }>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ mode }\n\t\t\t\tonSelect={ switchEditorMode }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ModeSwitcher;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,SAAS,QAAQ,uBAAuB;AAClE,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;;AAE/E;AACA;AACA;AACA,SAASD,KAAK,IAAIE,aAAa,QAAQ,gBAAgB;;AAEvD;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAG,CACb;EACCC,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAEV,EAAE,CAAE,eAAgB;AAC5B,CAAC,EACD;EACCS,KAAK,EAAE,MAAM;EACbC,KAAK,EAAEV,EAAE,CAAE,aAAc;AAC1B,CAAC,CACD;AAED,SAASW,YAAYA,CAAA,EAAG;EACvB,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGV,SAAS,CACjCW,MAAM,KAAQ;IACfF,QAAQ,EAAEE,MAAM,CACfR,sBACD,CAAC,CAACS,yBAAyB,CAAE,4BAA6B,CAAC;IAC3DF,IAAI,EAAEC,MAAM,CAAEP,aAAc,CAAC,CAACS,aAAa,CAAC;EAC7C,CAAC,CAAE,EACH,EACD,CAAC;EACD,MAAM;IAAEC;EAAiB,CAAC,GAAGb,WAAW,CAAEG,aAAc,CAAC;EAEzD,MAAMW,OAAO,GAAGV,KAAK,CAACW,GAAG,CAAIC,MAAM,IAAM;IACxC,IAAKA,MAAM,CAACX,KAAK,KAAKI,IAAI,EAAG;MAC5B,OAAO;QAAE,GAAGO,MAAM;QAAER;MAAS,CAAC;IAC/B;IACA,OAAOQ,MAAM;EACd,CAAE,CAAC;EAEH,OACCC,aAAA,CAACnB,SAAS;IAACQ,KAAK,EAAGV,EAAE,CAAE,QAAS;EAAG,GAClCqB,aAAA,CAACpB,eAAe;IACfiB,OAAO,EAAGA,OAAS;IACnBT,KAAK,EAAGI,IAAM;IACdS,QAAQ,EAAGL;EAAkB,CAC7B,CACS,CAAC;AAEd;AAEA,eAAeN,YAAY"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { MenuItem } from '@wordpress/components';
|
|
6
|
-
import { useDispatch } from '@wordpress/data';
|
|
7
|
-
import { useState } from '@wordpress/element';
|
|
8
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
9
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
10
|
-
import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
|
|
11
|
-
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Internal dependencies
|
|
15
|
-
*/
|
|
16
|
-
import { TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';
|
|
17
|
-
import { unlock } from '../../lock-unlock';
|
|
18
|
-
import CreateTemplatePartModal from '../create-template-part-modal';
|
|
19
|
-
const {
|
|
20
|
-
DuplicatePatternModal
|
|
21
|
-
} = unlock(patternsPrivateApis);
|
|
22
|
-
const {
|
|
23
|
-
useHistory
|
|
24
|
-
} = unlock(routerPrivateApis);
|
|
25
|
-
export default function DuplicateMenuItem({
|
|
26
|
-
categoryId,
|
|
27
|
-
item,
|
|
28
|
-
label = __('Duplicate'),
|
|
29
|
-
onClose
|
|
30
|
-
}) {
|
|
31
|
-
const {
|
|
32
|
-
createSuccessNotice
|
|
33
|
-
} = useDispatch(noticesStore);
|
|
34
|
-
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
35
|
-
const history = useHistory();
|
|
36
|
-
const closeModal = () => setIsModalOpen(false);
|
|
37
|
-
const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
|
|
38
|
-
const isThemePattern = item.type === PATTERN_TYPES.theme;
|
|
39
|
-
async function onTemplatePartSuccess(templatePart) {
|
|
40
|
-
createSuccessNotice(sprintf(
|
|
41
|
-
// translators: %s: The new template part's title e.g. 'Call to action (copy)'.
|
|
42
|
-
__('"%s" duplicated.'), item.title), {
|
|
43
|
-
type: 'snackbar',
|
|
44
|
-
id: 'edit-site-patterns-success'
|
|
45
|
-
});
|
|
46
|
-
history.push({
|
|
47
|
-
postType: TEMPLATE_PART_POST_TYPE,
|
|
48
|
-
postId: templatePart?.id,
|
|
49
|
-
categoryType: TEMPLATE_PART_POST_TYPE,
|
|
50
|
-
categoryId
|
|
51
|
-
});
|
|
52
|
-
onClose();
|
|
53
|
-
}
|
|
54
|
-
function onPatternSuccess({
|
|
55
|
-
pattern
|
|
56
|
-
}) {
|
|
57
|
-
history.push({
|
|
58
|
-
categoryType: PATTERN_TYPES.theme,
|
|
59
|
-
categoryId,
|
|
60
|
-
postType: PATTERN_TYPES.user,
|
|
61
|
-
postId: pattern.id
|
|
62
|
-
});
|
|
63
|
-
onClose();
|
|
64
|
-
}
|
|
65
|
-
return createElement(Fragment, null, createElement(MenuItem, {
|
|
66
|
-
onClick: () => setIsModalOpen(true),
|
|
67
|
-
"aria-expanded": isModalOpen,
|
|
68
|
-
"aria-haspopup": "dialog"
|
|
69
|
-
}, label), isModalOpen && !isTemplatePart && createElement(DuplicatePatternModal, {
|
|
70
|
-
onClose: closeModal,
|
|
71
|
-
onSuccess: onPatternSuccess,
|
|
72
|
-
pattern: isThemePattern ? item : item.patternPost
|
|
73
|
-
}), isModalOpen && isTemplatePart && createElement(CreateTemplatePartModal, {
|
|
74
|
-
blocks: item.blocks,
|
|
75
|
-
closeModal: closeModal,
|
|
76
|
-
confirmLabel: __('Duplicate'),
|
|
77
|
-
defaultArea: item.templatePart.area,
|
|
78
|
-
defaultTitle: sprintf( /* translators: %s: Existing template part title */
|
|
79
|
-
__('%s (Copy)'), item.title),
|
|
80
|
-
modalTitle: __('Duplicate template part'),
|
|
81
|
-
onCreate: onTemplatePartSuccess,
|
|
82
|
-
onError: closeModal
|
|
83
|
-
}));
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=duplicate-menu-item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["MenuItem","useDispatch","useState","__","sprintf","store","noticesStore","privateApis","patternsPrivateApis","routerPrivateApis","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","unlock","CreateTemplatePartModal","DuplicatePatternModal","useHistory","DuplicateMenuItem","categoryId","item","label","onClose","createSuccessNotice","isModalOpen","setIsModalOpen","history","closeModal","isTemplatePart","type","isThemePattern","theme","onTemplatePartSuccess","templatePart","title","id","push","postType","postId","categoryType","onPatternSuccess","pattern","user","createElement","Fragment","onClick","onSuccess","patternPost","blocks","confirmLabel","defaultArea","area","defaultTitle","modalTitle","onCreate","onError"],"sources":["@wordpress/edit-site/src/components/page-patterns/duplicate-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nconst { DuplicatePatternModal } = unlock( patternsPrivateApis );\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function DuplicateMenuItem( {\n\tcategoryId,\n\titem,\n\tlabel = __( 'Duplicate' ),\n\tonClose,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst history = useHistory();\n\n\tconst closeModal = () => setIsModalOpen( false );\n\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isThemePattern = item.type === PATTERN_TYPES.theme;\n\n\tasync function onTemplatePartSuccess( templatePart ) {\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\titem.title\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t}\n\t\t);\n\n\t\thistory.push( {\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tpostId: templatePart?.id,\n\t\t\tcategoryType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcategoryId,\n\t\t} );\n\n\t\tonClose();\n\t}\n\n\tfunction onPatternSuccess( { pattern } ) {\n\t\thistory.push( {\n\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\tcategoryId,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tpostId: pattern.id,\n\t\t} );\n\n\t\tonClose();\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\taria-expanded={ isModalOpen }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && ! isTemplatePart && (\n\t\t\t\t<DuplicatePatternModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tonSuccess={ onPatternSuccess }\n\t\t\t\t\tpattern={ isThemePattern ? item : item.patternPost }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isModalOpen && isTemplatePart && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\tcloseModal={ closeModal }\n\t\t\t\t\tconfirmLabel={ __( 'Duplicate' ) }\n\t\t\t\t\tdefaultArea={ item.templatePart.area }\n\t\t\t\t\tdefaultTitle={ sprintf(\n\t\t\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\t\t\titem.title\n\t\t\t\t\t) }\n\t\t\t\t\tmodalTitle={ __( 'Duplicate template part' ) }\n\t\t\t\t\tonCreate={ onTemplatePartSuccess }\n\t\t\t\t\tonError={ closeModal }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* External dependencies
|
|
4
|
-
*/
|
|
5
|
-
import classnames from 'classnames';
|
|
6
|
-
import { paramCase as kebabCase } from 'change-case';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* WordPress dependencies
|
|
10
|
-
*/
|
|
11
|
-
import { BlockPreview, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
12
|
-
import { Button, __experimentalConfirmDialog as ConfirmDialog, DropdownMenu, MenuGroup, MenuItem, __experimentalHeading as Heading, __experimentalHStack as HStack, Tooltip, Flex } from '@wordpress/components';
|
|
13
|
-
import { useDispatch } from '@wordpress/data';
|
|
14
|
-
import { useState, useId, memo } from '@wordpress/element';
|
|
15
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
16
|
-
import { Icon, header, footer, symbolFilled as uncategorized, symbol, moreVertical, lockSmall } from '@wordpress/icons';
|
|
17
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
18
|
-
import { store as reusableBlocksStore } from '@wordpress/reusable-blocks';
|
|
19
|
-
import { downloadBlob } from '@wordpress/blob';
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Internal dependencies
|
|
23
|
-
*/
|
|
24
|
-
import RenameMenuItem from './rename-menu-item';
|
|
25
|
-
import DuplicateMenuItem from './duplicate-menu-item';
|
|
26
|
-
import { PATTERN_TYPES, TEMPLATE_PART_POST_TYPE, PATTERN_SYNC_TYPES } from '../../utils/constants';
|
|
27
|
-
import { store as editSiteStore } from '../../store';
|
|
28
|
-
import { useLink } from '../routes/link';
|
|
29
|
-
import { unlock } from '../../lock-unlock';
|
|
30
|
-
const {
|
|
31
|
-
useGlobalStyle
|
|
32
|
-
} = unlock(blockEditorPrivateApis);
|
|
33
|
-
const templatePartIcons = {
|
|
34
|
-
header,
|
|
35
|
-
footer,
|
|
36
|
-
uncategorized
|
|
37
|
-
};
|
|
38
|
-
function GridItem({
|
|
39
|
-
categoryId,
|
|
40
|
-
item,
|
|
41
|
-
...props
|
|
42
|
-
}) {
|
|
43
|
-
const descriptionId = useId();
|
|
44
|
-
const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false);
|
|
45
|
-
const [backgroundColor] = useGlobalStyle('color.background');
|
|
46
|
-
const {
|
|
47
|
-
removeTemplate
|
|
48
|
-
} = useDispatch(editSiteStore);
|
|
49
|
-
const {
|
|
50
|
-
__experimentalDeleteReusableBlock
|
|
51
|
-
} = useDispatch(reusableBlocksStore);
|
|
52
|
-
const {
|
|
53
|
-
createErrorNotice,
|
|
54
|
-
createSuccessNotice
|
|
55
|
-
} = useDispatch(noticesStore);
|
|
56
|
-
const isUserPattern = item.type === PATTERN_TYPES.user;
|
|
57
|
-
const isNonUserPattern = item.type === PATTERN_TYPES.theme;
|
|
58
|
-
const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
|
|
59
|
-
const {
|
|
60
|
-
onClick
|
|
61
|
-
} = useLink({
|
|
62
|
-
postType: item.type,
|
|
63
|
-
postId: isUserPattern ? item.id : item.name,
|
|
64
|
-
categoryId,
|
|
65
|
-
categoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme
|
|
66
|
-
});
|
|
67
|
-
const isEmpty = !item.blocks?.length;
|
|
68
|
-
const patternClassNames = classnames('edit-site-patterns__pattern', {
|
|
69
|
-
'is-placeholder': isEmpty
|
|
70
|
-
});
|
|
71
|
-
const previewClassNames = classnames('edit-site-patterns__preview', {
|
|
72
|
-
'is-inactive': isNonUserPattern
|
|
73
|
-
});
|
|
74
|
-
const deletePattern = async () => {
|
|
75
|
-
try {
|
|
76
|
-
await __experimentalDeleteReusableBlock(item.id);
|
|
77
|
-
createSuccessNotice(sprintf(
|
|
78
|
-
// translators: %s: The pattern's title e.g. 'Call to action'.
|
|
79
|
-
__('"%s" deleted.'), item.title), {
|
|
80
|
-
type: 'snackbar',
|
|
81
|
-
id: 'edit-site-patterns-success'
|
|
82
|
-
});
|
|
83
|
-
} catch (error) {
|
|
84
|
-
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while deleting the pattern.');
|
|
85
|
-
createErrorNotice(errorMessage, {
|
|
86
|
-
type: 'snackbar',
|
|
87
|
-
id: 'edit-site-patterns-error'
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
const deleteItem = () => isTemplatePart ? removeTemplate(item) : deletePattern();
|
|
92
|
-
const exportAsJSON = () => {
|
|
93
|
-
const json = {
|
|
94
|
-
__file: item.type,
|
|
95
|
-
title: item.title || item.name,
|
|
96
|
-
content: item.patternPost.content.raw,
|
|
97
|
-
syncStatus: item.patternPost.wp_pattern_sync_status
|
|
98
|
-
};
|
|
99
|
-
return downloadBlob(`${kebabCase(item.title || item.name)}.json`, JSON.stringify(json, null, 2), 'application/json');
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
// Only custom patterns or custom template parts can be renamed or deleted.
|
|
103
|
-
const isCustomPattern = isUserPattern || isTemplatePart && item.isCustom;
|
|
104
|
-
const hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;
|
|
105
|
-
const ariaDescriptions = [];
|
|
106
|
-
if (isCustomPattern) {
|
|
107
|
-
// User patterns don't have descriptions, but can be edited and deleted, so include some help text.
|
|
108
|
-
ariaDescriptions.push(__('Press Enter to edit, or Delete to delete the pattern.'));
|
|
109
|
-
} else if (item.description) {
|
|
110
|
-
ariaDescriptions.push(item.description);
|
|
111
|
-
}
|
|
112
|
-
if (isNonUserPattern) {
|
|
113
|
-
ariaDescriptions.push(__('Theme & plugin patterns cannot be edited.'));
|
|
114
|
-
}
|
|
115
|
-
let itemIcon;
|
|
116
|
-
if (!isUserPattern && templatePartIcons[categoryId]) {
|
|
117
|
-
itemIcon = templatePartIcons[categoryId];
|
|
118
|
-
} else {
|
|
119
|
-
itemIcon = item.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;
|
|
120
|
-
}
|
|
121
|
-
const confirmButtonText = hasThemeFile ? __('Clear') : __('Delete');
|
|
122
|
-
const confirmPrompt = hasThemeFile ? __('Are you sure you want to clear these customizations?') : sprintf(
|
|
123
|
-
// translators: %s: The pattern or template part's title e.g. 'Call to action'.
|
|
124
|
-
__('Are you sure you want to delete "%s"?'), item.title || item.name);
|
|
125
|
-
const additionalStyles = !backgroundColor ? [{
|
|
126
|
-
css: 'body { background: #fff; }'
|
|
127
|
-
}] : undefined;
|
|
128
|
-
return createElement("li", {
|
|
129
|
-
className: patternClassNames
|
|
130
|
-
}, createElement("button", {
|
|
131
|
-
className: previewClassNames,
|
|
132
|
-
id: `edit-site-patterns-${item.name}`,
|
|
133
|
-
type: "button",
|
|
134
|
-
...props,
|
|
135
|
-
onClick: item.type !== PATTERN_TYPES.theme ? onClick : undefined,
|
|
136
|
-
"aria-disabled": item.type !== PATTERN_TYPES.theme ? 'false' : 'true',
|
|
137
|
-
"aria-label": item.title,
|
|
138
|
-
"aria-describedby": ariaDescriptions.length ? ariaDescriptions.map((_, index) => `${descriptionId}-${index}`).join(' ') : undefined
|
|
139
|
-
}, isEmpty && isTemplatePart && __('Empty template part'), isEmpty && !isTemplatePart && __('Empty pattern'), !isEmpty && createElement(BlockPreview, {
|
|
140
|
-
blocks: item.blocks,
|
|
141
|
-
additionalStyles: additionalStyles,
|
|
142
|
-
viewportWidth: item.viewportWidth
|
|
143
|
-
})), ariaDescriptions.map((ariaDescription, index) => createElement("div", {
|
|
144
|
-
key: index,
|
|
145
|
-
hidden: true,
|
|
146
|
-
id: `${descriptionId}-${index}`
|
|
147
|
-
}, ariaDescription)), createElement(HStack, {
|
|
148
|
-
className: "edit-site-patterns__footer",
|
|
149
|
-
justify: "space-between"
|
|
150
|
-
}, createElement(HStack, {
|
|
151
|
-
alignment: "center",
|
|
152
|
-
justify: "left",
|
|
153
|
-
spacing: 3,
|
|
154
|
-
className: "edit-site-patterns__pattern-title"
|
|
155
|
-
}, itemIcon && !isNonUserPattern && createElement(Tooltip, {
|
|
156
|
-
placement: "top",
|
|
157
|
-
text: __('Editing this pattern will also update anywhere it is used')
|
|
158
|
-
}, createElement(Icon, {
|
|
159
|
-
className: "edit-site-patterns__pattern-icon",
|
|
160
|
-
icon: itemIcon
|
|
161
|
-
})), createElement(Flex, {
|
|
162
|
-
as: "span",
|
|
163
|
-
gap: 0,
|
|
164
|
-
justify: "left"
|
|
165
|
-
}, item.type === PATTERN_TYPES.theme ? item.title : createElement(Heading, {
|
|
166
|
-
level: 5
|
|
167
|
-
}, createElement(Button, {
|
|
168
|
-
variant: "link",
|
|
169
|
-
onClick: onClick
|
|
170
|
-
// Required for the grid's roving tab index system.
|
|
171
|
-
// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.
|
|
172
|
-
,
|
|
173
|
-
tabIndex: "-1"
|
|
174
|
-
}, item.title || item.name)), item.type === PATTERN_TYPES.theme && createElement(Tooltip, {
|
|
175
|
-
placement: "top",
|
|
176
|
-
text: __('This pattern cannot be edited.')
|
|
177
|
-
}, createElement(Icon, {
|
|
178
|
-
className: "edit-site-patterns__pattern-lock-icon",
|
|
179
|
-
icon: lockSmall,
|
|
180
|
-
size: 24
|
|
181
|
-
})))), createElement(DropdownMenu, {
|
|
182
|
-
icon: moreVertical,
|
|
183
|
-
label: __('Actions'),
|
|
184
|
-
className: "edit-site-patterns__dropdown",
|
|
185
|
-
popoverProps: {
|
|
186
|
-
placement: 'bottom-end'
|
|
187
|
-
},
|
|
188
|
-
toggleProps: {
|
|
189
|
-
className: 'edit-site-patterns__button',
|
|
190
|
-
describedBy: sprintf( /* translators: %s: pattern name */
|
|
191
|
-
__('Action menu for %s pattern'), item.title)
|
|
192
|
-
}
|
|
193
|
-
}, ({
|
|
194
|
-
onClose
|
|
195
|
-
}) => createElement(MenuGroup, null, isCustomPattern && !hasThemeFile && createElement(RenameMenuItem, {
|
|
196
|
-
item: item,
|
|
197
|
-
onClose: onClose
|
|
198
|
-
}), createElement(DuplicateMenuItem, {
|
|
199
|
-
categoryId: categoryId,
|
|
200
|
-
item: item,
|
|
201
|
-
onClose: onClose,
|
|
202
|
-
label: __('Duplicate')
|
|
203
|
-
}), item.type === PATTERN_TYPES.user && createElement(MenuItem, {
|
|
204
|
-
onClick: () => exportAsJSON()
|
|
205
|
-
}, __('Export as JSON')), isCustomPattern && createElement(MenuItem, {
|
|
206
|
-
isDestructive: !hasThemeFile,
|
|
207
|
-
onClick: () => setIsDeleteDialogOpen(true)
|
|
208
|
-
}, hasThemeFile ? __('Clear customizations') : __('Delete'))))), isDeleteDialogOpen && createElement(ConfirmDialog, {
|
|
209
|
-
confirmButtonText: confirmButtonText,
|
|
210
|
-
onConfirm: deleteItem,
|
|
211
|
-
onCancel: () => setIsDeleteDialogOpen(false)
|
|
212
|
-
}, confirmPrompt));
|
|
213
|
-
}
|
|
214
|
-
export default memo(GridItem);
|
|
215
|
-
//# sourceMappingURL=grid-item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","paramCase","kebabCase","BlockPreview","privateApis","blockEditorPrivateApis","Button","__experimentalConfirmDialog","ConfirmDialog","DropdownMenu","MenuGroup","MenuItem","__experimentalHeading","Heading","__experimentalHStack","HStack","Tooltip","Flex","useDispatch","useState","useId","memo","__","sprintf","Icon","header","footer","symbolFilled","uncategorized","symbol","moreVertical","lockSmall","store","noticesStore","reusableBlocksStore","downloadBlob","RenameMenuItem","DuplicateMenuItem","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","editSiteStore","useLink","unlock","useGlobalStyle","templatePartIcons","GridItem","categoryId","item","props","descriptionId","isDeleteDialogOpen","setIsDeleteDialogOpen","backgroundColor","removeTemplate","__experimentalDeleteReusableBlock","createErrorNotice","createSuccessNotice","isUserPattern","type","user","isNonUserPattern","theme","isTemplatePart","onClick","postType","postId","id","name","categoryType","isEmpty","blocks","length","patternClassNames","previewClassNames","deletePattern","title","error","errorMessage","message","code","deleteItem","exportAsJSON","json","__file","content","patternPost","raw","syncStatus","wp_pattern_sync_status","JSON","stringify","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","ariaDescriptions","push","description","itemIcon","full","undefined","confirmButtonText","confirmPrompt","additionalStyles","css","createElement","className","map","_","index","join","viewportWidth","ariaDescription","key","hidden","justify","alignment","spacing","placement","text","icon","as","gap","level","variant","tabIndex","size","label","popoverProps","toggleProps","describedBy","onClose","isDestructive","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid-item.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useId, memo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tmoreVertical,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { downloadBlob } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport RenameMenuItem from './rename-menu-item';\nimport DuplicateMenuItem from './duplicate-menu-item';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n} from '../../utils/constants';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst templatePartIcons = { header, footer, uncategorized };\n\nfunction GridItem( { categoryId, item, ...props } ) {\n\tconst descriptionId = useId();\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\n\tconst { removeTemplate } = useDispatch( editSiteStore );\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-patterns__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-patterns__preview', {\n\t\t'is-inactive': isNonUserPattern,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The pattern's title e.g. 'Call to action'.\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t}\n\t};\n\tconst deleteItem = () =>\n\t\tisTemplatePart ? removeTemplate( item ) : deletePattern();\n\tconst exportAsJSON = () => {\n\t\tconst json = {\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t};\n\n\t\treturn downloadBlob(\n\t\t\t`${ kebabCase( item.title || item.name ) }.json`,\n\t\t\tJSON.stringify( json, null, 2 ),\n\t\t\t'application/json'\n\t\t);\n\t};\n\n\t// Only custom patterns or custom template parts can be renamed or deleted.\n\tconst isCustomPattern =\n\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\tconst ariaDescriptions = [];\n\n\tif ( isCustomPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\n\tif ( isNonUserPattern ) {\n\t\tariaDescriptions.push(\n\t\t\t__( 'Theme & plugin patterns cannot be edited.' )\n\t\t);\n\t}\n\n\tlet itemIcon;\n\tif ( ! isUserPattern && templatePartIcons[ categoryId ] ) {\n\t\titemIcon = templatePartIcons[ categoryId ];\n\t} else {\n\t\titemIcon =\n\t\t\titem.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;\n\t}\n\n\tconst confirmButtonText = hasThemeFile ? __( 'Clear' ) : __( 'Delete' );\n\tconst confirmPrompt = hasThemeFile\n\t\t? __( 'Are you sure you want to clear these customizations?' )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: The pattern or template part's title e.g. 'Call to action'.\n\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\titem.title || item.name\n\t\t );\n\n\tconst additionalStyles = ! backgroundColor\n\t\t? [ { css: 'body { background: #fff; }' } ]\n\t\t: undefined;\n\n\treturn (\n\t\t<li className={ patternClassNames }>\n\t\t\t<button\n\t\t\t\tclassName={ previewClassNames }\n\t\t\t\tid={ `edit-site-patterns-${ item.name }` }\n\t\t\t\ttype=\"button\"\n\t\t\t\t{ ...props }\n\t\t\t\tonClick={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? onClick : undefined\n\t\t\t\t}\n\t\t\t\taria-disabled={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? 'false' : 'true'\n\t\t\t\t}\n\t\t\t\taria-label={ item.title }\n\t\t\t\taria-describedby={\n\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\thidden\n\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t>\n\t\t\t\t\t{ ariaDescription }\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t\t<HStack\n\t\t\t\tclassName=\"edit-site-patterns__footer\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t\t>\n\t\t\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\t<Flex as=\"span\" gap={ 0 } justify=\"left\">\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Heading level={ 5 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t</HStack>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tclassName=\"edit-site-patterns__dropdown\"\n\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ isCustomPattern && ! hasThemeFile && (\n\t\t\t\t\t\t\t\t<RenameMenuItem\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<DuplicateMenuItem\n\t\t\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tlabel={ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ item.type === PATTERN_TYPES.user && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ () => exportAsJSON() }>\n\t\t\t\t\t\t\t\t\t{ __( 'Export as JSON' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomPattern && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tisDestructive={ ! hasThemeFile }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasThemeFile\n\t\t\t\t\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t</HStack>\n\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\t\t\tonConfirm={ deleteItem }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ confirmPrompt }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nexport default memo( GridItem );\n"],"mappings":"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"}
|