@plaudit/gutenberg-api-extensions 2.7.0 → 2.9.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-implementations.js +95 -36
- package/build/blocks/common-native-property-implementations.js.map +1 -0
- package/build/blocks/index.js +1 -0
- package/build/blocks/index.js.map +1 -0
- package/build/blocks/layered-styles.js +10 -12
- package/build/blocks/layered-styles.js.map +1 -0
- package/build/blocks/simple-block.js +21 -17
- package/build/blocks/simple-block.js.map +1 -0
- package/build/blocks/simple-native-property.js +37 -34
- package/build/blocks/simple-native-property.js.map +1 -0
- package/build/controls/AsynchronousFormTokenField.js +123 -0
- package/build/controls/AsynchronousFormTokenField.js.map +1 -0
- package/build/controls/ExtendedPostPicker.js +29 -0
- package/build/controls/ExtendedPostPicker.js.map +1 -0
- package/build/controls/InspectorPanel.js +2 -1
- package/build/controls/InspectorPanel.js.map +1 -0
- package/build/controls/LazySuggestionsComboboxControl.js +70 -0
- package/build/controls/LazySuggestionsComboboxControl.js.map +1 -0
- package/build/controls/PickOne.js +6 -6
- package/build/controls/PickOne.js.map +1 -0
- package/build/controls/SimpleToggle.js +1 -0
- package/build/controls/SimpleToggle.js.map +1 -0
- package/build/controls/SortableItemsControl.js +43 -0
- package/build/controls/SortableItemsControl.js.map +1 -0
- package/build/controls/index.js +4 -0
- package/build/controls/index.js.map +1 -0
- package/build/controls/shared.js +7 -0
- package/build/controls/shared.js.map +1 -0
- package/build/controls/types.js +1 -0
- package/build/controls/types.js.map +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -0
- package/build/lib/plaudit-icons/column-1.js +1 -0
- package/build/lib/plaudit-icons/column-1.js.map +1 -0
- package/build/lib/plaudit-icons/column-2.js +1 -0
- package/build/lib/plaudit-icons/column-2.js.map +1 -0
- package/build/lib/plaudit-icons/column-3.js +1 -0
- package/build/lib/plaudit-icons/column-3.js.map +1 -0
- package/build/lib/plaudit-icons/placement-center.js +1 -0
- package/build/lib/plaudit-icons/placement-center.js.map +1 -0
- package/build/lib/plaudit-icons/placement-end.js +1 -0
- package/build/lib/plaudit-icons/placement-end.js.map +1 -0
- package/build/lib/plaudit-icons/placement-start.js +1 -0
- package/build/lib/plaudit-icons/placement-start.js.map +1 -0
- package/build/lib/plaudit-icons/placement-stretch.js +1 -0
- package/build/lib/plaudit-icons/placement-stretch.js.map +1 -0
- package/build/lib/plaudit-icons/plaudit-icon.js +1 -0
- package/build/lib/plaudit-icons/plaudit-icon.js.map +1 -0
- package/build/lib/plaudit-icons/reusable-block-marker.js +1 -0
- package/build/lib/plaudit-icons/reusable-block-marker.js.map +1 -0
- package/build/lib/plaudit-icons.js +1 -0
- package/build/lib/plaudit-icons.js.map +1 -0
- package/package.json +23 -20
- package/src/blocks/common-native-property-implementations.tsx +361 -0
- package/src/blocks/index.ts +12 -0
- package/src/blocks/layered-styles.tsx +108 -0
- package/src/blocks/simple-block.tsx +72 -0
- package/src/blocks/simple-native-property.tsx +204 -0
- package/src/controls/AsynchronousFormTokenField.tsx +158 -0
- package/src/controls/ExtendedPostPicker.tsx +50 -0
- package/src/controls/InspectorPanel.tsx +16 -0
- package/src/controls/LazySuggestionsComboboxControl.tsx +84 -0
- package/src/controls/PickOne.tsx +80 -0
- package/src/controls/SimpleToggle.tsx +9 -0
- package/src/controls/SortableItemsControl.tsx +70 -0
- package/src/controls/index.ts +6 -0
- package/src/controls/shared.ts +7 -0
- package/src/controls/types.ts +11 -0
- package/src/lib/plaudit-icons/column-1.tsx +8 -0
- package/src/lib/plaudit-icons/column-2.tsx +8 -0
- package/src/lib/plaudit-icons/column-3.tsx +8 -0
- package/src/lib/plaudit-icons/placement-center.tsx +5 -0
- package/src/lib/plaudit-icons/placement-end.tsx +5 -0
- package/src/lib/plaudit-icons/placement-start.tsx +5 -0
- package/src/lib/plaudit-icons/placement-stretch.tsx +5 -0
- package/src/lib/plaudit-icons/plaudit-icon.tsx +6 -0
- package/src/lib/plaudit-icons/reusable-block-marker.tsx +5 -0
- package/{build/lib/plaudit-icons.d.ts → src/lib/plaudit-icons.ts} +4 -0
- package/build/blocks/common-native-property-implementations.d.ts +0 -60
- package/build/blocks/index.d.ts +0 -5
- package/build/blocks/layered-styles.d.ts +0 -31
- package/build/blocks/simple-block.d.ts +0 -22
- package/build/blocks/simple-native-property.d.ts +0 -30
- package/build/controls/InspectorPanel.d.ts +0 -6
- package/build/controls/PickOne.d.ts +0 -19
- package/build/controls/SimpleToggle.d.ts +0 -3
- package/build/controls/index.d.ts +0 -3
- package/build/controls/types.d.ts +0 -12
- package/build/lib/plaudit-icons/column-1.d.ts +0 -2
- package/build/lib/plaudit-icons/column-2.d.ts +0 -2
- package/build/lib/plaudit-icons/column-3.d.ts +0 -2
- package/build/lib/plaudit-icons/placement-center.d.ts +0 -2
- package/build/lib/plaudit-icons/placement-end.d.ts +0 -2
- package/build/lib/plaudit-icons/placement-start.d.ts +0 -2
- package/build/lib/plaudit-icons/placement-stretch.d.ts +0 -2
- package/build/lib/plaudit-icons/plaudit-icon.d.ts +0 -2
- package/build/lib/plaudit-icons/reusable-block-marker.d.ts +0 -2
- /package/{build/index.d.ts → src/index.ts} +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { MediaUpload, MediaUploadCheck } from "@wordpress/block-editor";
|
|
2
|
-
import { Button, Card, CardBody, CardHeader, FocalPointPicker, RadioControl, RangeControl, SelectControl, ResponsiveWrapper, TextareaControl, TextControl, ToggleControl,
|
|
1
|
+
import { MediaUpload, MediaUploadCheck, __experimentalLinkControl as LinkControl } from "@wordpress/block-editor";
|
|
2
|
+
import { Button, Card, CardBody, CardFooter, CardHeader, FocalPointPicker, RadioControl, RangeControl, SelectControl, ResponsiveWrapper, TextareaControl, TextControl, ToggleControl, __experimentalHeading as Heading, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon } from "@wordpress/components";
|
|
3
3
|
import { useSelect } from "@wordpress/data";
|
|
4
4
|
import { __ } from "@wordpress/i18n";
|
|
5
|
+
import { ExtendedPostPicker, LazySuggestionsComboboxControl } from "../controls";
|
|
6
|
+
import { requestPostsFromAPI } from "../controls/shared";
|
|
5
7
|
import React from "react";
|
|
6
8
|
export function rangeProperty(config) {
|
|
7
9
|
return {
|
|
@@ -12,7 +14,7 @@ export function rangeProperty(config) {
|
|
|
12
14
|
condition: config.condition,
|
|
13
15
|
alwaysStore: config.alwaysStore,
|
|
14
16
|
renderer(value, onChange) {
|
|
15
|
-
return React.createElement(RangeControl,
|
|
17
|
+
return React.createElement(RangeControl, { value: value, onChange: onChange, min: config.min, max: config.max, label: config.label, step: config.step, help: config.help, ...config.component });
|
|
16
18
|
}
|
|
17
19
|
};
|
|
18
20
|
}
|
|
@@ -25,7 +27,7 @@ export function radioProperty(config) {
|
|
|
25
27
|
condition: config.condition,
|
|
26
28
|
alwaysStore: config.alwaysStore,
|
|
27
29
|
renderer(value, onChange) {
|
|
28
|
-
return React.createElement(RadioControl,
|
|
30
|
+
return React.createElement(RadioControl, { selected: value, onChange: onChange, options: asOptions(config.options), label: config.label, help: config.help, ...config.component });
|
|
29
31
|
}
|
|
30
32
|
};
|
|
31
33
|
}
|
|
@@ -38,10 +40,52 @@ export function selectProperty(config) {
|
|
|
38
40
|
condition: config.condition,
|
|
39
41
|
alwaysStore: config.alwaysStore,
|
|
40
42
|
renderer(value, onChange) {
|
|
41
|
-
return React.createElement(SelectControl, { value: value
|
|
43
|
+
return React.createElement(SelectControl, { value: value ?? '', onChange: onChange, options: asOptions(config.options, ''), label: config.label, help: config.help });
|
|
42
44
|
}
|
|
43
45
|
};
|
|
44
46
|
}
|
|
47
|
+
export function linkProperty(config) {
|
|
48
|
+
return {
|
|
49
|
+
name: config.name,
|
|
50
|
+
type: 'object',
|
|
51
|
+
default: config.default,
|
|
52
|
+
condition: config.condition,
|
|
53
|
+
alwaysStore: config.alwaysStore,
|
|
54
|
+
renderer(value, onChange) {
|
|
55
|
+
return wrapInCard(() => React.createElement(LinkControl, { value: value, onChange: onChange, ...config.component }), config.label, config.help);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function comboboxControlOptionFromAPIResponse(response) {
|
|
60
|
+
return response.map(({ id, title }) => ({ value: id, label: `${title} (#${id})` }));
|
|
61
|
+
}
|
|
62
|
+
export function postProperty(config) {
|
|
63
|
+
if (config.multiple) {
|
|
64
|
+
return {
|
|
65
|
+
name: config.name,
|
|
66
|
+
type: 'array',
|
|
67
|
+
default: config.default,
|
|
68
|
+
condition: config.condition,
|
|
69
|
+
alwaysStore: config.alwaysStore,
|
|
70
|
+
renderer(value, onChange) {
|
|
71
|
+
return React.createElement(ExtendedPostPicker, { label: config.label, help: config.help, value: value?.map(v => v.toString()), onChange: (v) => onChange(v.map(v => parseInt(v))), postTypes: config.postTypes, ...config.component });
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const makeRequest = (v) => requestPostsFromAPI({ search: v, postTypes: config.postTypes?.join(',') });
|
|
77
|
+
return {
|
|
78
|
+
name: config.name,
|
|
79
|
+
type: 'number',
|
|
80
|
+
default: config.default,
|
|
81
|
+
condition: config.condition,
|
|
82
|
+
alwaysStore: config.alwaysStore,
|
|
83
|
+
renderer(value, onChange) {
|
|
84
|
+
return React.createElement(LazySuggestionsComboboxControl, { value: value?.toString(), onChange: v => onChange(v ? parseInt(v) : undefined), getOption: v => makeRequest(v).then(comboboxControlOptionFromAPIResponse).then(res => res[0]), getSuggestions: v => makeRequest(v).then(comboboxControlOptionFromAPIResponse), ...config.component });
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
45
89
|
export function toggleProperty(config) {
|
|
46
90
|
return {
|
|
47
91
|
name: config.name,
|
|
@@ -50,7 +94,7 @@ export function toggleProperty(config) {
|
|
|
50
94
|
condition: config.condition,
|
|
51
95
|
alwaysStore: config.alwaysStore,
|
|
52
96
|
renderer(value, onChange) {
|
|
53
|
-
return React.createElement(ToggleControl,
|
|
97
|
+
return React.createElement(ToggleControl, { checked: value, onChange: onChange, label: config.label, help: config.help, ...config.component });
|
|
54
98
|
}
|
|
55
99
|
};
|
|
56
100
|
}
|
|
@@ -66,7 +110,7 @@ export function toggleGroupProperty(config) {
|
|
|
66
110
|
condition: config.condition,
|
|
67
111
|
alwaysStore: config.alwaysStore,
|
|
68
112
|
renderer(value, onChange) {
|
|
69
|
-
return React.createElement(ToggleGroupControl,
|
|
113
|
+
return React.createElement(ToggleGroupControl, { value: value, onChange: v => onChange(v?.toString()), label: config.label, help: config.help, isBlock: true, ...config.component, children: children });
|
|
70
114
|
}
|
|
71
115
|
};
|
|
72
116
|
}
|
|
@@ -78,7 +122,7 @@ export function toggleGroupProperty(config) {
|
|
|
78
122
|
condition: config.condition,
|
|
79
123
|
alwaysStore: config.alwaysStore,
|
|
80
124
|
renderer(value, onChange) {
|
|
81
|
-
return React.createElement(ToggleGroupControl,
|
|
125
|
+
return React.createElement(ToggleGroupControl, { value: value, label: config.label, help: config.help, isBlock: true, ...config.component, onChange: v => onChange(v === undefined || typeof v === 'number' ? v : (v.includes('.') ? parseFloat(v) : parseInt(v))), children: children });
|
|
82
126
|
}
|
|
83
127
|
};
|
|
84
128
|
}
|
|
@@ -91,7 +135,7 @@ export function textProperty(config) {
|
|
|
91
135
|
condition: config.condition,
|
|
92
136
|
alwaysStore: config.alwaysStore,
|
|
93
137
|
renderer(value, onChange) {
|
|
94
|
-
return React.createElement(TextControl,
|
|
138
|
+
return React.createElement(TextControl, { value: value ?? '', onChange: onChange, label: config.label, help: config.help, placeholder: config.placeholder, ...config.component });
|
|
95
139
|
}
|
|
96
140
|
};
|
|
97
141
|
}
|
|
@@ -103,58 +147,72 @@ export function textareaProperty(config) {
|
|
|
103
147
|
condition: config.condition,
|
|
104
148
|
alwaysStore: config.alwaysStore,
|
|
105
149
|
renderer(value, onChange) {
|
|
106
|
-
|
|
150
|
+
let v = value ?? '';
|
|
151
|
+
if (config.newline === "br") {
|
|
152
|
+
v = v.replaceAll("<br/>", "\n");
|
|
153
|
+
}
|
|
154
|
+
else if (config.newline === "p") {
|
|
155
|
+
v = v.replaceAll(/<p>(.*?)<\/p>/gi, "$1\n");
|
|
156
|
+
}
|
|
157
|
+
return React.createElement(TextareaControl, { value: v, onChange: v => {
|
|
158
|
+
if (config.newline === "br") {
|
|
159
|
+
onChange(v.replaceAll(/\r?\n/g, "<br/>"));
|
|
160
|
+
}
|
|
161
|
+
else if (config.newline === "p") {
|
|
162
|
+
onChange(v.split(/\r?\n/g).map(v => "<p>" + v + "</p>").join(""));
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
onChange(v);
|
|
166
|
+
}
|
|
167
|
+
}, label: config.label, help: config.help, placeholder: config.placeholder, ...config.component });
|
|
107
168
|
}
|
|
108
169
|
};
|
|
109
170
|
}
|
|
110
171
|
export function imageProperty(config) {
|
|
111
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
112
172
|
return {
|
|
113
173
|
name: config.name,
|
|
114
174
|
type: "object",
|
|
115
175
|
condition: config.condition,
|
|
116
176
|
alwaysStore: config.alwaysStore,
|
|
117
|
-
default: { media: { id:
|
|
177
|
+
default: { media: { id: config.default?.media?.id ?? 0, url: config.default?.media?.url ?? '' }, pos: { x: config.default?.pos?.x ?? 50, y: config.default?.pos?.y ?? 50 } },
|
|
118
178
|
renderer(value, onChange) {
|
|
119
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
120
179
|
const { media } = useSelect(select => {
|
|
121
|
-
|
|
122
|
-
return { media: ((_a = value.media) === null || _a === void 0 ? void 0 : _a.id) ? select('core').getMedia(value.media.id) : undefined };
|
|
180
|
+
return { media: value.media?.id ? select('core').getMedia(value.media.id) : undefined };
|
|
123
181
|
}, [value]);
|
|
124
182
|
const noImageUploadedVersion = React.createElement(MediaUploadCheck, null,
|
|
125
|
-
React.createElement(MediaUpload, { onSelect: media => onChange(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
React.createElement(ResponsiveWrapper, { naturalWidth: media.media_details.width, naturalHeight: media.media_details.height },
|
|
131
|
-
React.createElement("img", { src: media.source_url, alt: "The currently-selected image." }))));
|
|
132
|
-
} }));
|
|
183
|
+
React.createElement(MediaUpload, { onSelect: media => onChange({ ...value, media: { id: media.id, url: media['url'] } }), value: value.media?.id ?? 0, allowedTypes: ['image'], render: ({ open }) => (React.createElement(Button, { className: !value.media?.id ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview', onClick: open },
|
|
184
|
+
!value.media?.id && __('Choose an image', 'plaudit'),
|
|
185
|
+
media &&
|
|
186
|
+
React.createElement(ResponsiveWrapper, { naturalWidth: media.media_details.width, naturalHeight: media.media_details.height },
|
|
187
|
+
React.createElement("img", { src: media.source_url, alt: "The currently-selected image." })))) }));
|
|
133
188
|
let fppOrMedia;
|
|
134
189
|
if (config.enableFocalPointPicker !== false) {
|
|
135
|
-
fppOrMedia = React.createElement(FocalPointPicker, { onChange: pos => onChange(
|
|
136
|
-
x: (
|
|
137
|
-
y: (
|
|
190
|
+
fppOrMedia = React.createElement(FocalPointPicker, { onChange: pos => onChange({ ...value, pos: { x: pos.x * 100, y: pos.y * 100 } }), url: value.media?.url ?? '', value: {
|
|
191
|
+
x: (value.pos?.x ?? 50) / 100,
|
|
192
|
+
y: (value.pos?.y ?? 50) / 100
|
|
138
193
|
} });
|
|
139
194
|
}
|
|
140
195
|
else {
|
|
141
|
-
fppOrMedia = React.createElement(ResponsiveWrapper, { naturalWidth: media
|
|
142
|
-
React.createElement("img", { src:
|
|
196
|
+
fppOrMedia = React.createElement(ResponsiveWrapper, { naturalWidth: media?.media_details.width, naturalHeight: media?.media_details.height },
|
|
197
|
+
React.createElement("img", { src: value.media?.url ?? '', alt: "The currently-selected image." }));
|
|
143
198
|
}
|
|
144
199
|
const imageUploadedVersion = React.createElement(React.Fragment, null,
|
|
145
|
-
|
|
200
|
+
value.media?.url && fppOrMedia,
|
|
146
201
|
React.createElement(MediaUploadCheck, null,
|
|
147
|
-
React.createElement(MediaUpload, { title: __('Replace image', 'plaudit'), value:
|
|
202
|
+
React.createElement(MediaUpload, { title: __('Replace image', 'plaudit'), value: value.media?.id ?? 0, onSelect: media => onChange({ ...value, media: { id: media.id, url: media['url'] } }), allowedTypes: ['image'], render: ({ open }) => (React.createElement(Button, { onClick: open, variant: "secondary" }, __('Replace image', 'plaudit'))) })),
|
|
148
203
|
React.createElement(MediaUploadCheck, null,
|
|
149
|
-
React.createElement(Button, { onClick: () => onChange(
|
|
150
|
-
return React.createElement(
|
|
151
|
-
React.createElement(CardHeader, null,
|
|
152
|
-
React.createElement(Heading, null, config.label)),
|
|
153
|
-
React.createElement(CardBody, null,
|
|
154
|
-
React.createElement("div", { className: "editor-post-featured-image" }, ((_p = value.media) === null || _p === void 0 ? void 0 : _p.id) ? imageUploadedVersion : noImageUploadedVersion)));
|
|
204
|
+
React.createElement(Button, { onClick: () => onChange({ ...value, media: { id: 0, url: '' } }), isDestructive: true }, __('Remove image', 'plaudit'))));
|
|
205
|
+
return wrapInCard(() => React.createElement("div", { className: "editor-post-featured-image" }, value.media?.id ? imageUploadedVersion : noImageUploadedVersion), config.label, config.help);
|
|
155
206
|
}
|
|
156
207
|
};
|
|
157
208
|
}
|
|
209
|
+
function wrapInCard(wrapped, label, help) {
|
|
210
|
+
return React.createElement(Card, null,
|
|
211
|
+
React.createElement(CardHeader, null,
|
|
212
|
+
React.createElement(Heading, null, label)),
|
|
213
|
+
React.createElement(CardBody, null, wrapped()),
|
|
214
|
+
help && React.createElement(CardFooter, null, help));
|
|
215
|
+
}
|
|
158
216
|
function asOptions(options, noSelectionValue) {
|
|
159
217
|
const res = options.map(opt => ({ value: opt[0], label: typeof opt[1] === 'string' ? opt[1] : opt[1].text }));
|
|
160
218
|
if (noSelectionValue !== undefined && !res.some(opt => !opt.value)) {
|
|
@@ -162,3 +220,4 @@ function asOptions(options, noSelectionValue) {
|
|
|
162
220
|
}
|
|
163
221
|
return res;
|
|
164
222
|
}
|
|
223
|
+
//# sourceMappingURL=common-native-property-implementations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-native-property-implementations.js","sourceRoot":"","sources":["../../src/blocks/common-native-property-implementations.tsx"],"names":[],"mappings":"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"}
|
package/build/blocks/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gCAAgC,EAAC,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,oCAAoC,EAAC,MAAM,0BAA0B,CAAC;AAE9E,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AAEzD,MAAM,UAAU,+BAA+B;IAC9C,gCAAgC,EAAE,CAAC;IACnC,oCAAoC,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -3,21 +3,18 @@ import { addFilter } from "@wordpress/hooks";
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { InspectorPanel, PickOneFromColors, PickOneFromRadios, PickOneFromSelect, PickOneFromToggleGroup } from "../controls";
|
|
5
5
|
export function registerLayeredBlockStyles(config) {
|
|
6
|
-
|
|
7
|
-
const layeredBlockStyles = (_a = window.plauditLayeredBlockStyles) !== null && _a !== void 0 ? _a : (window.plauditLayeredBlockStyles = new Map());
|
|
6
|
+
const layeredBlockStyles = window.plauditLayeredBlockStyles ?? (window.plauditLayeredBlockStyles = new Map());
|
|
8
7
|
layeredBlockStyles.set(config.block, config);
|
|
9
8
|
}
|
|
10
9
|
export function installLayeredBlockStylesSupport() {
|
|
11
|
-
var _a;
|
|
12
10
|
if (window.plauditLayeredBlockStylesInstalled) {
|
|
13
11
|
return;
|
|
14
12
|
}
|
|
15
13
|
window.plauditLayeredBlockStylesInstalled = true;
|
|
16
|
-
const layeredBlockStyles =
|
|
14
|
+
const layeredBlockStyles = window.plauditLayeredBlockStyles ?? (window.plauditLayeredBlockStyles = new Map());
|
|
17
15
|
function layeredStyleValueGetter(layer, block) {
|
|
18
|
-
var _a, _b, _c, _d;
|
|
19
16
|
const currentLayerClassPrefix = `style-${layer.name}-`;
|
|
20
|
-
return
|
|
17
|
+
return block.attributes['className']?.split(/\s+/).filter(cn => cn.startsWith(currentLayerClassPrefix))[0]?.substring(currentLayerClassPrefix.length) ?? layer.default ?? '';
|
|
21
18
|
}
|
|
22
19
|
function layeredStyleValueSetter(attrs, layers, block) {
|
|
23
20
|
const [key, value] = Object.entries(attrs)[0];
|
|
@@ -45,21 +42,22 @@ export function installLayeredBlockStylesSupport() {
|
|
|
45
42
|
switch (layer.picker) {
|
|
46
43
|
case undefined:
|
|
47
44
|
case 'toggle-control':
|
|
48
|
-
return React.createElement(PickOneFromToggleGroup,
|
|
45
|
+
return React.createElement(PickOneFromToggleGroup, { ...layer, ...sharedProps });
|
|
49
46
|
case 'color':
|
|
50
|
-
return React.createElement(PickOneFromColors,
|
|
47
|
+
return React.createElement(PickOneFromColors, { ...layer, ...sharedProps });
|
|
51
48
|
case 'radio':
|
|
52
|
-
return React.createElement(PickOneFromRadios,
|
|
49
|
+
return React.createElement(PickOneFromRadios, { ...layer, ...sharedProps });
|
|
53
50
|
case 'select':
|
|
54
|
-
return React.createElement(PickOneFromSelect,
|
|
51
|
+
return React.createElement(PickOneFromSelect, { ...layer, ...sharedProps });
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
54
|
addFilter('editor.BlockEdit', 'plaudit/gutenberg-api-extensions/layered-styles', createHigherOrderComponent(BlockEdit => (props) => {
|
|
58
55
|
if (!layeredBlockStyles.has(props['name'])) {
|
|
59
|
-
return React.createElement(BlockEdit,
|
|
56
|
+
return React.createElement(BlockEdit, { ...props });
|
|
60
57
|
}
|
|
61
58
|
return React.createElement(React.Fragment, null,
|
|
62
|
-
React.createElement(BlockEdit,
|
|
59
|
+
React.createElement(BlockEdit, { ...props }),
|
|
63
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))));
|
|
64
61
|
}, 'plauditGutenbergApiExtensionsLayeredStyles'));
|
|
65
62
|
}
|
|
63
|
+
//# sourceMappingURL=layered-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layered-styles.js","sourceRoot":"","sources":["../../src/blocks/layered-styles.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,8 @@ import { InnerBlocks, useBlockProps, useInnerBlocksProps } from "@wordpress/bloc
|
|
|
3
3
|
import { plauditIcon } from "../lib/plaudit-icons";
|
|
4
4
|
import React from "react";
|
|
5
5
|
function applyDefaults(config, props) {
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
for (const [k, v] of Object.entries((_a = config.defaults) !== null && _a !== void 0 ? _a : {})) {
|
|
6
|
+
const mutableProps = { ...props, attributes: { ...props.attributes } };
|
|
7
|
+
for (const [k, v] of Object.entries(config.defaults ?? {})) {
|
|
9
8
|
if (mutableProps.attributes[k] === undefined) {
|
|
10
9
|
mutableProps.attributes[k] = v;
|
|
11
10
|
}
|
|
@@ -13,29 +12,34 @@ function applyDefaults(config, props) {
|
|
|
13
12
|
return mutableProps;
|
|
14
13
|
}
|
|
15
14
|
export function registerSimpleBlockType(metadata, config) {
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
return registerBlockType(metadata, {
|
|
16
|
+
...config.settings,
|
|
17
|
+
icon: config.icon ?? plauditIcon,
|
|
18
|
+
edit(props) {
|
|
18
19
|
const populatedProps = applyDefaults(config, props);
|
|
19
20
|
return React.createElement(React.Fragment, null,
|
|
20
|
-
config.controls && React.createElement(config.controls,
|
|
21
|
-
config.renderer(populatedProps, useBlockProps, () => React.createElement(InnerBlocks,
|
|
21
|
+
config.controls && React.createElement(config.controls, { ...populatedProps }),
|
|
22
|
+
config.renderer(populatedProps, useBlockProps, () => React.createElement(InnerBlocks, { ...config.innerBlocksProps }), "edit"));
|
|
22
23
|
},
|
|
23
24
|
save(props) {
|
|
24
25
|
return config.renderer(applyDefaults(config, props), useBlockProps.save, () => React.createElement(InnerBlocks.Content, null), "save");
|
|
25
|
-
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
26
28
|
}
|
|
27
29
|
export function registerSimpleContainerBlock(metadata, config) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
const Tag = config.tag ?? ((props) => React.createElement("div", { ...props }));
|
|
31
|
+
return registerBlockType(metadata, {
|
|
32
|
+
...config.settings,
|
|
33
|
+
icon: config.icon ?? plauditIcon,
|
|
34
|
+
edit(props) {
|
|
32
35
|
const populatedProps = applyDefaults(config, props);
|
|
33
36
|
return React.createElement(React.Fragment, null,
|
|
34
|
-
config.controls && React.createElement(config.controls,
|
|
35
|
-
React.createElement(Tag,
|
|
37
|
+
config.controls && React.createElement(config.controls, { ...populatedProps }),
|
|
38
|
+
React.createElement(Tag, { ...useInnerBlocksProps(useBlockProps((config.attributesFromProps ?? (() => ({})))(populatedProps, "edit")), config.innerBlocksProps) }));
|
|
36
39
|
},
|
|
37
40
|
save(props) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
return React.createElement(Tag, { ...useInnerBlocksProps.save(useBlockProps.save((config.attributesFromProps ?? (() => ({})))(applyDefaults(config, props), "edit"))) });
|
|
42
|
+
}
|
|
43
|
+
});
|
|
41
44
|
}
|
|
45
|
+
//# sourceMappingURL=simple-block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-block.js","sourceRoot":"","sources":["../../src/blocks/simple-block.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,7 @@ import { addFilter } from "@wordpress/hooks";
|
|
|
3
3
|
import { InspectorPanel } from "../controls";
|
|
4
4
|
import React from "react";
|
|
5
5
|
export function registerSimpleNativeProperties(config) {
|
|
6
|
-
|
|
7
|
-
const simpleNativePanels = (_a = window.plauditSimpleNativePanels) !== null && _a !== void 0 ? _a : (window.plauditSimpleNativePanels = {});
|
|
6
|
+
const simpleNativePanels = window.plauditSimpleNativePanels ?? (window.plauditSimpleNativePanels = {});
|
|
8
7
|
if (Array.isArray(config.block)) {
|
|
9
8
|
for (const b of config.block) {
|
|
10
9
|
addPanels(b, config.panel, simpleNativePanels);
|
|
@@ -15,8 +14,7 @@ export function registerSimpleNativeProperties(config) {
|
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
16
|
function addPanels(block, panel, simpleNativePanels) {
|
|
18
|
-
|
|
19
|
-
const panels = ((_a = simpleNativePanels[block]) !== null && _a !== void 0 ? _a : (simpleNativePanels[block] = []));
|
|
17
|
+
const panels = (simpleNativePanels[block] ?? (simpleNativePanels[block] = []));
|
|
20
18
|
if (Array.isArray(panel)) {
|
|
21
19
|
panels.push(...panel);
|
|
22
20
|
}
|
|
@@ -25,12 +23,11 @@ function addPanels(block, panel, simpleNativePanels) {
|
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
25
|
export function installSimpleNativePropertiesSupport() {
|
|
28
|
-
var _a;
|
|
29
26
|
if (window.plauditSimpleNativePropertiesSupportInstalled) {
|
|
30
27
|
return;
|
|
31
28
|
}
|
|
32
29
|
window.plauditSimpleNativePropertiesSupportInstalled = true;
|
|
33
|
-
const simpleNativePanels =
|
|
30
|
+
const simpleNativePanels = window.plauditSimpleNativePanels ?? (window.plauditSimpleNativePanels = {});
|
|
34
31
|
addFilter('blocks.registerBlockType', 'plaudit/gutenberg-api-extensions/attach-simple-native-properties', (atts) => {
|
|
35
32
|
const blockSimpleNativePanels = simpleNativePanels[atts.name];
|
|
36
33
|
if (blockSimpleNativePanels) {
|
|
@@ -76,7 +73,7 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
76
73
|
if (attrPath.length === 1) {
|
|
77
74
|
return blockEditProps.setAttributes({ [attr]: value });
|
|
78
75
|
}
|
|
79
|
-
const payload =
|
|
76
|
+
const payload = { ...blockEditProps.attributes[attrPath[0]] };
|
|
80
77
|
let currentLayer = payload;
|
|
81
78
|
for (let i = 1; i < attrPath.length - 1; i++) {
|
|
82
79
|
const attrPathNode = attrPath[i];
|
|
@@ -88,51 +85,56 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
88
85
|
addFilter('editor.BlockEdit', 'plaudit/gutenberg-api-extensions/simple-native-properties', createHigherOrderComponent(BlockEdit => (blockEditProps) => {
|
|
89
86
|
const blockSimpleNativePanels = simpleNativePanels[blockEditProps.name];
|
|
90
87
|
if (!blockSimpleNativePanels) {
|
|
91
|
-
return React.createElement(BlockEdit,
|
|
88
|
+
return React.createElement(BlockEdit, { ...blockEditProps });
|
|
92
89
|
}
|
|
93
90
|
let keyIndex = 0;
|
|
94
91
|
return React.createElement(React.Fragment, null,
|
|
95
|
-
React.createElement(BlockEdit,
|
|
92
|
+
React.createElement(BlockEdit, { ...blockEditProps }),
|
|
96
93
|
...blockSimpleNativePanels.map(p => {
|
|
97
94
|
const items = p.properties.map(prop => {
|
|
98
95
|
const propPath = prop.name.split('.');
|
|
99
96
|
let existingValue;
|
|
100
|
-
if (
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
existingValue
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
else {
|
|
108
|
-
let graphExistingValue = blockEditProps.attributes[propPath[0]];
|
|
109
|
-
if (graphExistingValue === undefined) {
|
|
110
|
-
blockEditProps.attributes[propPath[0]] = graphExistingValue = {};
|
|
97
|
+
if (prop.default !== undefined) {
|
|
98
|
+
if (propPath.length === 1) {
|
|
99
|
+
existingValue = blockEditProps.attributes[prop.name];
|
|
100
|
+
if (existingValue === undefined) {
|
|
101
|
+
existingValue = prop.default;
|
|
102
|
+
blockEditProps.setAttributes({ [prop.name]: prop.default });
|
|
103
|
+
}
|
|
111
104
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
graphExistingValue[propPath[propPath.length - 1]] = existingValue = prop.default;
|
|
118
|
-
blockEditProps.setAttributes({ [propPath[0]]: blockEditProps.attributes[propPath[0]] });
|
|
119
|
-
break;
|
|
105
|
+
else {
|
|
106
|
+
let graphExistingValue = blockEditProps.attributes[propPath[0]];
|
|
107
|
+
if (graphExistingValue === undefined) {
|
|
108
|
+
blockEditProps.attributes[propPath[0]] = graphExistingValue = {};
|
|
120
109
|
}
|
|
121
|
-
|
|
122
|
-
|
|
110
|
+
for (let i = 1; i < propPath.length; i++) {
|
|
111
|
+
if (graphExistingValue[propPath[i]] === undefined) {
|
|
112
|
+
for (; i < propPath.length - 1; i++) {
|
|
113
|
+
graphExistingValue = graphExistingValue[propPath[i]] = {};
|
|
114
|
+
}
|
|
115
|
+
graphExistingValue[propPath[propPath.length - 1]] = existingValue = prop.default;
|
|
116
|
+
blockEditProps.setAttributes({ [propPath[0]]: blockEditProps.attributes[propPath[0]] });
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
graphExistingValue = graphExistingValue[propPath[i]];
|
|
121
|
+
}
|
|
123
122
|
}
|
|
123
|
+
existingValue = graphExistingValue ?? prop.default;
|
|
124
124
|
}
|
|
125
|
-
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
existingValue = undefined;
|
|
126
128
|
}
|
|
127
129
|
let ele;
|
|
128
130
|
if (prop.type === "array") { // If the value is not an array or is a sparse array, then it will cause unrecoverable errors upon conversion to PHP
|
|
129
|
-
if (!Array.isArray(existingValue) || existingValue.length > existingValue.filter(() => true).length) {
|
|
131
|
+
if (existingValue !== undefined && (!Array.isArray(existingValue) || existingValue.length > existingValue.filter(() => true).length)) {
|
|
130
132
|
throw new Error(`Invalid value passed to an array-type property: ${existingValue}`);
|
|
131
133
|
}
|
|
132
134
|
ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
|
|
133
135
|
}
|
|
134
136
|
else if (prop.type === "object") {
|
|
135
|
-
if (Array.isArray(existingValue) || typeof existingValue !== 'object') {
|
|
137
|
+
if (existingValue !== undefined && (Array.isArray(existingValue) || typeof existingValue !== 'object')) {
|
|
136
138
|
throw new Error(`Invalid value passed to an object-type property: ${existingValue}`);
|
|
137
139
|
}
|
|
138
140
|
ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
|
|
@@ -157,7 +159,8 @@ export function installSimpleNativePropertiesSupport() {
|
|
|
157
159
|
}
|
|
158
160
|
return prop.condition === undefined || prop.condition(blockEditProps) ? ele : undefined;
|
|
159
161
|
}).filter((ele) => ele !== undefined);
|
|
160
|
-
return React.createElement(InspectorPanel,
|
|
162
|
+
return React.createElement(InspectorPanel, { ...p, condition: () => items.length > 0 && (p.condition === undefined || p.condition(blockEditProps)), key: `plaudit-simple-native-property-${keyIndex++}` }, ...items);
|
|
161
163
|
}));
|
|
162
164
|
}, 'plauditGutenbergApiExtensionsSimpleNativeProperties'));
|
|
163
165
|
}
|
|
166
|
+
//# sourceMappingURL=simple-native-property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-native-property.js","sourceRoot":"","sources":["../../src/blocks/simple-native-property.tsx"],"names":[],"mappings":"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"}
|