@plaudit/gutenberg-api-extensions 2.9.0 → 2.10.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 (56) hide show
  1. package/build/blocks/common-native-property-implementations.d.ts +118 -0
  2. package/build/blocks/common-native-property-implementations.js +59 -16
  3. package/build/blocks/common-native-property-implementations.js.map +1 -1
  4. package/build/blocks/index.d.ts +5 -0
  5. package/build/blocks/layered-styles.d.ts +31 -0
  6. package/build/blocks/simple-block.d.ts +22 -0
  7. package/build/blocks/simple-native-property.d.ts +30 -0
  8. package/build/blocks/simple-native-property.js +99 -94
  9. package/build/blocks/simple-native-property.js.map +1 -1
  10. package/build/controls/AsynchronousFormTokenField.d.ts +20 -0
  11. package/build/controls/ExtendedPostPicker.d.ts +13 -0
  12. package/build/controls/InspectorPanel.d.ts +6 -0
  13. package/build/controls/LazySuggestionsComboboxControl.d.ts +7 -0
  14. package/build/controls/PickOne.d.ts +19 -0
  15. package/build/controls/SimpleToggle.d.ts +3 -0
  16. package/build/controls/SortableItemsControl.d.ts +11 -0
  17. package/build/controls/SortableItemsControl.js +142 -31
  18. package/build/controls/SortableItemsControl.js.map +1 -1
  19. package/build/controls/shared.d.ts +8 -0
  20. package/build/controls/types.d.ts +12 -0
  21. package/build/lib/plaudit-icons/column-1.d.ts +2 -0
  22. package/build/lib/plaudit-icons/column-2.d.ts +2 -0
  23. package/build/lib/plaudit-icons/column-3.d.ts +2 -0
  24. package/build/lib/plaudit-icons/placement-center.d.ts +2 -0
  25. package/build/lib/plaudit-icons/placement-end.d.ts +2 -0
  26. package/build/lib/plaudit-icons/placement-start.d.ts +2 -0
  27. package/build/lib/plaudit-icons/placement-stretch.d.ts +2 -0
  28. package/build/lib/plaudit-icons/plaudit-icon.d.ts +2 -0
  29. package/build/lib/plaudit-icons/reusable-block-marker.d.ts +2 -0
  30. package/{src/lib/plaudit-icons.ts → build/lib/plaudit-icons.d.ts} +0 -4
  31. package/package.json +5 -5
  32. package/src/blocks/common-native-property-implementations.tsx +0 -361
  33. package/src/blocks/index.ts +0 -12
  34. package/src/blocks/layered-styles.tsx +0 -108
  35. package/src/blocks/simple-block.tsx +0 -72
  36. package/src/blocks/simple-native-property.tsx +0 -204
  37. package/src/controls/AsynchronousFormTokenField.tsx +0 -158
  38. package/src/controls/ExtendedPostPicker.tsx +0 -50
  39. package/src/controls/InspectorPanel.tsx +0 -16
  40. package/src/controls/LazySuggestionsComboboxControl.tsx +0 -84
  41. package/src/controls/PickOne.tsx +0 -80
  42. package/src/controls/SimpleToggle.tsx +0 -9
  43. package/src/controls/SortableItemsControl.tsx +0 -70
  44. package/src/controls/shared.ts +0 -7
  45. package/src/controls/types.ts +0 -11
  46. package/src/lib/plaudit-icons/column-1.tsx +0 -8
  47. package/src/lib/plaudit-icons/column-2.tsx +0 -8
  48. package/src/lib/plaudit-icons/column-3.tsx +0 -8
  49. package/src/lib/plaudit-icons/placement-center.tsx +0 -5
  50. package/src/lib/plaudit-icons/placement-end.tsx +0 -5
  51. package/src/lib/plaudit-icons/placement-start.tsx +0 -5
  52. package/src/lib/plaudit-icons/placement-stretch.tsx +0 -5
  53. package/src/lib/plaudit-icons/plaudit-icon.tsx +0 -6
  54. package/src/lib/plaudit-icons/reusable-block-marker.tsx +0 -5
  55. /package/{src/controls/index.ts → build/controls/index.d.ts} +0 -0
  56. /package/{src/index.ts → build/index.d.ts} +0 -0
