@wordpress/patterns 1.15.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/api/index.js +22 -0
- package/build/api/index.js.map +1 -0
- package/build/components/overrides-panel.js +44 -0
- package/build/components/overrides-panel.js.map +1 -0
- package/build/private-apis.js +4 -0
- package/build/private-apis.js.map +1 -1
- package/build-module/api/index.js +16 -0
- package/build-module/api/index.js.map +1 -0
- package/build-module/components/overrides-panel.js +37 -0
- package/build-module/components/overrides-panel.js.map +1 -0
- package/build-module/private-apis.js +4 -0
- package/build-module/private-apis.js.map +1 -1
- package/package.json +16 -16
- package/src/api/index.js +23 -0
- package/src/components/overrides-panel.js +45 -0
- package/src/private-apis.js +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isOverridableBlock = isOverridableBlock;
|
|
7
|
+
var _constants = require("../constants");
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Determines whether a block is overridable.
|
|
14
|
+
*
|
|
15
|
+
* @param {WPBlock} block The block to test.
|
|
16
|
+
*
|
|
17
|
+
* @return {boolean} `true` if a block is overridable, `false` otherwise.
|
|
18
|
+
*/
|
|
19
|
+
function isOverridableBlock(block) {
|
|
20
|
+
return Object.keys(_constants.PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(block.name) && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(binding => binding.source === 'core/pattern-overrides');
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_constants","require","isOverridableBlock","block","Object","keys","PARTIAL_SYNCING_SUPPORTED_BLOCKS","includes","name","attributes","metadata","bindings","values","some","binding","source"],"sources":["@wordpress/patterns/src/api/index.js"],"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?.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"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAEC,KAAK,EAAG;EAC3C,OACCC,MAAM,CAACC,IAAI,CAAEC,2CAAiC,CAAC,CAACC,QAAQ,CACvDJ,KAAK,CAACK,IACP,CAAC,IACD,CAAC,CAAEL,KAAK,CAACM,UAAU,CAACC,QAAQ,EAAEC,QAAQ,IACtCP,MAAM,CAACQ,MAAM,CAAET,KAAK,CAACM,UAAU,CAACC,QAAQ,CAACC,QAAS,CAAC,CAACE,IAAI,CACrDC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;AAEH"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = OverridesPanel;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
var _data = require("@wordpress/data");
|
|
11
|
+
var _element = require("@wordpress/element");
|
|
12
|
+
var _i18n = require("@wordpress/i18n");
|
|
13
|
+
var _api = require("../api");
|
|
14
|
+
var _lockUnlock = require("../lock-unlock");
|
|
15
|
+
/**
|
|
16
|
+
* WordPress dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
const {
|
|
24
|
+
BlockQuickNavigation
|
|
25
|
+
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
26
|
+
function OverridesPanel() {
|
|
27
|
+
const allClientIds = (0, _data.useSelect)(select => select(_blockEditor.store).getClientIdsWithDescendants(), []);
|
|
28
|
+
const {
|
|
29
|
+
getBlock
|
|
30
|
+
} = (0, _data.useSelect)(_blockEditor.store);
|
|
31
|
+
const clientIdsWithOverrides = (0, _element.useMemo)(() => allClientIds.filter(clientId => {
|
|
32
|
+
const block = getBlock(clientId);
|
|
33
|
+
return (0, _api.isOverridableBlock)(block);
|
|
34
|
+
}), [allClientIds, getBlock]);
|
|
35
|
+
if (!clientIdsWithOverrides?.length) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return (0, _react.createElement)(_components.PanelBody, {
|
|
39
|
+
title: (0, _i18n.__)('Overrides')
|
|
40
|
+
}, (0, _react.createElement)(BlockQuickNavigation, {
|
|
41
|
+
clientIds: clientIdsWithOverrides
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=overrides-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_components","_data","_element","_i18n","_api","_lockUnlock","BlockQuickNavigation","unlock","blockEditorPrivateApis","OverridesPanel","allClientIds","useSelect","select","blockEditorStore","getClientIdsWithDescendants","getBlock","clientIdsWithOverrides","useMemo","filter","clientId","block","isOverridableBlock","length","_react","createElement","PanelBody","title","__","clientIds"],"sources":["@wordpress/patterns/src/components/overrides-panel.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,IAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAhBA;AACA;AACA;;AAUA;AACA;AACA;;AAIA,MAAM;EAAEO;AAAqB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAElD,SAASC,cAAcA,CAAA,EAAG;EACxC,MAAMC,YAAY,GAAG,IAAAC,eAAS,EAC3BC,MAAM,IAAMA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,2BAA2B,CAAC,CAAC,EACtE,EACD,CAAC;EACD,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAJ,eAAS,EAAEE,kBAAiB,CAAC;EAClD,MAAMG,sBAAsB,GAAG,IAAAC,gBAAO,EACrC,MACCP,YAAY,CAACQ,MAAM,CAAIC,QAAQ,IAAM;IACpC,MAAMC,KAAK,GAAGL,QAAQ,CAAEI,QAAS,CAAC;IAClC,OAAO,IAAAE,uBAAkB,EAAED,KAAM,CAAC;EACnC,CAAE,CAAC,EACJ,CAAEV,YAAY,EAAEK,QAAQ,CACzB,CAAC;EAED,IAAK,CAAEC,sBAAsB,EAAEM,MAAM,EAAG;IACvC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAAyB,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,WAAY;EAAG,GACrC,IAAAJ,MAAA,CAAAC,aAAA,EAAClB,oBAAoB;IAACsB,SAAS,EAAGZ;EAAwB,CAAE,CAClD,CAAC;AAEd"}
|
package/build/private-apis.js
CHANGED
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.privateApis = void 0;
|
|
8
8
|
var _lockUnlock = require("./lock-unlock");
|
|
9
|
+
var _overridesPanel = _interopRequireDefault(require("./components/overrides-panel"));
|
|
9
10
|
var _createPatternModal = _interopRequireWildcard(require("./components/create-pattern-modal"));
|
|
10
11
|
var _duplicatePatternModal = _interopRequireWildcard(require("./components/duplicate-pattern-modal"));
|
|
12
|
+
var _api = require("./api");
|
|
11
13
|
var _renamePatternModal = _interopRequireDefault(require("./components/rename-pattern-modal"));
|
|
12
14
|
var _components = _interopRequireDefault(require("./components"));
|
|
13
15
|
var _renamePatternCategoryModal = _interopRequireDefault(require("./components/rename-pattern-category-modal"));
|
|
@@ -23,9 +25,11 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
23
25
|
|
|
24
26
|
const privateApis = exports.privateApis = {};
|
|
25
27
|
(0, _lockUnlock.lock)(privateApis, {
|
|
28
|
+
OverridesPanel: _overridesPanel.default,
|
|
26
29
|
CreatePatternModal: _createPatternModal.default,
|
|
27
30
|
CreatePatternModalContents: _createPatternModal.CreatePatternModalContents,
|
|
28
31
|
DuplicatePatternModal: _duplicatePatternModal.default,
|
|
32
|
+
isOverridableBlock: _api.isOverridableBlock,
|
|
29
33
|
useDuplicatePatternProps: _duplicatePatternModal.useDuplicatePatternProps,
|
|
30
34
|
RenamePatternModal: _renamePatternModal.default,
|
|
31
35
|
PatternsMenuItems: _components.default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lockUnlock","require","_createPatternModal","_interopRequireWildcard","_duplicatePatternModal","
|
|
1
|
+
{"version":3,"names":["_lockUnlock","require","_overridesPanel","_interopRequireDefault","_createPatternModal","_interopRequireWildcard","_duplicatePatternModal","_api","_renamePatternModal","_components","_renamePatternCategoryModal","_useSetPatternBindings","_resetOverridesControl","_privateHooks","_constants","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","privateApis","exports","lock","OverridesPanel","CreatePatternModal","CreatePatternModalContents","DuplicatePatternModal","isOverridableBlock","useDuplicatePatternProps","RenamePatternModal","PatternsMenuItems","RenamePatternCategoryModal","useSetPatternBindings","ResetOverridesControl","useAddPatternCategory","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","EXCLUDED_PATTERN_SOURCES","PATTERN_SYNC_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS"],"sources":["@wordpress/patterns/src/private-apis.js"],"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 useSetPatternBindings from './components/use-set-pattern-bindings';\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\tuseDuplicatePatternProps,\n\tRenamePatternModal,\n\tPatternsMenuItems,\n\tRenamePatternCategoryModal,\n\tuseSetPatternBindings,\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"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAIA,IAAAK,sBAAA,GAAAD,uBAAA,CAAAJ,OAAA;AAIA,IAAAM,IAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,WAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,2BAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,sBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,sBAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,aAAA,GAAAZ,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AAOqB,SAAAc,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AA3BrB;AACA;AACA;;AA2BO,MAAMY,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,CAAC,CAAC;AAC7B,IAAAE,gBAAI,EAAEF,WAAW,EAAE;EAClBG,cAAc,EAAdA,uBAAc;EACdC,kBAAkB,EAAlBA,2BAAkB;EAClBC,0BAA0B,EAA1BA,8CAA0B;EAC1BC,qBAAqB,EAArBA,8BAAqB;EACrBC,kBAAkB,EAAlBA,uBAAkB;EAClBC,wBAAwB,EAAxBA,+CAAwB;EACxBC,kBAAkB,EAAlBA,2BAAkB;EAClBC,iBAAiB,EAAjBA,mBAAiB;EACjBC,0BAA0B,EAA1BA,mCAA0B;EAC1BC,qBAAqB,EAArBA,8BAAqB;EACrBC,qBAAqB,EAArBA,8BAAqB;EACrBC,qBAAqB,EAArBA,mCAAqB;EACrBC,aAAa,EAAbA,wBAAa;EACbC,wBAAwB,EAAxBA,mCAAwB;EACxBC,qBAAqB,EAArBA,gCAAqB;EACrBC,wBAAwB,EAAxBA,mCAAwB;EACxBC,kBAAkB,EAAlBA,6BAAkB;EAClBC,gCAAgC,EAAhCA;AACD,CAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Determines whether a block is overridable.
|
|
8
|
+
*
|
|
9
|
+
* @param {WPBlock} block The block to test.
|
|
10
|
+
*
|
|
11
|
+
* @return {boolean} `true` if a block is overridable, `false` otherwise.
|
|
12
|
+
*/
|
|
13
|
+
export function isOverridableBlock(block) {
|
|
14
|
+
return Object.keys(PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(block.name) && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(binding => binding.source === 'core/pattern-overrides');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PARTIAL_SYNCING_SUPPORTED_BLOCKS","isOverridableBlock","block","Object","keys","includes","name","attributes","metadata","bindings","values","some","binding","source"],"sources":["@wordpress/patterns/src/api/index.js"],"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?.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"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gCAAgC,QAAQ,cAAc;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAEC,KAAK,EAAG;EAC3C,OACCC,MAAM,CAACC,IAAI,CAAEJ,gCAAiC,CAAC,CAACK,QAAQ,CACvDH,KAAK,CAACI,IACP,CAAC,IACD,CAAC,CAAEJ,KAAK,CAACK,UAAU,CAACC,QAAQ,EAAEC,QAAQ,IACtCN,MAAM,CAACO,MAAM,CAAER,KAAK,CAACK,UAAU,CAACC,QAAQ,CAACC,QAAS,CAAC,CAACE,IAAI,CACrDC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;AAEH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
|
|
6
|
+
import { PanelBody } from '@wordpress/components';
|
|
7
|
+
import { useSelect } from '@wordpress/data';
|
|
8
|
+
import { useMemo } from '@wordpress/element';
|
|
9
|
+
import { __ } from '@wordpress/i18n';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import { isOverridableBlock } from '../api';
|
|
15
|
+
import { unlock } from '../lock-unlock';
|
|
16
|
+
const {
|
|
17
|
+
BlockQuickNavigation
|
|
18
|
+
} = unlock(blockEditorPrivateApis);
|
|
19
|
+
export default function OverridesPanel() {
|
|
20
|
+
const allClientIds = useSelect(select => select(blockEditorStore).getClientIdsWithDescendants(), []);
|
|
21
|
+
const {
|
|
22
|
+
getBlock
|
|
23
|
+
} = useSelect(blockEditorStore);
|
|
24
|
+
const clientIdsWithOverrides = useMemo(() => allClientIds.filter(clientId => {
|
|
25
|
+
const block = getBlock(clientId);
|
|
26
|
+
return isOverridableBlock(block);
|
|
27
|
+
}), [allClientIds, getBlock]);
|
|
28
|
+
if (!clientIdsWithOverrides?.length) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return createElement(PanelBody, {
|
|
32
|
+
title: __('Overrides')
|
|
33
|
+
}, createElement(BlockQuickNavigation, {
|
|
34
|
+
clientIds: clientIdsWithOverrides
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=overrides-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","store","blockEditorStore","PanelBody","useSelect","useMemo","__","isOverridableBlock","unlock","BlockQuickNavigation","OverridesPanel","allClientIds","select","getClientIdsWithDescendants","getBlock","clientIdsWithOverrides","filter","clientId","block","length","createElement","title","clientIds"],"sources":["@wordpress/patterns/src/components/overrides-panel.js"],"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"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,WAAW,IAAIC,sBAAsB,EACrCC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,kBAAkB,QAAQ,QAAQ;AAC3C,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,MAAM;EAAEC;AAAqB,CAAC,GAAGD,MAAM,CAAER,sBAAuB,CAAC;AAEjE,eAAe,SAASU,cAAcA,CAAA,EAAG;EACxC,MAAMC,YAAY,GAAGP,SAAS,CAC3BQ,MAAM,IAAMA,MAAM,CAAEV,gBAAiB,CAAC,CAACW,2BAA2B,CAAC,CAAC,EACtE,EACD,CAAC;EACD,MAAM;IAAEC;EAAS,CAAC,GAAGV,SAAS,CAAEF,gBAAiB,CAAC;EAClD,MAAMa,sBAAsB,GAAGV,OAAO,CACrC,MACCM,YAAY,CAACK,MAAM,CAAIC,QAAQ,IAAM;IACpC,MAAMC,KAAK,GAAGJ,QAAQ,CAAEG,QAAS,CAAC;IAClC,OAAOV,kBAAkB,CAAEW,KAAM,CAAC;EACnC,CAAE,CAAC,EACJ,CAAEP,YAAY,EAAEG,QAAQ,CACzB,CAAC;EAED,IAAK,CAAEC,sBAAsB,EAAEI,MAAM,EAAG;IACvC,OAAO,IAAI;EACZ;EAEA,OACCC,aAAA,CAACjB,SAAS;IAACkB,KAAK,EAAGf,EAAE,CAAE,WAAY;EAAG,GACrCc,aAAA,CAACX,oBAAoB;IAACa,SAAS,EAAGP;EAAwB,CAAE,CAClD,CAAC;AAEd"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* Internal dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { lock } from './lock-unlock';
|
|
5
|
+
import OverridesPanel from './components/overrides-panel';
|
|
5
6
|
import { default as CreatePatternModal, CreatePatternModalContents } from './components/create-pattern-modal';
|
|
6
7
|
import { default as DuplicatePatternModal, useDuplicatePatternProps } from './components/duplicate-pattern-modal';
|
|
8
|
+
import { isOverridableBlock } from './api';
|
|
7
9
|
import RenamePatternModal from './components/rename-pattern-modal';
|
|
8
10
|
import PatternsMenuItems from './components';
|
|
9
11
|
import RenamePatternCategoryModal from './components/rename-pattern-category-modal';
|
|
@@ -13,9 +15,11 @@ import { useAddPatternCategory } from './private-hooks';
|
|
|
13
15
|
import { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY, PATTERN_USER_CATEGORY, EXCLUDED_PATTERN_SOURCES, PATTERN_SYNC_TYPES, PARTIAL_SYNCING_SUPPORTED_BLOCKS } from './constants';
|
|
14
16
|
export const privateApis = {};
|
|
15
17
|
lock(privateApis, {
|
|
18
|
+
OverridesPanel,
|
|
16
19
|
CreatePatternModal,
|
|
17
20
|
CreatePatternModalContents,
|
|
18
21
|
DuplicatePatternModal,
|
|
22
|
+
isOverridableBlock,
|
|
19
23
|
useDuplicatePatternProps,
|
|
20
24
|
RenamePatternModal,
|
|
21
25
|
PatternsMenuItems,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["lock","default","CreatePatternModal","CreatePatternModalContents","DuplicatePatternModal","useDuplicatePatternProps","RenamePatternModal","PatternsMenuItems","RenamePatternCategoryModal","useSetPatternBindings","ResetOverridesControl","useAddPatternCategory","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","EXCLUDED_PATTERN_SOURCES","PATTERN_SYNC_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","privateApis"],"sources":["@wordpress/patterns/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\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 RenamePatternModal from './components/rename-pattern-modal';\nimport PatternsMenuItems from './components';\nimport RenamePatternCategoryModal from './components/rename-pattern-category-modal';\nimport useSetPatternBindings from './components/use-set-pattern-bindings';\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\tCreatePatternModal,\n\tCreatePatternModalContents,\n\tDuplicatePatternModal,\n\tuseDuplicatePatternProps,\n\tRenamePatternModal,\n\tPatternsMenuItems,\n\tRenamePatternCategoryModal,\n\tuseSetPatternBindings,\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"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,eAAe;AACpC,SACCC,OAAO,IAAIC,kBAAkB,EAC7BC,0BAA0B,QACpB,mCAAmC;AAC1C,SACCF,OAAO,IAAIG,qBAAqB,EAChCC,wBAAwB,QAClB,sCAAsC;AAC7C,OAAOC,kBAAkB,MAAM,mCAAmC;AAClE,OAAOC,iBAAiB,MAAM,cAAc;AAC5C,OAAOC,0BAA0B,MAAM,4CAA4C;AACnF,OAAOC,qBAAqB,MAAM,uCAAuC;AACzE,OAAOC,qBAAqB,MAAM,sCAAsC;AACxE,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SACCC,aAAa,EACbC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,kBAAkB,EAClBC,gCAAgC,QAC1B,aAAa;AAEpB,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"names":["lock","OverridesPanel","default","CreatePatternModal","CreatePatternModalContents","DuplicatePatternModal","useDuplicatePatternProps","isOverridableBlock","RenamePatternModal","PatternsMenuItems","RenamePatternCategoryModal","useSetPatternBindings","ResetOverridesControl","useAddPatternCategory","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","EXCLUDED_PATTERN_SOURCES","PATTERN_SYNC_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","privateApis"],"sources":["@wordpress/patterns/src/private-apis.js"],"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 useSetPatternBindings from './components/use-set-pattern-bindings';\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\tuseDuplicatePatternProps,\n\tRenamePatternModal,\n\tPatternsMenuItems,\n\tRenamePatternCategoryModal,\n\tuseSetPatternBindings,\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"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,eAAe;AACpC,OAAOC,cAAc,MAAM,8BAA8B;AACzD,SACCC,OAAO,IAAIC,kBAAkB,EAC7BC,0BAA0B,QACpB,mCAAmC;AAC1C,SACCF,OAAO,IAAIG,qBAAqB,EAChCC,wBAAwB,QAClB,sCAAsC;AAC7C,SAASC,kBAAkB,QAAQ,OAAO;AAC1C,OAAOC,kBAAkB,MAAM,mCAAmC;AAClE,OAAOC,iBAAiB,MAAM,cAAc;AAC5C,OAAOC,0BAA0B,MAAM,4CAA4C;AACnF,OAAOC,qBAAqB,MAAM,uCAAuC;AACzE,OAAOC,qBAAqB,MAAM,sCAAsC;AACxE,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SACCC,aAAa,EACbC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,kBAAkB,EAClBC,gCAAgC,QAC1B,aAAa;AAEpB,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BpB,IAAI,CAAEoB,WAAW,EAAE;EAClBnB,cAAc;EACdE,kBAAkB;EAClBC,0BAA0B;EAC1BC,qBAAqB;EACrBE,kBAAkB;EAClBD,wBAAwB;EACxBE,kBAAkB;EAClBC,iBAAiB;EACjBC,0BAA0B;EAC1BC,qBAAqB;EACrBC,qBAAqB;EACrBC,qBAAqB;EACrBC,aAAa;EACbC,wBAAwB;EACxBC,qBAAqB;EACrBC,wBAAwB;EACxBC,kBAAkB;EAClBC;AACD,CAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/patterns",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "Management of user pattern editing.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -31,20 +31,20 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/runtime": "^7.16.0",
|
|
34
|
-
"@wordpress/a11y": "^3.
|
|
35
|
-
"@wordpress/block-editor": "^12.
|
|
36
|
-
"@wordpress/blocks": "^12.
|
|
37
|
-
"@wordpress/components": "^27.
|
|
38
|
-
"@wordpress/compose": "^6.
|
|
39
|
-
"@wordpress/core-data": "^6.
|
|
40
|
-
"@wordpress/data": "^9.
|
|
41
|
-
"@wordpress/element": "^5.
|
|
42
|
-
"@wordpress/html-entities": "^3.
|
|
43
|
-
"@wordpress/i18n": "^4.
|
|
44
|
-
"@wordpress/icons": "^9.
|
|
45
|
-
"@wordpress/notices": "^4.
|
|
46
|
-
"@wordpress/private-apis": "^0.
|
|
47
|
-
"@wordpress/url": "^3.
|
|
34
|
+
"@wordpress/a11y": "^3.55.0",
|
|
35
|
+
"@wordpress/block-editor": "^12.23.0",
|
|
36
|
+
"@wordpress/blocks": "^12.32.0",
|
|
37
|
+
"@wordpress/components": "^27.3.0",
|
|
38
|
+
"@wordpress/compose": "^6.32.0",
|
|
39
|
+
"@wordpress/core-data": "^6.32.0",
|
|
40
|
+
"@wordpress/data": "^9.25.0",
|
|
41
|
+
"@wordpress/element": "^5.32.0",
|
|
42
|
+
"@wordpress/html-entities": "^3.55.0",
|
|
43
|
+
"@wordpress/i18n": "^4.55.0",
|
|
44
|
+
"@wordpress/icons": "^9.46.0",
|
|
45
|
+
"@wordpress/notices": "^4.23.0",
|
|
46
|
+
"@wordpress/private-apis": "^0.37.0",
|
|
47
|
+
"@wordpress/url": "^3.56.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"react": "^18.0.0",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "ac2b13783c28f959770cf029a797a712f59e1958"
|
|
57
57
|
}
|
package/src/api/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Determines whether a block is overridable.
|
|
8
|
+
*
|
|
9
|
+
* @param {WPBlock} block The block to test.
|
|
10
|
+
*
|
|
11
|
+
* @return {boolean} `true` if a block is overridable, `false` otherwise.
|
|
12
|
+
*/
|
|
13
|
+
export function isOverridableBlock( block ) {
|
|
14
|
+
return (
|
|
15
|
+
Object.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(
|
|
16
|
+
block.name
|
|
17
|
+
) &&
|
|
18
|
+
!! block.attributes.metadata?.bindings &&
|
|
19
|
+
Object.values( block.attributes.metadata.bindings ).some(
|
|
20
|
+
( binding ) => binding.source === 'core/pattern-overrides'
|
|
21
|
+
)
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
privateApis as blockEditorPrivateApis,
|
|
6
|
+
store as blockEditorStore,
|
|
7
|
+
} from '@wordpress/block-editor';
|
|
8
|
+
import { PanelBody } from '@wordpress/components';
|
|
9
|
+
import { useSelect } from '@wordpress/data';
|
|
10
|
+
import { useMemo } from '@wordpress/element';
|
|
11
|
+
import { __ } from '@wordpress/i18n';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
import { isOverridableBlock } from '../api';
|
|
17
|
+
import { unlock } from '../lock-unlock';
|
|
18
|
+
|
|
19
|
+
const { BlockQuickNavigation } = unlock( blockEditorPrivateApis );
|
|
20
|
+
|
|
21
|
+
export default function OverridesPanel() {
|
|
22
|
+
const allClientIds = useSelect(
|
|
23
|
+
( select ) => select( blockEditorStore ).getClientIdsWithDescendants(),
|
|
24
|
+
[]
|
|
25
|
+
);
|
|
26
|
+
const { getBlock } = useSelect( blockEditorStore );
|
|
27
|
+
const clientIdsWithOverrides = useMemo(
|
|
28
|
+
() =>
|
|
29
|
+
allClientIds.filter( ( clientId ) => {
|
|
30
|
+
const block = getBlock( clientId );
|
|
31
|
+
return isOverridableBlock( block );
|
|
32
|
+
} ),
|
|
33
|
+
[ allClientIds, getBlock ]
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
if ( ! clientIdsWithOverrides?.length ) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<PanelBody title={ __( 'Overrides' ) }>
|
|
42
|
+
<BlockQuickNavigation clientIds={ clientIdsWithOverrides } />
|
|
43
|
+
</PanelBody>
|
|
44
|
+
);
|
|
45
|
+
}
|
package/src/private-apis.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Internal dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { lock } from './lock-unlock';
|
|
5
|
+
import OverridesPanel from './components/overrides-panel';
|
|
5
6
|
import {
|
|
6
7
|
default as CreatePatternModal,
|
|
7
8
|
CreatePatternModalContents,
|
|
@@ -10,6 +11,7 @@ import {
|
|
|
10
11
|
default as DuplicatePatternModal,
|
|
11
12
|
useDuplicatePatternProps,
|
|
12
13
|
} from './components/duplicate-pattern-modal';
|
|
14
|
+
import { isOverridableBlock } from './api';
|
|
13
15
|
import RenamePatternModal from './components/rename-pattern-modal';
|
|
14
16
|
import PatternsMenuItems from './components';
|
|
15
17
|
import RenamePatternCategoryModal from './components/rename-pattern-category-modal';
|
|
@@ -27,9 +29,11 @@ import {
|
|
|
27
29
|
|
|
28
30
|
export const privateApis = {};
|
|
29
31
|
lock( privateApis, {
|
|
32
|
+
OverridesPanel,
|
|
30
33
|
CreatePatternModal,
|
|
31
34
|
CreatePatternModalContents,
|
|
32
35
|
DuplicatePatternModal,
|
|
36
|
+
isOverridableBlock,
|
|
33
37
|
useDuplicatePatternProps,
|
|
34
38
|
RenamePatternModal,
|
|
35
39
|
PatternsMenuItems,
|