@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
package/build/api/index.js
CHANGED
|
@@ -1,39 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var api_exports = {};
|
|
19
|
+
__export(api_exports, {
|
|
20
|
+
hasOverridableBlocks: () => hasOverridableBlocks,
|
|
21
|
+
isOverridableBlock: () => isOverridableBlock
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var _constants = require("../constants");
|
|
9
|
-
/**
|
|
10
|
-
* Internal dependencies
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Determines whether a block is overridable.
|
|
15
|
-
*
|
|
16
|
-
* @param {WPBlock} block The block to test.
|
|
17
|
-
*
|
|
18
|
-
* @return {boolean} `true` if a block is overridable, `false` otherwise.
|
|
19
|
-
*/
|
|
23
|
+
module.exports = __toCommonJS(api_exports);
|
|
24
|
+
var import_constants = require("../constants");
|
|
20
25
|
function isOverridableBlock(block) {
|
|
21
|
-
return Object.keys(
|
|
26
|
+
return Object.keys(import_constants.PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(
|
|
27
|
+
block.name
|
|
28
|
+
) && !!block.attributes.metadata?.name && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(
|
|
29
|
+
(binding) => binding.source === "core/pattern-overrides"
|
|
30
|
+
);
|
|
22
31
|
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Determines whether the blocks list has overridable blocks.
|
|
26
|
-
*
|
|
27
|
-
* @param {WPBlock[]} blocks The blocks list.
|
|
28
|
-
*
|
|
29
|
-
* @return {boolean} `true` if the list has overridable blocks, `false` otherwise.
|
|
30
|
-
*/
|
|
31
32
|
function hasOverridableBlocks(blocks) {
|
|
32
|
-
return blocks.some(block => {
|
|
33
|
+
return blocks.some((block) => {
|
|
33
34
|
if (isOverridableBlock(block)) {
|
|
34
35
|
return true;
|
|
35
36
|
}
|
|
36
37
|
return hasOverridableBlocks(block.innerBlocks);
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
41
|
+
0 && (module.exports = {
|
|
42
|
+
hasOverridableBlocks,
|
|
43
|
+
isOverridableBlock
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
package/build/api/index.js.map
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/api/index.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';\n\n/**\n * Determines whether a block is overridable.\n *\n * @param {WPBlock} block The block to test.\n *\n * @return {boolean} `true` if a block is overridable, `false` otherwise.\n */\nexport function isOverridableBlock( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.name &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\n/**\n * Determines whether the blocks list has overridable blocks.\n *\n * @param {WPBlock[]} blocks The blocks list.\n *\n * @return {boolean} `true` if the list has overridable blocks, `false` otherwise.\n */\nexport function hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( isOverridableBlock( block ) ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAiD;AAS1C,SAAS,mBAAoB,OAAQ;AAC3C,SACC,OAAO,KAAM,iDAAiC,EAAE;AAAA,IAC/C,MAAM;AAAA,EACP,KACA,CAAC,CAAE,MAAM,WAAW,UAAU,QAC9B,CAAC,CAAE,MAAM,WAAW,UAAU,YAC9B,OAAO,OAAQ,MAAM,WAAW,SAAS,QAAS,EAAE;AAAA,IACnD,CAAE,YAAa,QAAQ,WAAW;AAAA,EACnC;AAEF;AASO,SAAS,qBAAsB,QAAS;AAC9C,SAAO,OAAO,KAAM,CAAE,UAAW;AAChC,QAAK,mBAAoB,KAAM,GAAI;AAClC,aAAO;AAAA,IACR;AACA,WAAO,qBAAsB,MAAM,WAAY;AAAA,EAChD,CAAE;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,128 +1,165 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var allow_overrides_modal_exports = {};
|
|
19
|
+
__export(allow_overrides_modal_exports, {
|
|
20
|
+
AllowOverridesModal: () => AllowOverridesModal,
|
|
21
|
+
DisallowOverridesModal: () => DisallowOverridesModal
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
/**
|
|
14
|
-
* WordPress dependencies
|
|
15
|
-
*/
|
|
16
|
-
|
|
23
|
+
module.exports = __toCommonJS(allow_overrides_modal_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_components = require("@wordpress/components");
|
|
26
|
+
var import_i18n = require("@wordpress/i18n");
|
|
27
|
+
var import_element = require("@wordpress/element");
|
|
28
|
+
var import_a11y = require("@wordpress/a11y");
|
|
17
29
|
function AllowOverridesModal({
|
|
18
30
|
placeholder,
|
|
19
|
-
initialName =
|
|
31
|
+
initialName = "",
|
|
20
32
|
onClose,
|
|
21
33
|
onSave
|
|
22
34
|
}) {
|
|
23
|
-
const [editedBlockName, setEditedBlockName] = (0,
|
|
24
|
-
const descriptionId = (0,
|
|
35
|
+
const [editedBlockName, setEditedBlockName] = (0, import_element.useState)(initialName);
|
|
36
|
+
const descriptionId = (0, import_element.useId)();
|
|
25
37
|
const isNameValid = !!editedBlockName.trim();
|
|
26
38
|
const handleSubmit = () => {
|
|
27
39
|
if (editedBlockName !== initialName) {
|
|
28
|
-
const message = (0,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
const message = (0, import_i18n.sprintf)(
|
|
41
|
+
/* translators: %s: new name/label for the block */
|
|
42
|
+
(0, import_i18n.__)('Block name changed to: "%s".'),
|
|
43
|
+
editedBlockName
|
|
44
|
+
);
|
|
45
|
+
(0, import_a11y.speak)(message, "assertive");
|
|
33
46
|
}
|
|
34
47
|
onSave(editedBlockName);
|
|
35
|
-
|
|
36
|
-
// Immediate close avoids ability to hit save multiple times.
|
|
37
48
|
onClose();
|
|
38
49
|
};
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
51
|
+
import_components.Modal,
|
|
52
|
+
{
|
|
53
|
+
title: (0, import_i18n.__)("Enable overrides"),
|
|
54
|
+
onRequestClose: onClose,
|
|
55
|
+
focusOnMount: "firstContentElement",
|
|
56
|
+
aria: { describedby: descriptionId },
|
|
57
|
+
size: "small",
|
|
58
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
59
|
+
"form",
|
|
60
|
+
{
|
|
61
|
+
onSubmit: (event) => {
|
|
62
|
+
event.preventDefault();
|
|
63
|
+
if (!isNameValid) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
handleSubmit();
|
|
67
|
+
},
|
|
68
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: "6", children: [
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalText, { id: descriptionId, children: (0, import_i18n.__)(
|
|
70
|
+
"Overrides are changes you make to a block within a synced pattern instance. Use overrides to customize a synced pattern instance to suit its new context. Name this block to specify an override."
|
|
71
|
+
) }),
|
|
72
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
73
|
+
import_components.TextControl,
|
|
74
|
+
{
|
|
75
|
+
__nextHasNoMarginBottom: true,
|
|
76
|
+
__next40pxDefaultSize: true,
|
|
77
|
+
value: editedBlockName,
|
|
78
|
+
label: (0, import_i18n.__)("Name"),
|
|
79
|
+
help: (0, import_i18n.__)(
|
|
80
|
+
'For example, if you are creating a recipe pattern, you use "Recipe Title", "Recipe Description", etc.'
|
|
81
|
+
),
|
|
82
|
+
placeholder,
|
|
83
|
+
onChange: setEditedBlockName
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { justify: "right", children: [
|
|
87
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
88
|
+
import_components.Button,
|
|
89
|
+
{
|
|
90
|
+
__next40pxDefaultSize: true,
|
|
91
|
+
variant: "tertiary",
|
|
92
|
+
onClick: onClose,
|
|
93
|
+
children: (0, import_i18n.__)("Cancel")
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
97
|
+
import_components.Button,
|
|
98
|
+
{
|
|
99
|
+
__next40pxDefaultSize: true,
|
|
100
|
+
"aria-disabled": !isNameValid,
|
|
101
|
+
variant: "primary",
|
|
102
|
+
type: "submit",
|
|
103
|
+
children: (0, import_i18n.__)("Enable")
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
] })
|
|
107
|
+
] })
|
|
52
108
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
spacing: "6",
|
|
57
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
|
|
58
|
-
id: descriptionId,
|
|
59
|
-
children: (0, _i18n.__)('Overrides are changes you make to a block within a synced pattern instance. Use overrides to customize a synced pattern instance to suit its new context. Name this block to specify an override.')
|
|
60
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
61
|
-
__nextHasNoMarginBottom: true,
|
|
62
|
-
__next40pxDefaultSize: true,
|
|
63
|
-
value: editedBlockName,
|
|
64
|
-
label: (0, _i18n.__)('Name'),
|
|
65
|
-
help: (0, _i18n.__)('For example, if you are creating a recipe pattern, you use "Recipe Title", "Recipe Description", etc.'),
|
|
66
|
-
placeholder: placeholder,
|
|
67
|
-
onChange: setEditedBlockName
|
|
68
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
69
|
-
justify: "right",
|
|
70
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
71
|
-
__next40pxDefaultSize: true,
|
|
72
|
-
variant: "tertiary",
|
|
73
|
-
onClick: onClose,
|
|
74
|
-
children: (0, _i18n.__)('Cancel')
|
|
75
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
76
|
-
__next40pxDefaultSize: true,
|
|
77
|
-
"aria-disabled": !isNameValid,
|
|
78
|
-
variant: "primary",
|
|
79
|
-
type: "submit",
|
|
80
|
-
children: (0, _i18n.__)('Enable')
|
|
81
|
-
})]
|
|
82
|
-
})]
|
|
83
|
-
})
|
|
84
|
-
})
|
|
85
|
-
});
|
|
109
|
+
)
|
|
110
|
+
}
|
|
111
|
+
);
|
|
86
112
|
}
|
|
87
|
-
function DisallowOverridesModal({
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
113
|
+
function DisallowOverridesModal({ onClose, onSave }) {
|
|
114
|
+
const descriptionId = (0, import_element.useId)();
|
|
115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
116
|
+
import_components.Modal,
|
|
117
|
+
{
|
|
118
|
+
title: (0, import_i18n.__)("Disable overrides"),
|
|
119
|
+
onRequestClose: onClose,
|
|
120
|
+
aria: { describedby: descriptionId },
|
|
121
|
+
size: "small",
|
|
122
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
123
|
+
"form",
|
|
124
|
+
{
|
|
125
|
+
onSubmit: (event) => {
|
|
126
|
+
event.preventDefault();
|
|
127
|
+
onSave();
|
|
128
|
+
onClose();
|
|
129
|
+
},
|
|
130
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: "6", children: [
|
|
131
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalText, { id: descriptionId, children: (0, import_i18n.__)(
|
|
132
|
+
"Are you sure you want to disable overrides? Disabling overrides will revert all applied overrides for this block throughout instances of this pattern."
|
|
133
|
+
) }),
|
|
134
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { justify: "right", children: [
|
|
135
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
136
|
+
import_components.Button,
|
|
137
|
+
{
|
|
138
|
+
__next40pxDefaultSize: true,
|
|
139
|
+
variant: "tertiary",
|
|
140
|
+
onClick: onClose,
|
|
141
|
+
children: (0, import_i18n.__)("Cancel")
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
145
|
+
import_components.Button,
|
|
146
|
+
{
|
|
147
|
+
__next40pxDefaultSize: true,
|
|
148
|
+
variant: "primary",
|
|
149
|
+
type: "submit",
|
|
150
|
+
children: (0, import_i18n.__)("Disable")
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
] })
|
|
154
|
+
] })
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
}
|
|
158
|
+
);
|
|
127
159
|
}
|
|
128
|
-
|
|
160
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
161
|
+
0 && (module.exports = {
|
|
162
|
+
AllowOverridesModal,
|
|
163
|
+
DisallowOverridesModal
|
|
164
|
+
});
|
|
165
|
+
//# sourceMappingURL=allow-overrides-modal.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/allow-overrides-modal.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\t__experimentalText as Text,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useId } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\nexport function AllowOverridesModal( {\n\tplaceholder,\n\tinitialName = '',\n\tonClose,\n\tonSave,\n} ) {\n\tconst [ editedBlockName, setEditedBlockName ] = useState( initialName );\n\tconst descriptionId = useId();\n\n\tconst isNameValid = !! editedBlockName.trim();\n\n\tconst handleSubmit = () => {\n\t\tif ( editedBlockName !== initialName ) {\n\t\t\tconst message = sprintf(\n\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t__( 'Block name changed to: \"%s\".' ),\n\t\t\t\teditedBlockName\n\t\t\t);\n\n\t\t\t// Must be assertive to immediately announce change.\n\t\t\tspeak( message, 'assertive' );\n\t\t}\n\t\tonSave( editedBlockName );\n\n\t\t// Immediate close avoids ability to hit save multiple times.\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Enable overrides' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\taria={ { describedby: descriptionId } }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tif ( ! isNameValid ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\thandleSubmit();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"6\">\n\t\t\t\t\t<Text id={ descriptionId }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Overrides are changes you make to a block within a synced pattern instance. Use overrides to customize a synced pattern instance to suit its new context. Name this block to specify an override.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ editedBlockName }\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'For example, if you are creating a recipe pattern, you use \"Recipe Title\", \"Recipe Description\", etc.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tonChange={ setEditedBlockName }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\taria-disabled={ ! isNameValid }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Enable' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n\nexport function DisallowOverridesModal( { onClose, onSave } ) {\n\tconst descriptionId = useId();\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Disable overrides' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\taria={ { describedby: descriptionId } }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonSave();\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"6\">\n\t\t\t\t\t<Text id={ descriptionId }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Are you sure you want to disable overrides? Disabling overrides will revert all applied overrides for this block throughout instances of this pattern.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Disable' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["VStack", "Text", "HStack"]
|
|
7
|
+
}
|
|
@@ -1,34 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var category_selector_exports = {};
|
|
19
|
+
__export(category_selector_exports, {
|
|
20
|
+
CATEGORY_SLUG: () => CATEGORY_SLUG,
|
|
21
|
+
default: () => CategorySelector
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* WordPress dependencies
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
const unescapeString = arg => {
|
|
19
|
-
return (0, _htmlEntities.decodeEntities)(arg);
|
|
23
|
+
module.exports = __toCommonJS(category_selector_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_i18n = require("@wordpress/i18n");
|
|
26
|
+
var import_element = require("@wordpress/element");
|
|
27
|
+
var import_components = require("@wordpress/components");
|
|
28
|
+
var import_compose = require("@wordpress/compose");
|
|
29
|
+
var import_html_entities = require("@wordpress/html-entities");
|
|
30
|
+
const unescapeString = (arg) => {
|
|
31
|
+
return (0, import_html_entities.decodeEntities)(arg);
|
|
20
32
|
};
|
|
21
|
-
const CATEGORY_SLUG =
|
|
33
|
+
const CATEGORY_SLUG = "wp_pattern_category";
|
|
22
34
|
function CategorySelector({
|
|
23
35
|
categoryTerms,
|
|
24
36
|
onChange,
|
|
25
37
|
categoryMap
|
|
26
38
|
}) {
|
|
27
|
-
const [search, setSearch] = (0,
|
|
28
|
-
const debouncedSearch = (0,
|
|
29
|
-
const suggestions = (0,
|
|
30
|
-
return Array.from(categoryMap.values()).map(category => unescapeString(category.label)).filter(category => {
|
|
31
|
-
if (search !==
|
|
39
|
+
const [search, setSearch] = (0, import_element.useState)("");
|
|
40
|
+
const debouncedSearch = (0, import_compose.useDebounce)(setSearch, 500);
|
|
41
|
+
const suggestions = (0, import_element.useMemo)(() => {
|
|
42
|
+
return Array.from(categoryMap.values()).map((category) => unescapeString(category.label)).filter((category) => {
|
|
43
|
+
if (search !== "") {
|
|
32
44
|
return category.toLowerCase().includes(search.toLowerCase());
|
|
33
45
|
}
|
|
34
46
|
return true;
|
|
@@ -36,24 +48,33 @@ function CategorySelector({
|
|
|
36
48
|
}, [search, categoryMap]);
|
|
37
49
|
function handleChange(termNames) {
|
|
38
50
|
const uniqueTerms = termNames.reduce((terms, newTerm) => {
|
|
39
|
-
if (!terms.some(
|
|
51
|
+
if (!terms.some(
|
|
52
|
+
(term) => term.toLowerCase() === newTerm.toLowerCase()
|
|
53
|
+
)) {
|
|
40
54
|
terms.push(newTerm);
|
|
41
55
|
}
|
|
42
56
|
return terms;
|
|
43
57
|
}, []);
|
|
44
58
|
onChange(uniqueTerms);
|
|
45
59
|
}
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
61
|
+
import_components.FormTokenField,
|
|
62
|
+
{
|
|
63
|
+
className: "patterns-menu-items__convert-modal-categories",
|
|
64
|
+
value: categoryTerms,
|
|
65
|
+
suggestions,
|
|
66
|
+
onChange: handleChange,
|
|
67
|
+
onInputChange: debouncedSearch,
|
|
68
|
+
label: (0, import_i18n.__)("Categories"),
|
|
69
|
+
tokenizeOnBlur: true,
|
|
70
|
+
__experimentalExpandOnFocus: true,
|
|
71
|
+
__next40pxDefaultSize: true,
|
|
72
|
+
__nextHasNoMarginBottom: true
|
|
73
|
+
}
|
|
74
|
+
);
|
|
58
75
|
}
|
|
59
|
-
|
|
76
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
77
|
+
0 && (module.exports = {
|
|
78
|
+
CATEGORY_SLUG
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=category-selector.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/category-selector.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { FormTokenField } from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\nexport const CATEGORY_SLUG = 'wp_pattern_category';\n\nexport default function CategorySelector( {\n\tcategoryTerms,\n\tonChange,\n\tcategoryMap,\n} ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn Array.from( categoryMap.values() )\n\t\t\t.map( ( category ) => unescapeString( category.label ) )\n\t\t\t.filter( ( category ) => {\n\t\t\t\tif ( search !== '' ) {\n\t\t\t\t\treturn category\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.includes( search.toLowerCase() );\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} )\n\t\t\t.sort( ( a, b ) => a.localeCompare( b ) );\n\t}, [ search, categoryMap ] );\n\n\tfunction handleChange( termNames ) {\n\t\tconst uniqueTerms = termNames.reduce( ( terms, newTerm ) => {\n\t\t\tif (\n\t\t\t\t! terms.some(\n\t\t\t\t\t( term ) => term.toLowerCase() === newTerm.toLowerCase()\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tterms.push( newTerm );\n\t\t\t}\n\t\t\treturn terms;\n\t\t}, [] );\n\n\t\tonChange( uniqueTerms );\n\t}\n\n\treturn (\n\t\t<FormTokenField\n\t\t\tclassName=\"patterns-menu-items__convert-modal-categories\"\n\t\t\tvalue={ categoryTerms }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ handleChange }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tlabel={ __( 'Categories' ) }\n\t\t\ttokenizeOnBlur\n\t\t\t__experimentalExpandOnFocus\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqDE;AAlDF,kBAAmB;AACnB,qBAAkC;AAClC,wBAA+B;AAC/B,qBAA4B;AAC5B,2BAA+B;AAE/B,MAAM,iBAAiB,CAAE,QAAS;AACjC,aAAO,qCAAgB,GAAI;AAC5B;AAEO,MAAM,gBAAgB;AAEd,SAAR,iBAAmC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,QAAQ,SAAU,QAAI,yBAAU,EAAG;AAC3C,QAAM,sBAAkB,4BAAa,WAAW,GAAI;AAEpD,QAAM,kBAAc,wBAAS,MAAM;AAClC,WAAO,MAAM,KAAM,YAAY,OAAO,CAAE,EACtC,IAAK,CAAE,aAAc,eAAgB,SAAS,KAAM,CAAE,EACtD,OAAQ,CAAE,aAAc;AACxB,UAAK,WAAW,IAAK;AACpB,eAAO,SACL,YAAY,EACZ,SAAU,OAAO,YAAY,CAAE;AAAA,MAClC;AACA,aAAO;AAAA,IACR,CAAE,EACD,KAAM,CAAE,GAAG,MAAO,EAAE,cAAe,CAAE,CAAE;AAAA,EAC1C,GAAG,CAAE,QAAQ,WAAY,CAAE;AAE3B,WAAS,aAAc,WAAY;AAClC,UAAM,cAAc,UAAU,OAAQ,CAAE,OAAO,YAAa;AAC3D,UACC,CAAE,MAAM;AAAA,QACP,CAAE,SAAU,KAAK,YAAY,MAAM,QAAQ,YAAY;AAAA,MACxD,GACC;AACD,cAAM,KAAM,OAAQ;AAAA,MACrB;AACA,aAAO;AAAA,IACR,GAAG,CAAC,CAAE;AAEN,aAAU,WAAY;AAAA,EACvB;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ;AAAA,MACR;AAAA,MACA,UAAW;AAAA,MACX,eAAgB;AAAA,MAChB,WAAQ,gBAAI,YAAa;AAAA,MACzB,gBAAc;AAAA,MACd,6BAA2B;AAAA,MAC3B,uBAAqB;AAAA,MACrB,yBAAuB;AAAA;AAAA,EACxB;AAEF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|