@@ -0,0 +1,118 @@
1
+ import { type LinkControlProps } from "@wordpress/block-editor";
2
+ import type { RadioControlProps } from "@wordpress/components/build-types/radio-control/types";
3
+ import type { RangeControlProps } from "@wordpress/components/build-types/range-control/types";
4
+ import type { TextControlProps } from "@wordpress/components/build-types/text-control/types";
5
+ import type { TextareaControlProps } from "@wordpress/components/build-types/textarea-control/types";
6
+ import type { ToggleControlProps } from "@wordpress/components/build-types/toggle-control/types";
7
+ import type { ToggleGroupControlProps } from "@wordpress/components/build-types/toggle-group-control/types";
8
+ import { type ExtendedPostPickerConstructorProps, type LazySuggestionsComboboxControlProps } from "../controls";
9
+ import { type SortableItemsControlProps } from "../controls/SortableItemsControl";
10
+ import type { PickableOptions } from "../controls/types";
11
+ import type { SimpleNativeProperty } from "./simple-native-property";
12
+ import { type ReactElement } from "react";
13
+ export type ActualBlockEditProps = {
14
+ attributes: Record<string, any>;
15
+ setAttributes: (attributes: Record<string, any>) => void;
16
+ name: string;
17
+ };
18
+ type CommonPropertyConfig<T, V> = {
19
+ name: string;
20
+ label: string;
21
+ default?: T;
22
+ component?: Partial<V>;
23
+ help?: string;
24
+ alwaysStore?: boolean;
25
+ condition?(blockEditProps: ActualBlockEditProps): boolean;
26
+ };
27
+ type CommonPropertyConfigWithEnum<T, V> = CommonPropertyConfig<T, V> & {
28
+ enum?: T[];
29
+ };
30
+ export declare function rangeProperty(config: CommonPropertyConfigWithEnum<number, RangeControlProps> & {
31
+ min: number;
32
+ max: number;
33
+ step?: number;
34
+ }): SimpleNativeProperty;
35
+ export declare function radioProperty(config: CommonPropertyConfigWithEnum<string, RadioControlProps> & {
36
+ options: PickableOptions<string>;
37
+ }): SimpleNativeProperty;
38
+ export declare function selectProperty(config: CommonPropertyConfigWithEnum<string, never> & {
39
+ options: PickableOptions<string>;
40
+ }): SimpleNativeProperty;
41
+ export declare function linkProperty(config: CommonPropertyConfig<Record<string, unknown>, LinkControlProps>): SimpleNativeProperty;
42
+ type SharedPostPropertyType = {
43
+ postTypes?: string[];
44
+ };
45
+ type PostPropertyType = (CommonPropertyConfig<number, LazySuggestionsComboboxControlProps> & SharedPostPropertyType & {
46
+ multiple?: false;
47
+ }) | (CommonPropertyConfig<number[], ExtendedPostPickerConstructorProps> & SharedPostPropertyType & {
48
+ multiple: true;
49
+ });
50
+ export declare function postProperty(config: PostPropertyType): SimpleNativeProperty;
51
+ type OptionalLabel = string | {
52
+ text: string;
53
+ icon: ReactElement;
54
+ } | undefined;
55
+ type BaseSwitch = {
56
+ onLabel?: OptionalLabel;
57
+ offLabel?: OptionalLabel;
58
+ };
59
+ type SmallSwitch = {
60
+ small: true;
61
+ } & BaseSwitch;
62
+ type NormalSwitch = {
63
+ small?: false | undefined;
64
+ } & BaseSwitch;
65
+ export type TogglePropertyConfig = (CommonPropertyConfig<boolean, ToggleControlProps> & {
66
+ switch: SmallSwitch;
67
+ }) | (CommonPropertyConfig<boolean, ToggleGroupControlProps> & {
68
+ switch?: NormalSwitch;
69
+ });
70
+ export declare function toggleProperty(config: TogglePropertyConfig): SimpleNativeProperty;
71
+ type ToggleGroupPropertyConfigBase<T extends string | number> = CommonPropertyConfig<T, ToggleGroupControlProps> & {
72
+ options: PickableOptions<T, {
73
+ icon: ReactElement;
74
+ }>;
75
+ };
76
+ export type ToggleGroupPropertyConfig = ToggleGroupPropertyConfigBase<string> | ToggleGroupPropertyConfigBase<number>;
77
+ export declare function toggleGroupProperty(config: ToggleGroupPropertyConfig): SimpleNativeProperty;
78
+ export declare function textProperty(config: CommonPropertyConfig<string, TextControlProps> & {
79
+ placeholder?: string | undefined;
80
+ }): SimpleNativeProperty;
81
+ export declare function numberProperty(config: CommonPropertyConfig<number, Omit<TextControlProps, 'type'>> & {
82
+ placeholder?: string | undefined;
83
+ float?: boolean;
84
+ }): SimpleNativeProperty;
85
+ export declare function textareaProperty(config: CommonPropertyConfig<string, TextareaControlProps> & {
86
+ placeholder?: string | undefined;
87
+ newline?: undefined | "\n" | "br" | "p";
88
+ }): SimpleNativeProperty;
89
+ export type ImagePropertyData = {
90
+ media?: {
91
+ id?: number;
92
+ url?: string;
93
+ };
94
+ pos?: {
95
+ x?: number;
96
+ y?: number;
97
+ };
98
+ };
99
+ export declare function imageProperty(config: Omit<CommonPropertyConfig<ImagePropertyData, {}>, 'default'> & Partial<Pick<CommonPropertyConfig<ImagePropertyData, {}>, 'default'>> & {
100
+ enableFocalPointPicker?: boolean;
101
+ }): SimpleNativeProperty;
102
+ type ListPropertyConfigBase<T extends string | number> = CommonPropertyConfig<T[], SortableItemsControlProps<T>> & {
103
+ emptyValue?: T;
104
+ min?: number;
105
+ max?: number;
106
+ listComponent?: TextControlProps;
107
+ };
108
+ type NumberListPropertyConfig = (ListPropertyConfigBase<number> & {
109
+ itemType: 'integer' | 'int';
110
+ }) | (ListPropertyConfigBase<number> & {
111
+ itemType: 'float';
112
+ });
113
+ type StringListPropertyConfig = ListPropertyConfigBase<string> & {
114
+ itemType?: 'string';
115
+ };
116
+ export type ListPropertyConfig = StringListPropertyConfig | NumberListPropertyConfig;
117
+ export declare function listProperty(config: ListPropertyConfig): SimpleNativeProperty;
118
+ export {};
@@ -1,10 +1,11 @@
1
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";
2
+ import { BaseControl, Button, FocalPointPicker, RadioControl, RangeControl, SelectControl, ResponsiveWrapper, TextareaControl, TextControl, ToggleControl, __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
5
  import { ExtendedPostPicker, LazySuggestionsComboboxControl } from "../controls";
6
6
  import { requestPostsFromAPI } from "../controls/shared";
7
- import React from "react";
7
+ import { SortableItemsControl } from "../controls/SortableItemsControl";
8
+ import React, { useId } from "react";
8
9
  export function rangeProperty(config) {
9
10
  return {
10
11
  name: config.name,
@@ -52,7 +53,8 @@ export function linkProperty(config) {
52
53
  condition: config.condition,
53
54
  alwaysStore: config.alwaysStore,
54
55
  renderer(value, onChange) {
55
- return wrapInCard(() => React.createElement(LinkControl, { value: value, onChange: onChange, ...config.component }), config.label, config.help);
56
+ return React.createElement(BaseControl, { id: `plaudit-gutenberg-extensions-link-property-wrapper-${Math.round(Math.random() * 10000 + 1)}`, label: config.label, help: config.help },
57
+ React.createElement(LinkControl, { value: value, onChange: onChange, ...config.component }));
56
58
  }
57
59
  };
58
60
  }
@@ -94,14 +96,27 @@ export function toggleProperty(config) {
94
96
  condition: config.condition,
95
97
  alwaysStore: config.alwaysStore,
96
98
  renderer(value, onChange) {
97
- return React.createElement(ToggleControl, { checked: value, onChange: onChange, label: config.label, help: config.help, ...config.component });
99
+ if (config.switch?.small) {
100
+ return React.createElement(ToggleControl, { ...config.component, checked: value, onChange: onChange, label: config.label, help: config.help });
101
+ }
102
+ else {
103
+ //TODO: Make this match the width of the label where possible
104
+ return React.createElement(ToggleGroupControl, { ...config.component, value: value ? "true" : "false", label: config.label, help: config.help, isBlock: true, onChange: v => onChange(v === "true") },
105
+ React.createElement(ToggleGroupControlOptionWithOptionalIcon, { value: "true", label: config.switch?.onLabel ?? __("On") }),
106
+ React.createElement(ToggleGroupControlOptionWithOptionalIcon, { value: "false", label: config.switch?.offLabel ?? __("Off") }));
107
+ }
98
108
  }
99
109
  };
100
110
  }
111
+ function ToggleGroupControlOptionWithOptionalIcon({ value, label }) {
112
+ if (typeof label === 'string') {
113
+ return React.createElement(ToggleGroupControlOption, { key: value, value: value, label: label });
114
+ }
115
+ else {
116
+ return React.createElement(ToggleGroupControlOptionIcon, { key: value, value: value, label: label.text, icon: label.icon });
117
+ }
118
+ }
101
119
  export function toggleGroupProperty(config) {
102
- const children = config.options.map(([value, label]) => typeof label === 'string'
103
- ? React.createElement(ToggleGroupControlOption, { key: value, value: value, label: label })
104
- : React.createElement(ToggleGroupControlOptionIcon, { key: value, value: value, label: label.text, icon: label.icon }));
105
120
  if (typeof config.default === 'string') {
106
121
  return {
107
122
  name: config.name,
@@ -110,7 +125,7 @@ export function toggleGroupProperty(config) {
110
125
  condition: config.condition,
111
126
  alwaysStore: config.alwaysStore,
112
127
  renderer(value, onChange) {
113
- return React.createElement(ToggleGroupControl, { value: value, onChange: v => onChange(v?.toString()), label: config.label, help: config.help, isBlock: true, ...config.component, children: children });
128
+ return React.createElement(ToggleGroupControl, { value: value, onChange: v => onChange(v?.toString()), label: config.label, help: config.help, isBlock: true, ...config.component }, ...config.options.map(([value, label]) => React.createElement(ToggleGroupControlOptionWithOptionalIcon, { value: value, label: label })));
114
129
  }
115
130
  };
116
131
  }
@@ -122,7 +137,7 @@ export function toggleGroupProperty(config) {
122
137
  condition: config.condition,
123
138
  alwaysStore: config.alwaysStore,
124
139
  renderer(value, onChange) {
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 });
140
+ return React.createElement(ToggleGroupControl, { value: value, onChange: v => onChange(v === undefined || typeof v === 'number' ? v : (v.includes('.') ? parseFloat(v) : parseInt(v))), label: config.label, help: config.help, isBlock: true, ...config.component }, ...config.options.map(([value, label]) => React.createElement(ToggleGroupControlOptionWithOptionalIcon, { value: value, label: label })));
126
141
  }
127
142
  };
128
143
  }
