@wordpress/patterns 2.36.1-next.76cff8c98.0 → 2.36.1-next.8fd3f8831.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/LICENSE.md +1 -1
- package/build/api/index.cjs +14 -1
- package/build/api/index.cjs.map +2 -2
- package/build/components/create-pattern-modal.cjs +1 -1
- package/build/components/duplicate-pattern-modal.cjs +1 -1
- package/build/components/index.cjs +2 -2
- package/build/components/overrides-panel.cjs +4 -9
- package/build/components/overrides-panel.cjs.map +2 -2
- package/build/components/pattern-convert-button.cjs +1 -1
- package/build/constants.cjs +8 -0
- package/build/constants.cjs.map +2 -2
- package/build/private-apis.cjs +11 -9
- package/build/private-apis.cjs.map +2 -2
- package/build/store/index.cjs +3 -3
- package/build-module/api/index.js +22 -0
- package/build-module/api/index.js.map +7 -0
- package/build-module/components/{allow-overrides-modal.mjs → allow-overrides-modal.js} +1 -1
- package/build-module/components/{category-selector.mjs → category-selector.js} +1 -1
- package/build-module/components/{create-pattern-modal.mjs → create-pattern-modal.js} +6 -6
- package/build-module/components/{duplicate-pattern-modal.mjs → duplicate-pattern-modal.js} +3 -3
- package/build-module/components/{index.mjs → index.js} +3 -3
- package/build-module/components/{overrides-panel.mjs → overrides-panel.js} +7 -12
- package/build-module/components/overrides-panel.js.map +7 -0
- package/build-module/components/{pattern-convert-button.mjs → pattern-convert-button.js} +5 -5
- package/build-module/components/{pattern-overrides-controls.mjs → pattern-overrides-controls.js} +3 -3
- package/build-module/components/{patterns-manage-button.mjs → patterns-manage-button.js} +3 -3
- package/build-module/components/{rename-pattern-category-modal.mjs → rename-pattern-category-modal.js} +2 -2
- package/build-module/components/{rename-pattern-modal.mjs → rename-pattern-modal.js} +1 -1
- package/build-module/components/{reset-overrides-control.mjs → reset-overrides-control.js} +1 -1
- package/build-module/{constants.mjs → constants.js} +8 -1
- package/build-module/constants.js.map +7 -0
- package/build-module/index.js +7 -0
- package/build-module/{lock-unlock.mjs → lock-unlock.js} +1 -1
- package/build-module/{private-apis.mjs → private-apis.js} +18 -15
- package/build-module/private-apis.js.map +7 -0
- package/build-module/{private-hooks.mjs → private-hooks.js} +2 -2
- package/build-module/store/{actions.mjs → actions.js} +2 -2
- package/build-module/store/{constants.mjs → constants.js} +1 -1
- package/build-module/store/{index.mjs → index.js} +6 -6
- package/build-module/store/{reducer.mjs → reducer.js} +1 -1
- package/build-module/store/{selectors.mjs → selectors.js} +1 -1
- package/package.json +22 -21
- package/src/api/index.js +24 -0
- package/src/components/overrides-panel.js +4 -14
- package/src/constants.js +8 -0
- package/src/private-apis.js +4 -1
- package/build-module/api/index.mjs +0 -10
- package/build-module/api/index.mjs.map +0 -7
- package/build-module/components/overrides-panel.mjs.map +0 -7
- package/build-module/constants.mjs.map +0 -7
- package/build-module/index.mjs +0 -7
- package/build-module/private-apis.mjs.map +0 -7
- /package/build-module/components/{allow-overrides-modal.mjs.map → allow-overrides-modal.js.map} +0 -0
- /package/build-module/components/{category-selector.mjs.map → category-selector.js.map} +0 -0
- /package/build-module/components/{create-pattern-modal.mjs.map → create-pattern-modal.js.map} +0 -0
- /package/build-module/components/{duplicate-pattern-modal.mjs.map → duplicate-pattern-modal.js.map} +0 -0
- /package/build-module/components/{index.mjs.map → index.js.map} +0 -0
- /package/build-module/components/{pattern-convert-button.mjs.map → pattern-convert-button.js.map} +0 -0
- /package/build-module/components/{pattern-overrides-controls.mjs.map → pattern-overrides-controls.js.map} +0 -0
- /package/build-module/components/{patterns-manage-button.mjs.map → patterns-manage-button.js.map} +0 -0
- /package/build-module/components/{rename-pattern-category-modal.mjs.map → rename-pattern-category-modal.js.map} +0 -0
- /package/build-module/components/{rename-pattern-modal.mjs.map → rename-pattern-modal.js.map} +0 -0
- /package/build-module/components/{reset-overrides-control.mjs.map → reset-overrides-control.js.map} +0 -0
- /package/build-module/{index.mjs.map → index.js.map} +0 -0
- /package/build-module/{lock-unlock.mjs.map → lock-unlock.js.map} +0 -0
- /package/build-module/{private-hooks.mjs.map → private-hooks.js.map} +0 -0
- /package/build-module/store/{actions.mjs.map → actions.js.map} +0 -0
- /package/build-module/store/{constants.mjs.map → constants.js.map} +0 -0
- /package/build-module/store/{index.mjs.map → index.js.map} +0 -0
- /package/build-module/store/{reducer.mjs.map → reducer.js.map} +0 -0
- /package/build-module/store/{selectors.mjs.map → selectors.js.map} +0 -0
package/LICENSE.md
CHANGED
package/build/api/index.cjs
CHANGED
|
@@ -19,16 +19,29 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
// packages/patterns/src/api/index.js
|
|
20
20
|
var api_exports = {};
|
|
21
21
|
__export(api_exports, {
|
|
22
|
+
hasOverridableBlocks: () => hasOverridableBlocks,
|
|
22
23
|
isOverridableBlock: () => isOverridableBlock
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(api_exports);
|
|
26
|
+
var import_constants = require("../constants.cjs");
|
|
25
27
|
function isOverridableBlock(block) {
|
|
26
|
-
return
|
|
28
|
+
return Object.keys(import_constants.PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(
|
|
29
|
+
block.name
|
|
30
|
+
) && !!block.attributes.metadata?.name && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(
|
|
27
31
|
(binding) => binding.source === "core/pattern-overrides"
|
|
28
32
|
);
|
|
29
33
|
}
|
|
34
|
+
function hasOverridableBlocks(blocks) {
|
|
35
|
+
return blocks.some((block) => {
|
|
36
|
+
if (isOverridableBlock(block)) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
return hasOverridableBlocks(block.innerBlocks);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
30
42
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
43
|
0 && (module.exports = {
|
|
44
|
+
hasOverridableBlocks,
|
|
32
45
|
isOverridableBlock
|
|
33
46
|
});
|
|
34
47
|
//# sourceMappingURL=index.cjs.map
|
package/build/api/index.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/api/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\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\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"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
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
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -41,7 +41,7 @@ var import_notices = require("@wordpress/notices");
|
|
|
41
41
|
var import_core_data = require("@wordpress/core-data");
|
|
42
42
|
var import_constants = require("../constants.cjs");
|
|
43
43
|
var import_store = require("../store/index.cjs");
|
|
44
|
-
var import_category_selector = __toESM(require("./category-selector.cjs"));
|
|
44
|
+
var import_category_selector = __toESM(require("./category-selector.cjs"), 1);
|
|
45
45
|
var import_private_hooks = require("../private-hooks.cjs");
|
|
46
46
|
var import_lock_unlock = require("../lock-unlock.cjs");
|
|
47
47
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -37,7 +37,7 @@ var import_core_data = require("@wordpress/core-data");
|
|
|
37
37
|
var import_data = require("@wordpress/data");
|
|
38
38
|
var import_i18n = require("@wordpress/i18n");
|
|
39
39
|
var import_notices = require("@wordpress/notices");
|
|
40
|
-
var import_create_pattern_modal = __toESM(require("./create-pattern-modal.cjs"));
|
|
40
|
+
var import_create_pattern_modal = __toESM(require("./create-pattern-modal.cjs"), 1);
|
|
41
41
|
var import_constants = require("../constants.cjs");
|
|
42
42
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
43
43
|
function getTermLabels(pattern, categories) {
|
|
@@ -33,8 +33,8 @@ __export(components_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(components_exports);
|
|
35
35
|
var import_block_editor = require("@wordpress/block-editor");
|
|
36
|
-
var import_pattern_convert_button = __toESM(require("./pattern-convert-button.cjs"));
|
|
37
|
-
var import_patterns_manage_button = __toESM(require("./patterns-manage-button.cjs"));
|
|
36
|
+
var import_pattern_convert_button = __toESM(require("./pattern-convert-button.cjs"), 1);
|
|
37
|
+
var import_patterns_manage_button = __toESM(require("./patterns-manage-button.cjs"), 1);
|
|
38
38
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
39
|
function PatternsMenuItems({ rootClientId }) {
|
|
40
40
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockSettingsMenuControls, { children: ({ selectedClientIds, onClose }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
@@ -32,22 +32,17 @@ var import_lock_unlock = require("../lock-unlock.cjs");
|
|
|
32
32
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
33
|
var { BlockQuickNavigation } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
|
|
34
34
|
function OverridesPanel() {
|
|
35
|
-
const
|
|
36
|
-
(select) => (
|
|
37
|
-
allClientIds: select(import_block_editor.store).getClientIdsWithDescendants(),
|
|
38
|
-
supportedBlockTypes: Object.keys(
|
|
39
|
-
select(import_block_editor.store).getSettings()?.__experimentalBlockBindingsSupportedAttributes || {}
|
|
40
|
-
)
|
|
41
|
-
}),
|
|
35
|
+
const allClientIds = (0, import_data.useSelect)(
|
|
36
|
+
(select) => select(import_block_editor.store).getClientIdsWithDescendants(),
|
|
42
37
|
[]
|
|
43
38
|
);
|
|
44
39
|
const { getBlock } = (0, import_data.useSelect)(import_block_editor.store);
|
|
45
40
|
const clientIdsWithOverrides = (0, import_element.useMemo)(
|
|
46
41
|
() => allClientIds.filter((clientId) => {
|
|
47
42
|
const block = getBlock(clientId);
|
|
48
|
-
return
|
|
43
|
+
return (0, import_api.isOverridableBlock)(block);
|
|
49
44
|
}),
|
|
50
|
-
[allClientIds, getBlock
|
|
45
|
+
[allClientIds, getBlock]
|
|
51
46
|
);
|
|
52
47
|
if (!clientIdsWithOverrides?.length) {
|
|
53
48
|
return null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAGO;AACP,wBAA0B;AAC1B,kBAA0B;AAC1B,qBAAwB;AACxB,kBAAmB;AAKnB,iBAAmC;AACnC,yBAAuB;
|
|
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
6
|
"names": ["blockEditorPrivateApis", "blockEditorStore"]
|
|
7
7
|
}
|
|
@@ -42,7 +42,7 @@ var import_core_data = require("@wordpress/core-data");
|
|
|
42
42
|
var import_i18n = require("@wordpress/i18n");
|
|
43
43
|
var import_notices = require("@wordpress/notices");
|
|
44
44
|
var import_store = require("../store/index.cjs");
|
|
45
|
-
var import_create_pattern_modal = __toESM(require("./create-pattern-modal.cjs"));
|
|
45
|
+
var import_create_pattern_modal = __toESM(require("./create-pattern-modal.cjs"), 1);
|
|
46
46
|
var import_lock_unlock = require("../lock-unlock.cjs");
|
|
47
47
|
var import_constants = require("../constants.cjs");
|
|
48
48
|
var import_jsx_runtime = require("react/jsx-runtime");
|
package/build/constants.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
var constants_exports = {};
|
|
21
21
|
__export(constants_exports, {
|
|
22
22
|
EXCLUDED_PATTERN_SOURCES: () => EXCLUDED_PATTERN_SOURCES,
|
|
23
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS: () => PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
23
24
|
PATTERN_DEFAULT_CATEGORY: () => PATTERN_DEFAULT_CATEGORY,
|
|
24
25
|
PATTERN_OVERRIDES_BINDING_SOURCE: () => PATTERN_OVERRIDES_BINDING_SOURCE,
|
|
25
26
|
PATTERN_SYNC_TYPES: () => PATTERN_SYNC_TYPES,
|
|
@@ -42,10 +43,17 @@ var PATTERN_SYNC_TYPES = {
|
|
|
42
43
|
full: "fully",
|
|
43
44
|
unsynced: "unsynced"
|
|
44
45
|
};
|
|
46
|
+
var PARTIAL_SYNCING_SUPPORTED_BLOCKS = {
|
|
47
|
+
"core/paragraph": ["content"],
|
|
48
|
+
"core/heading": ["content"],
|
|
49
|
+
"core/button": ["text", "url", "linkTarget", "rel"],
|
|
50
|
+
"core/image": ["id", "url", "title", "alt", "caption"]
|
|
51
|
+
};
|
|
45
52
|
var PATTERN_OVERRIDES_BINDING_SOURCE = "core/pattern-overrides";
|
|
46
53
|
// Annotate the CommonJS export names for ESM import in node:
|
|
47
54
|
0 && (module.exports = {
|
|
48
55
|
EXCLUDED_PATTERN_SOURCES,
|
|
56
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
49
57
|
PATTERN_DEFAULT_CATEGORY,
|
|
50
58
|
PATTERN_OVERRIDES_BINDING_SOURCE,
|
|
51
59
|
PATTERN_SYNC_TYPES,
|
package/build/constants.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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": ";;;;;;;;;;;;;;;;;;;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;AAEO,IAAM,mCAAmC;",
|
|
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
6
|
"names": []
|
|
7
7
|
}
|
package/build/private-apis.cjs
CHANGED
|
@@ -33,15 +33,15 @@ __export(private_apis_exports, {
|
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(private_apis_exports);
|
|
35
35
|
var import_lock_unlock = require("./lock-unlock.cjs");
|
|
36
|
-
var import_overrides_panel = __toESM(require("./components/overrides-panel.cjs"));
|
|
37
|
-
var import_create_pattern_modal = __toESM(require("./components/create-pattern-modal.cjs"));
|
|
38
|
-
var import_duplicate_pattern_modal = __toESM(require("./components/duplicate-pattern-modal.cjs"));
|
|
36
|
+
var import_overrides_panel = __toESM(require("./components/overrides-panel.cjs"), 1);
|
|
37
|
+
var import_create_pattern_modal = __toESM(require("./components/create-pattern-modal.cjs"), 1);
|
|
38
|
+
var import_duplicate_pattern_modal = __toESM(require("./components/duplicate-pattern-modal.cjs"), 1);
|
|
39
39
|
var import_api = require("./api/index.cjs");
|
|
40
|
-
var import_rename_pattern_modal = __toESM(require("./components/rename-pattern-modal.cjs"));
|
|
41
|
-
var import_components = __toESM(require("./components/index.cjs"));
|
|
42
|
-
var import_rename_pattern_category_modal = __toESM(require("./components/rename-pattern-category-modal.cjs"));
|
|
43
|
-
var import_pattern_overrides_controls = __toESM(require("./components/pattern-overrides-controls.cjs"));
|
|
44
|
-
var import_reset_overrides_control = __toESM(require("./components/reset-overrides-control.cjs"));
|
|
40
|
+
var import_rename_pattern_modal = __toESM(require("./components/rename-pattern-modal.cjs"), 1);
|
|
41
|
+
var import_components = __toESM(require("./components/index.cjs"), 1);
|
|
42
|
+
var import_rename_pattern_category_modal = __toESM(require("./components/rename-pattern-category-modal.cjs"), 1);
|
|
43
|
+
var import_pattern_overrides_controls = __toESM(require("./components/pattern-overrides-controls.cjs"), 1);
|
|
44
|
+
var import_reset_overrides_control = __toESM(require("./components/reset-overrides-control.cjs"), 1);
|
|
45
45
|
var import_private_hooks = require("./private-hooks.cjs");
|
|
46
46
|
var import_constants = require("./constants.cjs");
|
|
47
47
|
var privateApis = {};
|
|
@@ -51,6 +51,7 @@ var privateApis = {};
|
|
|
51
51
|
CreatePatternModalContents: import_create_pattern_modal.CreatePatternModalContents,
|
|
52
52
|
DuplicatePatternModal: import_duplicate_pattern_modal.default,
|
|
53
53
|
isOverridableBlock: import_api.isOverridableBlock,
|
|
54
|
+
hasOverridableBlocks: import_api.hasOverridableBlocks,
|
|
54
55
|
useDuplicatePatternProps: import_duplicate_pattern_modal.useDuplicatePatternProps,
|
|
55
56
|
RenamePatternModal: import_rename_pattern_modal.default,
|
|
56
57
|
PatternsMenuItems: import_components.default,
|
|
@@ -62,7 +63,8 @@ var privateApis = {};
|
|
|
62
63
|
PATTERN_DEFAULT_CATEGORY: import_constants.PATTERN_DEFAULT_CATEGORY,
|
|
63
64
|
PATTERN_USER_CATEGORY: import_constants.PATTERN_USER_CATEGORY,
|
|
64
65
|
EXCLUDED_PATTERN_SOURCES: import_constants.EXCLUDED_PATTERN_SOURCES,
|
|
65
|
-
PATTERN_SYNC_TYPES: import_constants.PATTERN_SYNC_TYPES
|
|
66
|
+
PATTERN_SYNC_TYPES: import_constants.PATTERN_SYNC_TYPES,
|
|
67
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS: import_constants.PARTIAL_SYNCING_SUPPORTED_BLOCKS
|
|
66
68
|
});
|
|
67
69
|
// Annotate the CommonJS export names for ESM import in node:
|
|
68
70
|
0 && (module.exports = {
|
|
@@ -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 } 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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAqB;AACrB,6BAA2B;AAC3B,kCAGO;AACP,qCAGO;AACP,
|
|
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
6
|
"names": ["OverridesPanel", "CreatePatternModal", "DuplicatePatternModal", "RenamePatternModal", "PatternsMenuItems", "RenamePatternCategoryModal", "PatternOverridesControls", "ResetOverridesControl"]
|
|
7
7
|
}
|
package/build/store/index.cjs
CHANGED
|
@@ -34,10 +34,10 @@ __export(store_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(store_exports);
|
|
36
36
|
var import_data = require("@wordpress/data");
|
|
37
|
-
var import_reducer = __toESM(require("./reducer.cjs"));
|
|
38
|
-
var actions = __toESM(require("./actions.cjs"));
|
|
37
|
+
var import_reducer = __toESM(require("./reducer.cjs"), 1);
|
|
38
|
+
var actions = __toESM(require("./actions.cjs"), 1);
|
|
39
39
|
var import_constants = require("./constants.cjs");
|
|
40
|
-
var selectors = __toESM(require("./selectors.cjs"));
|
|
40
|
+
var selectors = __toESM(require("./selectors.cjs"), 1);
|
|
41
41
|
var import_lock_unlock = require("../lock-unlock.cjs");
|
|
42
42
|
var storeConfig = {
|
|
43
43
|
reducer: import_reducer.default
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// packages/patterns/src/api/index.js
|
|
2
|
+
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from "../constants.js";
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -16,11 +16,11 @@ import {
|
|
|
16
16
|
PATTERN_DEFAULT_CATEGORY,
|
|
17
17
|
PATTERN_SYNC_TYPES,
|
|
18
18
|
PATTERN_TYPES
|
|
19
|
-
} from "../constants.
|
|
20
|
-
import { store as patternsStore } from "../store/index.
|
|
21
|
-
import CategorySelector from "./category-selector.
|
|
22
|
-
import { useAddPatternCategory } from "../private-hooks.
|
|
23
|
-
import { unlock } from "../lock-unlock.
|
|
19
|
+
} from "../constants.js";
|
|
20
|
+
import { store as patternsStore } from "../store/index.js";
|
|
21
|
+
import CategorySelector from "./category-selector.js";
|
|
22
|
+
import { useAddPatternCategory } from "../private-hooks.js";
|
|
23
|
+
import { unlock } from "../lock-unlock.js";
|
|
24
24
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
25
25
|
function CreatePatternModal({
|
|
26
26
|
className = "patterns-menu-items__convert-modal",
|
|
@@ -168,4 +168,4 @@ export {
|
|
|
168
168
|
CreatePatternModalContents,
|
|
169
169
|
CreatePatternModal as default
|
|
170
170
|
};
|
|
171
|
-
//# sourceMappingURL=create-pattern-modal.
|
|
171
|
+
//# sourceMappingURL=create-pattern-modal.js.map
|
|
@@ -3,8 +3,8 @@ 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
|
-
import CreatePatternModal from "./create-pattern-modal.
|
|
7
|
-
import { PATTERN_SYNC_TYPES, PATTERN_TYPES } from "../constants.
|
|
6
|
+
import CreatePatternModal from "./create-pattern-modal.js";
|
|
7
|
+
import { PATTERN_SYNC_TYPES, PATTERN_TYPES } from "../constants.js";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
9
9
|
function getTermLabels(pattern, categories) {
|
|
10
10
|
if (pattern.type !== PATTERN_TYPES.user) {
|
|
@@ -77,4 +77,4 @@ export {
|
|
|
77
77
|
DuplicatePatternModal as default,
|
|
78
78
|
useDuplicatePatternProps
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=duplicate-pattern-modal.
|
|
80
|
+
//# sourceMappingURL=duplicate-pattern-modal.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// packages/patterns/src/components/index.js
|
|
2
2
|
import { BlockSettingsMenuControls } from "@wordpress/block-editor";
|
|
3
|
-
import PatternConvertButton from "./pattern-convert-button.
|
|
4
|
-
import PatternsManageButton from "./patterns-manage-button.
|
|
3
|
+
import PatternConvertButton from "./pattern-convert-button.js";
|
|
4
|
+
import PatternsManageButton from "./patterns-manage-button.js";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
function PatternsMenuItems({ rootClientId }) {
|
|
7
7
|
return /* @__PURE__ */ jsx(BlockSettingsMenuControls, { children: ({ selectedClientIds, onClose }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -24,4 +24,4 @@ function PatternsMenuItems({ rootClientId }) {
|
|
|
24
24
|
export {
|
|
25
25
|
PatternsMenuItems as default
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=index.
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -7,27 +7,22 @@ import { PanelBody } from "@wordpress/components";
|
|
|
7
7
|
import { useSelect } from "@wordpress/data";
|
|
8
8
|
import { useMemo } from "@wordpress/element";
|
|
9
9
|
import { __ } from "@wordpress/i18n";
|
|
10
|
-
import { isOverridableBlock } from "../api/index.
|
|
11
|
-
import { unlock } from "../lock-unlock.
|
|
10
|
+
import { isOverridableBlock } from "../api/index.js";
|
|
11
|
+
import { unlock } from "../lock-unlock.js";
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
13
|
var { BlockQuickNavigation } = unlock(blockEditorPrivateApis);
|
|
14
14
|
function OverridesPanel() {
|
|
15
|
-
const
|
|
16
|
-
(select) => (
|
|
17
|
-
allClientIds: select(blockEditorStore).getClientIdsWithDescendants(),
|
|
18
|
-
supportedBlockTypes: Object.keys(
|
|
19
|
-
select(blockEditorStore).getSettings()?.__experimentalBlockBindingsSupportedAttributes || {}
|
|
20
|
-
)
|
|
21
|
-
}),
|
|
15
|
+
const allClientIds = useSelect(
|
|
16
|
+
(select) => select(blockEditorStore).getClientIdsWithDescendants(),
|
|
22
17
|
[]
|
|
23
18
|
);
|
|
24
19
|
const { getBlock } = useSelect(blockEditorStore);
|
|
25
20
|
const clientIdsWithOverrides = useMemo(
|
|
26
21
|
() => allClientIds.filter((clientId) => {
|
|
27
22
|
const block = getBlock(clientId);
|
|
28
|
-
return
|
|
23
|
+
return isOverridableBlock(block);
|
|
29
24
|
}),
|
|
30
|
-
[allClientIds, getBlock
|
|
25
|
+
[allClientIds, getBlock]
|
|
31
26
|
);
|
|
32
27
|
if (!clientIdsWithOverrides?.length) {
|
|
33
28
|
return null;
|
|
@@ -37,4 +32,4 @@ function OverridesPanel() {
|
|
|
37
32
|
export {
|
|
38
33
|
OverridesPanel as default
|
|
39
34
|
};
|
|
40
|
-
//# sourceMappingURL=overrides-panel.
|
|
35
|
+
//# sourceMappingURL=overrides-panel.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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": ";AAGA;AAAA,EACC,eAAe;AAAA,EACf,SAAS;AAAA,OACH;AACP,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,UAAU;AAKnB,SAAS,0BAA0B;AACnC,SAAS,cAAc;AAyBpB;AAvBH,IAAM,EAAE,qBAAqB,IAAI,OAAQ,sBAAuB;AAEjD,SAAR,iBAAkC;AACxC,QAAM,eAAe;AAAA,IACpB,CAAE,WAAY,OAAQ,gBAAiB,EAAE,4BAA4B;AAAA,IACrE,CAAC;AAAA,EACF;AACA,QAAM,EAAE,SAAS,IAAI,UAAW,gBAAiB;AACjD,QAAM,yBAAyB;AAAA,IAC9B,MACC,aAAa,OAAQ,CAAE,aAAc;AACpC,YAAM,QAAQ,SAAU,QAAS;AACjC,aAAO,mBAAoB,KAAM;AAAA,IAClC,CAAE;AAAA,IACH,CAAE,cAAc,QAAS;AAAA,EAC1B;AAEA,MAAK,CAAE,wBAAwB,QAAS;AACvC,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,aAAU,OAAQ,GAAI,WAAY,GAClC,8BAAC,wBAAqB,WAAY,wBAAyB,GAC5D;AAEF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -14,10 +14,10 @@ import { useSelect, useDispatch } from "@wordpress/data";
|
|
|
14
14
|
import { store as coreStore } from "@wordpress/core-data";
|
|
15
15
|
import { __, sprintf } from "@wordpress/i18n";
|
|
16
16
|
import { store as noticesStore } from "@wordpress/notices";
|
|
17
|
-
import { store as patternsStore } from "../store/index.
|
|
18
|
-
import CreatePatternModal from "./create-pattern-modal.
|
|
19
|
-
import { unlock } from "../lock-unlock.
|
|
20
|
-
import { PATTERN_SYNC_TYPES } from "../constants.
|
|
17
|
+
import { store as patternsStore } from "../store/index.js";
|
|
18
|
+
import CreatePatternModal from "./create-pattern-modal.js";
|
|
19
|
+
import { unlock } from "../lock-unlock.js";
|
|
20
|
+
import { PATTERN_SYNC_TYPES } from "../constants.js";
|
|
21
21
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
22
22
|
function PatternConvertButton({
|
|
23
23
|
clientIds,
|
|
@@ -147,4 +147,4 @@ function PatternConvertButton({
|
|
|
147
147
|
export {
|
|
148
148
|
PatternConvertButton as default
|
|
149
149
|
};
|
|
150
|
-
//# sourceMappingURL=pattern-convert-button.
|
|
150
|
+
//# sourceMappingURL=pattern-convert-button.js.map
|
package/build-module/components/{pattern-overrides-controls.mjs → pattern-overrides-controls.js}
RENAMED
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
} from "@wordpress/block-editor";
|
|
7
7
|
import { BaseControl, Button } from "@wordpress/components";
|
|
8
8
|
import { __ } from "@wordpress/i18n";
|
|
9
|
-
import { PATTERN_OVERRIDES_BINDING_SOURCE } from "../constants.
|
|
9
|
+
import { PATTERN_OVERRIDES_BINDING_SOURCE } from "../constants.js";
|
|
10
10
|
import {
|
|
11
11
|
AllowOverridesModal,
|
|
12
12
|
DisallowOverridesModal
|
|
13
|
-
} from "./allow-overrides-modal.
|
|
13
|
+
} from "./allow-overrides-modal.js";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
function PatternOverridesControls({
|
|
16
16
|
attributes,
|
|
@@ -98,4 +98,4 @@ var pattern_overrides_controls_default = PatternOverridesControls;
|
|
|
98
98
|
export {
|
|
99
99
|
pattern_overrides_controls_default as default
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=pattern-overrides-controls.
|
|
101
|
+
//# sourceMappingURL=pattern-overrides-controls.js.map
|
|
@@ -6,8 +6,8 @@ import { useSelect, useDispatch } from "@wordpress/data";
|
|
|
6
6
|
import { store as blockEditorStore } from "@wordpress/block-editor";
|
|
7
7
|
import { addQueryArgs } from "@wordpress/url";
|
|
8
8
|
import { store as coreStore } from "@wordpress/core-data";
|
|
9
|
-
import { store as patternsStore } from "../store/index.
|
|
10
|
-
import { unlock } from "../lock-unlock.
|
|
9
|
+
import { store as patternsStore } from "../store/index.js";
|
|
10
|
+
import { unlock } from "../lock-unlock.js";
|
|
11
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
function PatternsManageButton({ clientId }) {
|
|
13
13
|
const {
|
|
@@ -87,4 +87,4 @@ var patterns_manage_button_default = PatternsManageButton;
|
|
|
87
87
|
export {
|
|
88
88
|
patterns_manage_button_default as default
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=patterns-manage-button.
|
|
90
|
+
//# sourceMappingURL=patterns-manage-button.js.map
|
|
@@ -13,7 +13,7 @@ import { decodeEntities } from "@wordpress/html-entities";
|
|
|
13
13
|
import { __ } from "@wordpress/i18n";
|
|
14
14
|
import { store as noticesStore } from "@wordpress/notices";
|
|
15
15
|
import { speak } from "@wordpress/a11y";
|
|
16
|
-
import { CATEGORY_SLUG } from "./category-selector.
|
|
16
|
+
import { CATEGORY_SLUG } from "./category-selector.js";
|
|
17
17
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
18
18
|
function RenamePatternCategoryModal({
|
|
19
19
|
category,
|
|
@@ -151,4 +151,4 @@ function RenamePatternCategoryModal({
|
|
|
151
151
|
export {
|
|
152
152
|
RenamePatternCategoryModal as default
|
|
153
153
|
};
|
|
154
|
-
//# sourceMappingURL=rename-pattern-category-modal.
|
|
154
|
+
//# sourceMappingURL=rename-pattern-category-modal.js.map
|
|
@@ -14,13 +14,20 @@ 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
|
+
};
|
|
17
23
|
var PATTERN_OVERRIDES_BINDING_SOURCE = "core/pattern-overrides";
|
|
18
24
|
export {
|
|
19
25
|
EXCLUDED_PATTERN_SOURCES,
|
|
26
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
20
27
|
PATTERN_DEFAULT_CATEGORY,
|
|
21
28
|
PATTERN_OVERRIDES_BINDING_SOURCE,
|
|
22
29
|
PATTERN_SYNC_TYPES,
|
|
23
30
|
PATTERN_TYPES,
|
|
24
31
|
PATTERN_USER_CATEGORY
|
|
25
32
|
};
|
|
26
|
-
//# sourceMappingURL=constants.
|
|
33
|
+
//# sourceMappingURL=constants.js.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\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": ";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,28 +1,29 @@
|
|
|
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.js";
|
|
3
|
+
import OverridesPanel from "./components/overrides-panel.js";
|
|
4
4
|
import {
|
|
5
5
|
default as CreatePatternModal,
|
|
6
6
|
CreatePatternModalContents
|
|
7
|
-
} from "./components/create-pattern-modal.
|
|
7
|
+
} from "./components/create-pattern-modal.js";
|
|
8
8
|
import {
|
|
9
9
|
default as DuplicatePatternModal,
|
|
10
10
|
useDuplicatePatternProps
|
|
11
|
-
} from "./components/duplicate-pattern-modal.
|
|
12
|
-
import { isOverridableBlock } from "./api/index.
|
|
13
|
-
import RenamePatternModal from "./components/rename-pattern-modal.
|
|
14
|
-
import PatternsMenuItems from "./components/index.
|
|
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.js";
|
|
12
|
+
import { isOverridableBlock, hasOverridableBlocks } from "./api/index.js";
|
|
13
|
+
import RenamePatternModal from "./components/rename-pattern-modal.js";
|
|
14
|
+
import PatternsMenuItems from "./components/index.js";
|
|
15
|
+
import RenamePatternCategoryModal from "./components/rename-pattern-category-modal.js";
|
|
16
|
+
import PatternOverridesControls from "./components/pattern-overrides-controls.js";
|
|
17
|
+
import ResetOverridesControl from "./components/reset-overrides-control.js";
|
|
18
|
+
import { useAddPatternCategory } from "./private-hooks.js";
|
|
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
|
-
|
|
24
|
+
PATTERN_SYNC_TYPES,
|
|
25
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS
|
|
26
|
+
} from "./constants.js";
|
|
26
27
|
var privateApis = {};
|
|
27
28
|
lock(privateApis, {
|
|
28
29
|
OverridesPanel,
|
|
@@ -30,6 +31,7 @@ lock(privateApis, {
|
|
|
30
31
|
CreatePatternModalContents,
|
|
31
32
|
DuplicatePatternModal,
|
|
32
33
|
isOverridableBlock,
|
|
34
|
+
hasOverridableBlocks,
|
|
33
35
|
useDuplicatePatternProps,
|
|
34
36
|
RenamePatternModal,
|
|
35
37
|
PatternsMenuItems,
|
|
@@ -41,9 +43,10 @@ lock(privateApis, {
|
|
|
41
43
|
PATTERN_DEFAULT_CATEGORY,
|
|
42
44
|
PATTERN_USER_CATEGORY,
|
|
43
45
|
EXCLUDED_PATTERN_SOURCES,
|
|
44
|
-
PATTERN_SYNC_TYPES
|
|
46
|
+
PATTERN_SYNC_TYPES,
|
|
47
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS
|
|
45
48
|
});
|
|
46
49
|
export {
|
|
47
50
|
privateApis
|
|
48
51
|
};
|
|
49
|
-
//# sourceMappingURL=private-apis.
|
|
52
|
+
//# sourceMappingURL=private-apis.js.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, 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": ";AAGA,SAAS,YAAY;AACrB,OAAO,oBAAoB;AAC3B;AAAA,EACC,WAAW;AAAA,EACX;AAAA,OACM;AACP;AAAA,EACC,WAAW;AAAA,EACX;AAAA,OACM;AACP,SAAS,oBAAoB,4BAA4B;AACzD,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,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;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.js";
|
|
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.js.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.js";
|
|
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.js.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.js";
|
|
4
|
+
import * as actions from "./actions.js";
|
|
5
|
+
import { STORE_NAME } from "./constants.js";
|
|
6
|
+
import * as selectors from "./selectors.js";
|
|
7
|
+
import { unlock } from "../lock-unlock.js";
|
|
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.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/patterns",
|
|
3
|
-
"version": "2.36.1-next.
|
|
3
|
+
"version": "2.36.1-next.8fd3f8831.0",
|
|
4
4
|
"description": "Management of user pattern editing.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -30,11 +30,12 @@
|
|
|
30
30
|
"build-types",
|
|
31
31
|
"*.md"
|
|
32
32
|
],
|
|
33
|
+
"type": "module",
|
|
33
34
|
"main": "build/index.cjs",
|
|
34
|
-
"module": "build-module/index.
|
|
35
|
+
"module": "build-module/index.js",
|
|
35
36
|
"exports": {
|
|
36
37
|
".": {
|
|
37
|
-
"import": "./build-module/index.
|
|
38
|
+
"import": "./build-module/index.js",
|
|
38
39
|
"require": "./build/index.cjs"
|
|
39
40
|
},
|
|
40
41
|
"./package.json": "./package.json"
|
|
@@ -48,25 +49,25 @@
|
|
|
48
49
|
"src/store/index.js",
|
|
49
50
|
"build/index.cjs",
|
|
50
51
|
"build/store/index.cjs",
|
|
51
|
-
"build-module/index.
|
|
52
|
-
"build-module/store/index.
|
|
52
|
+
"build-module/index.js",
|
|
53
|
+
"build-module/store/index.js"
|
|
53
54
|
],
|
|
54
55
|
"dependencies": {
|
|
55
|
-
"@wordpress/a11y": "^4.36.1-next.
|
|
56
|
-
"@wordpress/base-styles": "^6.12.
|
|
57
|
-
"@wordpress/block-editor": "^15.9.1-next.
|
|
58
|
-
"@wordpress/blocks": "^15.9.1-next.
|
|
59
|
-
"@wordpress/components": "^31.0.1-next.
|
|
60
|
-
"@wordpress/compose": "^7.36.1-next.
|
|
61
|
-
"@wordpress/core-data": "^7.36.1-next.
|
|
62
|
-
"@wordpress/data": "^10.36.1-next.
|
|
63
|
-
"@wordpress/element": "^6.36.1-next.
|
|
64
|
-
"@wordpress/html-entities": "^4.36.1-next.
|
|
65
|
-
"@wordpress/i18n": "^6.9.1-next.
|
|
66
|
-
"@wordpress/icons": "^11.3.1-next.
|
|
67
|
-
"@wordpress/notices": "^5.36.1-next.
|
|
68
|
-
"@wordpress/private-apis": "^1.36.1-next.
|
|
69
|
-
"@wordpress/url": "^4.36.1-next.
|
|
56
|
+
"@wordpress/a11y": "^4.36.1-next.8fd3f8831.0",
|
|
57
|
+
"@wordpress/base-styles": "^6.12.1-next.8fd3f8831.0",
|
|
58
|
+
"@wordpress/block-editor": "^15.9.1-next.8fd3f8831.0",
|
|
59
|
+
"@wordpress/blocks": "^15.9.1-next.8fd3f8831.0",
|
|
60
|
+
"@wordpress/components": "^31.0.1-next.8fd3f8831.0",
|
|
61
|
+
"@wordpress/compose": "^7.36.1-next.8fd3f8831.0",
|
|
62
|
+
"@wordpress/core-data": "^7.36.1-next.8fd3f8831.0",
|
|
63
|
+
"@wordpress/data": "^10.36.1-next.8fd3f8831.0",
|
|
64
|
+
"@wordpress/element": "^6.36.1-next.8fd3f8831.0",
|
|
65
|
+
"@wordpress/html-entities": "^4.36.1-next.8fd3f8831.0",
|
|
66
|
+
"@wordpress/i18n": "^6.9.1-next.8fd3f8831.0",
|
|
67
|
+
"@wordpress/icons": "^11.3.1-next.8fd3f8831.0",
|
|
68
|
+
"@wordpress/notices": "^5.36.1-next.8fd3f8831.0",
|
|
69
|
+
"@wordpress/private-apis": "^1.36.1-next.8fd3f8831.0",
|
|
70
|
+
"@wordpress/url": "^4.36.1-next.8fd3f8831.0"
|
|
70
71
|
},
|
|
71
72
|
"peerDependencies": {
|
|
72
73
|
"react": "^18.0.0",
|
|
@@ -75,5 +76,5 @@
|
|
|
75
76
|
"publishConfig": {
|
|
76
77
|
"access": "public"
|
|
77
78
|
},
|
|
78
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "e582b351bc4c4b8734bb087f63a3beec9875c3c7"
|
|
79
80
|
}
|
package/src/api/index.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* Determines whether a block is overridable.
|
|
3
8
|
*
|
|
@@ -7,6 +12,9 @@
|
|
|
7
12
|
*/
|
|
8
13
|
export function isOverridableBlock( block ) {
|
|
9
14
|
return (
|
|
15
|
+
Object.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(
|
|
16
|
+
block.name
|
|
17
|
+
) &&
|
|
10
18
|
!! block.attributes.metadata?.name &&
|
|
11
19
|
!! block.attributes.metadata?.bindings &&
|
|
12
20
|
Object.values( block.attributes.metadata.bindings ).some(
|
|
@@ -14,3 +22,19 @@ export function isOverridableBlock( block ) {
|
|
|
14
22
|
)
|
|
15
23
|
);
|
|
16
24
|
}
|
|
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
|
+
}
|
|
@@ -19,15 +19,8 @@ import { unlock } from '../lock-unlock';
|
|
|
19
19
|
const { BlockQuickNavigation } = unlock( blockEditorPrivateApis );
|
|
20
20
|
|
|
21
21
|
export default function OverridesPanel() {
|
|
22
|
-
const
|
|
23
|
-
( select ) => (
|
|
24
|
-
allClientIds:
|
|
25
|
-
select( blockEditorStore ).getClientIdsWithDescendants(),
|
|
26
|
-
supportedBlockTypes: Object.keys(
|
|
27
|
-
select( blockEditorStore ).getSettings()
|
|
28
|
-
?.__experimentalBlockBindingsSupportedAttributes || {}
|
|
29
|
-
),
|
|
30
|
-
} ),
|
|
22
|
+
const allClientIds = useSelect(
|
|
23
|
+
( select ) => select( blockEditorStore ).getClientIdsWithDescendants(),
|
|
31
24
|
[]
|
|
32
25
|
);
|
|
33
26
|
const { getBlock } = useSelect( blockEditorStore );
|
|
@@ -35,12 +28,9 @@ export default function OverridesPanel() {
|
|
|
35
28
|
() =>
|
|
36
29
|
allClientIds.filter( ( clientId ) => {
|
|
37
30
|
const block = getBlock( clientId );
|
|
38
|
-
return (
|
|
39
|
-
supportedBlockTypes.includes( block.name ) &&
|
|
40
|
-
isOverridableBlock( block )
|
|
41
|
-
);
|
|
31
|
+
return isOverridableBlock( block );
|
|
42
32
|
} ),
|
|
43
|
-
[ allClientIds, getBlock
|
|
33
|
+
[ allClientIds, getBlock ]
|
|
44
34
|
);
|
|
45
35
|
|
|
46
36
|
if ( ! clientIdsWithOverrides?.length ) {
|
package/src/constants.js
CHANGED
|
@@ -15,4 +15,12 @@ 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
|
+
|
|
18
26
|
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 } from './api';
|
|
14
|
+
import { isOverridableBlock, hasOverridableBlocks } 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,6 +24,7 @@ import {
|
|
|
24
24
|
PATTERN_USER_CATEGORY,
|
|
25
25
|
EXCLUDED_PATTERN_SOURCES,
|
|
26
26
|
PATTERN_SYNC_TYPES,
|
|
27
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
27
28
|
} from './constants';
|
|
28
29
|
|
|
29
30
|
export const privateApis = {};
|
|
@@ -33,6 +34,7 @@ lock( privateApis, {
|
|
|
33
34
|
CreatePatternModalContents,
|
|
34
35
|
DuplicatePatternModal,
|
|
35
36
|
isOverridableBlock,
|
|
37
|
+
hasOverridableBlocks,
|
|
36
38
|
useDuplicatePatternProps,
|
|
37
39
|
RenamePatternModal,
|
|
38
40
|
PatternsMenuItems,
|
|
@@ -45,4 +47,5 @@ lock( privateApis, {
|
|
|
45
47
|
PATTERN_USER_CATEGORY,
|
|
46
48
|
EXCLUDED_PATTERN_SOURCES,
|
|
47
49
|
PATTERN_SYNC_TYPES,
|
|
50
|
+
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
48
51
|
} );
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// packages/patterns/src/api/index.js
|
|
2
|
-
function isOverridableBlock(block) {
|
|
3
|
-
return !!block.attributes.metadata?.name && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(
|
|
4
|
-
(binding) => binding.source === "core/pattern-overrides"
|
|
5
|
-
);
|
|
6
|
-
}
|
|
7
|
-
export {
|
|
8
|
-
isOverridableBlock
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/api/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\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\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"],
|
|
5
|
-
"mappings": ";AAOO,SAAS,mBAAoB,OAAQ;AAC3C,SACC,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;",
|
|
6
|
-
"names": []
|
|
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, supportedBlockTypes } = useSelect(\n\t\t( select ) => ( {\n\t\t\tallClientIds:\n\t\t\t\tselect( blockEditorStore ).getClientIdsWithDescendants(),\n\t\t\tsupportedBlockTypes: Object.keys(\n\t\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t\t?.__experimentalBlockBindingsSupportedAttributes || {}\n\t\t\t),\n\t\t} ),\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 (\n\t\t\t\t\tsupportedBlockTypes.includes( block.name ) &&\n\t\t\t\t\tisOverridableBlock( block )\n\t\t\t\t);\n\t\t\t} ),\n\t\t[ allClientIds, getBlock, supportedBlockTypes ]\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": ";AAGA;AAAA,EACC,eAAe;AAAA,EACf,SAAS;AAAA,OACH;AACP,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,UAAU;AAKnB,SAAS,0BAA0B;AACnC,SAAS,cAAc;AAmCpB;AAjCH,IAAM,EAAE,qBAAqB,IAAI,OAAQ,sBAAuB;AAEjD,SAAR,iBAAkC;AACxC,QAAM,EAAE,cAAc,oBAAoB,IAAI;AAAA,IAC7C,CAAE,YAAc;AAAA,MACf,cACC,OAAQ,gBAAiB,EAAE,4BAA4B;AAAA,MACxD,qBAAqB,OAAO;AAAA,QAC3B,OAAQ,gBAAiB,EAAE,YAAY,GACpC,kDAAkD,CAAC;AAAA,MACvD;AAAA,IACD;AAAA,IACA,CAAC;AAAA,EACF;AACA,QAAM,EAAE,SAAS,IAAI,UAAW,gBAAiB;AACjD,QAAM,yBAAyB;AAAA,IAC9B,MACC,aAAa,OAAQ,CAAE,aAAc;AACpC,YAAM,QAAQ,SAAU,QAAS;AACjC,aACC,oBAAoB,SAAU,MAAM,IAAK,KACzC,mBAAoB,KAAM;AAAA,IAE5B,CAAE;AAAA,IACH,CAAE,cAAc,UAAU,mBAAoB;AAAA,EAC/C;AAEA,MAAK,CAAE,wBAAwB,QAAS;AACvC,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,aAAU,OAAQ,GAAI,WAAY,GAClC,8BAAC,wBAAqB,WAAY,wBAAyB,GAC5D;AAEF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -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\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
|
-
}
|
package/build-module/index.mjs
DELETED
|
@@ -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 } 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
|
-
}
|
/package/build-module/components/{allow-overrides-modal.mjs.map → allow-overrides-modal.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/build-module/components/{create-pattern-modal.mjs.map → create-pattern-modal.js.map}
RENAMED
|
File without changes
|
/package/build-module/components/{duplicate-pattern-modal.mjs.map → duplicate-pattern-modal.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/build-module/components/{pattern-convert-button.mjs.map → pattern-convert-button.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/build-module/components/{patterns-manage-button.mjs.map → patterns-manage-button.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/build-module/components/{rename-pattern-modal.mjs.map → rename-pattern-modal.js.map}
RENAMED
|
File without changes
|
/package/build-module/components/{reset-overrides-control.mjs.map → reset-overrides-control.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|