@plaudit/gutenberg-api-extensions 2.19.1 → 2.21.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/build/blocks/common-native-property-constructors.d.ts +23 -7
- package/build/blocks/common-native-property-constructors.js +25 -3
- package/build/blocks/common-native-property-constructors.js.map +1 -1
- package/build/blocks/index.d.ts +5 -2
- package/build/blocks/index.js +7 -6
- package/build/blocks/index.js.map +1 -1
- package/build/blocks/{layered-styles.d.ts → layered-styles-api.d.ts} +9 -5
- package/build/blocks/layered-styles-api.js +75 -0
- package/build/blocks/layered-styles-api.js.map +1 -0
- package/build/blocks/layered-styles-impl.d.ts +3 -0
- package/build/blocks/layered-styles-impl.js +53 -0
- package/build/blocks/layered-styles-impl.js.map +1 -0
- package/build/blocks/{simple-native-property.d.ts → simple-native-property-api.d.ts} +18 -12
- package/build/blocks/simple-native-property-api.js +48 -0
- package/build/blocks/simple-native-property-api.js.map +1 -0
- package/build/blocks/simple-native-property-impl.d.ts +1 -0
- package/build/blocks/{simple-native-property.js → simple-native-property-impl.js} +88 -84
- package/build/blocks/simple-native-property-impl.js.map +1 -0
- package/build/editor/post-featured-image.d.ts +1 -0
- package/build/editor/post-featured-image.js +85 -0
- package/build/editor/post-featured-image.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +10 -0
- package/build/index.js.map +1 -1
- package/package.json +19 -14
- package/build/blocks/layered-styles.js +0 -63
- package/build/blocks/layered-styles.js.map +0 -1
- package/build/blocks/simple-native-property.js.map +0 -1
|
@@ -3,46 +3,18 @@ import { createHigherOrderComponent } from "@wordpress/compose";
|
|
|
3
3
|
import { addFilter } from "@wordpress/hooks";
|
|
4
4
|
import { hydrateSimpleNativeProperty } from "./common-native-property-constructors";
|
|
5
5
|
import { InspectorPanel } from "../controls";
|
|
6
|
+
import { makeLayeredStylesDataStore } from "./layered-styles-impl";
|
|
6
7
|
import React from "react";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
import { registerSimpleNativeProperties } from "./simple-native-property-api";
|
|
9
|
+
function makeAttributesDataStore(blockEditProps) {
|
|
10
|
+
return {
|
|
11
|
+
getAttribute(name) {
|
|
12
|
+
return blockEditProps.attributes[name];
|
|
13
|
+
},
|
|
14
|
+
setAttribute(name, value) {
|
|
15
|
+
blockEditProps.setAttributes(name === 'className' ? { className: value?.toString() } : { [name]: value });
|
|
12
16
|
}
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
addProperties(config.block, config.properties, simpleNativePanelsAndTabs);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function addProperties(block, properties, simpleNativePanelsAndTabs) {
|
|
19
|
-
const panels = (simpleNativePanelsAndTabs[block] ?? (simpleNativePanelsAndTabs[block] = []));
|
|
20
|
-
if ('title' in properties) {
|
|
21
|
-
panels.push(properties);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
let rawProperties = [];
|
|
25
|
-
for (const prop of properties) {
|
|
26
|
-
if ('title' in prop) {
|
|
27
|
-
if (rawProperties.length) {
|
|
28
|
-
panels.push({
|
|
29
|
-
title: "",
|
|
30
|
-
properties: rawProperties
|
|
31
|
-
});
|
|
32
|
-
rawProperties = [];
|
|
33
|
-
}
|
|
34
|
-
panels.push(prop);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
rawProperties.push(prop);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
if (rawProperties.length) {
|
|
41
|
-
panels.push({
|
|
42
|
-
title: "",
|
|
43
|
-
properties: rawProperties
|
|
44
|
-
});
|
|
45
|
-
}
|
|
17
|
+
};
|
|
46
18
|
}
|
|
47
19
|
function isCombinerCondition(condition) {
|
|
48
20
|
return condition.op === "and" || condition.op === "or" || condition.op === "not" || condition.op === "nand" || condition.op === "nor";
|
|
@@ -54,11 +26,11 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
54
26
|
window.plauditSimpleNativePropertiesSupportInstalled = true;
|
|
55
27
|
const ROOT_LEVEL_PANELS = [undefined, "default", "advanced", "settings", "styles"];
|
|
56
28
|
const simpleNativePanelsAndTabs = window.plauditSimpleNativePanelsAndTabs ?? (window.plauditSimpleNativePanelsAndTabs = {});
|
|
57
|
-
function performConditionTest(blockEditProps, condition) {
|
|
29
|
+
function performConditionTest(dataStore, blockEditProps, condition) {
|
|
58
30
|
if (isCombinerCondition(condition)) {
|
|
59
|
-
return testConditionStruct(blockEditProps, condition.conditions, condition.op);
|
|
31
|
+
return testConditionStruct(dataStore, blockEditProps, condition.conditions, condition.op);
|
|
60
32
|
}
|
|
61
|
-
const attrValue = getExistingValue(blockEditProps, { name: condition.property });
|
|
33
|
+
const attrValue = getExistingValue(dataStore, blockEditProps, { name: condition.property });
|
|
62
34
|
if (!('value' in condition)) { // We negate this in order to ensure that unchecked values in the switch will throw a compile-time error
|
|
63
35
|
return condition.op === "empty" ? !attrValue : !!attrValue;
|
|
64
36
|
}
|
|
@@ -78,18 +50,18 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
78
50
|
}
|
|
79
51
|
throw new Error(`Unsupported operator in condition: ${condition}`);
|
|
80
52
|
}
|
|
81
|
-
function testConditionStruct(blockEditProps, conditions, combiner = "and") {
|
|
53
|
+
function testConditionStruct(dataStore, blockEditProps, conditions, combiner = "and") {
|
|
82
54
|
switch (combiner) {
|
|
83
55
|
case "and":
|
|
84
56
|
for (const condition of conditions) {
|
|
85
|
-
if (!(Array.isArray(condition) ? testConditionStruct(blockEditProps, conditions, "and") : performConditionTest(blockEditProps, condition))) {
|
|
57
|
+
if (!(Array.isArray(condition) ? testConditionStruct(dataStore, blockEditProps, conditions, "and") : performConditionTest(dataStore, blockEditProps, condition))) {
|
|
86
58
|
return false;
|
|
87
59
|
}
|
|
88
60
|
}
|
|
89
61
|
return true;
|
|
90
62
|
case "or":
|
|
91
63
|
for (const condition of conditions) {
|
|
92
|
-
if ((Array.isArray(condition) ? testConditionStruct(blockEditProps, conditions, "and") : performConditionTest(blockEditProps, condition))) {
|
|
64
|
+
if ((Array.isArray(condition) ? testConditionStruct(dataStore, blockEditProps, conditions, "and") : performConditionTest(dataStore, blockEditProps, condition))) {
|
|
93
65
|
return true;
|
|
94
66
|
}
|
|
95
67
|
}
|
|
@@ -97,28 +69,28 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
97
69
|
case "not":
|
|
98
70
|
case "nand":
|
|
99
71
|
for (const condition of conditions) {
|
|
100
|
-
if (!(Array.isArray(condition) ? testConditionStruct(blockEditProps, conditions, "and") : performConditionTest(blockEditProps, condition))) {
|
|
72
|
+
if (!(Array.isArray(condition) ? testConditionStruct(dataStore, blockEditProps, conditions, "and") : performConditionTest(dataStore, blockEditProps, condition))) {
|
|
101
73
|
return true;
|
|
102
74
|
}
|
|
103
75
|
}
|
|
104
76
|
return false;
|
|
105
77
|
case "nor":
|
|
106
78
|
for (const condition of conditions) {
|
|
107
|
-
if ((Array.isArray(condition) ? testConditionStruct(blockEditProps, conditions, "and") : performConditionTest(blockEditProps, condition))) {
|
|
79
|
+
if ((Array.isArray(condition) ? testConditionStruct(dataStore, blockEditProps, conditions, "and") : performConditionTest(dataStore, blockEditProps, condition))) {
|
|
108
80
|
return false;
|
|
109
81
|
}
|
|
110
82
|
}
|
|
111
83
|
return true;
|
|
112
84
|
}
|
|
113
85
|
}
|
|
114
|
-
function testCondition(blockEditProps, condition) {
|
|
86
|
+
function testCondition(dataStore, blockEditProps, condition) {
|
|
115
87
|
if (condition === undefined) {
|
|
116
88
|
return true;
|
|
117
89
|
}
|
|
118
90
|
if (Array.isArray(condition)) {
|
|
119
|
-
return condition.length === 0 || testConditionStruct(blockEditProps, condition, "or");
|
|
91
|
+
return condition.length === 0 || testConditionStruct(dataStore, blockEditProps, condition, "or");
|
|
120
92
|
}
|
|
121
|
-
return condition(blockEditProps);
|
|
93
|
+
return condition(dataStore, blockEditProps);
|
|
122
94
|
}
|
|
123
95
|
function attachSNP(property, injectableProperties) {
|
|
124
96
|
property = hydrateSimpleNativeProperty(property);
|
|
@@ -195,43 +167,61 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
195
167
|
}
|
|
196
168
|
return atts;
|
|
197
169
|
});
|
|
198
|
-
|
|
170
|
+
const backedUpBlockAttributes = {};
|
|
171
|
+
function setBackedUpAttributeValue(blockEditProps, attr, value) {
|
|
172
|
+
const backedUpAttributes = (backedUpBlockAttributes[blockEditProps.clientId] ?? (backedUpBlockAttributes[blockEditProps.clientId] = new Map()));
|
|
173
|
+
backedUpAttributes.set(attr, value);
|
|
174
|
+
}
|
|
175
|
+
function removeBackedUpAttributeValue(blockEditProps, attr) {
|
|
176
|
+
return backedUpBlockAttributes[blockEditProps.clientId]?.delete(attr);
|
|
177
|
+
}
|
|
178
|
+
function hasBackedUpAttributeValue(blockEditProps, attr) {
|
|
179
|
+
return backedUpBlockAttributes[blockEditProps.clientId]?.has(attr);
|
|
180
|
+
}
|
|
181
|
+
function getBackedUpAttributeValue(blockEditProps, prop, def) {
|
|
182
|
+
return def !== undefined
|
|
183
|
+
? (hasBackedUpAttributeValue(blockEditProps, prop) ? backedUpBlockAttributes[blockEditProps.clientId]?.get(prop) : def)
|
|
184
|
+
: backedUpBlockAttributes[blockEditProps.clientId]?.get(prop);
|
|
185
|
+
}
|
|
186
|
+
function setDottedAttribute(dataStore, blockEditProps, attr, value) {
|
|
199
187
|
const attrPath = attr.split('.');
|
|
200
188
|
if (attrPath.length === 1) {
|
|
201
|
-
return
|
|
189
|
+
return dataStore.setAttribute(attr, value);
|
|
202
190
|
}
|
|
203
|
-
const payload = { ...
|
|
191
|
+
const payload = { ...dataStore.getAttribute(attrPath[0]) };
|
|
204
192
|
let currentLayer = payload;
|
|
205
193
|
for (let i = 1; i < attrPath.length - 1; i++) {
|
|
206
194
|
const attrPathNode = attrPath[i];
|
|
195
|
+
//TODO: This is almost certainly broken for depths greater than 2, but working out the reverse stack walk isn't worth it rn
|
|
207
196
|
currentLayer = currentLayer[attrPathNode] = {};
|
|
208
197
|
}
|
|
209
198
|
currentLayer[attrPath[attrPath.length - 1]] = value;
|
|
210
|
-
|
|
199
|
+
dataStore.setAttribute(attrPath[0], payload);
|
|
211
200
|
}
|
|
212
|
-
function getExistingValue(blockEditProps, prop) {
|
|
201
|
+
function getExistingValue(dataStore, blockEditProps, prop) {
|
|
202
|
+
const defaultToUse = getBackedUpAttributeValue(blockEditProps, prop.name);
|
|
213
203
|
const propPath = prop.name.split('.');
|
|
214
204
|
if (propPath.length === 1) {
|
|
215
|
-
let existingValue =
|
|
216
|
-
if (existingValue === undefined &&
|
|
217
|
-
existingValue =
|
|
218
|
-
|
|
205
|
+
let existingValue = dataStore.getAttribute(prop.name);
|
|
206
|
+
if (existingValue === undefined && defaultToUse !== undefined) {
|
|
207
|
+
existingValue = defaultToUse;
|
|
208
|
+
dataStore.setAttribute(prop.name, defaultToUse);
|
|
219
209
|
}
|
|
220
210
|
return existingValue;
|
|
221
211
|
}
|
|
222
212
|
else {
|
|
223
|
-
let graphExistingValue =
|
|
213
|
+
let graphExistingValue = dataStore.getAttribute(propPath[0]);
|
|
224
214
|
if (graphExistingValue === undefined) {
|
|
225
|
-
|
|
215
|
+
dataStore.setAttribute(propPath[0], graphExistingValue = {});
|
|
226
216
|
}
|
|
227
217
|
for (let i = 1; i < propPath.length; i++) {
|
|
228
218
|
if (graphExistingValue[propPath[i]] === undefined) {
|
|
229
219
|
for (; i < propPath.length - 1; i++) {
|
|
230
220
|
graphExistingValue = graphExistingValue[propPath[i]] = {};
|
|
231
221
|
}
|
|
232
|
-
graphExistingValue[propPath[propPath.length - 1]] =
|
|
233
|
-
if (
|
|
234
|
-
|
|
222
|
+
graphExistingValue[propPath[propPath.length - 1]] = defaultToUse;
|
|
223
|
+
if (defaultToUse !== undefined) {
|
|
224
|
+
dataStore.setAttribute(propPath[0], dataStore.getAttribute(propPath[0]));
|
|
235
225
|
}
|
|
236
226
|
break;
|
|
237
227
|
}
|
|
@@ -239,48 +229,58 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
239
229
|
graphExistingValue = graphExistingValue[propPath[i]];
|
|
240
230
|
}
|
|
241
231
|
}
|
|
242
|
-
return graphExistingValue ??
|
|
232
|
+
return graphExistingValue ?? defaultToUse;
|
|
243
233
|
}
|
|
244
234
|
}
|
|
245
|
-
function renderPropertyComponent(blockEditProps, prop) {
|
|
235
|
+
function renderPropertyComponent(dataStore, blockEditProps, prop) {
|
|
246
236
|
if (Array.isArray(prop)) {
|
|
247
|
-
return prop.map(p => renderPropertyComponent(blockEditProps, p))
|
|
237
|
+
return prop.map(p => renderPropertyComponent(dataStore, blockEditProps, p))
|
|
248
238
|
.filter((ele) => ele !== undefined);
|
|
249
239
|
}
|
|
250
240
|
const prp = hydrateSimpleNativeProperty(prop);
|
|
251
|
-
let existingValue = getExistingValue(blockEditProps, prp);
|
|
241
|
+
let existingValue = getBackedUpAttributeValue(blockEditProps, prp.name, getExistingValue(dataStore, blockEditProps, prp));
|
|
252
242
|
let ele;
|
|
253
243
|
if (prp.type === "array") { // If the value is not an array or is a sparse array, then it will cause unrecoverable errors upon conversion to PHP
|
|
254
244
|
if (existingValue !== undefined && (!Array.isArray(existingValue) || existingValue.length > existingValue.filter(() => true).length)) {
|
|
255
245
|
throw new Error(`Invalid value passed to an array-type property: ${existingValue}`);
|
|
256
246
|
}
|
|
257
|
-
ele = prp.control(existingValue, value => setDottedAttribute(blockEditProps, prp.name, value));
|
|
247
|
+
ele = prp.control(existingValue, value => setDottedAttribute(dataStore, blockEditProps, prp.name, value));
|
|
258
248
|
}
|
|
259
249
|
else if (prp.type === "object") {
|
|
260
250
|
if (existingValue !== undefined && (Array.isArray(existingValue) || typeof existingValue !== 'object')) {
|
|
261
251
|
throw new Error(`Invalid value passed to an object-type property: ${existingValue}`);
|
|
262
252
|
}
|
|
263
|
-
ele = prp.control(existingValue, value => setDottedAttribute(blockEditProps, prp.name, value));
|
|
253
|
+
ele = prp.control(existingValue, value => setDottedAttribute(dataStore, blockEditProps, prp.name, value));
|
|
264
254
|
}
|
|
265
255
|
else if (prp.type === "boolean") {
|
|
266
256
|
if (typeof existingValue !== 'boolean' && existingValue !== undefined) {
|
|
267
257
|
existingValue = !!existingValue;
|
|
268
258
|
}
|
|
269
|
-
ele = prp.control(existingValue, value => setDottedAttribute(blockEditProps, prp.name, value));
|
|
259
|
+
ele = prp.control(existingValue, value => setDottedAttribute(dataStore, blockEditProps, prp.name, value));
|
|
270
260
|
}
|
|
271
261
|
else if (prp.type === "string") {
|
|
272
262
|
if (typeof existingValue !== 'string' && existingValue !== undefined) {
|
|
273
263
|
existingValue = existingValue.toString();
|
|
274
264
|
}
|
|
275
|
-
ele = prp.control(existingValue, value => setDottedAttribute(blockEditProps, prp.name, value));
|
|
265
|
+
ele = prp.control(existingValue, value => setDottedAttribute(dataStore, blockEditProps, prp.name, value));
|
|
276
266
|
}
|
|
277
267
|
else {
|
|
278
268
|
if (typeof existingValue !== 'number' && existingValue !== undefined) {
|
|
279
269
|
existingValue = parseFloat(existingValue);
|
|
280
270
|
}
|
|
281
|
-
ele = prp.control(existingValue, value => setDottedAttribute(blockEditProps, prp.name, value));
|
|
271
|
+
ele = prp.control(existingValue, value => setDottedAttribute(dataStore, blockEditProps, prp.name, value));
|
|
272
|
+
}
|
|
273
|
+
if (testCondition(dataStore, blockEditProps, prp.condition)) {
|
|
274
|
+
if (removeBackedUpAttributeValue(blockEditProps, prp.name)) {
|
|
275
|
+
setDottedAttribute(dataStore, blockEditProps, prp.name, existingValue);
|
|
276
|
+
}
|
|
277
|
+
return [`plaudit-snp-${prp.name}`, ele];
|
|
278
|
+
}
|
|
279
|
+
if (existingValue !== prp.default) {
|
|
280
|
+
setBackedUpAttributeValue(blockEditProps, prp.name, existingValue);
|
|
281
|
+
setDottedAttribute(dataStore, blockEditProps, prp.name, prp.default);
|
|
282
282
|
}
|
|
283
|
-
return
|
|
283
|
+
return undefined;
|
|
284
284
|
}
|
|
285
285
|
function isElementAndKey(thing) {
|
|
286
286
|
return typeof thing[0] === 'string';
|
|
@@ -310,8 +310,8 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
310
310
|
}
|
|
311
311
|
return [grid, wrappedItems];
|
|
312
312
|
}
|
|
313
|
-
function makeDivForLaidOutProperties(properties, blockEditProps) {
|
|
314
|
-
const fieldAndRows = properties.map(prop => renderPropertyComponent(blockEditProps, prop))
|
|
313
|
+
function makeDivForLaidOutProperties(properties, dataStore, blockEditProps) {
|
|
314
|
+
const fieldAndRows = properties.map(prop => renderPropertyComponent(dataStore, blockEditProps, prop))
|
|
315
315
|
.filter((ele) => ele !== undefined);
|
|
316
316
|
const [gridTemplateAreas, items] = buildGridTemplateAreas(fieldAndRows);
|
|
317
317
|
return {
|
|
@@ -329,32 +329,36 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
329
329
|
let keyIndex = 0;
|
|
330
330
|
for (const panelOrTab of blockSimpleNativePanelsAndTabs) {
|
|
331
331
|
if ('properties' in panelOrTab) {
|
|
332
|
-
const
|
|
332
|
+
const panelOrTabGroup = panelOrTab.group === 'layered-styles' ? 'styles' : panelOrTab.group;
|
|
333
|
+
const dataStore = panelOrTab.group === 'layered-styles' ? makeLayeredStylesDataStore(blockEditProps) : makeAttributesDataStore(blockEditProps);
|
|
334
|
+
const { div, items } = makeDivForLaidOutProperties(panelOrTab.properties, dataStore, blockEditProps);
|
|
333
335
|
normalPanels.push(React.createElement(React.Fragment, null,
|
|
334
|
-
React.createElement(InspectorPanel, { ...panelOrTab, condition: () => items.length > 0 && testCondition(blockEditProps, panelOrTab.condition), raw: ('raw' in panelOrTab && !!panelOrTab.raw) || !ROOT_LEVEL_PANELS.includes(
|
|
336
|
+
React.createElement(InspectorPanel, { ...panelOrTab, group: panelOrTabGroup, condition: () => items.length > 0 && testCondition(dataStore, blockEditProps, panelOrTab.condition), raw: ('raw' in panelOrTab && !!panelOrTab.raw) || !ROOT_LEVEL_PANELS.includes(panelOrTabGroup), key: `plaudit-simple-native-property-${keyIndex++}` }, div)));
|
|
335
337
|
}
|
|
336
338
|
else {
|
|
337
|
-
const
|
|
339
|
+
const panelOrTabGroup = panelOrTab.group === 'layered-styles' ? 'styles' : panelOrTab.group;
|
|
340
|
+
const dataStore = panelOrTab.group === 'layered-styles' ? makeLayeredStylesDataStore(blockEditProps) : makeAttributesDataStore(blockEditProps);
|
|
341
|
+
const group = (groupedTabs[panelOrTabGroup ?? "default"] ?? (groupedTabs[panelOrTabGroup ?? "default"] = {}));
|
|
338
342
|
const tabItems = group[panelOrTab.title] ?? (group[panelOrTab.title] = []);
|
|
339
343
|
let unwrappedProperties = [];
|
|
340
344
|
for (const panelOrProperty of panelOrTab.items) {
|
|
341
345
|
if ('properties' in panelOrProperty) {
|
|
342
346
|
if (unwrappedProperties.length) {
|
|
343
|
-
const { div, items } = makeDivForLaidOutProperties(unwrappedProperties, blockEditProps);
|
|
347
|
+
const { div, items } = makeDivForLaidOutProperties(unwrappedProperties, dataStore, blockEditProps);
|
|
344
348
|
if (items.length) {
|
|
345
349
|
tabItems.push(React.createElement(PanelBody, { opened: true, key: `plaudit-simple-native-property-${keyIndex++}` }, div));
|
|
346
350
|
}
|
|
347
351
|
unwrappedProperties = [];
|
|
348
352
|
}
|
|
349
|
-
const { div, items } = makeDivForLaidOutProperties(unwrappedProperties, blockEditProps);
|
|
350
|
-
tabItems.push(React.createElement(PanelBody, { ...panelOrProperty, key: `plaudit-simple-native-property-${keyIndex++}` }, (items.length > 0 && testCondition(blockEditProps, panelOrProperty.condition)) && div));
|
|
353
|
+
const { div, items } = makeDivForLaidOutProperties(unwrappedProperties, dataStore, blockEditProps);
|
|
354
|
+
tabItems.push(React.createElement(PanelBody, { ...panelOrProperty, key: `plaudit-simple-native-property-${keyIndex++}` }, (items.length > 0 && testCondition(dataStore, blockEditProps, panelOrProperty.condition)) && div));
|
|
351
355
|
}
|
|
352
356
|
else {
|
|
353
357
|
unwrappedProperties.push(panelOrProperty);
|
|
354
358
|
}
|
|
355
359
|
}
|
|
356
360
|
if (unwrappedProperties.length) {
|
|
357
|
-
const { div, items } = makeDivForLaidOutProperties(unwrappedProperties, blockEditProps);
|
|
361
|
+
const { div, items } = makeDivForLaidOutProperties(unwrappedProperties, dataStore, blockEditProps);
|
|
358
362
|
if (items.length) {
|
|
359
363
|
tabItems.push(React.createElement(PanelBody, { opened: true, key: `plaudit-simple-native-property-${keyIndex++}` }, div));
|
|
360
364
|
}
|
|
@@ -365,9 +369,9 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
365
369
|
React.createElement(BlockEdit, { ...blockEditProps }),
|
|
366
370
|
...normalPanels,
|
|
367
371
|
...Object.entries(groupedTabs).map(([group, tabs]) => {
|
|
368
|
-
return React.createElement(InspectorPanel, { tabbed: true, group: group, tabs: Object.entries(tabs)
|
|
372
|
+
return React.createElement(InspectorPanel, { tabbed: true, group: group === 'layered-styles' ? 'styles' : group, tabs: Object.entries(tabs)
|
|
369
373
|
.map(([title, items]) => ({ name: `${title.replaceAll(/\W+/gi, "-")}-${keyIndex++}`, title, items })) });
|
|
370
374
|
}));
|
|
371
375
|
}, 'plauditGutenbergApiExtensionsSimpleNativeProperties'));
|
|
372
376
|
}
|
|
373
|
-
//# sourceMappingURL=simple-native-property.js.map
|
|
377
|
+
//# sourceMappingURL=simple-native-property-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-native-property-impl.js","sourceRoot":"","sources":["../../src/blocks/simple-native-property-impl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function installPostFeaturedImageCardFocusTargeting(): void;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Button, FocalPointPicker, Spinner } from "@wordpress/components";
|
|
2
|
+
import { dispatch, select as dataSelect } from "@wordpress/data";
|
|
3
|
+
import { PostFeaturedImageCheck, store as editorStore } from "@wordpress/editor";
|
|
4
|
+
import { useEffect, useState } from "@wordpress/element";
|
|
5
|
+
import { addFilter, applyFilters } from "@wordpress/hooks";
|
|
6
|
+
import { __ } from "@wordpress/i18n";
|
|
7
|
+
import React from "react";
|
|
8
|
+
function getMediaDetails(media, postId) {
|
|
9
|
+
if (!media) {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
const sizes = (media?.media_details?.['sizes'] ?? {});
|
|
13
|
+
const defaultSize = applyFilters('editor.PostFeaturedImage.imageSize', 'large', media.id, postId);
|
|
14
|
+
if (defaultSize in sizes) {
|
|
15
|
+
return {
|
|
16
|
+
mediaWidth: sizes[defaultSize].width,
|
|
17
|
+
mediaHeight: sizes[defaultSize].height,
|
|
18
|
+
mediaSourceUrl: sizes[defaultSize].source_url,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// Use fallbackSize when defaultSize is not available.
|
|
22
|
+
const fallbackSize = applyFilters('editor.PostFeaturedImage.imageSize', 'thumbnail', media.id, postId);
|
|
23
|
+
if (fallbackSize in sizes) {
|
|
24
|
+
return {
|
|
25
|
+
mediaWidth: sizes[fallbackSize].width,
|
|
26
|
+
mediaHeight: sizes[fallbackSize].height,
|
|
27
|
+
mediaSourceUrl: sizes[fallbackSize].source_url,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
// Use full image size when fallbackSize and defaultSize are not available.
|
|
31
|
+
return {
|
|
32
|
+
mediaWidth: media.media_details['width'],
|
|
33
|
+
mediaHeight: media.media_details['height'],
|
|
34
|
+
mediaSourceUrl: media.source_url,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function installPostFeaturedImageCardFocusTargeting() {
|
|
38
|
+
if (window.plauditPostFeaturedImageCardFocusTargeting) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
window.plauditPostFeaturedImageCardFocusTargeting = true;
|
|
42
|
+
function wrapPostFeaturedImage(OriginalComponent) {
|
|
43
|
+
return (props) => {
|
|
44
|
+
const [inFocusMode, setInFocusMode] = useState(false);
|
|
45
|
+
const { currentPostId, media, noticeUI } = props;
|
|
46
|
+
const { x = 50, y = 50 } = (dataSelect('core/editor')['getEditedPostAttribute']('meta')?.["plaudit_card-image_pos"] ?? {});
|
|
47
|
+
const [position, setPosition] = useState({ x: x / 100, y: y / 100 });
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
const { x = 50, y = 50 } = (dataSelect('core/editor')['getEditedPostAttribute']('meta')?.["plaudit_card-image_pos"] ?? {});
|
|
50
|
+
setPosition({ x: x / 100, y: y / 100 });
|
|
51
|
+
}, [x, y]);
|
|
52
|
+
const { mediaSourceUrl } = getMediaDetails(media, currentPostId);
|
|
53
|
+
if (!mediaSourceUrl && dataSelect('core/editor')['getEditedPostAttribute']('featured_media')) {
|
|
54
|
+
return React.createElement(Spinner, null);
|
|
55
|
+
}
|
|
56
|
+
if (!mediaSourceUrl) {
|
|
57
|
+
return React.createElement(OriginalComponent, { ...props });
|
|
58
|
+
}
|
|
59
|
+
if (!inFocusMode) {
|
|
60
|
+
return React.createElement(PostFeaturedImageCheck, null,
|
|
61
|
+
React.createElement(OriginalComponent, { ...props }),
|
|
62
|
+
React.createElement("div", null,
|
|
63
|
+
React.createElement(Button, { onClick: () => setInFocusMode(true), variant: "secondary", text: __("Change Image Focal Point", 'plaudit') })));
|
|
64
|
+
}
|
|
65
|
+
return React.createElement(PostFeaturedImageCheck, null,
|
|
66
|
+
noticeUI,
|
|
67
|
+
React.createElement("div", { className: "editor-post-featured-image" },
|
|
68
|
+
React.createElement(FocalPointPicker, { onChange: pos => setPosition(pos), url: mediaSourceUrl, value: position }),
|
|
69
|
+
React.createElement("div", null,
|
|
70
|
+
React.createElement(Button, { text: __("Done", 'plaudit'), onClick: () => {
|
|
71
|
+
dispatch(editorStore)['editPost']({
|
|
72
|
+
meta: { "plaudit_card-image_pos": { x: Math.round(position.x * 100), y: Math.round(position.y * 100) } }
|
|
73
|
+
});
|
|
74
|
+
setInFocusMode(false);
|
|
75
|
+
}, variant: "primary" }),
|
|
76
|
+
React.createElement(Button, { text: __('Cancel', 'plaudit'), onClick: () => {
|
|
77
|
+
const { x = 50, y = 50 } = (dataSelect('core/editor')['getEditedPostAttribute']('meta')?.["plaudit_card-image_pos"] ?? {});
|
|
78
|
+
setPosition({ x: x / 100, y: y / 100 });
|
|
79
|
+
setInFocusMode(false);
|
|
80
|
+
}, isDestructive: true }))));
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
addFilter('editor.PostFeaturedImage', 'plaudit-gutenberg-api-extensions/inject-post-featured-image-card-focus-targeting', wrapPostFeaturedImage);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=post-featured-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-featured-image.js","sourceRoot":"","sources":["../../src/editor/post-featured-image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAC,sBAAsB,EAAE,KAAK,IAAI,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,EAAE,EAAC,MAAM,iBAAiB,CAAC;AAEnC,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,SAAS,eAAe,CAAC,KAA6E,EAAE,MAAW;IAClH,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAkE,CAAC;IAEvH,MAAM,WAAW,GAAG,YAAY,CAC/B,oCAAoC,EACpC,OAAO,EACP,KAAK,CAAC,EAAE,EACR,MAAM,CACI,CAAC;IACZ,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO;YACN,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK;YACpC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM;YACtC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU;SAC7C,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,YAAY,GAAG,YAAY,CAChC,oCAAoC,EACpC,WAAW,EACX,KAAK,CAAC,EAAE,EACR,MAAM,CACI,CAAC;IACZ,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC3B,OAAO;YACN,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK;YACrC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM;YACvC,cAAc,EACd,KAAK,CAAC,YAAY,CAAC,CAAC,UAAU;SAC9B,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,OAAO;QACN,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QACxC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC1C,cAAc,EAAE,KAAK,CAAC,UAAU;KAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0CAA0C;IACzD,IAAK,MAAc,CAAC,0CAA0C,EAAE,CAAC;QAChE,OAAO;IACR,CAAC;IACA,MAAc,CAAC,0CAA0C,GAAG,IAAI,CAAC;IAElE,SAAS,qBAAqB,CAAC,iBAAgC;QAC9D,OAAO,CAAC,KAA0B,EAAE,EAAE;YACrC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEtD,MAAM,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,CAAC;YAEV,MAAM,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAwB,CAAC;YAChJ,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAC,CAAC,CAAC;YAEnE,SAAS,CAAC,GAAG,EAAE;gBACd,MAAM,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAwB,CAAC;gBAChJ,WAAW,CAAC,EAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAC,CAAC,CAAC;YACvC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEX,MAAM,EAAC,cAAc,EAAC,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAE/D,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC9F,OAAO,oBAAC,OAAO,OAAG,CAAC;YACpB,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO,oBAAC,iBAAiB,OAAK,KAAK,GAAI,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,OAAO,oBAAC,sBAAsB;oBAC7B,oBAAC,iBAAiB,OAAK,KAAK,GAAI;oBAChC;wBACC,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,GAAG,CAC9G,CACkB,CAAA;YAC1B,CAAC;YAED,OAAO,oBAAC,sBAAsB;gBAC3B,QAAQ;gBACV,6BAAK,SAAS,EAAC,4BAA4B;oBAC1C,oBAAC,gBAAgB,IAChB,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EACjC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,QAAQ,GACd;oBACF;wBACC,oBAAC,MAAM,IAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;gCAClD,QAAQ,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;oCACjC,IAAI,EAAE,EAAC,wBAAwB,EAAE,EAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,EAAC,EAAC;iCACpG,CAAC,CAAC;gCACH,cAAc,CAAC,KAAK,CAAC,CAAC;4BACvB,CAAC,EAAE,OAAO,EAAC,SAAS,GAAG;wBACvB,oBAAC,MAAM,IAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;gCACpD,MAAM,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAwB,CAAC;gCAChJ,WAAW,CAAC,EAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAC,CAAC,CAAC;gCACtC,cAAc,CAAC,KAAK,CAAC,CAAC;4BACvB,CAAC,EAAE,aAAa,SAAG,CACd,CACD,CACkB,CAAC;QAC3B,CAAC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,0BAA0B,EACnC,kFAAkF,EAClF,qBAAqB,CACrB,CAAC;AACH,CAAC"}
|
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
export * from "./blocks";
|
|
2
2
|
export * from "./controls";
|
|
3
3
|
export * from "./lib/plaudit-icons";
|
|
4
|
+
import { installSimpleNativePropertiesSupport } from "./blocks/simple-native-property-impl";
|
|
5
|
+
import { installPostFeaturedImageCardFocusTargeting } from "./editor/post-featured-image";
|
|
6
|
+
export function installGutenbergExtensions() {
|
|
7
|
+
if (window.plauditGutenbergExtensionsInstalled) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
window.plauditGutenbergExtensionsInstalled = true;
|
|
11
|
+
installSimpleNativePropertiesSupport();
|
|
12
|
+
installPostFeaturedImageCardFocusTargeting();
|
|
13
|
+
}
|
|
4
14
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAC,oCAAoC,EAAC,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAC,0CAA0C,EAAC,MAAM,8BAA8B,CAAC;AAExF,MAAM,UAAU,0BAA0B;IACzC,IAAK,MAAc,CAAC,mCAAmC,EAAE,CAAC;QACzD,OAAO;IACR,CAAC;IACA,MAAc,CAAC,mCAAmC,GAAG,IAAI,CAAC;IAC3D,oCAAoC,EAAE,CAAC;IACvC,0CAA0C,EAAE,CAAC;AAC9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plaudit/gutenberg-api-extensions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.21.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"prepublishOnly": "rm -rf build && mkdir build && tsc",
|
|
6
6
|
"build": "tsc",
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
],
|
|
12
12
|
"sideEffects": false,
|
|
13
13
|
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"default": "./build/index.js"
|
|
16
|
+
},
|
|
14
17
|
"./lib/plaudit-icons": {
|
|
15
18
|
"default": "./build/lib/plaudit-icons.js"
|
|
16
19
|
},
|
|
@@ -19,28 +22,30 @@
|
|
|
19
22
|
},
|
|
20
23
|
"./controls": {
|
|
21
24
|
"default": "./build/controls/index.js"
|
|
22
|
-
},
|
|
23
|
-
".": {
|
|
24
|
-
"default": "./build/index.js"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@wordpress/block-editor": "^12.
|
|
29
|
-
"@wordpress/blocks": "^12.
|
|
30
|
-
"@wordpress/components": "^27.
|
|
31
|
-
"@wordpress/compose": "^6.
|
|
32
|
-
"@wordpress/core-data": "^6.
|
|
33
|
-
"@wordpress/data": "^9.
|
|
34
|
-
"@wordpress/
|
|
35
|
-
"@wordpress/
|
|
36
|
-
"@wordpress/
|
|
28
|
+
"@wordpress/block-editor": "^12.21.0",
|
|
29
|
+
"@wordpress/blocks": "^12.30.0",
|
|
30
|
+
"@wordpress/components": "^27.1.0",
|
|
31
|
+
"@wordpress/compose": "^6.30.0",
|
|
32
|
+
"@wordpress/core-data": "^6.30.0",
|
|
33
|
+
"@wordpress/data": "^9.23.0",
|
|
34
|
+
"@wordpress/editor": "^13.30.0",
|
|
35
|
+
"@wordpress/element": "^5.30.0",
|
|
36
|
+
"@wordpress/hooks": "^3.53.0",
|
|
37
|
+
"@wordpress/i18n": "^4.53.0",
|
|
37
38
|
"react": "^18.2.0",
|
|
38
39
|
"react-dom": "^18.2.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@types/react": "^18.2.
|
|
42
|
+
"@types/react": "^18.2.64",
|
|
42
43
|
"@types/wordpress__block-editor": "^11.5.11",
|
|
43
44
|
"@types/wordpress__blocks": "^12.5.13",
|
|
45
|
+
"@types/wordpress__editor": "^13.6.7",
|
|
44
46
|
"typescript": "^5.3.3"
|
|
47
|
+
},
|
|
48
|
+
"overrides": {
|
|
49
|
+
"@types/react": "$@types/react"
|
|
45
50
|
}
|
|
46
51
|
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { createHigherOrderComponent } from "@wordpress/compose";
|
|
2
|
-
import { addFilter } from "@wordpress/hooks";
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { InspectorPanel, PickOneFromColors, PickOneFromRadios, PickOneFromSelect, PickOneFromToggleGroup } from "../controls";
|
|
5
|
-
export function registerLayeredBlockStyles(config) {
|
|
6
|
-
const layeredBlockStyles = window.plauditLayeredBlockStyles ?? (window.plauditLayeredBlockStyles = new Map());
|
|
7
|
-
layeredBlockStyles.set(config.block, config);
|
|
8
|
-
}
|
|
9
|
-
export function installLayeredBlockStylesSupport() {
|
|
10
|
-
if (window.plauditLayeredBlockStylesInstalled) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
window.plauditLayeredBlockStylesInstalled = true;
|
|
14
|
-
const layeredBlockStyles = window.plauditLayeredBlockStyles ?? (window.plauditLayeredBlockStyles = new Map());
|
|
15
|
-
function layeredStyleValueGetter(layer, block) {
|
|
16
|
-
const currentLayerClassPrefix = `style-${layer.name}-`;
|
|
17
|
-
return block.attributes['className']?.split(/\s+/).filter(cn => cn.startsWith(currentLayerClassPrefix))[0]?.substring(currentLayerClassPrefix.length) ?? layer.default ?? '';
|
|
18
|
-
}
|
|
19
|
-
function layeredStyleValueSetter(attrs, layers, block) {
|
|
20
|
-
const [key, value] = Object.entries(attrs)[0];
|
|
21
|
-
if (!key.startsWith("layeredStyles__")) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
const layerName = key.substring(15);
|
|
25
|
-
const currentLayerClassPrefix = `style-${layerName}-`;
|
|
26
|
-
const classNames = block.attributes['className'] ? block.attributes['className'].split(/\s+/).filter(cn => !cn.startsWith(currentLayerClassPrefix)) : [];
|
|
27
|
-
const layerClassPrefixes = layers.map(layer => `style-${layer.name}-`);
|
|
28
|
-
const layerClasses = classNames.filter(cn => layerClassPrefixes.some(lcp => cn.startsWith(lcp)));
|
|
29
|
-
const nonLayerClasses = classNames.filter(cn => !layerClasses.includes(cn));
|
|
30
|
-
layerClasses.push(`${currentLayerClassPrefix}${value}`);
|
|
31
|
-
layerClasses.sort();
|
|
32
|
-
block.setAttributes({ className: [...nonLayerClasses, ...layerClasses].join(' ') });
|
|
33
|
-
}
|
|
34
|
-
function convertLayersToRadios(layer, layers, props) {
|
|
35
|
-
const value = layeredStyleValueGetter(layer, props);
|
|
36
|
-
const sharedProps = {
|
|
37
|
-
label: layer.title,
|
|
38
|
-
attribute: `layeredStyles__${layer.name}`,
|
|
39
|
-
attributes: { [`layeredStyles__${layer.name}`]: value },
|
|
40
|
-
setAttributes: attrs => layeredStyleValueSetter(attrs, layers, props)
|
|
41
|
-
};
|
|
42
|
-
switch (layer.picker) {
|
|
43
|
-
case undefined:
|
|
44
|
-
case 'toggle-control':
|
|
45
|
-
return React.createElement(PickOneFromToggleGroup, { ...layer, ...sharedProps });
|
|
46
|
-
case 'color':
|
|
47
|
-
return React.createElement(PickOneFromColors, { ...layer, ...sharedProps });
|
|
48
|
-
case 'radio':
|
|
49
|
-
return React.createElement(PickOneFromRadios, { ...layer, ...sharedProps });
|
|
50
|
-
case 'select':
|
|
51
|
-
return React.createElement(PickOneFromSelect, { ...layer, ...sharedProps });
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
addFilter('editor.BlockEdit', 'plaudit/gutenberg-api-extensions/layered-styles', createHigherOrderComponent(BlockEdit => (props) => {
|
|
55
|
-
if (!layeredBlockStyles.has(props['name'])) {
|
|
56
|
-
return React.createElement(BlockEdit, { ...props });
|
|
57
|
-
}
|
|
58
|
-
return React.createElement(React.Fragment, null,
|
|
59
|
-
React.createElement(BlockEdit, { ...props }),
|
|
60
|
-
React.createElement(InspectorPanel, { title: "Layered Styles", initialOpen: true, group: "styles" }, ...layeredBlockStyles.get(props['name']).layers.map(layer => convertLayersToRadios(layer, layeredBlockStyles.get(props['name']).layers, props))));
|
|
61
|
-
}, 'plauditGutenbergApiExtensionsLayeredStyles'));
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=layered-styles.js.map
|