@wordpress/patterns 2.37.0 → 2.37.1-next.06ee73755.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 +0 -2
- package/LICENSE.md +1 -1
- package/build/api/{index.js → index.cjs} +2 -15
- package/build/api/index.cjs.map +7 -0
- package/build/components/{allow-overrides-modal.js → allow-overrides-modal.cjs} +1 -2
- package/build/components/allow-overrides-modal.cjs.map +7 -0
- package/build/components/{category-selector.js → category-selector.cjs} +1 -1
- package/build/components/{create-pattern-modal.js → create-pattern-modal.cjs} +6 -8
- package/build/components/{create-pattern-modal.js.map → create-pattern-modal.cjs.map} +2 -2
- package/build/components/{duplicate-pattern-modal.js → duplicate-pattern-modal.cjs} +3 -3
- package/build/components/{index.js → index.cjs} +3 -3
- package/build/components/{overrides-panel.js → overrides-panel.cjs} +14 -11
- package/build/components/overrides-panel.cjs.map +7 -0
- package/build/components/{pattern-convert-button.js → pattern-convert-button.cjs} +5 -5
- package/build/components/{pattern-overrides-controls.js → pattern-overrides-controls.cjs} +3 -4
- package/build/components/{pattern-overrides-controls.js.map → pattern-overrides-controls.cjs.map} +2 -2
- package/build/components/{patterns-manage-button.js → patterns-manage-button.cjs} +3 -3
- package/build/components/{rename-pattern-category-modal.js → rename-pattern-category-modal.cjs} +2 -3
- package/build/components/{rename-pattern-category-modal.js.map → rename-pattern-category-modal.cjs.map} +2 -2
- package/build/components/{rename-pattern-modal.js → rename-pattern-modal.cjs} +1 -2
- package/build/components/{rename-pattern-modal.js.map → rename-pattern-modal.cjs.map} +2 -2
- package/build/components/{reset-overrides-control.js → reset-overrides-control.cjs} +1 -1
- package/build/{constants.js → constants.cjs} +1 -9
- package/build/constants.cjs.map +7 -0
- package/build/{index.js → index.cjs} +4 -4
- package/build/{index.js.map → index.cjs.map} +1 -1
- package/build/{lock-unlock.js → lock-unlock.cjs} +1 -1
- package/build/{private-apis.js → private-apis.cjs} +14 -16
- package/build/private-apis.cjs.map +7 -0
- package/build/{private-hooks.js → private-hooks.cjs} +2 -2
- package/build/store/{actions.js → actions.cjs} +2 -2
- package/build/store/{constants.js → constants.cjs} +1 -1
- package/build/store/{index.js → index.cjs} +6 -6
- package/build/store/{reducer.js → reducer.cjs} +1 -1
- package/build/store/{selectors.js → selectors.cjs} +1 -1
- package/build-module/api/index.mjs +10 -0
- package/build-module/api/index.mjs.map +7 -0
- package/build-module/components/{allow-overrides-modal.js → allow-overrides-modal.mjs} +1 -2
- package/build-module/components/allow-overrides-modal.mjs.map +7 -0
- package/build-module/components/{category-selector.js → category-selector.mjs} +1 -1
- package/build-module/components/{create-pattern-modal.js → create-pattern-modal.mjs} +6 -8
- package/build-module/components/{create-pattern-modal.js.map → create-pattern-modal.mjs.map} +2 -2
- package/build-module/components/{duplicate-pattern-modal.js → duplicate-pattern-modal.mjs} +3 -3
- package/build-module/components/{index.js → index.mjs} +3 -3
- package/build-module/components/{overrides-panel.js → overrides-panel.mjs} +14 -11
- package/build-module/components/overrides-panel.mjs.map +7 -0
- package/build-module/components/{pattern-convert-button.js → pattern-convert-button.mjs} +5 -5
- package/build-module/components/{pattern-overrides-controls.js → pattern-overrides-controls.mjs} +3 -4
- package/build-module/components/{pattern-overrides-controls.js.map → pattern-overrides-controls.mjs.map} +2 -2
- package/build-module/components/{patterns-manage-button.js → patterns-manage-button.mjs} +3 -3
- package/build-module/components/{rename-pattern-category-modal.js → rename-pattern-category-modal.mjs} +2 -3
- package/build-module/components/{rename-pattern-category-modal.js.map → rename-pattern-category-modal.mjs.map} +2 -2
- package/build-module/components/{rename-pattern-modal.js → rename-pattern-modal.mjs} +1 -2
- package/build-module/components/{rename-pattern-modal.js.map → rename-pattern-modal.mjs.map} +2 -2
- package/build-module/components/{reset-overrides-control.js → reset-overrides-control.mjs} +1 -1
- package/build-module/{constants.js → constants.mjs} +1 -8
- package/build-module/constants.mjs.map +7 -0
- package/build-module/index.mjs +7 -0
- package/build-module/{lock-unlock.js → lock-unlock.mjs} +1 -1
- package/build-module/{private-apis.js → private-apis.mjs} +15 -18
- package/build-module/private-apis.mjs.map +7 -0
- package/build-module/{private-hooks.js → private-hooks.mjs} +2 -2
- package/build-module/store/{actions.js → actions.mjs} +2 -2
- package/build-module/store/{constants.js → constants.mjs} +1 -1
- package/build-module/store/{index.js → index.mjs} +6 -6
- package/build-module/store/{reducer.js → reducer.mjs} +1 -1
- package/build-module/store/{selectors.js → selectors.mjs} +1 -1
- package/build-style/style-rtl.css +4 -0
- package/build-style/style.css +4 -0
- package/package.json +33 -25
- package/src/api/index.js +0 -24
- package/src/components/allow-overrides-modal.js +0 -1
- package/src/components/create-pattern-modal.js +0 -2
- package/src/components/overrides-panel.js +18 -10
- package/src/components/pattern-overrides-controls.js +0 -1
- package/src/components/rename-pattern-category-modal.js +0 -1
- package/src/components/rename-pattern-modal.js +0 -1
- package/src/constants.js +0 -8
- package/src/private-apis.js +1 -4
- package/build/api/index.js.map +0 -7
- package/build/components/allow-overrides-modal.js.map +0 -7
- package/build/components/overrides-panel.js.map +0 -7
- package/build/constants.js.map +0 -7
- package/build/private-apis.js.map +0 -7
- package/build-module/api/index.js +0 -22
- package/build-module/api/index.js.map +0 -7
- package/build-module/components/allow-overrides-modal.js.map +0 -7
- package/build-module/components/overrides-panel.js.map +0 -7
- package/build-module/constants.js.map +0 -7
- package/build-module/index.js +0 -7
- package/build-module/private-apis.js.map +0 -7
- /package/build/components/{category-selector.js.map → category-selector.cjs.map} +0 -0
- /package/build/components/{duplicate-pattern-modal.js.map → duplicate-pattern-modal.cjs.map} +0 -0
- /package/build/components/{index.js.map → index.cjs.map} +0 -0
- /package/build/components/{pattern-convert-button.js.map → pattern-convert-button.cjs.map} +0 -0
- /package/build/components/{patterns-manage-button.js.map → patterns-manage-button.cjs.map} +0 -0
- /package/build/components/{reset-overrides-control.js.map → reset-overrides-control.cjs.map} +0 -0
- /package/build/{lock-unlock.js.map → lock-unlock.cjs.map} +0 -0
- /package/build/{private-hooks.js.map → private-hooks.cjs.map} +0 -0
- /package/build/store/{actions.js.map → actions.cjs.map} +0 -0
- /package/build/store/{constants.js.map → constants.cjs.map} +0 -0
- /package/build/store/{index.js.map → index.cjs.map} +0 -0
- /package/build/store/{reducer.js.map → reducer.cjs.map} +0 -0
- /package/build/store/{selectors.js.map → selectors.cjs.map} +0 -0
- /package/build-module/components/{category-selector.js.map → category-selector.mjs.map} +0 -0
- /package/build-module/components/{duplicate-pattern-modal.js.map → duplicate-pattern-modal.mjs.map} +0 -0
- /package/build-module/components/{index.js.map → index.mjs.map} +0 -0
- /package/build-module/components/{pattern-convert-button.js.map → pattern-convert-button.mjs.map} +0 -0
- /package/build-module/components/{patterns-manage-button.js.map → patterns-manage-button.mjs.map} +0 -0
- /package/build-module/components/{reset-overrides-control.js.map → reset-overrides-control.mjs.map} +0 -0
- /package/build-module/{index.js.map → index.mjs.map} +0 -0
- /package/build-module/{lock-unlock.js.map → lock-unlock.mjs.map} +0 -0
- /package/build-module/{private-hooks.js.map → private-hooks.mjs.map} +0 -0
- /package/build-module/store/{actions.js.map → actions.mjs.map} +0 -0
- /package/build-module/store/{constants.js.map → constants.mjs.map} +0 -0
- /package/build-module/store/{index.js.map → index.mjs.map} +0 -0
- /package/build-module/store/{reducer.js.map → reducer.mjs.map} +0 -0
- /package/build-module/store/{selectors.js.map → selectors.mjs.map} +0 -0
|
@@ -14,20 +14,13 @@ var PATTERN_SYNC_TYPES = {
|
|
|
14
14
|
full: "fully",
|
|
15
15
|
unsynced: "unsynced"
|
|
16
16
|
};
|
|
17
|
-
var PARTIAL_SYNCING_SUPPORTED_BLOCKS = {
|
|
18
|
-
"core/paragraph": ["content"],
|
|
19
|
-
"core/heading": ["content"],
|
|
20
|
-
"core/button": ["text", "url", "linkTarget", "rel"],
|
|
21
|
-
"core/image": ["id", "url", "title", "alt", "caption"]
|
|
22
|
-
};
|
|
23
17
|
var PATTERN_OVERRIDES_BINDING_SOURCE = "core/pattern-overrides";
|
|
24
18
|
export {
|
|
25
19
|
EXCLUDED_PATTERN_SOURCES,
|
|
26
|
-
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
27
20
|
PATTERN_DEFAULT_CATEGORY,
|
|
28
21
|
PATTERN_OVERRIDES_BINDING_SOURCE,
|
|
29
22
|
PATTERN_SYNC_TYPES,
|
|
30
23
|
PATTERN_TYPES,
|
|
31
24
|
PATTERN_USER_CATEGORY
|
|
32
25
|
};
|
|
33
|
-
//# sourceMappingURL=constants.
|
|
26
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/constants.js"],
|
|
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\nexport const PATTERN_OVERRIDES_BINDING_SOURCE = 'core/pattern-overrides';\n"],
|
|
5
|
+
"mappings": ";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;AAEO,IAAM,mCAAmC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
// packages/patterns/src/private-apis.js
|
|
2
|
-
import { lock } from "./lock-unlock";
|
|
3
|
-
import OverridesPanel from "./components/overrides-panel";
|
|
2
|
+
import { lock } from "./lock-unlock.mjs";
|
|
3
|
+
import OverridesPanel from "./components/overrides-panel.mjs";
|
|
4
4
|
import {
|
|
5
5
|
default as CreatePatternModal,
|
|
6
6
|
CreatePatternModalContents
|
|
7
|
-
} from "./components/create-pattern-modal";
|
|
7
|
+
} from "./components/create-pattern-modal.mjs";
|
|
8
8
|
import {
|
|
9
9
|
default as DuplicatePatternModal,
|
|
10
10
|
useDuplicatePatternProps
|
|
11
|
-
} from "./components/duplicate-pattern-modal";
|
|
12
|
-
import { isOverridableBlock
|
|
13
|
-
import RenamePatternModal from "./components/rename-pattern-modal";
|
|
14
|
-
import PatternsMenuItems from "./components";
|
|
15
|
-
import RenamePatternCategoryModal from "./components/rename-pattern-category-modal";
|
|
16
|
-
import PatternOverridesControls from "./components/pattern-overrides-controls";
|
|
17
|
-
import ResetOverridesControl from "./components/reset-overrides-control";
|
|
18
|
-
import { useAddPatternCategory } from "./private-hooks";
|
|
11
|
+
} from "./components/duplicate-pattern-modal.mjs";
|
|
12
|
+
import { isOverridableBlock } from "./api/index.mjs";
|
|
13
|
+
import RenamePatternModal from "./components/rename-pattern-modal.mjs";
|
|
14
|
+
import PatternsMenuItems from "./components/index.mjs";
|
|
15
|
+
import RenamePatternCategoryModal from "./components/rename-pattern-category-modal.mjs";
|
|
16
|
+
import PatternOverridesControls from "./components/pattern-overrides-controls.mjs";
|
|
17
|
+
import ResetOverridesControl from "./components/reset-overrides-control.mjs";
|
|
18
|
+
import { useAddPatternCategory } from "./private-hooks.mjs";
|
|
19
19
|
import {
|
|
20
20
|
PATTERN_TYPES,
|
|
21
21
|
PATTERN_DEFAULT_CATEGORY,
|
|
22
22
|
PATTERN_USER_CATEGORY,
|
|
23
23
|
EXCLUDED_PATTERN_SOURCES,
|
|
24
|
-
PATTERN_SYNC_TYPES
|
|
25
|
-
|
|
26
|
-
} from "./constants";
|
|
24
|
+
PATTERN_SYNC_TYPES
|
|
25
|
+
} from "./constants.mjs";
|
|
27
26
|
var privateApis = {};
|
|
28
27
|
lock(privateApis, {
|
|
29
28
|
OverridesPanel,
|
|
@@ -31,7 +30,6 @@ lock(privateApis, {
|
|
|
31
30
|
CreatePatternModalContents,
|
|
32
31
|
DuplicatePatternModal,
|
|
33
32
|
isOverridableBlock,
|
|
34
|
-
hasOverridableBlocks,
|
|
35
33
|
useDuplicatePatternProps,
|
|
36
34
|
RenamePatternModal,
|
|
37
35
|
PatternsMenuItems,
|
|
@@ -43,10 +41,9 @@ lock(privateApis, {
|
|
|
43
41
|
PATTERN_DEFAULT_CATEGORY,
|
|
44
42
|
PATTERN_USER_CATEGORY,
|
|
45
43
|
EXCLUDED_PATTERN_SOURCES,
|
|
46
|
-
PATTERN_SYNC_TYPES
|
|
47
|
-
PARTIAL_SYNCING_SUPPORTED_BLOCKS
|
|
44
|
+
PATTERN_SYNC_TYPES
|
|
48
45
|
});
|
|
49
46
|
export {
|
|
50
47
|
privateApis
|
|
51
48
|
};
|
|
52
|
-
//# sourceMappingURL=private-apis.
|
|
49
|
+
//# sourceMappingURL=private-apis.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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 } 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} from './constants';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tOverridesPanel,\n\tCreatePatternModal,\n\tCreatePatternModalContents,\n\tDuplicatePatternModal,\n\tisOverridableBlock,\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} );\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,YAAY;AACrB,OAAO,oBAAoB;AAC3B;AAAA,EACC,WAAW;AAAA,EACX;AAAA,OACM;AACP;AAAA,EACC,WAAW;AAAA,EACX;AAAA,OACM;AACP,SAAS,0BAA0B;AACnC,OAAO,wBAAwB;AAC/B,OAAO,uBAAuB;AAC9B,OAAO,gCAAgC;AACvC,OAAO,8BAA8B;AACrC,OAAO,2BAA2B;AAClC,SAAS,6BAA6B;AACtC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEA,IAAM,cAAc,CAAC;AAC5B,KAAM,aAAa;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useSelect, useDispatch } from "@wordpress/data";
|
|
3
3
|
import { store as coreStore } from "@wordpress/core-data";
|
|
4
4
|
import { useMemo } from "@wordpress/element";
|
|
5
|
-
import { CATEGORY_SLUG } from "./components/category-selector";
|
|
5
|
+
import { CATEGORY_SLUG } from "./components/category-selector.mjs";
|
|
6
6
|
function useAddPatternCategory() {
|
|
7
7
|
const { saveEntityRecord, invalidateResolution } = useDispatch(coreStore);
|
|
8
8
|
const { corePatternCategories, userPatternCategories } = useSelect(
|
|
@@ -63,4 +63,4 @@ function useAddPatternCategory() {
|
|
|
63
63
|
export {
|
|
64
64
|
useAddPatternCategory
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=private-hooks.
|
|
66
|
+
//# sourceMappingURL=private-hooks.mjs.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { getBlockType, cloneBlock } from "@wordpress/blocks";
|
|
3
3
|
import { store as coreStore } from "@wordpress/core-data";
|
|
4
4
|
import { store as blockEditorStore } from "@wordpress/block-editor";
|
|
5
|
-
import { PATTERN_SYNC_TYPES } from "../constants";
|
|
5
|
+
import { PATTERN_SYNC_TYPES } from "../constants.mjs";
|
|
6
6
|
var createPattern = (title, syncType, content, categories) => async ({ registry }) => {
|
|
7
7
|
const meta = syncType === PATTERN_SYNC_TYPES.unsynced ? {
|
|
8
8
|
wp_pattern_sync_status: syncType
|
|
@@ -85,4 +85,4 @@ export {
|
|
|
85
85
|
createPatternFromFile,
|
|
86
86
|
setEditingPattern
|
|
87
87
|
};
|
|
88
|
-
//# sourceMappingURL=actions.
|
|
88
|
+
//# sourceMappingURL=actions.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// packages/patterns/src/store/index.js
|
|
2
2
|
import { createReduxStore, register } from "@wordpress/data";
|
|
3
|
-
import reducer from "./reducer";
|
|
4
|
-
import * as actions from "./actions";
|
|
5
|
-
import { STORE_NAME } from "./constants";
|
|
6
|
-
import * as selectors from "./selectors";
|
|
7
|
-
import { unlock } from "../lock-unlock";
|
|
3
|
+
import reducer from "./reducer.mjs";
|
|
4
|
+
import * as actions from "./actions.mjs";
|
|
5
|
+
import { STORE_NAME } from "./constants.mjs";
|
|
6
|
+
import * as selectors from "./selectors.mjs";
|
|
7
|
+
import { unlock } from "../lock-unlock.mjs";
|
|
8
8
|
var storeConfig = {
|
|
9
9
|
reducer
|
|
10
10
|
};
|
|
@@ -18,4 +18,4 @@ export {
|
|
|
18
18
|
store,
|
|
19
19
|
storeConfig
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=index.
|
|
21
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -83,6 +83,10 @@
|
|
|
83
83
|
/**
|
|
84
84
|
* Reset the WP Admin page styles for Gutenberg-like pages.
|
|
85
85
|
*/
|
|
86
|
+
/**
|
|
87
|
+
* Creates a checkerboard pattern background to indicate transparency.
|
|
88
|
+
* @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
|
|
89
|
+
*/
|
|
86
90
|
:root {
|
|
87
91
|
--wp-block-synced-color: #7a00df;
|
|
88
92
|
--wp-block-synced-color--rgb: 122, 0, 223;
|
package/build-style/style.css
CHANGED
|
@@ -83,6 +83,10 @@
|
|
|
83
83
|
/**
|
|
84
84
|
* Reset the WP Admin page styles for Gutenberg-like pages.
|
|
85
85
|
*/
|
|
86
|
+
/**
|
|
87
|
+
* Creates a checkerboard pattern background to indicate transparency.
|
|
88
|
+
* @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
|
|
89
|
+
*/
|
|
86
90
|
:root {
|
|
87
91
|
--wp-block-synced-color: #7a00df;
|
|
88
92
|
--wp-block-synced-color--rgb: 122, 0, 223;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/patterns",
|
|
3
|
-
"version": "2.37.0",
|
|
3
|
+
"version": "2.37.1-next.06ee73755.0",
|
|
4
4
|
"description": "Management of user pattern editing.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -22,12 +22,20 @@
|
|
|
22
22
|
"node": ">=18.12.0",
|
|
23
23
|
"npm": ">=8.19.2"
|
|
24
24
|
},
|
|
25
|
-
"
|
|
26
|
-
|
|
25
|
+
"files": [
|
|
26
|
+
"src",
|
|
27
|
+
"build",
|
|
28
|
+
"build-module",
|
|
29
|
+
"build-style",
|
|
30
|
+
"build-types",
|
|
31
|
+
"*.md"
|
|
32
|
+
],
|
|
33
|
+
"main": "build/index.cjs",
|
|
34
|
+
"module": "build-module/index.mjs",
|
|
27
35
|
"exports": {
|
|
28
36
|
".": {
|
|
29
|
-
"import": "./build-module/index.
|
|
30
|
-
"require": "./build/index.
|
|
37
|
+
"import": "./build-module/index.mjs",
|
|
38
|
+
"require": "./build/index.cjs"
|
|
31
39
|
},
|
|
32
40
|
"./package.json": "./package.json"
|
|
33
41
|
},
|
|
@@ -38,27 +46,27 @@
|
|
|
38
46
|
"src/**/*.scss",
|
|
39
47
|
"src/index.js",
|
|
40
48
|
"src/store/index.js",
|
|
41
|
-
"build/index.
|
|
42
|
-
"build/store/index.
|
|
43
|
-
"build-module/index.
|
|
44
|
-
"build-module/store/index.
|
|
49
|
+
"build/index.cjs",
|
|
50
|
+
"build/store/index.cjs",
|
|
51
|
+
"build-module/index.mjs",
|
|
52
|
+
"build-module/store/index.mjs"
|
|
45
53
|
],
|
|
46
54
|
"dependencies": {
|
|
47
|
-
"@wordpress/a11y": "^4.37.0",
|
|
48
|
-
"@wordpress/base-styles": "^6.13.0",
|
|
49
|
-
"@wordpress/block-editor": "^15.10.0",
|
|
50
|
-
"@wordpress/blocks": "^15.10.0",
|
|
51
|
-
"@wordpress/components": "^
|
|
52
|
-
"@wordpress/compose": "^7.37.0",
|
|
53
|
-
"@wordpress/core-data": "^7.37.0",
|
|
54
|
-
"@wordpress/data": "^10.37.0",
|
|
55
|
-
"@wordpress/element": "^6.37.0",
|
|
56
|
-
"@wordpress/html-entities": "^4.37.0",
|
|
57
|
-
"@wordpress/i18n": "^6.10.0",
|
|
58
|
-
"@wordpress/icons": "^11.4.0",
|
|
59
|
-
"@wordpress/notices": "^5.37.0",
|
|
60
|
-
"@wordpress/private-apis": "^1.37.0",
|
|
61
|
-
"@wordpress/url": "^4.37.0"
|
|
55
|
+
"@wordpress/a11y": "^4.37.1-next.06ee73755.0",
|
|
56
|
+
"@wordpress/base-styles": "^6.13.2-next.06ee73755.0",
|
|
57
|
+
"@wordpress/block-editor": "^15.10.1-next.06ee73755.0",
|
|
58
|
+
"@wordpress/blocks": "^15.10.1-next.06ee73755.0",
|
|
59
|
+
"@wordpress/components": "^32.0.1-next.06ee73755.0",
|
|
60
|
+
"@wordpress/compose": "^7.37.1-next.06ee73755.0",
|
|
61
|
+
"@wordpress/core-data": "^7.37.1-next.06ee73755.0",
|
|
62
|
+
"@wordpress/data": "^10.37.1-next.06ee73755.0",
|
|
63
|
+
"@wordpress/element": "^6.37.1-next.06ee73755.0",
|
|
64
|
+
"@wordpress/html-entities": "^4.37.1-next.06ee73755.0",
|
|
65
|
+
"@wordpress/i18n": "^6.10.1-next.06ee73755.0",
|
|
66
|
+
"@wordpress/icons": "^11.4.1-next.06ee73755.0",
|
|
67
|
+
"@wordpress/notices": "^5.37.1-next.06ee73755.0",
|
|
68
|
+
"@wordpress/private-apis": "^1.37.1-next.06ee73755.0",
|
|
69
|
+
"@wordpress/url": "^4.37.1-next.06ee73755.0"
|
|
62
70
|
},
|
|
63
71
|
"peerDependencies": {
|
|
64
72
|
"react": "^18.0.0",
|
|
@@ -67,5 +75,5 @@
|
|
|
67
75
|
"publishConfig": {
|
|
68
76
|
"access": "public"
|
|
69
77
|
},
|
|
70
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "fd315436f44683a993d5f053789b5279d95b2872"
|
|
71
79
|
}
|
package/src/api/index.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* Determines whether a block is overridable.
|
|
8
3
|
*
|
|
@@ -12,9 +7,6 @@ import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';
|
|
|
12
7
|
*/
|
|
13
8
|
export function isOverridableBlock( block ) {
|
|
14
9
|
return (
|
|
15
|
-
Object.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(
|
|
16
|
-
block.name
|
|
17
|
-
) &&
|
|
18
10
|
!! block.attributes.metadata?.name &&
|
|
19
11
|
!! block.attributes.metadata?.bindings &&
|
|
20
12
|
Object.values( block.attributes.metadata.bindings ).some(
|
|
@@ -22,19 +14,3 @@ export function isOverridableBlock( block ) {
|
|
|
22
14
|
)
|
|
23
15
|
);
|
|
24
16
|
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Determines whether the blocks list has overridable blocks.
|
|
28
|
-
*
|
|
29
|
-
* @param {WPBlock[]} blocks The blocks list.
|
|
30
|
-
*
|
|
31
|
-
* @return {boolean} `true` if the list has overridable blocks, `false` otherwise.
|
|
32
|
-
*/
|
|
33
|
-
export function hasOverridableBlocks( blocks ) {
|
|
34
|
-
return blocks.some( ( block ) => {
|
|
35
|
-
if ( isOverridableBlock( block ) ) {
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
return hasOverridableBlocks( block.innerBlocks );
|
|
39
|
-
} );
|
|
40
|
-
}
|
|
@@ -122,7 +122,6 @@ export function CreatePatternModalContents( {
|
|
|
122
122
|
onChange={ setTitle }
|
|
123
123
|
placeholder={ __( 'My pattern' ) }
|
|
124
124
|
className="patterns-create-modal__name-input"
|
|
125
|
-
__nextHasNoMarginBottom
|
|
126
125
|
__next40pxDefaultSize
|
|
127
126
|
/>
|
|
128
127
|
<CategorySelector
|
|
@@ -131,7 +130,6 @@ export function CreatePatternModalContents( {
|
|
|
131
130
|
categoryMap={ categoryMap }
|
|
132
131
|
/>
|
|
133
132
|
<ToggleControl
|
|
134
|
-
__nextHasNoMarginBottom
|
|
135
133
|
label={ _x( 'Synced', 'pattern (singular)' ) }
|
|
136
134
|
help={ __(
|
|
137
135
|
'Sync this pattern across multiple locations.'
|
|
@@ -19,19 +19,27 @@ import { unlock } from '../lock-unlock';
|
|
|
19
19
|
const { BlockQuickNavigation } = unlock( blockEditorPrivateApis );
|
|
20
20
|
|
|
21
21
|
export default function OverridesPanel() {
|
|
22
|
-
const allClientIds = useSelect(
|
|
23
|
-
( select ) =>
|
|
22
|
+
const { allClientIds, supportedBlockTypesRaw } = useSelect(
|
|
23
|
+
( select ) => ( {
|
|
24
|
+
allClientIds:
|
|
25
|
+
select( blockEditorStore ).getClientIdsWithDescendants(),
|
|
26
|
+
supportedBlockTypesRaw:
|
|
27
|
+
select( blockEditorStore ).getSettings()
|
|
28
|
+
?.__experimentalBlockBindingsSupportedAttributes,
|
|
29
|
+
} ),
|
|
24
30
|
[]
|
|
25
31
|
);
|
|
26
32
|
const { getBlock } = useSelect( blockEditorStore );
|
|
27
|
-
const clientIdsWithOverrides = useMemo(
|
|
28
|
-
()
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const clientIdsWithOverrides = useMemo( () => {
|
|
34
|
+
const supportedBlockTypes = Object.keys( supportedBlockTypesRaw ?? {} );
|
|
35
|
+
return allClientIds.filter( ( clientId ) => {
|
|
36
|
+
const block = getBlock( clientId );
|
|
37
|
+
return (
|
|
38
|
+
supportedBlockTypes.includes( block.name ) &&
|
|
39
|
+
isOverridableBlock( block )
|
|
40
|
+
);
|
|
41
|
+
} );
|
|
42
|
+
}, [ allClientIds, getBlock, supportedBlockTypesRaw ] );
|
|
35
43
|
|
|
36
44
|
if ( ! clientIdsWithOverrides?.length ) {
|
|
37
45
|
return null;
|
package/src/constants.js
CHANGED
|
@@ -15,12 +15,4 @@ export const PATTERN_SYNC_TYPES = {
|
|
|
15
15
|
unsynced: 'unsynced',
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
// TODO: This should not be hardcoded. Maybe there should be a config and/or an UI.
|
|
19
|
-
export const PARTIAL_SYNCING_SUPPORTED_BLOCKS = {
|
|
20
|
-
'core/paragraph': [ 'content' ],
|
|
21
|
-
'core/heading': [ 'content' ],
|
|
22
|
-
'core/button': [ 'text', 'url', 'linkTarget', 'rel' ],
|
|
23
|
-
'core/image': [ 'id', 'url', 'title', 'alt', 'caption' ],
|
|
24
|
-
};
|
|
25
|
-
|
|
26
18
|
export const PATTERN_OVERRIDES_BINDING_SOURCE = 'core/pattern-overrides';
|
package/src/private-apis.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
default as DuplicatePatternModal,
|
|
12
12
|
useDuplicatePatternProps,
|
|
13
13
|
} from './components/duplicate-pattern-modal';
|
|
14
|
-
import { isOverridableBlock
|
|
14
|
+
import { isOverridableBlock } from './api';
|
|
15
15
|
import RenamePatternModal from './components/rename-pattern-modal';
|
|
16
16
|
import PatternsMenuItems from './components';
|
|
17
17
|
import RenamePatternCategoryModal from './components/rename-pattern-category-modal';
|
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
PATTERN_USER_CATEGORY,
|
|
25
25
|
EXCLUDED_PATTERN_SOURCES,
|
|
26
26
|
PATTERN_SYNC_TYPES,
|
|
27
|
-
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
28
27
|
} from './constants';
|
|
29
28
|
|
|
30
29
|
export const privateApis = {};
|
|
@@ -34,7 +33,6 @@ lock( privateApis, {
|
|
|
34
33
|
CreatePatternModalContents,
|
|
35
34
|
DuplicatePatternModal,
|
|
36
35
|
isOverridableBlock,
|
|
37
|
-
hasOverridableBlocks,
|
|
38
36
|
useDuplicatePatternProps,
|
|
39
37
|
RenamePatternModal,
|
|
40
38
|
PatternsMenuItems,
|
|
@@ -47,5 +45,4 @@ lock( privateApis, {
|
|
|
47
45
|
PATTERN_USER_CATEGORY,
|
|
48
46
|
EXCLUDED_PATTERN_SOURCES,
|
|
49
47
|
PATTERN_SYNC_TYPES,
|
|
50
|
-
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
51
48
|
} );
|
package/build/api/index.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
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,7 +0,0 @@
|
|
|
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,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/overrides-panel.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isOverridableBlock } from '../api';\nimport { unlock } from '../lock-unlock';\n\nconst { BlockQuickNavigation } = unlock( blockEditorPrivateApis );\n\nexport default function OverridesPanel() {\n\tconst allClientIds = useSelect(\n\t\t( select ) => select( blockEditorStore ).getClientIdsWithDescendants(),\n\t\t[]\n\t);\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst clientIdsWithOverrides = useMemo(\n\t\t() =>\n\t\t\tallClientIds.filter( ( clientId ) => {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\treturn isOverridableBlock( block );\n\t\t\t} ),\n\t\t[ allClientIds, getBlock ]\n\t);\n\n\tif ( ! clientIdsWithOverrides?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Overrides' ) }>\n\t\t\t<BlockQuickNavigation clientIds={ clientIdsWithOverrides } />\n\t\t</PanelBody>\n\t);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAGO;AACP,wBAA0B;AAC1B,kBAA0B;AAC1B,qBAAwB;AACxB,kBAAmB;AAKnB,iBAAmC;AACnC,yBAAuB;AAyBpB;AAvBH,IAAM,EAAE,qBAAqB,QAAI,2BAAQ,oBAAAA,WAAuB;AAEjD,SAAR,iBAAkC;AACxC,QAAM,mBAAe;AAAA,IACpB,CAAE,WAAY,OAAQ,oBAAAC,KAAiB,EAAE,4BAA4B;AAAA,IACrE,CAAC;AAAA,EACF;AACA,QAAM,EAAE,SAAS,QAAI,uBAAW,oBAAAA,KAAiB;AACjD,QAAM,6BAAyB;AAAA,IAC9B,MACC,aAAa,OAAQ,CAAE,aAAc;AACpC,YAAM,QAAQ,SAAU,QAAS;AACjC,iBAAO,+BAAoB,KAAM;AAAA,IAClC,CAAE;AAAA,IACH,CAAE,cAAc,QAAS;AAAA,EAC1B;AAEA,MAAK,CAAE,wBAAwB,QAAS;AACvC,WAAO;AAAA,EACR;AAEA,SACC,4CAAC,+BAAU,WAAQ,gBAAI,WAAY,GAClC,sDAAC,wBAAqB,WAAY,wBAAyB,GAC5D;AAEF;",
|
|
6
|
-
"names": ["blockEditorPrivateApis", "blockEditorStore"]
|
|
7
|
-
}
|
package/build/constants.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/constants.js"],
|
|
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": ";;;;;;;;;;;;;;;;;;;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
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 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 { 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
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// packages/patterns/src/api/index.js
|
|
2
|
-
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from "../constants";
|
|
3
|
-
function isOverridableBlock(block) {
|
|
4
|
-
return Object.keys(PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(
|
|
5
|
-
block.name
|
|
6
|
-
) && !!block.attributes.metadata?.name && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(
|
|
7
|
-
(binding) => binding.source === "core/pattern-overrides"
|
|
8
|
-
);
|
|
9
|
-
}
|
|
10
|
-
function hasOverridableBlocks(blocks) {
|
|
11
|
-
return blocks.some((block) => {
|
|
12
|
-
if (isOverridableBlock(block)) {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
return hasOverridableBlocks(block.innerBlocks);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
hasOverridableBlocks,
|
|
20
|
-
isOverridableBlock
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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": ";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
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
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": []
|
|
7
|
-
}
|