@@ -139,6 +154,18 @@ export function textProperty(config) {
139
154
  }
140
155
  };
141
156
  }
157
+ export function numberProperty(config) {
158
+ return {
159
+ name: config.name,
160
+ type: 'number',
161
+ default: config.default,
162
+ condition: config.condition,
163
+ alwaysStore: config.alwaysStore,
164
+ renderer(value, onChange) {
165
+ return React.createElement(TextControl, { type: "number", value: value ?? '', onChange: v => onChange(config.float ? parseFloat(v) : parseInt(v)), label: config.label, help: config.help, placeholder: config.placeholder, ...config.component });
166
+ }
167
+ };
168
+ }
142
169
  export function textareaProperty(config) {
143
170
  return {
144
171
  name: config.name,
@@ -176,6 +203,7 @@ export function imageProperty(config) {
176
203
  alwaysStore: config.alwaysStore,
177
204
  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 } },
178
205
  renderer(value, onChange) {
206
+ const id = useId();
179
207
  const { media } = useSelect(select => {
180
208
  return { media: value.media?.id ? select('core').getMedia(value.media.id) : undefined };
181
209
  }, [value]);
@@ -202,16 +230,31 @@ export function imageProperty(config) {
202
230
  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'))) })),
203
231
  React.createElement(MediaUploadCheck, null,
204
232
  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);
233
+ return React.createElement(BaseControl, { id: id, label: config.label, help: config.help },
234
+ React.createElement("div", { className: "editor-post-featured-image" }, value.media?.id ? imageUploadedVersion : noImageUploadedVersion));
206
235
  }
207
236
  };
208
237
  }
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));
238
+ export function listProperty(config) {
239
+ const sharedProps = { name: config.name, type: 'array', condition: config.condition, alwaysStore: config.alwaysStore };
240
+ if (config.itemType === undefined || config.itemType === 'string') {
241
+ return {
242
+ ...sharedProps,
243
+ default: config.default,
244
+ renderer(value, onChange) {
245
+ return React.createElement(SortableItemsControl, { value: value, onChange: onChange, min: config.min, max: config.max, label: config.label, help: config.help, emptyValue: config.emptyValue ?? '', ...config.component }, (datum, onDatumChange) => React.createElement(TextControl, { ...config.listComponent, value: datum, onChange: onDatumChange }));
246
+ }
247
+ };
248
+ }
249
+ else {
250
+ return {
251
+ ...sharedProps,
252
+ default: config.default,
253
+ renderer(value, onChange) {
254
+ return React.createElement(SortableItemsControl, { value: value, onChange: onChange, min: config.min, max: config.max, label: config.label, help: config.help, emptyValue: config.emptyValue ?? 0, ...config.component }, (datum, onDatumChange) => React.createElement(TextControl, { ...config.listComponent, type: "number", value: datum, onChange: v => onDatumChange(config.itemType !== 'float' ? parseInt(v) : parseFloat(v)) }));
255
+ }
256
+ };
257
+ }
215
258
  }
