@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.
Files changed (98) hide show
  1. package/build/blocks/common-native-property-implementations.js +95 -36
  2. package/build/blocks/common-native-property-implementations.js.map +1 -0
  3. package/build/blocks/index.js +1 -0
  4. package/build/blocks/index.js.map +1 -0
  5. package/build/blocks/layered-styles.js +10 -12
  6. package/build/blocks/layered-styles.js.map +1 -0
  7. package/build/blocks/simple-block.js +21 -17
  8. package/build/blocks/simple-block.js.map +1 -0
  9. package/build/blocks/simple-native-property.js +37 -34
  10. package/build/blocks/simple-native-property.js.map +1 -0
  11. package/build/controls/AsynchronousFormTokenField.js +123 -0
  12. package/build/controls/AsynchronousFormTokenField.js.map +1 -0
  13. package/build/controls/ExtendedPostPicker.js +29 -0
  14. package/build/controls/ExtendedPostPicker.js.map +1 -0
  15. package/build/controls/InspectorPanel.js +2 -1
  16. package/build/controls/InspectorPanel.js.map +1 -0
  17. package/build/controls/LazySuggestionsComboboxControl.js +70 -0
  18. package/build/controls/LazySuggestionsComboboxControl.js.map +1 -0
  19. package/build/controls/PickOne.js +6 -6
  20. package/build/controls/PickOne.js.map +1 -0
  21. package/build/controls/SimpleToggle.js +1 -0
  22. package/build/controls/SimpleToggle.js.map +1 -0
  23. package/build/controls/SortableItemsControl.js +43 -0
  24. package/build/controls/SortableItemsControl.js.map +1 -0
  25. package/build/controls/index.js +4 -0
  26. package/build/controls/index.js.map +1 -0
  27. package/build/controls/shared.js +7 -0
  28. package/build/controls/shared.js.map +1 -0
  29. package/build/controls/types.js +1 -0
  30. package/build/controls/types.js.map +1 -0
  31. package/build/index.js +1 -0
  32. package/build/index.js.map +1 -0
  33. package/build/lib/plaudit-icons/column-1.js +1 -0
  34. package/build/lib/plaudit-icons/column-1.js.map +1 -0
  35. package/build/lib/plaudit-icons/column-2.js +1 -0
  36. package/build/lib/plaudit-icons/column-2.js.map +1 -0
  37. package/build/lib/plaudit-icons/column-3.js +1 -0
  38. package/build/lib/plaudit-icons/column-3.js.map +1 -0
  39. package/build/lib/plaudit-icons/placement-center.js +1 -0
  40. package/build/lib/plaudit-icons/placement-center.js.map +1 -0
  41. package/build/lib/plaudit-icons/placement-end.js +1 -0
  42. package/build/lib/plaudit-icons/placement-end.js.map +1 -0
  43. package/build/lib/plaudit-icons/placement-start.js +1 -0
  44. package/build/lib/plaudit-icons/placement-start.js.map +1 -0
  45. package/build/lib/plaudit-icons/placement-stretch.js +1 -0
  46. package/build/lib/plaudit-icons/placement-stretch.js.map +1 -0
  47. package/build/lib/plaudit-icons/plaudit-icon.js +1 -0
  48. package/build/lib/plaudit-icons/plaudit-icon.js.map +1 -0
  49. package/build/lib/plaudit-icons/reusable-block-marker.js +1 -0
  50. package/build/lib/plaudit-icons/reusable-block-marker.js.map +1 -0
  51. package/build/lib/plaudit-icons.js +1 -0
  52. package/build/lib/plaudit-icons.js.map +1 -0
  53. package/package.json +23 -20
  54. package/src/blocks/common-native-property-implementations.tsx +361 -0
  55. package/src/blocks/index.ts +12 -0
  56. package/src/blocks/layered-styles.tsx +108 -0
  57. package/src/blocks/simple-block.tsx +72 -0
  58. package/src/blocks/simple-native-property.tsx +204 -0
  59. package/src/controls/AsynchronousFormTokenField.tsx +158 -0
  60. package/src/controls/ExtendedPostPicker.tsx +50 -0
  61. package/src/controls/InspectorPanel.tsx +16 -0
  62. package/src/controls/LazySuggestionsComboboxControl.tsx +84 -0
  63. package/src/controls/PickOne.tsx +80 -0
  64. package/src/controls/SimpleToggle.tsx +9 -0
  65. package/src/controls/SortableItemsControl.tsx +70 -0
  66. package/src/controls/index.ts +6 -0
  67. package/src/controls/shared.ts +7 -0
  68. package/src/controls/types.ts +11 -0
  69. package/src/lib/plaudit-icons/column-1.tsx +8 -0
  70. package/src/lib/plaudit-icons/column-2.tsx +8 -0
  71. package/src/lib/plaudit-icons/column-3.tsx +8 -0
  72. package/src/lib/plaudit-icons/placement-center.tsx +5 -0
  73. package/src/lib/plaudit-icons/placement-end.tsx +5 -0
  74. package/src/lib/plaudit-icons/placement-start.tsx +5 -0
  75. package/src/lib/plaudit-icons/placement-stretch.tsx +5 -0
  76. package/src/lib/plaudit-icons/plaudit-icon.tsx +6 -0
  77. package/src/lib/plaudit-icons/reusable-block-marker.tsx +5 -0
  78. package/{build/lib/plaudit-icons.d.ts → src/lib/plaudit-icons.ts} +4 -0
  79. package/build/blocks/common-native-property-implementations.d.ts +0 -60
  80. package/build/blocks/index.d.ts +0 -5
  81. package/build/blocks/layered-styles.d.ts +0 -31
  82. package/build/blocks/simple-block.d.ts +0 -22
  83. package/build/blocks/simple-native-property.d.ts +0 -30
  84. package/build/controls/InspectorPanel.d.ts +0 -6
  85. package/build/controls/PickOne.d.ts +0 -19
  86. package/build/controls/SimpleToggle.d.ts +0 -3
  87. package/build/controls/index.d.ts +0 -3
  88. package/build/controls/types.d.ts +0 -12
  89. package/build/lib/plaudit-icons/column-1.d.ts +0 -2
  90. package/build/lib/plaudit-icons/column-2.d.ts +0 -2
  91. package/build/lib/plaudit-icons/column-3.d.ts +0 -2
  92. package/build/lib/plaudit-icons/placement-center.d.ts +0 -2
  93. package/build/lib/plaudit-icons/placement-end.d.ts +0 -2
  94. package/build/lib/plaudit-icons/placement-start.d.ts +0 -2
  95. package/build/lib/plaudit-icons/placement-stretch.d.ts +0 -2
  96. package/build/lib/plaudit-icons/plaudit-icon.d.ts +0 -2
  97. package/build/lib/plaudit-icons/reusable-block-marker.d.ts +0 -2
  98. /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, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalHeading as Heading, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon } from "@wordpress/components";
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, Object.assign({ value: value, onChange: onChange, min: config.min, max: config.max, label: config.label, step: config.step, help: config.help }, config.component));
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, Object.assign({ selected: value, onChange: onChange, options: asOptions(config.options), label: config.label, help: config.help }, config.component));
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 !== null && value !== void 0 ? value : '', onChange: onChange, options: asOptions(config.options, ''), label: config.label, help: config.help });
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, Object.assign({ checked: value, onChange: onChange, label: config.label, help: config.help }, config.component));
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, Object.assign({ value: value, onChange: v => onChange(v === null || v === void 0 ? void 0 : v.toString()), label: config.label, help: config.help, isBlock: true }, config.component, { children: children }));
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, Object.assign({ 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 }));
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, Object.assign({ value: value, onChange: onChange, label: config.label, help: config.help }, config.component));
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
- return React.createElement(TextareaControl, Object.assign({ value: value, onChange: onChange, label: config.label, help: config.help }, config.component));
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: (_c = (_b = (_a = config.default) === null || _a === void 0 ? void 0 : _a.media) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : 0, url: (_f = (_e = (_d = config.default) === null || _d === void 0 ? void 0 : _d.media) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : '' }, pos: { x: (_j = (_h = (_g = config.default) === null || _g === void 0 ? void 0 : _g.pos) === null || _h === void 0 ? void 0 : _h.x) !== null && _j !== void 0 ? _j : 50, y: (_m = (_l = (_k = config.default) === null || _k === void 0 ? void 0 : _k.pos) === null || _l === void 0 ? void 0 : _l.y) !== null && _m !== void 0 ? _m : 50 } },
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
- var _a;
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(Object.assign(Object.assign({}, value), { media: { id: media.id, url: media['url'] } })), value: (_b = (_a = value.media) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : 0, allowedTypes: ['image'], render: ({ open }) => {
126
- var _a, _b;
127
- return (React.createElement(Button, { className: !((_a = value.media) === null || _a === void 0 ? void 0 : _a.id) ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview', onClick: open },
128
- !((_b = value.media) === null || _b === void 0 ? void 0 : _b.id) && __('Choose an image', 'plaudit'),
129
- media &&
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(Object.assign(Object.assign({}, value), { pos: { x: pos.x * 100, y: pos.y * 100 } })), url: (_d = (_c = value.media) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : '', value: {
136
- x: ((_f = (_e = value.pos) === null || _e === void 0 ? void 0 : _e.x) !== null && _f !== void 0 ? _f : 50) / 100,
137
- y: ((_h = (_g = value.pos) === null || _g === void 0 ? void 0 : _g.y) !== null && _h !== void 0 ? _h : 50) / 100
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 === null || media === void 0 ? void 0 : media.media_details.width, naturalHeight: media === null || media === void 0 ? void 0 : media.media_details.height },
142
- React.createElement("img", { src: (_k = (_j = value.media) === null || _j === void 0 ? void 0 : _j.url) !== null && _k !== void 0 ? _k : '', alt: "The currently-selected image." }));
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
- ((_l = value.media) === null || _l === void 0 ? void 0 : _l.url) && fppOrMedia,
200
+ value.media?.url && fppOrMedia,
146
201
  React.createElement(MediaUploadCheck, null,
147
- React.createElement(MediaUpload, { title: __('Replace image', 'plaudit'), value: (_o = (_m = value.media) === null || _m === void 0 ? void 0 : _m.id) !== null && _o !== void 0 ? _o : 0, onSelect: media => onChange(Object.assign(Object.assign({}, value), { media: { id: media.id, url: media['url'] } })), allowedTypes: ['image'], render: ({ open }) => (React.createElement(Button, { onClick: open, variant: "secondary" }, __('Replace image', 'plaudit'))) })),
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(Object.assign(Object.assign({}, value), { media: { id: 0, url: '' } })), isDestructive: true }, __('Remove image', 'plaudit'))));
150
- return React.createElement(Card, null,
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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"}
@@ -8,3 +8,4 @@ export function installGutenbergBlockExtensions() {
8
8
  installLayeredBlockStylesSupport();
9
9
  installSimpleNativePropertiesSupport();
10
10
  }
11
+ //# sourceMappingURL=index.js.map
@@ -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
- var _a;
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 = (_a = window.plauditLayeredBlockStyles) !== null && _a !== void 0 ? _a : (window.plauditLayeredBlockStyles = new Map());
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 (_d = (_c = (_b = (_a = block.attributes['className']) === null || _a === void 0 ? void 0 : _a.split(/\s+/).filter(cn => cn.startsWith(currentLayerClassPrefix))[0]) === null || _b === void 0 ? void 0 : _b.substring(currentLayerClassPrefix.length)) !== null && _c !== void 0 ? _c : layer.default) !== null && _d !== void 0 ? _d : '';
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, Object.assign({}, layer, sharedProps));
45
+ return React.createElement(PickOneFromToggleGroup, { ...layer, ...sharedProps });
49
46
  case 'color':
50
- return React.createElement(PickOneFromColors, Object.assign({}, layer, sharedProps));
47
+ return React.createElement(PickOneFromColors, { ...layer, ...sharedProps });
51
48
  case 'radio':
52
- return React.createElement(PickOneFromRadios, Object.assign({}, layer, sharedProps));
49
+ return React.createElement(PickOneFromRadios, { ...layer, ...sharedProps });
53
50
  case 'select':
54
- return React.createElement(PickOneFromSelect, Object.assign({}, layer, sharedProps));
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, Object.assign({}, props));
56
+ return React.createElement(BlockEdit, { ...props });
60
57
  }
