@wordpress/patterns 2.34.0 → 2.35.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/api/index.js +2 -0
- package/build/api/index.js.map +1 -1
- package/build/components/allow-overrides-modal.js +3 -1
- package/build/components/allow-overrides-modal.js.map +1 -1
- package/build/components/category-selector.js +5 -3
- package/build/components/category-selector.js.map +1 -1
- package/build/components/create-pattern-modal.js +3 -1
- package/build/components/create-pattern-modal.js.map +1 -1
- package/build/components/duplicate-pattern-modal.js +3 -1
- package/build/components/duplicate-pattern-modal.js.map +1 -1
- package/build/components/index.js +3 -1
- package/build/components/index.js.map +1 -1
- package/build/components/overrides-panel.js +4 -2
- package/build/components/overrides-panel.js.map +1 -1
- package/build/components/pattern-convert-button.js +3 -1
- package/build/components/pattern-convert-button.js.map +1 -1
- package/build/components/pattern-overrides-controls.js +3 -1
- package/build/components/pattern-overrides-controls.js.map +1 -1
- package/build/components/patterns-manage-button.js +4 -2
- package/build/components/patterns-manage-button.js.map +2 -2
- package/build/components/rename-pattern-category-modal.js +3 -1
- package/build/components/rename-pattern-category-modal.js.map +1 -1
- package/build/components/rename-pattern-modal.js +3 -1
- package/build/components/rename-pattern-modal.js.map +1 -1
- package/build/components/reset-overrides-control.js +4 -2
- package/build/components/reset-overrides-control.js.map +1 -1
- package/build/constants.js +9 -7
- package/build/constants.js.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/lock-unlock.js +3 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/private-apis.js +3 -3
- package/build/private-apis.js.map +3 -3
- package/build/private-hooks.js +2 -0
- package/build/private-hooks.js.map +1 -1
- package/build/store/actions.js +5 -3
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +3 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/index.js +4 -2
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +2 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +2 -0
- package/build/store/selectors.js.map +1 -1
- package/build-module/api/index.js +1 -0
- package/build-module/api/index.js.map +1 -1
- package/build-module/components/allow-overrides-modal.js +2 -1
- package/build-module/components/allow-overrides-modal.js.map +1 -1
- package/build-module/components/category-selector.js +4 -3
- package/build-module/components/category-selector.js.map +1 -1
- package/build-module/components/create-pattern-modal.js +2 -1
- package/build-module/components/create-pattern-modal.js.map +1 -1
- package/build-module/components/duplicate-pattern-modal.js +2 -1
- package/build-module/components/duplicate-pattern-modal.js.map +1 -1
- package/build-module/components/index.js +2 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/overrides-panel.js +3 -2
- package/build-module/components/overrides-panel.js.map +1 -1
- package/build-module/components/pattern-convert-button.js +2 -1
- package/build-module/components/pattern-convert-button.js.map +1 -1
- package/build-module/components/pattern-overrides-controls.js +2 -1
- package/build-module/components/pattern-overrides-controls.js.map +1 -1
- package/build-module/components/patterns-manage-button.js +3 -2
- package/build-module/components/patterns-manage-button.js.map +2 -2
- package/build-module/components/rename-pattern-category-modal.js +2 -1
- package/build-module/components/rename-pattern-category-modal.js.map +1 -1
- package/build-module/components/rename-pattern-modal.js +2 -1
- package/build-module/components/rename-pattern-modal.js.map +1 -1
- package/build-module/components/reset-overrides-control.js +3 -2
- package/build-module/components/reset-overrides-control.js.map +1 -1
- package/build-module/constants.js +8 -7
- package/build-module/constants.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/lock-unlock.js +2 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/private-apis.js +2 -3
- package/build-module/private-apis.js.map +2 -2
- package/build-module/private-hooks.js +1 -0
- package/build-module/private-hooks.js.map +1 -1
- package/build-module/store/actions.js +4 -3
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +2 -1
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/index.js +3 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +1 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +1 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +0 -13
- package/build-style/style.css +0 -13
- package/package.json +17 -17
- package/src/components/patterns-manage-button.js +1 -1
- package/src/components/style.scss +0 -14
- package/src/private-apis.js +0 -2
- package/build/components/pattern-overrides-block-controls.js +0 -130
- package/build/components/pattern-overrides-block-controls.js.map +0 -7
- package/build-module/components/pattern-overrides-block-controls.js +0 -120
- package/build-module/components/pattern-overrides-block-controls.js.map +0 -7
- package/src/components/pattern-overrides-block-controls.js +0 -155
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/reset-overrides-control.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tstore as blockEditorStore,\n\t__unstableBlockToolbarLastItem as BlockToolbarLastItem,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\nconst CONTENT = 'content';\n\nexport default function ResetOverridesControl( props ) {\n\tconst name = props.attributes.metadata?.name;\n\tconst registry = useRegistry();\n\tconst isOverridden = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! name ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getBlockAttributes, getBlockParentsByBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst [ patternClientId ] = getBlockParentsByBlockName(\n\t\t\t\tprops.clientId,\n\t\t\t\t'core/block',\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tif ( ! patternClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst overrides = getBlockAttributes( patternClientId )[ CONTENT ];\n\n\t\t\tif ( ! overrides ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn overrides.hasOwnProperty( name );\n\t\t},\n\t\t[ props.clientId, name ]\n\t);\n\n\tfunction onClick() {\n\t\tconst { getBlockAttributes, getBlockParentsByBlockName } =\n\t\t\tregistry.select( blockEditorStore );\n\t\tconst [ patternClientId ] = getBlockParentsByBlockName(\n\t\t\tprops.clientId,\n\t\t\t'core/block',\n\t\t\ttrue\n\t\t);\n\n\t\tif ( ! patternClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst overrides = getBlockAttributes( patternClientId )[ CONTENT ];\n\n\t\tif ( ! overrides.hasOwnProperty( name ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { updateBlockAttributes, __unstableMarkLastChangeAsPersistent } =\n\t\t\tregistry.dispatch( blockEditorStore );\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tlet newOverrides = { ...overrides };\n\t\tdelete newOverrides[ name ];\n\n\t\tif ( ! Object.keys( newOverrides ).length ) {\n\t\t\tnewOverrides = undefined;\n\t\t}\n\n\t\tupdateBlockAttributes( patternClientId, {\n\t\t\t[ CONTENT ]: newOverrides,\n\t\t} );\n\t}\n\n\treturn (\n\t\t<BlockToolbarLastItem>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton onClick={ onClick } disabled={ ! isOverridden }>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockToolbarLastItem>\n\t);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAGO;AACP,wBAA4C;AAC5C,kBAAuC;AACvC,kBAAmB;AA0Ef;AAxEJ,IAAM,UAAU;AAED,SAAR,sBAAwC,OAAQ;AACtD,QAAM,OAAO,MAAM,WAAW,UAAU;AACxC,QAAM,eAAW,yBAAY;AAC7B,QAAM,mBAAe;AAAA,IACpB,CAAE,WAAY;AACb,UAAK,CAAE,MAAO;AACb;AAAA,MACD;AAEA,YAAM,EAAE,oBAAoB,2BAA2B,IACtD,OAAQ,oBAAAA,KAAiB;AAC1B,YAAM,CAAE,eAAgB,IAAI;AAAA,QAC3B,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAEA,UAAK,CAAE,iBAAkB;AACxB;AAAA,MACD;AAEA,YAAM,YAAY,mBAAoB,eAAgB,EAAG,OAAQ;AAEjE,UAAK,CAAE,WAAY;AAClB;AAAA,MACD;AAEA,aAAO,UAAU,eAAgB,IAAK;AAAA,IACvC;AAAA,IACA,CAAE,MAAM,UAAU,IAAK;AAAA,EACxB;AAEA,WAAS,UAAU;AAClB,UAAM,EAAE,oBAAoB,2BAA2B,IACtD,SAAS,OAAQ,oBAAAA,KAAiB;AACnC,UAAM,CAAE,eAAgB,IAAI;AAAA,MAC3B,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACD;AAEA,QAAK,CAAE,iBAAkB;AACxB;AAAA,IACD;AAEA,UAAM,YAAY,mBAAoB,eAAgB,EAAG,OAAQ;AAEjE,QAAK,CAAE,UAAU,eAAgB,IAAK,GAAI;AACzC;AAAA,IACD;AAEA,UAAM,EAAE,uBAAuB,qCAAqC,IACnE,SAAS,SAAU,oBAAAA,KAAiB;AACrC,yCAAqC;AAErC,QAAI,eAAe,EAAE,GAAG,UAAU;AAClC,WAAO,aAAc,IAAK;AAE1B,QAAK,CAAE,OAAO,KAAM,YAAa,EAAE,QAAS;AAC3C,qBAAe;AAAA,IAChB;AAEA,0BAAuB,iBAAiB;AAAA,MACvC,CAAE,OAAQ,GAAG;AAAA,IACd,CAAE;AAAA,EACH;AAEA,SACC,4CAAC,oBAAAC,gCAAA,EACA,sDAAC,kCACA,sDAAC,mCAAc,SAAoB,UAAW,CAAE,cAC7C,8BAAI,OAAQ,GACf,GACD,GACD;AAEF;",
|
|
6
6
|
"names": ["blockEditorStore", "BlockToolbarLastItem"]
|
|
7
7
|
}
|
package/build/constants.js
CHANGED
|
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/patterns/src/constants.js
|
|
18
20
|
var constants_exports = {};
|
|
19
21
|
__export(constants_exports, {
|
|
20
22
|
EXCLUDED_PATTERN_SOURCES: () => EXCLUDED_PATTERN_SOURCES,
|
|
@@ -26,28 +28,28 @@ __export(constants_exports, {
|
|
|
26
28
|
PATTERN_USER_CATEGORY: () => PATTERN_USER_CATEGORY
|
|
27
29
|
});
|
|
28
30
|
module.exports = __toCommonJS(constants_exports);
|
|
29
|
-
|
|
31
|
+
var PATTERN_TYPES = {
|
|
30
32
|
theme: "pattern",
|
|
31
33
|
user: "wp_block"
|
|
32
34
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
var PATTERN_DEFAULT_CATEGORY = "all-patterns";
|
|
36
|
+
var PATTERN_USER_CATEGORY = "my-patterns";
|
|
37
|
+
var EXCLUDED_PATTERN_SOURCES = [
|
|
36
38
|
"core",
|
|
37
39
|
"pattern-directory/core",
|
|
38
40
|
"pattern-directory/featured"
|
|
39
41
|
];
|
|
40
|
-
|
|
42
|
+
var PATTERN_SYNC_TYPES = {
|
|
41
43
|
full: "fully",
|
|
42
44
|
unsynced: "unsynced"
|
|
43
45
|
};
|
|
44
|
-
|
|
46
|
+
var PARTIAL_SYNCING_SUPPORTED_BLOCKS = {
|
|
45
47
|
"core/paragraph": ["content"],
|
|
46
48
|
"core/heading": ["content"],
|
|
47
49
|
"core/button": ["text", "url", "linkTarget", "rel"],
|
|
48
50
|
"core/image": ["id", "url", "title", "alt", "caption"]
|
|
49
51
|
};
|
|
50
|
-
|
|
52
|
+
var PATTERN_OVERRIDES_BINDING_SOURCE = "core/pattern-overrides";
|
|
51
53
|
// Annotate the CommonJS export names for ESM import in node:
|
|
52
54
|
0 && (module.exports = {
|
|
53
55
|
EXCLUDED_PATTERN_SOURCES,
|
package/build/constants.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/constants.js"],
|
|
4
4
|
"sourcesContent": ["export const PATTERN_TYPES = {\n\ttheme: 'pattern',\n\tuser: 'wp_block',\n};\n\nexport const PATTERN_DEFAULT_CATEGORY = 'all-patterns';\nexport const PATTERN_USER_CATEGORY = 'my-patterns';\nexport const EXCLUDED_PATTERN_SOURCES = [\n\t'core',\n\t'pattern-directory/core',\n\t'pattern-directory/featured',\n];\nexport const PATTERN_SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\n// TODO: This should not be hardcoded. Maybe there should be a config and/or an UI.\nexport const PARTIAL_SYNCING_SUPPORTED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/button': [ 'text', 'url', 'linkTarget', 'rel' ],\n\t'core/image': [ 'id', 'url', 'title', 'alt', 'caption' ],\n};\n\nexport const PATTERN_OVERRIDES_BINDING_SOURCE = 'core/pattern-overrides';\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,gBAAgB;AAAA,EAC5B,OAAO;AAAA,EACP,MAAM;AACP;AAEO,IAAM,2BAA2B;AACjC,IAAM,wBAAwB;AAC9B,IAAM,2BAA2B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACD;AACO,IAAM,qBAAqB;AAAA,EACjC,MAAM;AAAA,EACN,UAAU;AACX;AAGO,IAAM,mCAAmC;AAAA,EAC/C,kBAAkB,CAAE,SAAU;AAAA,EAC9B,gBAAgB,CAAE,SAAU;AAAA,EAC5B,eAAe,CAAE,QAAQ,OAAO,cAAc,KAAM;AAAA,EACpD,cAAc,CAAE,MAAM,OAAO,SAAS,OAAO,SAAU;AACxD;AAEO,IAAM,mCAAmC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/index.js
CHANGED
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
};
|
|
17
17
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// packages/patterns/src/index.js
|
|
19
21
|
var index_exports = {};
|
|
20
22
|
__export(index_exports, {
|
|
21
23
|
store: () => import_store.store
|
package/build/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * Internal dependencies\n */\nexport { store } from './store';\nexport * from './private-apis';\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAsB;AACtB,0BAAc,2BAJd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/lock-unlock.js
CHANGED
|
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/patterns/src/lock-unlock.js
|
|
18
20
|
var lock_unlock_exports = {};
|
|
19
21
|
__export(lock_unlock_exports, {
|
|
20
22
|
lock: () => lock,
|
|
@@ -22,7 +24,7 @@ __export(lock_unlock_exports, {
|
|
|
22
24
|
});
|
|
23
25
|
module.exports = __toCommonJS(lock_unlock_exports);
|
|
24
26
|
var import_private_apis = require("@wordpress/private-apis");
|
|
25
|
-
|
|
27
|
+
var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
|
|
26
28
|
"I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
|
|
27
29
|
"@wordpress/patterns"
|
|
28
30
|
);
|
package/build/lock-unlock.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/lock-unlock.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.',\n\t\t'@wordpress/patterns'\n\t);\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAiE;AAC1D,IAAM,EAAE,MAAM,OAAO,QAC3B;AAAA,EACC;AAAA,EACA;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/private-apis.js
CHANGED
|
@@ -25,6 +25,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// packages/patterns/src/private-apis.js
|
|
28
30
|
var private_apis_exports = {};
|
|
29
31
|
__export(private_apis_exports, {
|
|
30
32
|
privateApis: () => privateApis
|
|
@@ -40,10 +42,9 @@ var import_components = __toESM(require("./components"));
|
|
|
40
42
|
var import_rename_pattern_category_modal = __toESM(require("./components/rename-pattern-category-modal"));
|
|
41
43
|
var import_pattern_overrides_controls = __toESM(require("./components/pattern-overrides-controls"));
|
|
42
44
|
var import_reset_overrides_control = __toESM(require("./components/reset-overrides-control"));
|
|
43
|
-
var import_pattern_overrides_block_controls = __toESM(require("./components/pattern-overrides-block-controls"));
|
|
44
45
|
var import_private_hooks = require("./private-hooks");
|
|
45
46
|
var import_constants = require("./constants");
|
|
46
|
-
|
|
47
|
+
var privateApis = {};
|
|
47
48
|
(0, import_lock_unlock.lock)(privateApis, {
|
|
48
49
|
OverridesPanel: import_overrides_panel.default,
|
|
49
50
|
CreatePatternModal: import_create_pattern_modal.default,
|
|
@@ -57,7 +58,6 @@ const privateApis = {};
|
|
|
57
58
|
RenamePatternCategoryModal: import_rename_pattern_category_modal.default,
|
|
58
59
|
PatternOverridesControls: import_pattern_overrides_controls.default,
|
|
59
60
|
ResetOverridesControl: import_reset_overrides_control.default,
|
|
60
|
-
PatternOverridesBlockControls: import_pattern_overrides_block_controls.default,
|
|
61
61
|
useAddPatternCategory: import_private_hooks.useAddPatternCategory,
|
|
62
62
|
PATTERN_TYPES: import_constants.PATTERN_TYPES,
|
|
63
63
|
PATTERN_DEFAULT_CATEGORY: import_constants.PATTERN_DEFAULT_CATEGORY,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/private-apis.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\nimport OverridesPanel from './components/overrides-panel';\nimport {\n\tdefault as CreatePatternModal,\n\tCreatePatternModalContents,\n} from './components/create-pattern-modal';\nimport {\n\tdefault as DuplicatePatternModal,\n\tuseDuplicatePatternProps,\n} from './components/duplicate-pattern-modal';\nimport { isOverridableBlock, hasOverridableBlocks } from './api';\nimport RenamePatternModal from './components/rename-pattern-modal';\nimport PatternsMenuItems from './components';\nimport RenamePatternCategoryModal from './components/rename-pattern-category-modal';\nimport PatternOverridesControls from './components/pattern-overrides-controls';\nimport ResetOverridesControl from './components/reset-overrides-control';\nimport
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["OverridesPanel", "CreatePatternModal", "DuplicatePatternModal", "RenamePatternModal", "PatternsMenuItems", "RenamePatternCategoryModal", "PatternOverridesControls", "ResetOverridesControl"
|
|
4
|
+
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\nimport OverridesPanel from './components/overrides-panel';\nimport {\n\tdefault as CreatePatternModal,\n\tCreatePatternModalContents,\n} from './components/create-pattern-modal';\nimport {\n\tdefault as DuplicatePatternModal,\n\tuseDuplicatePatternProps,\n} from './components/duplicate-pattern-modal';\nimport { isOverridableBlock, hasOverridableBlocks } from './api';\nimport RenamePatternModal from './components/rename-pattern-modal';\nimport PatternsMenuItems from './components';\nimport RenamePatternCategoryModal from './components/rename-pattern-category-modal';\nimport PatternOverridesControls from './components/pattern-overrides-controls';\nimport ResetOverridesControl from './components/reset-overrides-control';\nimport { useAddPatternCategory } from './private-hooks';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n} from './constants';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tOverridesPanel,\n\tCreatePatternModal,\n\tCreatePatternModalContents,\n\tDuplicatePatternModal,\n\tisOverridableBlock,\n\thasOverridableBlocks,\n\tuseDuplicatePatternProps,\n\tRenamePatternModal,\n\tPatternsMenuItems,\n\tRenamePatternCategoryModal,\n\tPatternOverridesControls,\n\tResetOverridesControl,\n\tuseAddPatternCategory,\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n} );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAqB;AACrB,6BAA2B;AAC3B,kCAGO;AACP,qCAGO;AACP,iBAAyD;AACzD,kCAA+B;AAC/B,wBAA8B;AAC9B,2CAAuC;AACvC,wCAAqC;AACrC,qCAAkC;AAClC,2BAAsC;AACtC,uBAOO;AAEA,IAAM,cAAc,CAAC;AAAA,IAC5B,yBAAM,aAAa;AAAA,EAClB,uCAAAA;AAAA,EACA,gDAAAC;AAAA,EACA;AAAA,EACA,sDAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gDAAAC;AAAA,EACA,qCAAAC;AAAA,EACA,iEAAAC;AAAA,EACA,4DAAAC;AAAA,EACA,sDAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAE;",
|
|
6
|
+
"names": ["OverridesPanel", "CreatePatternModal", "DuplicatePatternModal", "RenamePatternModal", "PatternsMenuItems", "RenamePatternCategoryModal", "PatternOverridesControls", "ResetOverridesControl"]
|
|
7
7
|
}
|
package/build/private-hooks.js
CHANGED
|
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/patterns/src/private-hooks.js
|
|
18
20
|
var private_hooks_exports = {};
|
|
19
21
|
__export(private_hooks_exports, {
|
|
20
22
|
useAddPatternCategory: () => useAddPatternCategory
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/private-hooks.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { CATEGORY_SLUG } from './components/category-selector';\n\n/**\n * Helper hook that creates a Map with the core and user patterns categories\n * and removes any duplicates. It's used when we need to create new user\n * categories when creating or importing patterns.\n * This hook also provides a function to find or create a pattern category.\n *\n * @return {Object} The merged categories map and the callback function to find or create a category.\n */\nexport function useAddPatternCategory() {\n\tconst { saveEntityRecord, invalidateResolution } = useDispatch( coreStore );\n\tconst { corePatternCategories, userPatternCategories } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUserPatternCategories, getBlockPatternCategories } =\n\t\t\t\tselect( coreStore );\n\n\t\t\treturn {\n\t\t\t\tcorePatternCategories: getBlockPatternCategories(),\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst categoryMap = useMemo( () => {\n\t\t// Merge the user and core pattern categories and remove any duplicates.\n\t\tconst uniqueCategories = new Map();\n\t\tuserPatternCategories.forEach( ( category ) => {\n\t\t\tuniqueCategories.set( category.label.toLowerCase(), {\n\t\t\t\tlabel: category.label,\n\t\t\t\tname: category.name,\n\t\t\t\tid: category.id,\n\t\t\t} );\n\t\t} );\n\n\t\tcorePatternCategories.forEach( ( category ) => {\n\t\t\tif (\n\t\t\t\t! uniqueCategories.has( category.label.toLowerCase() ) &&\n\t\t\t\t// There are two core categories with `Post` label so explicitly remove the one with\n\t\t\t\t// the `query` slug to avoid any confusion.\n\t\t\t\tcategory.name !== 'query'\n\t\t\t) {\n\t\t\t\tuniqueCategories.set( category.label.toLowerCase(), {\n\t\t\t\t\tlabel: category.label,\n\t\t\t\t\tname: category.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn uniqueCategories;\n\t}, [ userPatternCategories, corePatternCategories ] );\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst existingTerm = categoryMap.get( term.toLowerCase() );\n\t\t\tif ( existingTerm?.id ) {\n\t\t\t\treturn existingTerm.id;\n\t\t\t}\n\t\t\t// If we have an existing core category we need to match the new user category to the\n\t\t\t// correct slug rather than autogenerating it to prevent duplicates, eg. the core `Headers`\n\t\t\t// category uses the singular `header` as the slug.\n\t\t\tconst termData = existingTerm\n\t\t\t\t? { name: existingTerm.label, slug: existingTerm.name }\n\t\t\t\t: { name: term };\n\t\t\tconst newTerm = await saveEntityRecord(\n\t\t\t\t'taxonomy',\n\t\t\t\tCATEGORY_SLUG,\n\t\t\t\ttermData,\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\treturn newTerm.id;\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\treturn error.data.term_id;\n\t\t}\n\t}\n\n\treturn { categoryMap, findOrCreateTerm };\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuC;AACvC,uBAAmC;AACnC,qBAAwB;AAKxB,+BAA8B;AAUvB,SAAS,wBAAwB;AACvC,QAAM,EAAE,kBAAkB,qBAAqB,QAAI,yBAAa,iBAAAA,KAAU;AAC1E,QAAM,EAAE,uBAAuB,sBAAsB,QAAI;AAAA,IACxD,CAAE,WAAY;AACb,YAAM,EAAE,0BAA0B,0BAA0B,IAC3D,OAAQ,iBAAAA,KAAU;AAEnB,aAAO;AAAA,QACN,uBAAuB,0BAA0B;AAAA,QACjD,uBAAuB,yBAAyB;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAC;AAAA,EACF;AACA,QAAM,kBAAc,wBAAS,MAAM;AAElC,UAAM,mBAAmB,oBAAI,IAAI;AACjC,0BAAsB,QAAS,CAAE,aAAc;AAC9C,uBAAiB,IAAK,SAAS,MAAM,YAAY,GAAG;AAAA,QACnD,OAAO,SAAS;AAAA,QAChB,MAAM,SAAS;AAAA,QACf,IAAI,SAAS;AAAA,MACd,CAAE;AAAA,IACH,CAAE;AAEF,0BAAsB,QAAS,CAAE,aAAc;AAC9C,UACC,CAAE,iBAAiB,IAAK,SAAS,MAAM,YAAY,CAAE;AAAA;AAAA,MAGrD,SAAS,SAAS,SACjB;AACD,yBAAiB,IAAK,SAAS,MAAM,YAAY,GAAG;AAAA,UACnD,OAAO,SAAS;AAAA,UAChB,MAAM,SAAS;AAAA,QAChB,CAAE;AAAA,MACH;AAAA,IACD,CAAE;AACF,WAAO;AAAA,EACR,GAAG,CAAE,uBAAuB,qBAAsB,CAAE;AAEpD,iBAAe,iBAAkB,MAAO;AACvC,QAAI;AACH,YAAM,eAAe,YAAY,IAAK,KAAK,YAAY,CAAE;AACzD,UAAK,cAAc,IAAK;AACvB,eAAO,aAAa;AAAA,MACrB;AAIA,YAAM,WAAW,eACd,EAAE,MAAM,aAAa,OAAO,MAAM,aAAa,KAAK,IACpD,EAAE,MAAM,KAAK;AAChB,YAAM,UAAU,MAAM;AAAA,QACrB;AAAA,QACA;AAAA,QACA;AAAA,QACA,EAAE,cAAc,KAAK;AAAA,MACtB;AACA,2BAAsB,0BAA2B;AACjD,aAAO,QAAQ;AAAA,IAChB,SAAU,OAAQ;AACjB,UAAK,MAAM,SAAS,eAAgB;AACnC,cAAM;AAAA,MACP;AACA,aAAO,MAAM,KAAK;AAAA,IACnB;AAAA,EACD;AAEA,SAAO,EAAE,aAAa,iBAAiB;AACxC;",
|
|
6
6
|
"names": ["coreStore"]
|
|
7
7
|
}
|
package/build/store/actions.js
CHANGED
|
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/patterns/src/store/actions.js
|
|
18
20
|
var actions_exports = {};
|
|
19
21
|
__export(actions_exports, {
|
|
20
22
|
convertSyncedPatternToStatic: () => convertSyncedPatternToStatic,
|
|
@@ -27,7 +29,7 @@ var import_blocks = require("@wordpress/blocks");
|
|
|
27
29
|
var import_core_data = require("@wordpress/core-data");
|
|
28
30
|
var import_block_editor = require("@wordpress/block-editor");
|
|
29
31
|
var import_constants = require("../constants");
|
|
30
|
-
|
|
32
|
+
var createPattern = (title, syncType, content, categories) => async ({ registry }) => {
|
|
31
33
|
const meta = syncType === import_constants.PATTERN_SYNC_TYPES.unsynced ? {
|
|
32
34
|
wp_pattern_sync_status: syncType
|
|
33
35
|
} : void 0;
|
|
@@ -41,7 +43,7 @@ const createPattern = (title, syncType, content, categories) => async ({ registr
|
|
|
41
43
|
const updatedRecord = await registry.dispatch(import_core_data.store).saveEntityRecord("postType", "wp_block", reusableBlock);
|
|
42
44
|
return updatedRecord;
|
|
43
45
|
};
|
|
44
|
-
|
|
46
|
+
var createPatternFromFile = (file, categories) => async ({ dispatch }) => {
|
|
45
47
|
const fileContent = await file.text();
|
|
46
48
|
let parsedContent;
|
|
47
49
|
try {
|
|
@@ -60,7 +62,7 @@ const createPatternFromFile = (file, categories) => async ({ dispatch }) => {
|
|
|
60
62
|
);
|
|
61
63
|
return pattern;
|
|
62
64
|
};
|
|
63
|
-
|
|
65
|
+
var convertSyncedPatternToStatic = (clientId) => ({ registry }) => {
|
|
64
66
|
const patternBlock = registry.select(import_block_editor.store).getBlock(clientId);
|
|
65
67
|
const existingOverrides = patternBlock.attributes?.content;
|
|
66
68
|
function cloneBlocksAndRemoveBindings(blocks) {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/store/actions.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * WordPress dependencies\n */\n\nimport { getBlockType, cloneBlock } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_SYNC_TYPES } from '../constants';\n\n/**\n * Returns a generator converting one or more static blocks into a pattern, or creating a new empty pattern.\n *\n * @param {string} title Pattern title.\n * @param {'full'|'unsynced'} syncType They way block is synced, 'full' or 'unsynced'.\n * @param {string|undefined} [content] Optional serialized content of blocks to convert to pattern.\n * @param {number[]|undefined} [categories] Ids of any selected categories.\n */\nexport const createPattern =\n\t( title, syncType, content, categories ) =>\n\tasync ( { registry } ) => {\n\t\tconst meta =\n\t\t\tsyncType === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t? {\n\t\t\t\t\t\twp_pattern_sync_status: syncType,\n\t\t\t\t }\n\t\t\t\t: undefined;\n\n\t\tconst reusableBlock = {\n\t\t\ttitle,\n\t\t\tcontent,\n\t\t\tstatus: 'publish',\n\t\t\tmeta,\n\t\t\twp_pattern_category: categories,\n\t\t};\n\n\t\tconst updatedRecord = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_block', reusableBlock );\n\n\t\treturn updatedRecord;\n\t};\n\n/**\n * Create a pattern from a JSON file.\n * @param {File} file The JSON file instance of the pattern.\n * @param {number[]|undefined} [categories] Ids of any selected categories.\n */\nexport const createPatternFromFile =\n\t( file, categories ) =>\n\tasync ( { dispatch } ) => {\n\t\tconst fileContent = await file.text();\n\t\t/** @type {import('./types').PatternJSON} */\n\t\tlet parsedContent;\n\t\ttry {\n\t\t\tparsedContent = JSON.parse( fileContent );\n\t\t} catch ( e ) {\n\t\t\tthrow new Error( 'Invalid JSON file' );\n\t\t}\n\t\tif (\n\t\t\tparsedContent.__file !== 'wp_block' ||\n\t\t\t! parsedContent.title ||\n\t\t\t! parsedContent.content ||\n\t\t\ttypeof parsedContent.title !== 'string' ||\n\t\t\ttypeof parsedContent.content !== 'string' ||\n\t\t\t( parsedContent.syncStatus &&\n\t\t\t\ttypeof parsedContent.syncStatus !== 'string' )\n\t\t) {\n\t\t\tthrow new Error( 'Invalid pattern JSON file' );\n\t\t}\n\n\t\tconst pattern = await dispatch.createPattern(\n\t\t\tparsedContent.title,\n\t\t\tparsedContent.syncStatus,\n\t\t\tparsedContent.content,\n\t\t\tcategories\n\t\t);\n\n\t\treturn pattern;\n\t};\n\n/**\n * Returns a generator converting a synced pattern block into a static block.\n *\n * @param {string} clientId The client ID of the block to attach.\n */\nexport const convertSyncedPatternToStatic =\n\t( clientId ) =>\n\t( { registry } ) => {\n\t\tconst patternBlock = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlock( clientId );\n\t\tconst existingOverrides = patternBlock.attributes?.content;\n\n\t\tfunction cloneBlocksAndRemoveBindings( blocks ) {\n\t\t\treturn blocks.map( ( block ) => {\n\t\t\t\tlet metadata = block.attributes.metadata;\n\t\t\t\tif ( metadata ) {\n\t\t\t\t\tmetadata = { ...metadata };\n\t\t\t\t\tdelete metadata.id;\n\t\t\t\t\tdelete metadata.bindings;\n\t\t\t\t\t// Use overridden values of the pattern block if they exist.\n\t\t\t\t\tif ( existingOverrides?.[ metadata.name ] ) {\n\t\t\t\t\t\t// Iterate over each overridden attribute.\n\t\t\t\t\t\tfor ( const [ attributeName, value ] of Object.entries(\n\t\t\t\t\t\t\texistingOverrides[ metadata.name ]\n\t\t\t\t\t\t) ) {\n\t\t\t\t\t\t\t// Skip if the attribute does not exist in the block type.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t! getBlockType( block.name )?.attributes[\n\t\t\t\t\t\t\t\t\tattributeName\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\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Update the block attribute with the override value.\n\t\t\t\t\t\t\tblock.attributes[ attributeName ] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn cloneBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\t{\n\t\t\t\t\t\tmetadata:\n\t\t\t\t\t\t\tmetadata && Object.keys( metadata ).length > 0\n\t\t\t\t\t\t\t\t? metadata\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t},\n\t\t\t\t\tcloneBlocksAndRemoveBindings( block.innerBlocks )\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\tconst patternInnerBlocks = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlocks( patternBlock.clientId );\n\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.replaceBlocks(\n\t\t\t\tpatternBlock.clientId,\n\t\t\t\tcloneBlocksAndRemoveBindings( patternInnerBlocks )\n\t\t\t);\n\t};\n\n/**\n * Returns an action descriptor for SET_EDITING_PATTERN action.\n *\n * @param {string} clientId The clientID of the pattern to target.\n * @param {boolean} isEditing Whether the block should be in editing state.\n * @return {Object} Action descriptor.\n */\nexport function setEditingPattern( clientId, isEditing ) {\n\treturn {\n\t\ttype: 'SET_EDITING_PATTERN',\n\t\tclientId,\n\t\tisEditing,\n\t};\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,oBAAyC;AACzC,uBAAmC;AACnC,0BAA0C;AAK1C,uBAAmC;AAU5B,IAAM,gBACZ,CAAE,OAAO,UAAU,SAAS,eAC5B,OAAQ,EAAE,SAAS,MAAO;AACzB,QAAM,OACL,aAAa,oCAAmB,WAC7B;AAAA,IACA,wBAAwB;AAAA,EACxB,IACA;AAEJ,QAAM,gBAAgB;AAAA,IACrB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA,qBAAqB;AAAA,EACtB;AAEA,QAAM,gBAAgB,MAAM,SAC1B,SAAU,iBAAAA,KAAU,EACpB,iBAAkB,YAAY,YAAY,aAAc;AAE1D,SAAO;AACR;AAOM,IAAM,wBACZ,CAAE,MAAM,eACR,OAAQ,EAAE,SAAS,MAAO;AACzB,QAAM,cAAc,MAAM,KAAK,KAAK;AAEpC,MAAI;AACJ,MAAI;AACH,oBAAgB,KAAK,MAAO,WAAY;AAAA,EACzC,SAAU,GAAI;AACb,UAAM,IAAI,MAAO,mBAAoB;AAAA,EACtC;AACA,MACC,cAAc,WAAW,cACzB,CAAE,cAAc,SAChB,CAAE,cAAc,WAChB,OAAO,cAAc,UAAU,YAC/B,OAAO,cAAc,YAAY,YAC/B,cAAc,cACf,OAAO,cAAc,eAAe,UACpC;AACD,UAAM,IAAI,MAAO,2BAA4B;AAAA,EAC9C;AAEA,QAAM,UAAU,MAAM,SAAS;AAAA,IAC9B,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd;AAAA,EACD;AAEA,SAAO;AACR;AAOM,IAAM,+BACZ,CAAE,aACF,CAAE,EAAE,SAAS,MAAO;AACnB,QAAM,eAAe,SACnB,OAAQ,oBAAAC,KAAiB,EACzB,SAAU,QAAS;AACrB,QAAM,oBAAoB,aAAa,YAAY;AAEnD,WAAS,6BAA8B,QAAS;AAC/C,WAAO,OAAO,IAAK,CAAE,UAAW;AAC/B,UAAI,WAAW,MAAM,WAAW;AAChC,UAAK,UAAW;AACf,mBAAW,EAAE,GAAG,SAAS;AACzB,eAAO,SAAS;AAChB,eAAO,SAAS;AAEhB,YAAK,oBAAqB,SAAS,IAAK,GAAI;AAE3C,qBAAY,CAAE,eAAe,KAAM,KAAK,OAAO;AAAA,YAC9C,kBAAmB,SAAS,IAAK;AAAA,UAClC,GAAI;AAEH,gBACC,KAAE,4BAAc,MAAM,IAAK,GAAG,WAC7B,aACD,GACC;AACD;AAAA,YACD;AAEA,kBAAM,WAAY,aAAc,IAAI;AAAA,UACrC;AAAA,QACD;AAAA,MACD;AACA,iBAAO;AAAA,QACN;AAAA,QACA;AAAA,UACC,UACC,YAAY,OAAO,KAAM,QAAS,EAAE,SAAS,IAC1C,WACA;AAAA,QACL;AAAA,QACA,6BAA8B,MAAM,WAAY;AAAA,MACjD;AAAA,IACD,CAAE;AAAA,EACH;AAEA,QAAM,qBAAqB,SACzB,OAAQ,oBAAAA,KAAiB,EACzB,UAAW,aAAa,QAAS;AAEnC,WACE,SAAU,oBAAAA,KAAiB,EAC3B;AAAA,IACA,aAAa;AAAA,IACb,6BAA8B,kBAAmB;AAAA,EAClD;AACF;AASM,SAAS,kBAAmB,UAAU,WAAY;AACxD,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;",
|
|
6
6
|
"names": ["coreStore", "blockEditorStore"]
|
|
7
7
|
}
|
package/build/store/constants.js
CHANGED
|
@@ -15,12 +15,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/patterns/src/store/constants.js
|
|
18
20
|
var constants_exports = {};
|
|
19
21
|
__export(constants_exports, {
|
|
20
22
|
STORE_NAME: () => STORE_NAME
|
|
21
23
|
});
|
|
22
24
|
module.exports = __toCommonJS(constants_exports);
|
|
23
|
-
|
|
25
|
+
var STORE_NAME = "core/patterns";
|
|
24
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
25
27
|
0 && (module.exports = {
|
|
26
28
|
STORE_NAME
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/store/constants.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * Module Constants\n */\nexport const STORE_NAME = 'core/patterns';\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,aAAa;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/store/index.js
CHANGED
|
@@ -25,6 +25,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// packages/patterns/src/store/index.js
|
|
28
30
|
var store_exports = {};
|
|
29
31
|
__export(store_exports, {
|
|
30
32
|
store: () => store,
|
|
@@ -37,10 +39,10 @@ var actions = __toESM(require("./actions"));
|
|
|
37
39
|
var import_constants = require("./constants");
|
|
38
40
|
var selectors = __toESM(require("./selectors"));
|
|
39
41
|
var import_lock_unlock = require("../lock-unlock");
|
|
40
|
-
|
|
42
|
+
var storeConfig = {
|
|
41
43
|
reducer: import_reducer.default
|
|
42
44
|
};
|
|
43
|
-
|
|
45
|
+
var store = (0, import_data.createReduxStore)(import_constants.STORE_NAME, {
|
|
44
46
|
...storeConfig
|
|
45
47
|
});
|
|
46
48
|
(0, import_data.register)(store);
|
package/build/store/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/store/index.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\nimport * as selectors from './selectors';\nimport { unlock } from '../lock-unlock';\n\n/**\n * Post editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore\n *\n * @type {Object}\n */\nexport const storeConfig = {\n\treducer,\n};\n\n/**\n * Store definition for the editor namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, {\n\t...storeConfig,\n} );\n\nregister( store );\nunlock( store ).registerPrivateActions( actions );\nunlock( store ).registerPrivateSelectors( selectors );\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA2C;AAK3C,qBAAoB;AACpB,cAAyB;AACzB,uBAA2B;AAC3B,gBAA2B;AAC3B,yBAAuB;AAShB,IAAM,cAAc;AAAA,EAC1B,wBAAAA;AACD;AASO,IAAM,YAAQ,8BAAkB,6BAAY;AAAA,EAClD,GAAG;AACJ,CAAE;AAAA,IAEF,sBAAU,KAAM;AAAA,IAChB,2BAAQ,KAAM,EAAE,uBAAwB,OAAQ;AAAA,IAChD,2BAAQ,KAAM,EAAE,yBAA0B,SAAU;",
|
|
6
6
|
"names": ["reducer"]
|
|
7
7
|
}
|
package/build/store/reducer.js
CHANGED
|
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/patterns/src/store/reducer.js
|
|
18
20
|
var reducer_exports = {};
|
|
19
21
|
__export(reducer_exports, {
|
|
20
22
|
default: () => reducer_default,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/store/reducer.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\nexport function isEditingPattern( state = {}, action ) {\n\tif ( action?.type === 'SET_EDITING_PATTERN' ) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t[ action.clientId ]: action.isEditing,\n\t\t};\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tisEditingPattern,\n} );\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAgC;AAEzB,SAAS,iBAAkB,QAAQ,CAAC,GAAG,QAAS;AACtD,MAAK,QAAQ,SAAS,uBAAwB;AAC7C,WAAO;AAAA,MACN,GAAG;AAAA,MACH,CAAE,OAAO,QAAS,GAAG,OAAO;AAAA,IAC7B;AAAA,EACD;AAEA,SAAO;AACR;AAEA,IAAO,sBAAQ,6BAAiB;AAAA,EAC/B;AACD,CAAE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/store/selectors.js
CHANGED
|
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
return to;
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/patterns/src/store/selectors.js
|
|
18
20
|
var selectors_exports = {};
|
|
19
21
|
__export(selectors_exports, {
|
|
20
22
|
isEditingPattern: () => isEditingPattern
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/store/selectors.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * Returns true if pattern is in the editing state.\n *\n * @param {Object} state Global application state.\n * @param {number} clientId the clientID of the block.\n * @return {boolean} Whether the pattern is in the editing state.\n */\nexport function isEditingPattern( state, clientId ) {\n\treturn state.isEditingPattern[ clientId ];\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,SAAS,iBAAkB,OAAO,UAAW;AACnD,SAAO,MAAM,iBAAkB,QAAS;AACzC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/api/index.js"],
|
|
4
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": "AAGA,SAAS,wCAAwC;AAS1C,SAAS,mBAAoB,OAAQ;AAC3C,SACC,OAAO,KAAM,gCAAiC,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;",
|
|
5
|
+
"mappings": ";AAGA,SAAS,wCAAwC;AAS1C,SAAS,mBAAoB,OAAQ;AAC3C,SACC,OAAO,KAAM,gCAAiC,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
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/patterns/src/components/allow-overrides-modal.js
|
|
2
2
|
import {
|
|
3
3
|
__experimentalHStack as HStack,
|
|
4
4
|
__experimentalVStack as VStack,
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
import { __, sprintf } from "@wordpress/i18n";
|
|
11
11
|
import { useState, useId } from "@wordpress/element";
|
|
12
12
|
import { speak } from "@wordpress/a11y";
|
|
13
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
14
|
function AllowOverridesModal({
|
|
14
15
|
placeholder,
|
|
15
16
|
initialName = "",
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/allow-overrides-modal.js"],
|
|
4
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": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/patterns/src/components/category-selector.js
|
|
2
2
|
import { __ } from "@wordpress/i18n";
|
|
3
3
|
import { useMemo, useState } from "@wordpress/element";
|
|
4
4
|
import { FormTokenField } from "@wordpress/components";
|
|
5
5
|
import { useDebounce } from "@wordpress/compose";
|
|
6
6
|
import { decodeEntities } from "@wordpress/html-entities";
|
|
7
|
-
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var unescapeString = (arg) => {
|
|
8
9
|
return decodeEntities(arg);
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
var CATEGORY_SLUG = "wp_pattern_category";
|
|
11
12
|
function CategorySelector({
|
|
12
13
|
categoryTerms,
|
|
13
14
|
onChange,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/category-selector.js"],
|
|
4
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": "
|
|
5
|
+
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,SAAS,gBAAgB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AA8C7B;AA5CF,IAAM,iBAAiB,CAAE,QAAS;AACjC,SAAO,eAAgB,GAAI;AAC5B;AAEO,IAAM,gBAAgB;AAEd,SAAR,iBAAmC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,QAAQ,SAAU,IAAI,SAAU,EAAG;AAC3C,QAAM,kBAAkB,YAAa,WAAW,GAAI;AAEpD,QAAM,cAAc,QAAS,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,OAAQ,GAAI,YAAa;AAAA,MACzB,gBAAc;AAAA,MACd,6BAA2B;AAAA,MAC3B,uBAAqB;AAAA,MACrB,yBAAuB;AAAA;AAAA,EACxB;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/patterns/src/components/create-pattern-modal.js
|
|
2
2
|
import {
|
|
3
3
|
Modal,
|
|
4
4
|
Button,
|
|
@@ -21,6 +21,7 @@ import { store as patternsStore } from "../store";
|
|
|
21
21
|
import CategorySelector from "./category-selector";
|
|
22
22
|
import { useAddPatternCategory } from "../private-hooks";
|
|
23
23
|
import { unlock } from "../lock-unlock";
|
|
24
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
24
25
|
function CreatePatternModal({
|
|
25
26
|
className = "patterns-menu-items__convert-modal",
|
|
26
27
|
modalTitle,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/create-pattern-modal.js"],
|
|
4
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": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/patterns/src/components/duplicate-pattern-modal.js
|
|
2
2
|
import { store as coreStore } from "@wordpress/core-data";
|
|
3
3
|
import { useDispatch, useSelect } from "@wordpress/data";
|
|
4
4
|
import { __, _x, sprintf } from "@wordpress/i18n";
|
|
5
5
|
import { store as noticesStore } from "@wordpress/notices";
|
|
6
6
|
import CreatePatternModal from "./create-pattern-modal";
|
|
7
7
|
import { PATTERN_SYNC_TYPES, PATTERN_TYPES } from "../constants";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
9
|
function getTermLabels(pattern, categories) {
|
|
9
10
|
if (pattern.type !== PATTERN_TYPES.user) {
|
|
10
11
|
return categories.core?.filter(
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/duplicate-pattern-modal.js"],
|
|
4
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": "
|
|
5
|
+
"mappings": ";AAGA,SAAS,SAAS,iBAAiB;AACnC,SAAS,aAAa,iBAAiB;AACvC,SAAS,IAAI,IAAI,eAAe;AAChC,SAAS,SAAS,oBAAoB;AAKtC,OAAO,wBAAwB;AAC/B,SAAS,oBAAoB,qBAAqB;AA2EhD;AAzEF,SAAS,cAAe,SAAS,YAAa;AAE7C,MAAK,QAAQ,SAAS,cAAc,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,IAAI,YAAa,YAAa;AAC1D,QAAM,aAAa,UAAW,CAAE,WAAY;AAC3C,UAAM,EAAE,0BAA0B,0BAA0B,IAC3D,OAAQ,SAAU;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,cAAc,OAC5B,mBAAmB,WACnB,QAAQ,0BAA0B,mBAAmB;AAAA,IACzD,cAAc;AAAA;AAAA,MAEb,GAAI,aAAa,SAAU;AAAA,MAC3B,OAAO,QAAQ,UAAU,WACtB,QAAQ,QACR,QAAQ,MAAM;AAAA,IAClB;AAAA,IACA,WAAW,CAAE,EAAE,SAAS,WAAW,MAAO;AACzC;AAAA,QACC;AAAA;AAAA,UAEC,GAAI,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;AAAA;AAAA,MACA,YAAa,GAAI,mBAAoB;AAAA,MACrC,cAAe,GAAI,WAAY;AAAA,MAC/B;AAAA,MACA,SAAU;AAAA,MACR,GAAG;AAAA;AAAA,EACN;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/patterns/src/components/index.js
|
|
2
2
|
import { BlockSettingsMenuControls } from "@wordpress/block-editor";
|
|
3
3
|
import PatternConvertButton from "./pattern-convert-button";
|
|
4
4
|
import PatternsManageButton from "./patterns-manage-button";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
function PatternsMenuItems({ rootClientId }) {
|
|
6
7
|
return /* @__PURE__ */ jsx(BlockSettingsMenuControls, { children: ({ selectedClientIds, onClose }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7
8
|
/* @__PURE__ */ jsx(
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/index.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { BlockSettingsMenuControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PatternConvertButton from './pattern-convert-button';\nimport PatternsManageButton from './patterns-manage-button';\n\nexport default function PatternsMenuItems( { rootClientId } ) {\n\treturn (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { selectedClientIds, onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<PatternConvertButton\n\t\t\t\t\t\tclientIds={ selectedClientIds }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tcloseBlockSettingsMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t\t{ selectedClientIds.length === 1 && (\n\t\t\t\t\t\t<PatternsManageButton\n\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</BlockSettingsMenuControls>\n\t);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";AAGA,SAAS,iCAAiC;AAK1C,OAAO,0BAA0B;AACjC,OAAO,0BAA0B;AAM7B,mBACC,KADD;AAJW,SAAR,kBAAoC,EAAE,aAAa,GAAI;AAC7D,SACC,oBAAC,6BACE,WAAE,EAAE,mBAAmB,QAAQ,MAChC,iCACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAY;AAAA,QACZ;AAAA,QACA,wBAAyB;AAAA;AAAA,IAC1B;AAAA,IACE,kBAAkB,WAAW,KAC9B;AAAA,MAAC;AAAA;AAAA,QACA,UAAW,kBAAmB,CAAE;AAAA;AAAA,IACjC;AAAA,KAEF,GAEF;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// packages/patterns/src/components/overrides-panel.js
|
|
2
2
|
import {
|
|
3
3
|
privateApis as blockEditorPrivateApis,
|
|
4
4
|
store as blockEditorStore
|
|
@@ -9,7 +9,8 @@ import { useMemo } from "@wordpress/element";
|
|
|
9
9
|
import { __ } from "@wordpress/i18n";
|
|
10
10
|
import { isOverridableBlock } from "../api";
|
|
11
11
|
import { unlock } from "../lock-unlock";
|
|
12
|
-
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var { BlockQuickNavigation } = unlock(blockEditorPrivateApis);
|
|
13
14
|
function OverridesPanel() {
|
|
14
15
|
const allClientIds = useSelect(
|
|
15
16
|
(select) => select(blockEditorStore).getClientIdsWithDescendants(),
|