216
259
  function asOptions(options, noSelectionValue) {
217
260
  const res = options.map(opt => ({ value: opt[0], label: typeof opt[1] === 'string' ? opt[1] : opt[1].text }));
@@ -1 +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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"}
1
+ {"version":3,"file":"common-native-property-implementations.js","sourceRoot":"","sources":["../../src/blocks/common-native-property-implementations.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./simple-block";
2
+ export * from "./layered-styles";
3
+ export * from "./simple-native-property";
4
+ export * from './common-native-property-implementations';
5
+ export declare function installGutenbergBlockExtensions(): void;
@@ -0,0 +1,31 @@
1
+ import { type ReactElement } from "react";
2
+ import type { PickableOptions } from "../controls/types";
3
+ type BaseLayeredBlockStyleLayer = {
4
+ name: string;
5
+ title: string;
6
+ default?: string | undefined;
7
+ };
8
+ type LayeredBlockStyleColorLayer = BaseLayeredBlockStyleLayer & {
9
+ picker: 'color';
10
+ options: PickableOptions<string, {
11
+ color?: string;
12
+ }>;
13
+ };
14
+ type LayeredBlockStyleToggleLayer = BaseLayeredBlockStyleLayer & {
15
+ picker?: 'toggle-control';
16
+ options: PickableOptions<string, {
17
+ icon: ReactElement;
18
+ }>;
19
+ };
20
+ type LayeredBlockStyleSelectOrRadioLayer = BaseLayeredBlockStyleLayer & {
21
+ picker: 'select' | 'radio';
22
+ options: PickableOptions<string>;
23
+ };
24
+ export type LayeredBlockStyleLayer = LayeredBlockStyleColorLayer | LayeredBlockStyleToggleLayer | LayeredBlockStyleSelectOrRadioLayer;
25
+ export interface LayeredBlockStylesConfig {
26
+ block: `${string}/${string}`;
27
+ layers: LayeredBlockStyleLayer[];
28
+ }
29
+ export declare function registerLayeredBlockStyles(config: LayeredBlockStylesConfig): void;
30
+ export declare function installLayeredBlockStylesSupport(): void;
31
+ export {};
@@ -0,0 +1,22 @@
1
+ import { type Block, type BlockConfiguration, type BlockSaveProps } from "@wordpress/blocks";
2
+ import { InnerBlocks } from "@wordpress/block-editor";
3
+ import type { UseBlockProps } from "@wordpress/block-editor/components/use-block-props";
4
+ import React, { type ComponentType, type ReactNode } from "react";
5
+ export type SimpleBlockTypeConfig<TAttributes extends Record<string, any>> = {
6
+ icon?: BlockConfiguration<TAttributes>['icon'] | undefined;
7
+ defaults?: Required<TAttributes>;
8
+ controls?: NonNullable<Block<TAttributes>['edit']>;
9
+ renderer: (attributes: BlockSaveProps<TAttributes>, wrapperProps: UseBlockProps | UseBlockProps['save'], InnerBlocks: () => React.ReactElement, mode: "edit" | "save") => ReactNode;
10
+ innerBlocksProps?: InnerBlocks.Props;
11
+ settings?: Partial<BlockConfiguration<TAttributes>>;
12
+ };
13
+ declare function applyDefaults<TAttributes extends Record<string, any>, K extends BlockSaveProps<TAttributes>>(config: Omit<SimpleBlockTypeConfig<TAttributes>, 'renderer'>, props: K): Omit<K, "attributes"> & {
14
+ attributes: { [P in keyof K["attributes"]]: K["attributes"][P]; };
15
+ };
16
+ export declare function registerSimpleBlockType<TAttributes extends Record<string, any> = {}>(metadata: BlockConfiguration<TAttributes>, config: SimpleBlockTypeConfig<TAttributes>): Block<TAttributes> | undefined;
17
+ type SimpleContainerTypeConfig<TAttributes extends Record<string, any>> = Omit<SimpleBlockTypeConfig<TAttributes>, 'renderer'> & {
18
+ tag?: ComponentType;
19
+ attributesFromProps?: (arg: ReturnType<typeof applyDefaults<TAttributes, BlockSaveProps<TAttributes>>>, mode: "edit" | "save") => Parameters<UseBlockProps | UseBlockProps['save']>[0];
20
+ };
21
+ export declare function registerSimpleContainerBlock<TAttributes extends Record<string, any> = {}>(metadata: BlockConfiguration<TAttributes>, config: SimpleContainerTypeConfig<TAttributes>): Block<TAttributes> | undefined;
22
+ export {};
@@ -0,0 +1,30 @@
1
+ import type { ActualBlockEditProps } from "./common-native-property-implementations";
2
+ import { type ReactElement } from "react";
3
+ export type InspectorPanelGroup = 'default' | 'advanced' | 'background' | 'border' | 'color' | 'dimensions' | 'effects' | 'filter' | 'list' | 'position' | 'settings' | 'styles' | 'typography';
4
+ type GenericSimpleNativeProperty<T, V extends 'string' | 'number' | 'boolean' | 'array' | 'object'> = {
5
+ name: string;
6
+ type: V;
7
+ enum?: T[];
8
+ default?: T;
9
+ alwaysStore?: boolean;
10
+ renderer(value: T | undefined, onChange: (v: T | undefined) => void): ReactElement;
11
+ condition?(blockEditProps: ActualBlockEditProps): boolean;
12
+ };
13
+ export type SimpleNativeProperty = GenericSimpleNativeProperty<string, 'string'> & {
14
+ enum?: string[];
15
+ } | GenericSimpleNativeProperty<number, 'number'> & {
16
+ enum?: number[];
17
+ } | GenericSimpleNativeProperty<boolean, 'boolean'> | GenericSimpleNativeProperty<any[], 'array'> | GenericSimpleNativeProperty<Record<string | number, unknown>, 'object'>;
18
+ export type SimpleNativePanel = {
19
+ title: string;
20
+ group?: InspectorPanelGroup;
21
+ initialOpen?: boolean;
22
+ properties: SimpleNativeProperty[];
23
+ condition?(blockEditProps: ActualBlockEditProps): boolean;
24
+ };
25
+ export declare function registerSimpleNativeProperties(config: {
26
+ block: `${string}/${string}` | Array<`${string}/${string}`>;
27
+ panel: SimpleNativePanel | Array<SimpleNativePanel>;
28
+ }): void;
29
+ export declare function installSimpleNativePropertiesSupport(): void;
30
+ export {};
@@ -28,38 +28,41 @@ export function installSimpleNativePropertiesSupport() {
28
28
  }
29
29
  window.plauditSimpleNativePropertiesSupportInstalled = true;
30
30
  const simpleNativePanels = window.plauditSimpleNativePanels ?? (window.plauditSimpleNativePanels = {});
31
+ function attachSNP(property, injectableProperties) {
32
+ const attrPath = property.name.split('.');
33
+ if (attrPath.length === 1) {
34
+ injectableProperties[property.name] = { type: property.type, default: property.alwaysStore ? undefined : property.default };
35
+ if ('enum' in property) {
36
+ injectableProperties[property.name].enum = property.enum;
37
+ }
38
+ }
39
+ else {
40
+ let actualProp = injectableProperties[attrPath[0]];
41
+ if (actualProp === undefined) {
42
+ injectableProperties[attrPath[0]] = actualProp = { type: "object" };
43
+ }
44
+ else if (actualProp.type !== "object") {
45
+ throw new Error(`Property type collision on ${property.name}. Attempted treat the property as an object when it was already a ${actualProp.type}`);
46
+ }
47
+ if (property.default !== undefined) {
48
+ if (actualProp.default === undefined) {
49
+ actualProp.default = {};
50
+ }
51
+ let target = actualProp.default;
52
+ for (let i = 1; i < attrPath.length - 1; i++) {
53
+ target = target[attrPath[i]] = {};
54
+ }
55
+ target[attrPath[attrPath.length - 1]] = property.default;
56
+ }
57
+ }
58
+ }
31
59
  addFilter('blocks.registerBlockType', 'plaudit/gutenberg-api-extensions/attach-simple-native-properties', (atts) => {
32
60
  const blockSimpleNativePanels = simpleNativePanels[atts.name];
33
61
  if (blockSimpleNativePanels) {
34
62
  const injectableProperties = {};
35
63
  for (const blockSimpleNativePanel of blockSimpleNativePanels) {
36
64
  for (const property of blockSimpleNativePanel.properties) {
37
- const attrPath = property.name.split('.');
38
- if (attrPath.length === 1) {
39
- injectableProperties[property.name] = { type: property.type, default: property.alwaysStore ? undefined : property.default };
40
- if ('enum' in property) {
41
- injectableProperties[property.name].enum = property.enum;
42
- }
43
- }
44
- else {
45
- let actualProp = injectableProperties[attrPath[0]];
46
- if (actualProp === undefined) {
47
- injectableProperties[attrPath[0]] = actualProp = { type: "object" };
48
- }
49
- else if (actualProp.type !== "object") {
50
- throw new Error(`Property type collision on ${property.name}. Attempted treat the property as an object when it was already a ${actualProp.type}`);
51
- }
52
- if (property.default !== undefined) {
53
- if (actualProp.default === undefined) {
54
- actualProp.default = {};
55
- }
56
- let target = actualProp.default;
57
- for (let i = 1; i < attrPath.length - 1; i++) {
58
- target = target[attrPath[i]] = {};
59
- }
60
- target[attrPath[attrPath.length - 1]] = property.default;
61
- }
62
- }
65
+ attachSNP(property, injectableProperties);
63
66
  }
64
67
  }
65
68
  for (const [name, config] of Object.entries(injectableProperties)) {
@@ -82,6 +85,74 @@ export function installSimpleNativePropertiesSupport() {
82
85
  currentLayer[attrPath[attrPath.length - 1]] = value;
83
86
  blockEditProps.setAttributes({ [attrPath[0]]: payload });
84
87
  }
88
+ function getExistingValue(blockEditProps, prop) {
89
+ const propPath = prop.name.split('.');
90
+ if (propPath.length === 1) {
91
+ let existingValue = blockEditProps.attributes[prop.name];
92
+ if (existingValue === undefined && prop.default !== undefined) {
93
+ existingValue = prop.default;
94
+ blockEditProps.setAttributes({ [prop.name]: prop.default });
95
+ }
96
+ return existingValue;
97
+ }
98
+ else {
99
+ let graphExistingValue = blockEditProps.attributes[propPath[0]];
100
+ if (graphExistingValue === undefined) {
101
+ blockEditProps.attributes[propPath[0]] = graphExistingValue = {};
102
+ }
103
+ for (let i = 1; i < propPath.length; i++) {
104
+ if (graphExistingValue[propPath[i]] === undefined) {
105
+ for (; i < propPath.length - 1; i++) {
106
+ graphExistingValue = graphExistingValue[propPath[i]] = {};
107
+ }
108
+ graphExistingValue[propPath[propPath.length - 1]] = prop.default;
109
+ if (prop.default !== undefined) {
110
+ blockEditProps.setAttributes({ [propPath[0]]: blockEditProps.attributes[propPath[0]] });
111
+ }
112
+ break;
113
+ }
114
+ else {
115
+ graphExistingValue = graphExistingValue[propPath[i]];
116
+ }
117
+ }
118
+ return graphExistingValue ?? prop.default;
119
+ }
120
+ }
121
+ function renderPropertyComponent(blockEditProps, prop) {
122
+ let existingValue = getExistingValue(blockEditProps, prop);
123
+ let ele;
124
+ 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
125
+ if (existingValue !== undefined && (!Array.isArray(existingValue) || existingValue.length > existingValue.filter(() => true).length)) {
126
+ throw new Error(`Invalid value passed to an array-type property: ${existingValue}`);
127
+ }
128
+ ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
129
+ }
130
+ else if (prop.type === "object") {
131
+ if (existingValue !== undefined && (Array.isArray(existingValue) || typeof existingValue !== 'object')) {
132
+ throw new Error(`Invalid value passed to an object-type property: ${existingValue}`);
133
+ }
134
+ ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
135
+ }
136
+ else if (prop.type === "boolean") {
137
+ if (typeof existingValue !== 'boolean' && existingValue !== undefined) {
138
+ existingValue = !!existingValue;
139
+ }
140
+ ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
141
+ }
142
+ else if (prop.type === "string") {
143
+ if (typeof existingValue !== 'string' && existingValue !== undefined) {
144
+ existingValue = existingValue.toString();
145
+ }
146
+ ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
147
+ }
148
+ else {
149
+ if (typeof existingValue !== 'number' && existingValue !== undefined) {
150
+ existingValue = parseFloat(existingValue);
151
+ }
152
+ ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
153
+ }
154
+ return prop.condition === undefined || prop.condition(blockEditProps) ? ele : undefined;
155
+ }
85
156
  addFilter('editor.BlockEdit', 'plaudit/gutenberg-api-extensions/simple-native-properties', createHigherOrderComponent(BlockEdit => (blockEditProps) => {
86
157
  const blockSimpleNativePanels = simpleNativePanels[blockEditProps.name];
87
158
  if (!blockSimpleNativePanels) {
@@ -91,74 +162,8 @@ export function installSimpleNativePropertiesSupport() {
91
162
  return React.createElement(React.Fragment, null,
92
163
  React.createElement(BlockEdit, { ...blockEditProps }),
93
164
  ...blockSimpleNativePanels.map(p => {
94
- const items = p.properties.map(prop => {
95
- const propPath = prop.name.split('.');
96
- let existingValue;
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
- }
104
- }
105
- else {
106
- let graphExistingValue = blockEditProps.attributes[propPath[0]];
107
- if (graphExistingValue === undefined) {
108
- blockEditProps.attributes[propPath[0]] = graphExistingValue = {};
109
- }
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
- }
122
- }
123
- existingValue = graphExistingValue ?? prop.default;
124
- }
125
- }
126
- else {
127
- existingValue = undefined;
128
- }
129
- let ele;
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
131
- if (existingValue !== undefined && (!Array.isArray(existingValue) || existingValue.length > existingValue.filter(() => true).length)) {
132
- throw new Error(`Invalid value passed to an array-type property: ${existingValue}`);
133
- }
134
- ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
135
- }
136
- else if (prop.type === "object") {
137
- if (existingValue !== undefined && (Array.isArray(existingValue) || typeof existingValue !== 'object')) {
138
- throw new Error(`Invalid value passed to an object-type property: ${existingValue}`);
139
- }
140
- ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
141
- }
142
- else if (prop.type === "boolean") {
143
- if (typeof existingValue !== 'boolean' && existingValue !== undefined) {
144
- existingValue = !!existingValue;
145
- }
146
- ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
147
- }
148
- else if (prop.type === "string") {
149
- if (typeof existingValue !== 'string' && existingValue !== undefined) {
150
- existingValue = existingValue.toString();
151
- }
152
- ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
153
- }
154
- else {
155
- if (typeof existingValue !== 'number' && existingValue !== undefined) {
156
- existingValue = parseFloat(existingValue);
157
- }
158
- ele = prop.renderer(existingValue, value => setDottedAttribute(blockEditProps, prop.name, value));
159
- }
160
- return prop.condition === undefined || prop.condition(blockEditProps) ? ele : undefined;
161
- }).filter((ele) => ele !== undefined);
165
+ const items = p.properties.map(prop => renderPropertyComponent(blockEditProps, prop))
166
+ .filter((ele) => ele !== undefined);
162
167
  return React.createElement(InspectorPanel, { ...p, condition: () => items.length > 0 && (p.condition === undefined || p.condition(blockEditProps)), key: `plaudit-simple-native-property-${keyIndex++}` }, ...items);
163
168
  }));
164
169
  }, 'plauditGutenbergApiExtensionsSimpleNativeProperties'));