@wordpress/reusable-blocks 4.16.0 → 4.17.1
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/components/index.js +0 -2
- package/build/components/index.js.map +1 -1
- package/build/components/reusable-blocks-menu-items/index.js +11 -15
- package/build/components/reusable-blocks-menu-items/index.js.map +1 -1
- package/build/components/reusable-blocks-menu-items/index.native.js +0 -2
- package/build/components/reusable-blocks-menu-items/index.native.js.map +1 -1
- package/build/components/reusable-blocks-menu-items/reusable-block-convert-button.js +21 -30
- package/build/components/reusable-blocks-menu-items/reusable-block-convert-button.js.map +1 -1
- package/build/components/reusable-blocks-menu-items/reusable-blocks-manage-button.js +2 -16
- package/build/components/reusable-blocks-menu-items/reusable-blocks-manage-button.js.map +1 -1
- package/build/index.js +0 -3
- package/build/index.js.map +1 -1
- package/build/index.native.js +0 -4
- package/build/index.native.js.map +1 -1
- package/build/lock-unlock.js +1 -2
- package/build/lock-unlock.js.map +1 -1
- package/build/store/actions.js +9 -21
- package/build/store/actions.js.map +1 -1
- package/build/store/index.js +2 -9
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +3 -6
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +0 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/reusable-blocks-menu-items/index.js +12 -11
- package/build-module/components/reusable-blocks-menu-items/index.js.map +1 -1
- package/build-module/components/reusable-blocks-menu-items/index.native.js.map +1 -1
- package/build-module/components/reusable-blocks-menu-items/reusable-block-convert-button.js +24 -22
- package/build-module/components/reusable-blocks-menu-items/reusable-block-convert-button.js.map +1 -1
- package/build-module/components/reusable-blocks-menu-items/reusable-blocks-manage-button.js +4 -11
- package/build-module/components/reusable-blocks-menu-items/reusable-blocks-manage-button.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/store/actions.js +10 -12
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/index.js +2 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +2 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js.map +1 -1
- package/package.json +14 -13
- package/src/components/reusable-blocks-menu-items/index.js +16 -15
- package/src/components/reusable-blocks-menu-items/reusable-block-convert-button.js +64 -72
- package/src/components/reusable-blocks-menu-items/reusable-blocks-manage-button.js +3 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,6 +10,5 @@ Object.defineProperty(exports, "ReusableBlocksMenuItems", {
|
|
|
11
10
|
return _reusableBlocksMenuItems.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _reusableBlocksMenuItems = _interopRequireDefault(require("./reusable-blocks-menu-items"));
|
|
16
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/reusable-blocks/src/components/index.js"],"
|
|
1
|
+
{"version":3,"names":["_reusableBlocksMenuItems","_interopRequireDefault","require"],"sources":["@wordpress/reusable-blocks/src/components/index.js"],"sourcesContent":["export { default as ReusableBlocksMenuItems } from './reusable-blocks-menu-items';\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,wBAAA,GAAAC,sBAAA,CAAAC,OAAA"}
|
|
@@ -1,22 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = ReusableBlocksMenuItems;
|
|
9
|
-
|
|
10
8
|
var _element = require("@wordpress/element");
|
|
11
|
-
|
|
12
|
-
var _data = require("@wordpress/data");
|
|
13
|
-
|
|
14
9
|
var _blockEditor = require("@wordpress/block-editor");
|
|
15
|
-
|
|
16
10
|
var _reusableBlockConvertButton = _interopRequireDefault(require("./reusable-block-convert-button"));
|
|
17
|
-
|
|
18
11
|
var _reusableBlocksManageButton = _interopRequireDefault(require("./reusable-blocks-manage-button"));
|
|
19
|
-
|
|
20
12
|
/**
|
|
21
13
|
* WordPress dependencies
|
|
22
14
|
*/
|
|
@@ -24,15 +16,19 @@ var _reusableBlocksManageButton = _interopRequireDefault(require("./reusable-blo
|
|
|
24
16
|
/**
|
|
25
17
|
* Internal dependencies
|
|
26
18
|
*/
|
|
19
|
+
|
|
27
20
|
function ReusableBlocksMenuItems({
|
|
28
21
|
rootClientId
|
|
29
22
|
}) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
return (0, _element.createElement)(_blockEditor.BlockSettingsMenuControls, null, ({
|
|
24
|
+
onClose,
|
|
25
|
+
selectedClientIds
|
|
26
|
+
}) => (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_reusableBlockConvertButton.default, {
|
|
27
|
+
clientIds: selectedClientIds,
|
|
28
|
+
rootClientId: rootClientId,
|
|
29
|
+
onClose: onClose
|
|
30
|
+
}), selectedClientIds.length === 1 && (0, _element.createElement)(_reusableBlocksManageButton.default, {
|
|
31
|
+
clientId: selectedClientIds[0]
|
|
32
|
+
})));
|
|
37
33
|
}
|
|
38
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_reusableBlockConvertButton","_interopRequireDefault","_reusableBlocksManageButton","ReusableBlocksMenuItems","rootClientId","_element","createElement","BlockSettingsMenuControls","onClose","selectedClientIds","Fragment","default","clientIds","length","clientId"],"sources":["@wordpress/reusable-blocks/src/components/reusable-blocks-menu-items/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockSettingsMenuControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ReusableBlockConvertButton from './reusable-block-convert-button';\nimport ReusableBlocksManageButton from './reusable-blocks-manage-button';\n\nexport default function ReusableBlocksMenuItems( { rootClientId } ) {\n\treturn (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { onClose, selectedClientIds } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<ReusableBlockConvertButton\n\t\t\t\t\t\tclientIds={ selectedClientIds }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t\t{ selectedClientIds.length === 1 && (\n\t\t\t\t\t\t<ReusableBlocksManageButton\n\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</BlockSettingsMenuControls>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,2BAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAD,sBAAA,CAAAF,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIe,SAASI,uBAAuBA,CAAE;EAAEC;AAAa,CAAC,EAAG;EACnE,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACR,YAAA,CAAAS,yBAAyB,QACvB,CAAE;IAAEC,OAAO;IAAEC;EAAkB,CAAC,KACjC,IAAAJ,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAK,QAAA,QACC,IAAAL,QAAA,CAAAC,aAAA,EAACN,2BAAA,CAAAW,OAA0B;IAC1BC,SAAS,EAAGH,iBAAmB;IAC/BL,YAAY,EAAGA,YAAc;IAC7BI,OAAO,EAAGA;EAAS,CACnB,CAAC,EACAC,iBAAiB,CAACI,MAAM,KAAK,CAAC,IAC/B,IAAAR,QAAA,CAAAC,aAAA,EAACJ,2BAAA,CAAAS,OAA0B;IAC1BG,QAAQ,EAAGL,iBAAiB,CAAE,CAAC;EAAI,CACnC,CAED,CAEuB,CAAC;AAE9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/reusable-blocks/src/components/reusable-blocks-menu-items/index.native.js"],"
|
|
1
|
+
{"version":3,"names":["_default","exports","default"],"sources":["@wordpress/reusable-blocks/src/components/reusable-blocks-menu-items/index.native.js"],"sourcesContent":["export default () => null;\n"],"mappings":";;;;;;eAAeA,CAAA,KAAM,IAAI;AAAAC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -4,29 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = ReusableBlockConvertButton;
|
|
7
|
-
|
|
8
7
|
var _element = require("@wordpress/element");
|
|
9
|
-
|
|
10
8
|
var _blocks = require("@wordpress/blocks");
|
|
11
|
-
|
|
12
9
|
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
-
|
|
14
10
|
var _components = require("@wordpress/components");
|
|
15
|
-
|
|
16
11
|
var _icons = require("@wordpress/icons");
|
|
17
|
-
|
|
18
12
|
var _data = require("@wordpress/data");
|
|
19
|
-
|
|
20
13
|
var _i18n = require("@wordpress/i18n");
|
|
21
|
-
|
|
22
14
|
var _notices = require("@wordpress/notices");
|
|
23
|
-
|
|
24
15
|
var _coreData = require("@wordpress/core-data");
|
|
25
|
-
|
|
26
16
|
var _store = require("../../store");
|
|
27
|
-
|
|
28
17
|
var _lockUnlock = require("../../lock-unlock");
|
|
29
|
-
|
|
30
18
|
/**
|
|
31
19
|
* WordPress dependencies
|
|
32
20
|
*/
|
|
@@ -41,11 +29,13 @@ var _lockUnlock = require("../../lock-unlock");
|
|
|
41
29
|
* @param {Object} props Component props.
|
|
42
30
|
* @param {string[]} props.clientIds Client ids of selected blocks.
|
|
43
31
|
* @param {string} props.rootClientId ID of the currently selected top-level block.
|
|
32
|
+
* @param {()=>void} props.onClose Callback to close the menu.
|
|
44
33
|
* @return {import('@wordpress/element').WPComponent} The menu control or null.
|
|
45
34
|
*/
|
|
46
35
|
function ReusableBlockConvertButton({
|
|
47
36
|
clientIds,
|
|
48
|
-
rootClientId
|
|
37
|
+
rootClientId,
|
|
38
|
+
onClose
|
|
49
39
|
}) {
|
|
50
40
|
const {
|
|
51
41
|
useReusableBlocksRenameHint,
|
|
@@ -57,7 +47,6 @@ function ReusableBlockConvertButton({
|
|
|
57
47
|
const [title, setTitle] = (0, _element.useState)('');
|
|
58
48
|
const canConvert = (0, _data.useSelect)(select => {
|
|
59
49
|
var _getBlocksByClientId;
|
|
60
|
-
|
|
61
50
|
const {
|
|
62
51
|
canUser
|
|
63
52
|
} = select(_coreData.store);
|
|
@@ -69,15 +58,19 @@ function ReusableBlockConvertButton({
|
|
|
69
58
|
const rootId = rootClientId || (clientIds.length > 0 ? getBlockRootClientId(clientIds[0]) : undefined);
|
|
70
59
|
const blocks = (_getBlocksByClientId = getBlocksByClientId(clientIds)) !== null && _getBlocksByClientId !== void 0 ? _getBlocksByClientId : [];
|
|
71
60
|
const isReusable = blocks.length === 1 && blocks[0] && (0, _blocks.isReusableBlock)(blocks[0]) && !!select(_coreData.store).getEntityRecord('postType', 'wp_block', blocks[0].attributes.ref);
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
!isReusable &&
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
61
|
+
const _canConvert =
|
|
62
|
+
// Hide when this is already a reusable block.
|
|
63
|
+
!isReusable &&
|
|
64
|
+
// Hide when reusable blocks are disabled.
|
|
65
|
+
canInsertBlockType('core/block', rootId) && blocks.every(block =>
|
|
66
|
+
// Guard against the case where a regular block has *just* been converted.
|
|
67
|
+
!!block &&
|
|
68
|
+
// Hide on invalid blocks.
|
|
69
|
+
block.isValid &&
|
|
70
|
+
// Hide when block doesn't support being made reusable.
|
|
71
|
+
(0, _blocks.hasBlockSupport)(block.name, 'reusable', true)) &&
|
|
72
|
+
// Hide when current doesn't have permission to do that.
|
|
79
73
|
!!canUser('create', 'blocks');
|
|
80
|
-
|
|
81
74
|
return _canConvert;
|
|
82
75
|
}, [clientIds, rootClientId]);
|
|
83
76
|
const {
|
|
@@ -90,8 +83,10 @@ function ReusableBlockConvertButton({
|
|
|
90
83
|
const onConvert = (0, _element.useCallback)(async function (reusableBlockTitle) {
|
|
91
84
|
try {
|
|
92
85
|
await convertBlocksToReusable(clientIds, reusableBlockTitle, syncType);
|
|
93
|
-
createSuccessNotice(!syncType ? (0, _i18n.sprintf)(
|
|
94
|
-
|
|
86
|
+
createSuccessNotice(!syncType ? (0, _i18n.sprintf)(
|
|
87
|
+
// translators: %s: the name the user has given to the pattern.
|
|
88
|
+
(0, _i18n.__)('Synced Pattern created: %s'), reusableBlockTitle) : (0, _i18n.sprintf)(
|
|
89
|
+
// translators: %s: the name the user has given to the pattern.
|
|
95
90
|
(0, _i18n.__)('Unsynced Pattern created: %s'), reusableBlockTitle), {
|
|
96
91
|
type: 'snackbar',
|
|
97
92
|
id: 'convert-to-reusable-block-success'
|
|
@@ -103,14 +98,10 @@ function ReusableBlockConvertButton({
|
|
|
103
98
|
});
|
|
104
99
|
}
|
|
105
100
|
}, [convertBlocksToReusable, clientIds, syncType, createSuccessNotice, createErrorNotice]);
|
|
106
|
-
|
|
107
101
|
if (!canConvert) {
|
|
108
102
|
return null;
|
|
109
103
|
}
|
|
110
|
-
|
|
111
|
-
return (0, _element.createElement)(_blockEditor.BlockSettingsMenuControls, null, ({
|
|
112
|
-
onClose
|
|
113
|
-
}) => (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuItem, {
|
|
104
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuItem, {
|
|
114
105
|
icon: _icons.symbol,
|
|
115
106
|
onClick: () => setIsModalOpen(true)
|
|
116
107
|
}, showRenameHint ? (0, _i18n.__)('Create pattern/reusable block') : (0, _i18n.__)('Create pattern')), isModalOpen && (0, _element.createElement)(_components.Modal, {
|
|
@@ -154,6 +145,6 @@ function ReusableBlockConvertButton({
|
|
|
154
145
|
}, (0, _i18n.__)('Cancel')), (0, _element.createElement)(_components.Button, {
|
|
155
146
|
variant: "primary",
|
|
156
147
|
type: "submit"
|
|
157
|
-
}, (0, _i18n.__)('Create')))))))
|
|
148
|
+
}, (0, _i18n.__)('Create')))))));
|
|
158
149
|
}
|
|
159
150
|
//# sourceMappingURL=reusable-block-convert-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/reusable-blocks/src/components/reusable-blocks-menu-items/reusable-block-convert-button.js"],"names":["ReusableBlockConvertButton","clientIds","rootClientId","useReusableBlocksRenameHint","ReusableBlocksRenameHint","blockEditorPrivateApis","showRenameHint","syncType","setSyncType","undefined","isModalOpen","setIsModalOpen","title","setTitle","canConvert","select","canUser","coreStore","getBlocksByClientId","canInsertBlockType","getBlockRootClientId","blockEditorStore","rootId","length","blocks","isReusable","getEntityRecord","attributes","ref","_canConvert","every","block","isValid","name","__experimentalConvertBlocksToReusable","convertBlocksToReusable","store","createSuccessNotice","createErrorNotice","noticesStore","onConvert","reusableBlockTitle","type","id","error","message","onClose","symbol","event","preventDefault"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport, isReusableBlock } from '@wordpress/blocks';\nimport {\n\tBlockSettingsMenuControls,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useCallback, useState } from '@wordpress/element';\nimport {\n\tMenuItem,\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { symbol } from '@wordpress/icons';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Menu control to convert block(s) to reusable block.\n *\n * @param {Object} props Component props.\n * @param {string[]} props.clientIds Client ids of selected blocks.\n * @param {string} props.rootClientId ID of the currently selected top-level block.\n * @return {import('@wordpress/element').WPComponent} The menu control or null.\n */\nexport default function ReusableBlockConvertButton( {\n\tclientIds,\n\trootClientId,\n} ) {\n\tconst { useReusableBlocksRenameHint, ReusableBlocksRenameHint } = unlock(\n\t\tblockEditorPrivateApis\n\t);\n\tconst showRenameHint = useReusableBlocksRenameHint();\n\tconst [ syncType, setSyncType ] = useState( undefined );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst canConvert = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst rootId =\n\t\t\t\trootClientId ||\n\t\t\t\t( clientIds.length > 0\n\t\t\t\t\t? getBlockRootClientId( clientIds[ 0 ] )\n\t\t\t\t\t: undefined );\n\n\t\t\tconst blocks = getBlocksByClientId( clientIds ) ?? [];\n\n\t\t\tconst isReusable =\n\t\t\t\tblocks.length === 1 &&\n\t\t\t\tblocks[ 0 ] &&\n\t\t\t\tisReusableBlock( blocks[ 0 ] ) &&\n\t\t\t\t!! select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblocks[ 0 ].attributes.ref\n\t\t\t\t);\n\n\t\t\tconst _canConvert =\n\t\t\t\t// Hide when this is already a reusable block.\n\t\t\t\t! isReusable &&\n\t\t\t\t// Hide when reusable blocks are disabled.\n\t\t\t\tcanInsertBlockType( 'core/block', rootId ) &&\n\t\t\t\tblocks.every(\n\t\t\t\t\t( block ) =>\n\t\t\t\t\t\t// Guard against the case where a regular block has *just* been converted.\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\t// Hide on invalid blocks.\n\t\t\t\t\t\tblock.isValid &&\n\t\t\t\t\t\t// Hide when block doesn't support being made reusable.\n\t\t\t\t\t\thasBlockSupport( block.name, 'reusable', true )\n\t\t\t\t) &&\n\t\t\t\t// Hide when current doesn't have permission to do that.\n\t\t\t\t!! canUser( 'create', 'blocks' );\n\n\t\t\treturn _canConvert;\n\t\t},\n\t\t[ clientIds, rootClientId ]\n\t);\n\n\tconst { __experimentalConvertBlocksToReusable: convertBlocksToReusable } =\n\t\tuseDispatch( store );\n\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst onConvert = useCallback(\n\t\tasync function ( reusableBlockTitle ) {\n\t\t\ttry {\n\t\t\t\tawait convertBlocksToReusable(\n\t\t\t\t\tclientIds,\n\t\t\t\t\treusableBlockTitle,\n\t\t\t\t\tsyncType\n\t\t\t\t);\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t! syncType\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t\t\t__( 'Synced Pattern created: %s' ),\n\t\t\t\t\t\t\t\treusableBlockTitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t\t\t__( 'Unsynced Pattern created: %s' ),\n\t\t\t\t\t\t\t\treusableBlockTitle\n\t\t\t\t\t\t ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'convert-to-reusable-block-success',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'convert-to-reusable-block-error',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tconvertBlocksToReusable,\n\t\t\tclientIds,\n\t\t\tsyncType,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t]\n\t);\n\n\tif ( ! canConvert ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showRenameHint\n\t\t\t\t\t\t\t? __( 'Create pattern/reusable block' )\n\t\t\t\t\t\t\t: __( 'Create pattern' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t\t<Modal\n\t\t\t\t\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toverlayClassName=\"reusable-blocks-menu-items__convert-modal\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<form\n\t\t\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tonConvert( title );\n\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t\t\t\t\t<ReusableBlocksRenameHint />\n\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Synced' ) }\n\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Editing the pattern will update it anywhere it is used.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tchecked={ ! syncType }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\t\t\t\t\t\t! syncType\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'unsynced'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</Modal>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</BlockSettingsMenuControls>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"names":["_element","require","_blocks","_blockEditor","_components","_icons","_data","_i18n","_notices","_coreData","_store","_lockUnlock","ReusableBlockConvertButton","clientIds","rootClientId","onClose","useReusableBlocksRenameHint","ReusableBlocksRenameHint","unlock","blockEditorPrivateApis","showRenameHint","syncType","setSyncType","useState","undefined","isModalOpen","setIsModalOpen","title","setTitle","canConvert","useSelect","select","_getBlocksByClientId","canUser","coreStore","getBlocksByClientId","canInsertBlockType","getBlockRootClientId","blockEditorStore","rootId","length","blocks","isReusable","isReusableBlock","getEntityRecord","attributes","ref","_canConvert","every","block","isValid","hasBlockSupport","name","__experimentalConvertBlocksToReusable","convertBlocksToReusable","useDispatch","store","createSuccessNotice","createErrorNotice","noticesStore","onConvert","useCallback","reusableBlockTitle","sprintf","__","type","id","error","message","createElement","Fragment","MenuItem","icon","symbol","onClick","Modal","onRequestClose","overlayClassName","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","value","onChange","placeholder","ToggleControl","help","checked","__experimentalHStack","justify","Button","variant"],"sources":["@wordpress/reusable-blocks/src/components/reusable-blocks-menu-items/reusable-block-convert-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport, isReusableBlock } from '@wordpress/blocks';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useCallback, useState } from '@wordpress/element';\nimport {\n\tMenuItem,\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { symbol } from '@wordpress/icons';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Menu control to convert block(s) to reusable block.\n *\n * @param {Object} props Component props.\n * @param {string[]} props.clientIds Client ids of selected blocks.\n * @param {string} props.rootClientId ID of the currently selected top-level block.\n * @param {()=>void} props.onClose Callback to close the menu.\n * @return {import('@wordpress/element').WPComponent} The menu control or null.\n */\nexport default function ReusableBlockConvertButton( {\n\tclientIds,\n\trootClientId,\n\tonClose,\n} ) {\n\tconst { useReusableBlocksRenameHint, ReusableBlocksRenameHint } = unlock(\n\t\tblockEditorPrivateApis\n\t);\n\tconst showRenameHint = useReusableBlocksRenameHint();\n\tconst [ syncType, setSyncType ] = useState( undefined );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst canConvert = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst rootId =\n\t\t\t\trootClientId ||\n\t\t\t\t( clientIds.length > 0\n\t\t\t\t\t? getBlockRootClientId( clientIds[ 0 ] )\n\t\t\t\t\t: undefined );\n\n\t\t\tconst blocks = getBlocksByClientId( clientIds ) ?? [];\n\n\t\t\tconst isReusable =\n\t\t\t\tblocks.length === 1 &&\n\t\t\t\tblocks[ 0 ] &&\n\t\t\t\tisReusableBlock( blocks[ 0 ] ) &&\n\t\t\t\t!! select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblocks[ 0 ].attributes.ref\n\t\t\t\t);\n\n\t\t\tconst _canConvert =\n\t\t\t\t// Hide when this is already a reusable block.\n\t\t\t\t! isReusable &&\n\t\t\t\t// Hide when reusable blocks are disabled.\n\t\t\t\tcanInsertBlockType( 'core/block', rootId ) &&\n\t\t\t\tblocks.every(\n\t\t\t\t\t( block ) =>\n\t\t\t\t\t\t// Guard against the case where a regular block has *just* been converted.\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\t// Hide on invalid blocks.\n\t\t\t\t\t\tblock.isValid &&\n\t\t\t\t\t\t// Hide when block doesn't support being made reusable.\n\t\t\t\t\t\thasBlockSupport( block.name, 'reusable', true )\n\t\t\t\t) &&\n\t\t\t\t// Hide when current doesn't have permission to do that.\n\t\t\t\t!! canUser( 'create', 'blocks' );\n\n\t\t\treturn _canConvert;\n\t\t},\n\t\t[ clientIds, rootClientId ]\n\t);\n\n\tconst { __experimentalConvertBlocksToReusable: convertBlocksToReusable } =\n\t\tuseDispatch( store );\n\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst onConvert = useCallback(\n\t\tasync function ( reusableBlockTitle ) {\n\t\t\ttry {\n\t\t\t\tawait convertBlocksToReusable(\n\t\t\t\t\tclientIds,\n\t\t\t\t\treusableBlockTitle,\n\t\t\t\t\tsyncType\n\t\t\t\t);\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t! syncType\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t\t\t__( 'Synced Pattern created: %s' ),\n\t\t\t\t\t\t\t\treusableBlockTitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t\t\t__( 'Unsynced Pattern created: %s' ),\n\t\t\t\t\t\t\t\treusableBlockTitle\n\t\t\t\t\t\t ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'convert-to-reusable-block-success',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'convert-to-reusable-block-error',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tconvertBlocksToReusable,\n\t\t\tclientIds,\n\t\t\tsyncType,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t]\n\t);\n\n\tif ( ! canConvert ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem icon={ symbol } onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ showRenameHint\n\t\t\t\t\t? __( 'Create pattern/reusable block' )\n\t\t\t\t\t: __( 'Create pattern' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"reusable-blocks-menu-items__convert-modal\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonConvert( title );\n\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t\t\t<ReusableBlocksRenameHint />\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Synced' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Editing the pattern will update it anywhere it is used.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ ! syncType }\n\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\t\t\t\t! syncType ? 'unsynced' : undefined\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _element = require("@wordpress/element");
|
|
9
|
-
|
|
10
8
|
var _components = require("@wordpress/components");
|
|
11
|
-
|
|
12
9
|
var _i18n = require("@wordpress/i18n");
|
|
13
|
-
|
|
14
10
|
var _blocks = require("@wordpress/blocks");
|
|
15
|
-
|
|
16
11
|
var _data = require("@wordpress/data");
|
|
17
|
-
|
|
18
12
|
var _blockEditor = require("@wordpress/block-editor");
|
|
19
|
-
|
|
20
13
|
var _url = require("@wordpress/url");
|
|
21
|
-
|
|
22
14
|
var _coreData = require("@wordpress/core-data");
|
|
23
|
-
|
|
24
15
|
var _store = require("../../store");
|
|
25
|
-
|
|
26
16
|
/**
|
|
27
17
|
* WordPress dependencies
|
|
28
18
|
*/
|
|
@@ -30,6 +20,7 @@ var _store = require("../../store");
|
|
|
30
20
|
/**
|
|
31
21
|
* Internal dependencies
|
|
32
22
|
*/
|
|
23
|
+
|
|
33
24
|
function ReusableBlocksManageButton({
|
|
34
25
|
clientId
|
|
35
26
|
}) {
|
|
@@ -49,9 +40,7 @@ function ReusableBlocksManageButton({
|
|
|
49
40
|
canUser
|
|
50
41
|
} = select(_coreData.store);
|
|
51
42
|
const reusableBlock = getBlock(clientId);
|
|
52
|
-
|
|
53
43
|
const isBlockTheme = getSettings().__unstableIsBlockBasedTheme;
|
|
54
|
-
|
|
55
44
|
return {
|
|
56
45
|
canRemove: canRemoveBlock(clientId),
|
|
57
46
|
isVisible: !!reusableBlock && (0, _blocks.isReusableBlock)(reusableBlock) && !!canUser('update', 'blocks', reusableBlock.attributes.ref),
|
|
@@ -69,18 +58,15 @@ function ReusableBlocksManageButton({
|
|
|
69
58
|
const {
|
|
70
59
|
__experimentalConvertBlockToStatic: convertBlockToStatic
|
|
71
60
|
} = (0, _data.useDispatch)(_store.store);
|
|
72
|
-
|
|
73
61
|
if (!isVisible) {
|
|
74
62
|
return null;
|
|
75
63
|
}
|
|
76
|
-
|
|
77
|
-
return (0, _element.createElement)(_blockEditor.BlockSettingsMenuControls, null, (0, _element.createElement)(_components.MenuItem, {
|
|
64
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuItem, {
|
|
78
65
|
href: managePatternsUrl
|
|
79
66
|
}, (0, _i18n.__)('Manage patterns')), canRemove && (0, _element.createElement)(_components.MenuItem, {
|
|
80
67
|
onClick: () => convertBlockToStatic(clientId)
|
|
81
68
|
}, innerBlockCount > 1 ? (0, _i18n.__)('Detach patterns') : (0, _i18n.__)('Detach pattern')));
|
|
82
69
|
}
|
|
83
|
-
|
|
84
70
|
var _default = ReusableBlocksManageButton;
|
|
85
71
|
exports.default = _default;
|
|
86
72
|
//# sourceMappingURL=reusable-blocks-manage-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_blocks","_data","_blockEditor","_url","_coreData","_store","ReusableBlocksManageButton","clientId","canRemove","isVisible","innerBlockCount","managePatternsUrl","useSelect","select","getBlock","canRemoveBlock","getBlockCount","getSettings","blockEditorStore","canUser","coreStore","reusableBlock","isBlockTheme","__unstableIsBlockBasedTheme","isReusableBlock","attributes","ref","addQueryArgs","path","post_type","__experimentalConvertBlockToStatic","convertBlockToStatic","useDispatch","reusableBlocksStore","_element","createElement","Fragment","MenuItem","href","__","onClick","_default","exports","default"],"sources":["@wordpress/reusable-blocks/src/components/reusable-blocks-menu-items/reusable-blocks-manage-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { isReusableBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as reusableBlocksStore } from '../../store';\n\nfunction ReusableBlocksManageButton( { clientId } ) {\n\tconst { canRemove, isVisible, innerBlockCount, managePatternsUrl } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlock, canRemoveBlock, getBlockCount, getSettings } =\n\t\t\t\t\tselect( blockEditorStore );\n\t\t\t\tconst { canUser } = select( coreStore );\n\t\t\t\tconst reusableBlock = getBlock( clientId );\n\t\t\t\tconst isBlockTheme = getSettings().__unstableIsBlockBasedTheme;\n\n\t\t\t\treturn {\n\t\t\t\t\tcanRemove: canRemoveBlock( clientId ),\n\t\t\t\t\tisVisible:\n\t\t\t\t\t\t!! reusableBlock &&\n\t\t\t\t\t\tisReusableBlock( reusableBlock ) &&\n\t\t\t\t\t\t!! canUser(\n\t\t\t\t\t\t\t'update',\n\t\t\t\t\t\t\t'blocks',\n\t\t\t\t\t\t\treusableBlock.attributes.ref\n\t\t\t\t\t\t),\n\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t// The site editor and templates both check whether the user\n\t\t\t\t\t// has edit_theme_options capabilities. We can leverage that here\n\t\t\t\t\t// and omit the manage patterns link if the user can't access it.\n\t\t\t\t\tmanagePatternsUrl:\n\t\t\t\t\t\tisBlockTheme && canUser( 'read', 'templates' )\n\t\t\t\t\t\t\t? addQueryArgs( 'site-editor.php', {\n\t\t\t\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t\t\t\t } )\n\t\t\t\t\t\t\t: addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\t\tpost_type: 'wp_block',\n\t\t\t\t\t\t\t } ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem href={ managePatternsUrl }>\n\t\t\t\t{ __( 'Manage patterns' ) }\n\t\t\t</MenuItem>\n\t\t\t{ canRemove && (\n\t\t\t\t<MenuItem onClick={ () => convertBlockToStatic( clientId ) }>\n\t\t\t\t\t{ innerBlockCount > 1\n\t\t\t\t\t\t? __( 'Detach patterns' )\n\t\t\t\t\t\t: __( 'Detach pattern' ) }\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ReusableBlocksManageButton;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA,SAASQ,0BAA0BA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACnD,MAAM;IAAEC,SAAS;IAAEC,SAAS;IAAEC,eAAe;IAAEC;EAAkB,CAAC,GACjE,IAAAC,eAAS,EACNC,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC,cAAc;MAAEC,aAAa;MAAEC;IAAY,CAAC,GAC7DJ,MAAM,CAAEK,kBAAiB,CAAC;IAC3B,MAAM;MAAEC;IAAQ,CAAC,GAAGN,MAAM,CAAEO,eAAU,CAAC;IACvC,MAAMC,aAAa,GAAGP,QAAQ,CAAEP,QAAS,CAAC;IAC1C,MAAMe,YAAY,GAAGL,WAAW,CAAC,CAAC,CAACM,2BAA2B;IAE9D,OAAO;MACNf,SAAS,EAAEO,cAAc,CAAER,QAAS,CAAC;MACrCE,SAAS,EACR,CAAC,CAAEY,aAAa,IAChB,IAAAG,uBAAe,EAAEH,aAAc,CAAC,IAChC,CAAC,CAAEF,OAAO,CACT,QAAQ,EACR,QAAQ,EACRE,aAAa,CAACI,UAAU,CAACC,GAC1B,CAAC;MACFhB,eAAe,EAAEM,aAAa,CAAET,QAAS,CAAC;MAC1C;MACA;MACA;MACAI,iBAAiB,EAChBW,YAAY,IAAIH,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,GAC3C,IAAAQ,iBAAY,EAAE,iBAAiB,EAAE;QACjCC,IAAI,EAAE;MACN,CAAE,CAAC,GACH,IAAAD,iBAAY,EAAE,UAAU,EAAE;QAC1BE,SAAS,EAAE;MACX,CAAE;IACP,CAAC;EACF,CAAC,EACD,CAAEtB,QAAQ,CACX,CAAC;EAEF,MAAM;IAAEuB,kCAAkC,EAAEC;EAAqB,CAAC,GACjE,IAAAC,iBAAW,EAAEC,YAAoB,CAAC;EAEnC,IAAK,CAAExB,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAyB,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAACtC,WAAA,CAAAwC,QAAQ;IAACC,IAAI,EAAG3B;EAAmB,GACjC,IAAA4B,QAAE,EAAE,iBAAkB,CACf,CAAC,EACT/B,SAAS,IACV,IAAA0B,QAAA,CAAAC,aAAA,EAACtC,WAAA,CAAAwC,QAAQ;IAACG,OAAO,EAAGA,CAAA,KAAMT,oBAAoB,CAAExB,QAAS;EAAG,GACzDG,eAAe,GAAG,CAAC,GAClB,IAAA6B,QAAE,EAAE,iBAAkB,CAAC,GACvB,IAAAA,QAAE,EAAE,gBAAiB,CACf,CAEV,CAAC;AAEL;AAAC,IAAAE,QAAA,GAEcnC,0BAA0B;AAAAoC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
package/build/index.js
CHANGED
|
@@ -12,11 +12,8 @@ Object.defineProperty(exports, "store", {
|
|
|
12
12
|
return _store.store;
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
|
-
|
|
16
15
|
var _store = require("./store");
|
|
17
|
-
|
|
18
16
|
var _components = require("./components");
|
|
19
|
-
|
|
20
17
|
Object.keys(_components).forEach(function (key) {
|
|
21
18
|
if (key === "default" || key === "__esModule") return;
|
|
22
19
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/reusable-blocks/src/index.js"],"
|
|
1
|
+
{"version":3,"names":["_store","require","_components","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["@wordpress/reusable-blocks/src/index.js"],"sourcesContent":["export { store } from './store';\nexport * from './components';\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
|
package/build/index.native.js
CHANGED
|
@@ -12,13 +12,9 @@ Object.defineProperty(exports, "store", {
|
|
|
12
12
|
return _store.store;
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
|
-
|
|
16
15
|
require("@wordpress/core-data");
|
|
17
|
-
|
|
18
16
|
var _store = require("./store");
|
|
19
|
-
|
|
20
17
|
var _components = require("./components");
|
|
21
|
-
|
|
22
18
|
Object.keys(_components).forEach(function (key) {
|
|
23
19
|
if (key === "default" || key === "__esModule") return;
|
|
24
20
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/reusable-blocks/src/index.native.js"],"
|
|
1
|
+
{"version":3,"names":["require","_store","_components","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["@wordpress/reusable-blocks/src/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport '@wordpress/core-data';\n\nexport { store } from './store';\nexport * from './components';\n"],"mappings":";;;;;;;;;;;;;;AAGAA,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
|
package/build/lock-unlock.js
CHANGED
|
@@ -4,12 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.unlock = void 0;
|
|
7
|
-
|
|
8
7
|
var _privateApis = require("@wordpress/private-apis");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* WordPress dependencies
|
|
12
10
|
*/
|
|
11
|
+
|
|
13
12
|
const {
|
|
14
13
|
unlock
|
|
15
14
|
} = (0, _privateApis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.', '@wordpress/reusable-blocks');
|
package/build/lock-unlock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/reusable-blocks/src/lock-unlock.js"],"
|
|
1
|
+
{"version":3,"names":["_privateApis","require","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/reusable-blocks/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { unlock } = __dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',\n\t'@wordpress/reusable-blocks'\n);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC;AAAO,CAAC,GAAG,IAAAC,6DAAgD,EACzE,8GAA8G,EAC9G,4BACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA"}
|
package/build/store/actions.js
CHANGED
|
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.__experimentalDeleteReusableBlock = exports.__experimentalConvertBlocksToReusable = exports.__experimentalConvertBlockToStatic = void 0;
|
|
7
7
|
exports.__experimentalSetEditingReusableBlock = __experimentalSetEditingReusableBlock;
|
|
8
|
-
|
|
9
8
|
var _blockEditor = require("@wordpress/block-editor");
|
|
10
|
-
|
|
11
9
|
var _blocks = require("@wordpress/blocks");
|
|
12
|
-
|
|
13
10
|
var _i18n = require("@wordpress/i18n");
|
|
14
|
-
|
|
15
11
|
/**
|
|
16
12
|
* WordPress dependencies
|
|
17
13
|
*/
|
|
@@ -29,6 +25,7 @@ const __experimentalConvertBlockToStatic = clientId => ({
|
|
|
29
25
|
const newBlocks = (0, _blocks.parse)(typeof reusableBlock.content === 'function' ? reusableBlock.content(reusableBlock) : reusableBlock.content);
|
|
30
26
|
registry.dispatch(_blockEditor.store).replaceBlocks(oldBlock.clientId, newBlocks);
|
|
31
27
|
};
|
|
28
|
+
|
|
32
29
|
/**
|
|
33
30
|
* Returns a generator converting one or more static blocks into a pattern.
|
|
34
31
|
*
|
|
@@ -36,10 +33,7 @@ const __experimentalConvertBlockToStatic = clientId => ({
|
|
|
36
33
|
* @param {string} title Pattern title.
|
|
37
34
|
* @param {undefined|'unsynced'} syncType They way block is synced, current undefined (synced) and 'unsynced'.
|
|
38
35
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
36
|
exports.__experimentalConvertBlockToStatic = __experimentalConvertBlockToStatic;
|
|
42
|
-
|
|
43
37
|
const __experimentalConvertBlocksToReusable = (clientIds, title, syncType) => async ({
|
|
44
38
|
registry,
|
|
45
39
|
dispatch
|
|
@@ -54,47 +48,44 @@ const __experimentalConvertBlocksToReusable = (clientIds, title, syncType) => as
|
|
|
54
48
|
meta
|
|
55
49
|
};
|
|
56
50
|
const updatedRecord = await registry.dispatch('core').saveEntityRecord('postType', 'wp_block', reusableBlock);
|
|
57
|
-
|
|
58
51
|
if (syncType === 'unsynced') {
|
|
59
52
|
return;
|
|
60
53
|
}
|
|
61
|
-
|
|
62
54
|
const newBlock = (0, _blocks.createBlock)('core/block', {
|
|
63
55
|
ref: updatedRecord.id
|
|
64
56
|
});
|
|
65
57
|
registry.dispatch(_blockEditor.store).replaceBlocks(clientIds, newBlock);
|
|
66
|
-
|
|
67
58
|
dispatch.__experimentalSetEditingReusableBlock(newBlock.clientId, true);
|
|
68
59
|
};
|
|
60
|
+
|
|
69
61
|
/**
|
|
70
62
|
* Returns a generator deleting a reusable block.
|
|
71
63
|
*
|
|
72
64
|
* @param {string} id The ID of the reusable block to delete.
|
|
73
65
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
66
|
exports.__experimentalConvertBlocksToReusable = __experimentalConvertBlocksToReusable;
|
|
77
|
-
|
|
78
67
|
const __experimentalDeleteReusableBlock = id => async ({
|
|
79
68
|
registry
|
|
80
69
|
}) => {
|
|
81
|
-
const reusableBlock = registry.select('core').getEditedEntityRecord('postType', 'wp_block', id);
|
|
70
|
+
const reusableBlock = registry.select('core').getEditedEntityRecord('postType', 'wp_block', id);
|
|
82
71
|
|
|
72
|
+
// Don't allow a reusable block with a temporary ID to be deleted.
|
|
83
73
|
if (!reusableBlock) {
|
|
84
74
|
return;
|
|
85
|
-
}
|
|
86
|
-
|
|
75
|
+
}
|
|
87
76
|
|
|
77
|
+
// Remove any other blocks that reference this reusable block.
|
|
88
78
|
const allBlocks = registry.select(_blockEditor.store).getBlocks();
|
|
89
79
|
const associatedBlocks = allBlocks.filter(block => (0, _blocks.isReusableBlock)(block) && block.attributes.ref === id);
|
|
90
|
-
const associatedBlockClientIds = associatedBlocks.map(block => block.clientId);
|
|
80
|
+
const associatedBlockClientIds = associatedBlocks.map(block => block.clientId);
|
|
91
81
|
|
|
82
|
+
// Remove the parsed block.
|
|
92
83
|
if (associatedBlockClientIds.length) {
|
|
93
84
|
registry.dispatch(_blockEditor.store).removeBlocks(associatedBlockClientIds);
|
|
94
85
|
}
|
|
95
|
-
|
|
96
86
|
await registry.dispatch('core').deleteEntityRecord('postType', 'wp_block', id);
|
|
97
87
|
};
|
|
88
|
+
|
|
98
89
|
/**
|
|
99
90
|
* Returns an action descriptor for SET_EDITING_REUSABLE_BLOCK action.
|
|
100
91
|
*
|
|
@@ -102,10 +93,7 @@ const __experimentalDeleteReusableBlock = id => async ({
|
|
|
102
93
|
* @param {boolean} isEditing Whether the block should be in editing state.
|
|
103
94
|
* @return {Object} Action descriptor.
|
|
104
95
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
96
|
exports.__experimentalDeleteReusableBlock = __experimentalDeleteReusableBlock;
|
|
108
|
-
|
|
109
97
|
function __experimentalSetEditingReusableBlock(clientId, isEditing) {
|
|
110
98
|
return {
|
|
111
99
|
type: 'SET_EDITING_REUSABLE_BLOCK',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_blocks","_i18n","__experimentalConvertBlockToStatic","clientId","registry","oldBlock","select","blockEditorStore","getBlock","reusableBlock","getEditedEntityRecord","attributes","ref","newBlocks","parse","content","dispatch","replaceBlocks","exports","__experimentalConvertBlocksToReusable","clientIds","title","syncType","meta","wp_pattern_sync_status","undefined","__","serialize","getBlocksByClientId","status","updatedRecord","saveEntityRecord","newBlock","createBlock","id","__experimentalSetEditingReusableBlock","__experimentalDeleteReusableBlock","allBlocks","getBlocks","associatedBlocks","filter","block","isReusableBlock","associatedBlockClientIds","map","length","removeBlocks","deleteEntityRecord","isEditing","type"],"sources":["@wordpress/reusable-blocks/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport {\n\tcreateBlock,\n\tisReusableBlock,\n\tparse,\n\tserialize,\n} from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Returns a generator converting a reusable block into a static block.\n *\n * @param {string} clientId The client ID of the block to attach.\n */\nexport const __experimentalConvertBlockToStatic =\n\t( clientId ) =>\n\t( { registry } ) => {\n\t\tconst oldBlock = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlock( clientId );\n\t\tconst reusableBlock = registry\n\t\t\t.select( 'core' )\n\t\t\t.getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\toldBlock.attributes.ref\n\t\t\t);\n\n\t\tconst newBlocks = parse(\n\t\t\ttypeof reusableBlock.content === 'function'\n\t\t\t\t? reusableBlock.content( reusableBlock )\n\t\t\t\t: reusableBlock.content\n\t\t);\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.replaceBlocks( oldBlock.clientId, newBlocks );\n\t};\n\n/**\n * Returns a generator converting one or more static blocks into a pattern.\n *\n * @param {string[]} clientIds The client IDs of the block to detach.\n * @param {string} title Pattern title.\n * @param {undefined|'unsynced'} syncType They way block is synced, current undefined (synced) and 'unsynced'.\n */\nexport const __experimentalConvertBlocksToReusable =\n\t( clientIds, title, syncType ) =>\n\tasync ( { registry, dispatch } ) => {\n\t\tconst meta =\n\t\t\tsyncType === 'unsynced'\n\t\t\t\t? {\n\t\t\t\t\t\twp_pattern_sync_status: syncType,\n\t\t\t\t }\n\t\t\t\t: undefined;\n\n\t\tconst reusableBlock = {\n\t\t\ttitle: title || __( 'Untitled Pattern block' ),\n\t\t\tcontent: serialize(\n\t\t\t\tregistry\n\t\t\t\t\t.select( blockEditorStore )\n\t\t\t\t\t.getBlocksByClientId( clientIds )\n\t\t\t),\n\t\t\tstatus: 'publish',\n\t\t\tmeta,\n\t\t};\n\n\t\tconst updatedRecord = await registry\n\t\t\t.dispatch( 'core' )\n\t\t\t.saveEntityRecord( 'postType', 'wp_block', reusableBlock );\n\n\t\tif ( syncType === 'unsynced' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newBlock = createBlock( 'core/block', {\n\t\t\tref: updatedRecord.id,\n\t\t} );\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.replaceBlocks( clientIds, newBlock );\n\t\tdispatch.__experimentalSetEditingReusableBlock(\n\t\t\tnewBlock.clientId,\n\t\t\ttrue\n\t\t);\n\t};\n\n/**\n * Returns a generator deleting a reusable block.\n *\n * @param {string} id The ID of the reusable block to delete.\n */\nexport const __experimentalDeleteReusableBlock =\n\t( id ) =>\n\tasync ( { registry } ) => {\n\t\tconst reusableBlock = registry\n\t\t\t.select( 'core' )\n\t\t\t.getEditedEntityRecord( 'postType', 'wp_block', id );\n\n\t\t// Don't allow a reusable block with a temporary ID to be deleted.\n\t\tif ( ! reusableBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove any other blocks that reference this reusable block.\n\t\tconst allBlocks = registry.select( blockEditorStore ).getBlocks();\n\t\tconst associatedBlocks = allBlocks.filter(\n\t\t\t( block ) => isReusableBlock( block ) && block.attributes.ref === id\n\t\t);\n\t\tconst associatedBlockClientIds = associatedBlocks.map(\n\t\t\t( block ) => block.clientId\n\t\t);\n\n\t\t// Remove the parsed block.\n\t\tif ( associatedBlockClientIds.length ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( blockEditorStore )\n\t\t\t\t.removeBlocks( associatedBlockClientIds );\n\t\t}\n\n\t\tawait registry\n\t\t\t.dispatch( 'core' )\n\t\t\t.deleteEntityRecord( 'postType', 'wp_block', id );\n\t};\n\n/**\n * Returns an action descriptor for SET_EDITING_REUSABLE_BLOCK action.\n *\n * @param {string} clientId The clientID of the reusable block to target.\n * @param {boolean} isEditing Whether the block should be in editing state.\n * @return {Object} Action descriptor.\n */\nexport function __experimentalSetEditingReusableBlock( clientId, isEditing ) {\n\treturn {\n\t\ttype: 'SET_EDITING_REUSABLE_BLOCK',\n\t\tclientId,\n\t\tisEditing,\n\t};\n}\n"],"mappings":"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"}
|
package/build/store/index.js
CHANGED
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.store = void 0;
|
|
9
|
-
|
|
10
8
|
var _data = require("@wordpress/data");
|
|
11
|
-
|
|
12
9
|
var actions = _interopRequireWildcard(require("./actions"));
|
|
13
|
-
|
|
14
10
|
var _reducer = _interopRequireDefault(require("./reducer"));
|
|
15
|
-
|
|
16
11
|
var selectors = _interopRequireWildcard(require("./selectors"));
|
|
17
|
-
|
|
18
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
-
|
|
20
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
-
|
|
22
14
|
/**
|
|
23
15
|
* WordPress dependencies
|
|
24
16
|
*/
|
|
@@ -26,7 +18,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
26
18
|
/**
|
|
27
19
|
* Internal dependencies
|
|
28
20
|
*/
|
|
21
|
+
|
|
29
22
|
const STORE_NAME = 'core/reusable-blocks';
|
|
23
|
+
|
|
30
24
|
/**
|
|
31
25
|
* Store definition for the reusable blocks namespace.
|
|
32
26
|
*
|
|
@@ -34,7 +28,6 @@ const STORE_NAME = 'core/reusable-blocks';
|
|
|
34
28
|
*
|
|
35
29
|
* @type {Object}
|
|
36
30
|
*/
|
|
37
|
-
|
|
38
31
|
const store = (0, _data.createReduxStore)(STORE_NAME, {
|
|
39
32
|
actions,
|
|
40
33
|
reducer: _reducer.default,
|