61
58
  return React.createElement(React.Fragment, null,
62
- React.createElement(BlockEdit, Object.assign({}, props)),
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
- var _a;
7
- const mutableProps = Object.assign(Object.assign({}, props), { attributes: Object.assign({}, props.attributes) });
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
- var _a;
17
- return registerBlockType(metadata, Object.assign(Object.assign({}, config.settings), { icon: (_a = config.icon) !== null && _a !== void 0 ? _a : plauditIcon, edit(props) {
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, Object.assign({}, populatedProps)),
21
- config.renderer(populatedProps, useBlockProps, () => React.createElement(InnerBlocks, Object.assign({}, config.innerBlocksProps)), "edit"));
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
- var _a, _b;
29
- const Tag = (_a = config.tag) !== null && _a !== void 0 ? _a : ((props) => React.createElement("div", Object.assign({}, props)));
30
- return registerBlockType(metadata, Object.assign(Object.assign({}, config.settings), { icon: (_b = config.icon) !== null && _b !== void 0 ? _b : plauditIcon, edit(props) {
31
- var _a;
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, Object.assign({}, populatedProps)),
35
- React.createElement(Tag, Object.assign({}, useInnerBlocksProps(useBlockProps(((_a = config.attributesFromProps) !== null && _a !== void 0 ? _a : (() => ({})))(populatedProps, "edit")), config.innerBlocksProps))));
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
- var _a;
39
- return React.createElement(Tag, Object.assign({}, useInnerBlocksProps.save(useBlockProps.save(((_a = config.attributesFromProps) !== null && _a !== void 0 ? _a : (() => ({})))(applyDefaults(config, props), "edit")))));
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
- var _a;
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
- var _a;
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 = (_a = window.plauditSimpleNativePanels) !== null && _a !== void 0 ? _a : (window.plauditSimpleNativePanels = {});
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 = Object.assign({}, blockEditProps.attributes[attrPath[0]]);
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, Object.assign({}, blockEditProps));
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, Object.assign({}, blockEditProps)),
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 (propPath.length === 1) {
101
- existingValue = blockEditProps.attributes[prop.name];
102
- if (existingValue === undefined) {
103
- existingValue = prop.default;
104
- blockEditProps.setAttributes({ [prop.name]: prop.default });
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
- for (let i = 1; i < propPath.length; i++) {
113
- if (graphExistingValue[propPath[i]] === undefined) {
114
- for (; i < propPath.length - 1; i++) {
115
- graphExistingValue = graphExistingValue[propPath[i]] = {};
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
- else {
122
- graphExistingValue = graphExistingValue[propPath[i]];
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
- existingValue = graphExistingValue !== null && graphExistingValue !== void 0 ? graphExistingValue : prop.default;
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, Object.assign({}, p, { condition: () => items.length > 0 && (p.condition === undefined || p.condition(blockEditProps)), key: `plaudit-simple-native-property-${keyIndex++}` }), ...items);
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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"}