@wordpress/patterns 2.32.0 → 2.32.1-next.47f435fc9.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/build/api/index.js +35 -29
- package/build/api/index.js.map +7 -1
- package/build/components/allow-overrides-modal.js +149 -112
- package/build/components/allow-overrides-modal.js.map +7 -1
- package/build/components/category-selector.js +59 -38
- package/build/components/category-selector.js.map +7 -1
- package/build/components/create-pattern-modal.js +162 -111
- package/build/components/create-pattern-modal.js.map +7 -1
- package/build/components/duplicate-pattern-modal.js +85 -66
- package/build/components/duplicate-pattern-modal.js.map +7 -1
- package/build/components/index.js +50 -33
- package/build/components/index.js.map +7 -1
- package/build/components/overrides-panel.js +44 -39
- package/build/components/overrides-panel.js.map +7 -1
- package/build/components/pattern-convert-button.js +144 -133
- package/build/components/pattern-convert-button.js.map +7 -1
- package/build/components/pattern-overrides-block-controls.js +109 -109
- package/build/components/pattern-overrides-block-controls.js.map +7 -1
- package/build/components/pattern-overrides-controls.js +86 -69
- package/build/components/pattern-overrides-controls.js.map +7 -1
- package/build/components/patterns-manage-button.js +96 -97
- package/build/components/patterns-manage-button.js.map +7 -1
- package/build/components/rename-pattern-category-modal.js +122 -111
- package/build/components/rename-pattern-category-modal.js.map +7 -1
- package/build/components/rename-pattern-modal.js +95 -73
- package/build/components/rename-pattern-modal.js.map +7 -1
- package/build/components/reset-overrides-control.js +61 -57
- package/build/components/reset-overrides-control.js.map +7 -1
- package/build/constants.js +57 -23
- package/build/constants.js.map +7 -1
- package/build/index.js +27 -24
- package/build/index.js.map +7 -1
- package/build/lock-unlock.js +31 -15
- package/build/lock-unlock.js.map +7 -1
- package/build/private-apis.js +71 -48
- package/build/private-apis.js.map +7 -1
- package/build/private-hooks.js +57 -69
- package/build/private-hooks.js.map +7 -1
- package/build/store/actions.js +72 -85
- package/build/store/actions.js.map +7 -1
- package/build/store/constants.js +27 -10
- package/build/store/constants.js.map +7 -1
- package/build/store/index.js +50 -44
- package/build/store/index.js.map +7 -1
- package/build/store/reducer.js +30 -14
- package/build/store/reducer.js.map +7 -1
- package/build/store/selectors.js +26 -13
- package/build/store/selectors.js.map +7 -1
- package/build-module/api/index.js +14 -25
- package/build-module/api/index.js.map +7 -1
- package/build-module/components/allow-overrides-modal.js +131 -103
- package/build-module/components/allow-overrides-modal.js.map +7 -1
- package/build-module/components/category-selector.js +35 -29
- package/build-module/components/category-selector.js.map +7 -1
- package/build-module/components/create-pattern-modal.js +137 -99
- package/build-module/components/create-pattern-modal.js.map +7 -1
- package/build-module/components/duplicate-pattern-modal.js +53 -58
- package/build-module/components/duplicate-pattern-modal.js.map +7 -1
- package/build-module/components/index.js +22 -26
- package/build-module/components/index.js.map +7 -1
- package/build-module/components/overrides-panel.js +30 -34
- package/build-module/components/overrides-panel.js.map +7 -1
- package/build-module/components/pattern-convert-button.js +120 -125
- package/build-module/components/pattern-convert-button.js.map +7 -1
- package/build-module/components/pattern-overrides-block-controls.js +100 -103
- package/build-module/components/pattern-overrides-block-controls.js.map +7 -1
- package/build-module/components/pattern-overrides-controls.js +69 -58
- package/build-module/components/pattern-overrides-controls.js.map +7 -1
- package/build-module/components/patterns-manage-button.js +78 -91
- package/build-module/components/patterns-manage-button.js.map +7 -1
- package/build-module/components/rename-pattern-category-modal.js +106 -101
- package/build-module/components/rename-pattern-category-modal.js.map +7 -1
- package/build-module/components/rename-pattern-modal.js +80 -64
- package/build-module/components/rename-pattern-modal.js.map +7 -1
- package/build-module/components/reset-overrides-control.js +46 -51
- package/build-module/components/reset-overrides-control.js.map +7 -1
- package/build-module/constants.js +29 -18
- package/build-module/constants.js.map +7 -1
- package/build-module/index.js +6 -6
- package/build-module/index.js.map +7 -1
- package/build-module/lock-unlock.js +8 -7
- package/build-module/lock-unlock.js.map +7 -1
- package/build-module/private-apis.js +31 -18
- package/build-module/private-apis.js.map +7 -1
- package/build-module/private-hooks.js +35 -64
- package/build-module/private-hooks.js.map +7 -1
- package/build-module/store/actions.js +44 -74
- package/build-module/store/actions.js.map +7 -1
- package/build-module/store/constants.js +5 -5
- package/build-module/store/constants.js.map +7 -1
- package/build-module/store/index.js +13 -32
- package/build-module/store/index.js.map +7 -1
- package/build-module/store/reducer.js +9 -8
- package/build-module/store/reducer.js.map +7 -1
- package/build-module/store/selectors.js +5 -9
- package/build-module/store/selectors.js.map +7 -1
- package/build-style/style-rtl.css +3 -138
- package/build-style/style.css +3 -138
- package/package.json +24 -17
- package/src/components/style.scss +5 -0
- package/src/style.scss +2 -1
- package/build/index.native.js +0 -18
- package/build/index.native.js.map +0 -1
- package/build-module/index.native.js +0 -11
- package/build-module/index.native.js.map +0 -1
|
@@ -1,143 +1,194 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
Object.
|
|
5
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var create_pattern_modal_exports = {};
|
|
29
|
+
__export(create_pattern_modal_exports, {
|
|
30
|
+
CreatePatternModalContents: () => CreatePatternModalContents,
|
|
31
|
+
default: () => CreatePatternModal
|
|
6
32
|
});
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
/**
|
|
22
|
-
* WordPress dependencies
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Internal dependencies
|
|
27
|
-
*/
|
|
28
|
-
|
|
33
|
+
module.exports = __toCommonJS(create_pattern_modal_exports);
|
|
34
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
|
+
var import_components = require("@wordpress/components");
|
|
36
|
+
var import_i18n = require("@wordpress/i18n");
|
|
37
|
+
var import_element = require("@wordpress/element");
|
|
38
|
+
var import_data = require("@wordpress/data");
|
|
39
|
+
var import_notices = require("@wordpress/notices");
|
|
40
|
+
var import_core_data = require("@wordpress/core-data");
|
|
41
|
+
var import_constants = require("../constants");
|
|
42
|
+
var import_store = require("../store");
|
|
43
|
+
var import_category_selector = __toESM(require("./category-selector"));
|
|
44
|
+
var import_private_hooks = require("../private-hooks");
|
|
45
|
+
var import_lock_unlock = require("../lock-unlock");
|
|
29
46
|
function CreatePatternModal({
|
|
30
|
-
className =
|
|
47
|
+
className = "patterns-menu-items__convert-modal",
|
|
31
48
|
modalTitle,
|
|
32
49
|
...restProps
|
|
33
50
|
}) {
|
|
34
|
-
const defaultModalTitle = (0,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
const defaultModalTitle = (0, import_data.useSelect)(
|
|
52
|
+
(select) => select(import_core_data.store).getPostType(import_constants.PATTERN_TYPES.user)?.labels?.add_new_item,
|
|
53
|
+
[]
|
|
54
|
+
);
|
|
55
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
56
|
+
import_components.Modal,
|
|
57
|
+
{
|
|
58
|
+
title: modalTitle || defaultModalTitle,
|
|
59
|
+
onRequestClose: restProps.onClose,
|
|
60
|
+
overlayClassName: className,
|
|
61
|
+
focusOnMount: "firstContentElement",
|
|
62
|
+
size: "small",
|
|
63
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CreatePatternModalContents, { ...restProps })
|
|
64
|
+
}
|
|
65
|
+
);
|
|
45
66
|
}
|
|
46
67
|
function CreatePatternModalContents({
|
|
47
|
-
confirmLabel = (0,
|
|
68
|
+
confirmLabel = (0, import_i18n.__)("Add"),
|
|
48
69
|
defaultCategories = [],
|
|
49
70
|
content,
|
|
50
71
|
onClose,
|
|
51
72
|
onError,
|
|
52
73
|
onSuccess,
|
|
53
|
-
defaultSyncType =
|
|
54
|
-
defaultTitle =
|
|
74
|
+
defaultSyncType = import_constants.PATTERN_SYNC_TYPES.full,
|
|
75
|
+
defaultTitle = ""
|
|
55
76
|
}) {
|
|
56
|
-
const [syncType, setSyncType] = (0,
|
|
57
|
-
const [categoryTerms, setCategoryTerms] = (0,
|
|
58
|
-
const [title, setTitle] = (0,
|
|
59
|
-
const [isSaving, setIsSaving] = (0,
|
|
60
|
-
const {
|
|
61
|
-
|
|
62
|
-
} = (0,
|
|
63
|
-
const {
|
|
64
|
-
createErrorNotice
|
|
65
|
-
} = (0, _data.useDispatch)(_notices.store);
|
|
66
|
-
const {
|
|
67
|
-
categoryMap,
|
|
68
|
-
findOrCreateTerm
|
|
69
|
-
} = (0, _privateHooks.useAddPatternCategory)();
|
|
77
|
+
const [syncType, setSyncType] = (0, import_element.useState)(defaultSyncType);
|
|
78
|
+
const [categoryTerms, setCategoryTerms] = (0, import_element.useState)(defaultCategories);
|
|
79
|
+
const [title, setTitle] = (0, import_element.useState)(defaultTitle);
|
|
80
|
+
const [isSaving, setIsSaving] = (0, import_element.useState)(false);
|
|
81
|
+
const { createPattern } = (0, import_lock_unlock.unlock)((0, import_data.useDispatch)(import_store.store));
|
|
82
|
+
const { createErrorNotice } = (0, import_data.useDispatch)(import_notices.store);
|
|
83
|
+
const { categoryMap, findOrCreateTerm } = (0, import_private_hooks.useAddPatternCategory)();
|
|
70
84
|
async function onCreate(patternTitle, sync) {
|
|
71
85
|
if (!title || isSaving) {
|
|
72
86
|
return;
|
|
73
87
|
}
|
|
74
88
|
try {
|
|
75
89
|
setIsSaving(true);
|
|
76
|
-
const categories = await Promise.all(
|
|
77
|
-
|
|
90
|
+
const categories = await Promise.all(
|
|
91
|
+
categoryTerms.map(
|
|
92
|
+
(termName) => findOrCreateTerm(termName)
|
|
93
|
+
)
|
|
94
|
+
);
|
|
95
|
+
const newPattern = await createPattern(
|
|
96
|
+
patternTitle,
|
|
97
|
+
sync,
|
|
98
|
+
typeof content === "function" ? content() : content,
|
|
99
|
+
categories
|
|
100
|
+
);
|
|
78
101
|
onSuccess({
|
|
79
102
|
pattern: newPattern,
|
|
80
|
-
categoryId:
|
|
103
|
+
categoryId: import_constants.PATTERN_DEFAULT_CATEGORY
|
|
81
104
|
});
|
|
82
105
|
} catch (error) {
|
|
83
106
|
createErrorNotice(error.message, {
|
|
84
|
-
type:
|
|
85
|
-
id:
|
|
107
|
+
type: "snackbar",
|
|
108
|
+
id: "pattern-create"
|
|
86
109
|
});
|
|
87
110
|
onError?.();
|
|
88
111
|
} finally {
|
|
89
112
|
setIsSaving(false);
|
|
90
113
|
setCategoryTerms([]);
|
|
91
|
-
setTitle(
|
|
114
|
+
setTitle("");
|
|
92
115
|
}
|
|
93
116
|
}
|
|
94
|
-
return
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
children:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
118
|
+
"form",
|
|
119
|
+
{
|
|
120
|
+
onSubmit: (event) => {
|
|
121
|
+
event.preventDefault();
|
|
122
|
+
onCreate(title, syncType);
|
|
123
|
+
},
|
|
124
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: "5", children: [
|
|
125
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
126
|
+
import_components.TextControl,
|
|
127
|
+
{
|
|
128
|
+
label: (0, import_i18n.__)("Name"),
|
|
129
|
+
value: title,
|
|
130
|
+
onChange: setTitle,
|
|
131
|
+
placeholder: (0, import_i18n.__)("My pattern"),
|
|
132
|
+
className: "patterns-create-modal__name-input",
|
|
133
|
+
__nextHasNoMarginBottom: true,
|
|
134
|
+
__next40pxDefaultSize: true
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
138
|
+
import_category_selector.default,
|
|
139
|
+
{
|
|
140
|
+
categoryTerms,
|
|
141
|
+
onChange: setCategoryTerms,
|
|
142
|
+
categoryMap
|
|
143
|
+
}
|
|
144
|
+
),
|
|
145
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
146
|
+
import_components.ToggleControl,
|
|
147
|
+
{
|
|
148
|
+
__nextHasNoMarginBottom: true,
|
|
149
|
+
label: (0, import_i18n._x)("Synced", "pattern (singular)"),
|
|
150
|
+
help: (0, import_i18n.__)(
|
|
151
|
+
"Sync this pattern across multiple locations."
|
|
152
|
+
),
|
|
153
|
+
checked: syncType === import_constants.PATTERN_SYNC_TYPES.full,
|
|
154
|
+
onChange: () => {
|
|
155
|
+
setSyncType(
|
|
156
|
+
syncType === import_constants.PATTERN_SYNC_TYPES.full ? import_constants.PATTERN_SYNC_TYPES.unsynced : import_constants.PATTERN_SYNC_TYPES.full
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
),
|
|
161
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { justify: "right", children: [
|
|
162
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
163
|
+
import_components.Button,
|
|
164
|
+
{
|
|
165
|
+
__next40pxDefaultSize: true,
|
|
166
|
+
variant: "tertiary",
|
|
167
|
+
onClick: () => {
|
|
168
|
+
onClose();
|
|
169
|
+
setTitle("");
|
|
170
|
+
},
|
|
171
|
+
children: (0, import_i18n.__)("Cancel")
|
|
172
|
+
}
|
|
173
|
+
),
|
|
174
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
175
|
+
import_components.Button,
|
|
176
|
+
{
|
|
177
|
+
__next40pxDefaultSize: true,
|
|
178
|
+
variant: "primary",
|
|
179
|
+
type: "submit",
|
|
180
|
+
"aria-disabled": !title || isSaving,
|
|
181
|
+
isBusy: isSaving,
|
|
182
|
+
children: confirmLabel
|
|
183
|
+
}
|
|
184
|
+
)
|
|
185
|
+
] })
|
|
186
|
+
] })
|
|
187
|
+
}
|
|
188
|
+
);
|
|
142
189
|
}
|
|
143
|
-
|
|
190
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
191
|
+
0 && (module.exports = {
|
|
192
|
+
CreatePatternModalContents
|
|
193
|
+
});
|
|
194
|
+
//# sourceMappingURL=create-pattern-modal.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_data","_notices","_coreData","_constants","_store","_categorySelector","_interopRequireDefault","_privateHooks","_lockUnlock","_jsxRuntime","CreatePatternModal","className","modalTitle","restProps","defaultModalTitle","useSelect","select","coreStore","getPostType","PATTERN_TYPES","user","labels","add_new_item","jsx","Modal","title","onRequestClose","onClose","overlayClassName","focusOnMount","size","children","CreatePatternModalContents","confirmLabel","__","defaultCategories","content","onError","onSuccess","defaultSyncType","PATTERN_SYNC_TYPES","full","defaultTitle","syncType","setSyncType","useState","categoryTerms","setCategoryTerms","setTitle","isSaving","setIsSaving","createPattern","unlock","useDispatch","patternsStore","createErrorNotice","noticesStore","categoryMap","findOrCreateTerm","useAddPatternCategory","onCreate","patternTitle","sync","categories","Promise","all","map","termName","newPattern","pattern","categoryId","PATTERN_DEFAULT_CATEGORY","error","message","type","id","onSubmit","event","preventDefault","jsxs","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","default","ToggleControl","_x","help","checked","unsynced","__experimentalHStack","justify","Button","variant","onClick","isBusy"],"sources":["@wordpress/patterns/src/components/create-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_TYPES,\n} from '../constants';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle,\n\t...restProps\n} ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Add' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/create-pattern-modal.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_TYPES,\n} from '../constants';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle,\n\t...restProps\n} ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Add' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["coreStore", "patternsStore", "noticesStore", "VStack", "CategorySelector", "HStack"]
|
|
7
|
+
}
|
|
@@ -1,45 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
Object.
|
|
5
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var duplicate_pattern_modal_exports = {};
|
|
29
|
+
__export(duplicate_pattern_modal_exports, {
|
|
30
|
+
default: () => DuplicatePatternModal,
|
|
31
|
+
useDuplicatePatternProps: () => useDuplicatePatternProps
|
|
6
32
|
});
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
/**
|
|
17
|
-
* WordPress dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Internal dependencies
|
|
22
|
-
*/
|
|
23
|
-
|
|
33
|
+
module.exports = __toCommonJS(duplicate_pattern_modal_exports);
|
|
34
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
|
+
var import_core_data = require("@wordpress/core-data");
|
|
36
|
+
var import_data = require("@wordpress/data");
|
|
37
|
+
var import_i18n = require("@wordpress/i18n");
|
|
38
|
+
var import_notices = require("@wordpress/notices");
|
|
39
|
+
var import_create_pattern_modal = __toESM(require("./create-pattern-modal"));
|
|
40
|
+
var import_constants = require("../constants");
|
|
24
41
|
function getTermLabels(pattern, categories) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
42
|
+
if (pattern.type !== import_constants.PATTERN_TYPES.user) {
|
|
43
|
+
return categories.core?.filter(
|
|
44
|
+
(category) => pattern.categories?.includes(category.name)
|
|
45
|
+
).map((category) => category.label);
|
|
28
46
|
}
|
|
29
|
-
return categories.user?.filter(
|
|
47
|
+
return categories.user?.filter(
|
|
48
|
+
(category) => pattern.wp_pattern_category?.includes(category.id)
|
|
49
|
+
).map((category) => category.label);
|
|
30
50
|
}
|
|
31
|
-
function useDuplicatePatternProps({
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
})
|
|
35
|
-
const {
|
|
36
|
-
createSuccessNotice
|
|
37
|
-
} = (0, _data.useDispatch)(_notices.store);
|
|
38
|
-
const categories = (0, _data.useSelect)(select => {
|
|
39
|
-
const {
|
|
40
|
-
getUserPatternCategories,
|
|
41
|
-
getBlockPatternCategories
|
|
42
|
-
} = select(_coreData.store);
|
|
51
|
+
function useDuplicatePatternProps({ pattern, onSuccess }) {
|
|
52
|
+
const { createSuccessNotice } = (0, import_data.useDispatch)(import_notices.store);
|
|
53
|
+
const categories = (0, import_data.useSelect)((select) => {
|
|
54
|
+
const { getUserPatternCategories, getBlockPatternCategories } = select(import_core_data.store);
|
|
43
55
|
return {
|
|
44
56
|
core: getBlockPatternCategories(),
|
|
45
57
|
user: getUserPatternCategories()
|
|
@@ -51,22 +63,25 @@ function useDuplicatePatternProps({
|
|
|
51
63
|
return {
|
|
52
64
|
content: pattern.content,
|
|
53
65
|
defaultCategories: getTermLabels(pattern, categories),
|
|
54
|
-
defaultSyncType: pattern.type !==
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}) => {
|
|
61
|
-
createSuccessNotice(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
defaultSyncType: pattern.type !== import_constants.PATTERN_TYPES.user ? import_constants.PATTERN_SYNC_TYPES.unsynced : pattern.wp_pattern_sync_status || import_constants.PATTERN_SYNC_TYPES.full,
|
|
67
|
+
defaultTitle: (0, import_i18n.sprintf)(
|
|
68
|
+
/* translators: %s: Existing pattern title */
|
|
69
|
+
(0, import_i18n._x)("%s (Copy)", "pattern"),
|
|
70
|
+
typeof pattern.title === "string" ? pattern.title : pattern.title.raw
|
|
71
|
+
),
|
|
72
|
+
onSuccess: ({ pattern: newPattern }) => {
|
|
73
|
+
createSuccessNotice(
|
|
74
|
+
(0, import_i18n.sprintf)(
|
|
75
|
+
// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.
|
|
76
|
+
(0, import_i18n._x)('"%s" duplicated.', "pattern"),
|
|
77
|
+
newPattern.title.raw
|
|
78
|
+
),
|
|
79
|
+
{
|
|
80
|
+
type: "snackbar",
|
|
81
|
+
id: "patterns-create"
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
onSuccess?.({ pattern: newPattern });
|
|
70
85
|
}
|
|
71
86
|
};
|
|
72
87
|
}
|
|
@@ -75,19 +90,23 @@ function DuplicatePatternModal({
|
|
|
75
90
|
onClose,
|
|
76
91
|
onSuccess
|
|
77
92
|
}) {
|
|
78
|
-
const duplicatedProps = useDuplicatePatternProps({
|
|
79
|
-
pattern,
|
|
80
|
-
onSuccess
|
|
81
|
-
});
|
|
93
|
+
const duplicatedProps = useDuplicatePatternProps({ pattern, onSuccess });
|
|
82
94
|
if (!pattern) {
|
|
83
95
|
return null;
|
|
84
96
|
}
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
97
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
98
|
+
import_create_pattern_modal.default,
|
|
99
|
+
{
|
|
100
|
+
modalTitle: (0, import_i18n.__)("Duplicate pattern"),
|
|
101
|
+
confirmLabel: (0, import_i18n.__)("Duplicate"),
|
|
102
|
+
onClose,
|
|
103
|
+
onError: onClose,
|
|
104
|
+
...duplicatedProps
|
|
105
|
+
}
|
|
106
|
+
);
|
|
92
107
|
}
|
|
93
|
-
|
|
108
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
109
|
+
0 && (module.exports = {
|
|
110
|
+
useDuplicatePatternProps
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=duplicate-pattern-modal.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/duplicate-pattern-modal.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreatePatternModal from './create-pattern-modal';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../constants';\n\nfunction getTermLabels( pattern, categories ) {\n\t// Theme patterns rely on core pattern categories.\n\tif ( pattern.type !== PATTERN_TYPES.user ) {\n\t\treturn categories.core\n\t\t\t?.filter( ( category ) =>\n\t\t\t\tpattern.categories?.includes( category.name )\n\t\t\t)\n\t\t\t.map( ( category ) => category.label );\n\t}\n\n\treturn categories.user\n\t\t?.filter( ( category ) =>\n\t\t\tpattern.wp_pattern_category?.includes( category.id )\n\t\t)\n\t\t.map( ( category ) => category.label );\n}\n\nexport function useDuplicatePatternProps( { pattern, onSuccess } ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst categories = useSelect( ( select ) => {\n\t\tconst { getUserPatternCategories, getBlockPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\treturn {\n\t\t\tcore: getBlockPatternCategories(),\n\t\t\tuser: getUserPatternCategories(),\n\t\t};\n\t} );\n\tif ( ! pattern ) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tcontent: pattern.content,\n\t\tdefaultCategories: getTermLabels( pattern, categories ),\n\t\tdefaultSyncType:\n\t\t\tpattern.type !== PATTERN_TYPES.user // Theme patterns are unsynced by default.\n\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t: pattern.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\t\tdefaultTitle: sprintf(\n\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t_x( '%s (Copy)', 'pattern' ),\n\t\t\ttypeof pattern.title === 'string'\n\t\t\t\t? pattern.title\n\t\t\t\t: pattern.title.raw\n\t\t),\n\t\tonSuccess: ( { pattern: newPattern } ) => {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t_x( '\"%s\" duplicated.', 'pattern' ),\n\t\t\t\t\tnewPattern.title.raw\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'patterns-create',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tonSuccess?.( { pattern: newPattern } );\n\t\t},\n\t};\n}\n\nexport default function DuplicatePatternModal( {\n\tpattern,\n\tonClose,\n\tonSuccess,\n} ) {\n\tconst duplicatedProps = useDuplicatePatternProps( { pattern, onSuccess } );\n\tif ( ! pattern ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<CreatePatternModal\n\t\t\tmodalTitle={ __( 'Duplicate pattern' ) }\n\t\t\tconfirmLabel={ __( 'Duplicate' ) }\n\t\t\tonClose={ onClose }\n\t\t\tonError={ onClose }\n\t\t\t{ ...duplicatedProps }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuFE;AApFF,uBAAmC;AACnC,kBAAuC;AACvC,kBAAgC;AAChC,qBAAsC;AAKtC,kCAA+B;AAC/B,uBAAkD;AAElD,SAAS,cAAe,SAAS,YAAa;AAE7C,MAAK,QAAQ,SAAS,+BAAc,MAAO;AAC1C,WAAO,WAAW,MACf;AAAA,MAAQ,CAAE,aACX,QAAQ,YAAY,SAAU,SAAS,IAAK;AAAA,IAC7C,EACC,IAAK,CAAE,aAAc,SAAS,KAAM;AAAA,EACvC;AAEA,SAAO,WAAW,MACf;AAAA,IAAQ,CAAE,aACX,QAAQ,qBAAqB,SAAU,SAAS,EAAG;AAAA,EACpD,EACC,IAAK,CAAE,aAAc,SAAS,KAAM;AACvC;AAEO,SAAS,yBAA0B,EAAE,SAAS,UAAU,GAAI;AAClE,QAAM,EAAE,oBAAoB,QAAI,yBAAa,eAAAA,KAAa;AAC1D,QAAM,iBAAa,uBAAW,CAAE,WAAY;AAC3C,UAAM,EAAE,0BAA0B,0BAA0B,IAC3D,OAAQ,iBAAAC,KAAU;AAEnB,WAAO;AAAA,MACN,MAAM,0BAA0B;AAAA,MAChC,MAAM,yBAAyB;AAAA,IAChC;AAAA,EACD,CAAE;AACF,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AACA,SAAO;AAAA,IACN,SAAS,QAAQ;AAAA,IACjB,mBAAmB,cAAe,SAAS,UAAW;AAAA,IACtD,iBACC,QAAQ,SAAS,+BAAc,OAC5B,oCAAmB,WACnB,QAAQ,0BAA0B,oCAAmB;AAAA,IACzD,kBAAc;AAAA;AAAA,UAEb,gBAAI,aAAa,SAAU;AAAA,MAC3B,OAAO,QAAQ,UAAU,WACtB,QAAQ,QACR,QAAQ,MAAM;AAAA,IAClB;AAAA,IACA,WAAW,CAAE,EAAE,SAAS,WAAW,MAAO;AACzC;AAAA,YACC;AAAA;AAAA,cAEC,gBAAI,oBAAoB,SAAU;AAAA,UAClC,WAAW,MAAM;AAAA,QAClB;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,IAAI;AAAA,QACL;AAAA,MACD;AAEA,kBAAa,EAAE,SAAS,WAAW,CAAE;AAAA,IACtC;AAAA,EACD;AACD;AAEe,SAAR,sBAAwC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,kBAAkB,yBAA0B,EAAE,SAAS,UAAU,CAAE;AACzE,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AACA,SACC;AAAA,IAAC,4BAAAC;AAAA,IAAA;AAAA,MACA,gBAAa,gBAAI,mBAAoB;AAAA,MACrC,kBAAe,gBAAI,WAAY;AAAA,MAC/B;AAAA,MACA,SAAU;AAAA,MACR,GAAG;AAAA;AAAA,EACN;AAEF;",
|
|
6
|
+
"names": ["noticesStore", "coreStore", "CreatePatternModal"]
|
|
7
|
+
}
|