@measured/puck 0.13.0-canary.28f24f9 → 0.13.0-canary.2a8c2ff

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Puck
2
2
 
3
- The self-hosted, drag and drop editor for React.
3
+ The visual editor for React.
4
4
 
5
5
  <p align="left">
6
6
  <a aria-label="Measured logo" href="https://measured.co">
@@ -104,4 +104,4 @@ If you need support integrating Puck or creating a beautiful component library,
104
104
 
105
105
  ## License
106
106
 
107
- MIT © [Measured Co.](https://github.com/measuredco)
107
+ MIT © [Measured Corporation Ltd](https://measured.co)
@@ -21,10 +21,23 @@ type BaseField = {
21
21
  label?: string;
22
22
  };
23
23
  type TextField = BaseField & {
24
- type: "text" | "number" | "textarea";
24
+ type: "text";
25
+ };
26
+ type NumberField = BaseField & {
27
+ type: "number";
28
+ };
29
+ type TextareaField = BaseField & {
30
+ type: "textarea";
25
31
  };
26
32
  type SelectField = BaseField & {
27
- type: "select" | "radio";
33
+ type: "select";
34
+ options: {
35
+ label: string;
36
+ value: string | number | boolean;
37
+ }[];
38
+ };
39
+ type RadioField = BaseField & {
40
+ type: "radio";
28
41
  options: {
29
42
  label: string;
30
43
  value: string | number | boolean;
@@ -42,6 +55,16 @@ type ArrayField<Props extends {
42
55
  defaultItemProps?: Props[0];
43
56
  getItemSummary?: (item: Props[0], index?: number) => string;
44
57
  };
58
+ type ObjectField<Props extends {
59
+ [key: string]: any;
60
+ } = {
61
+ [key: string]: any;
62
+ }> = BaseField & {
63
+ type: "object";
64
+ objectFields: {
65
+ [SubPropName in keyof Props[0]]: Field<Props[0][SubPropName]>;
66
+ };
67
+ };
45
68
  type Adaptor<AdaptorParams = {}, TableShape extends Record<string, any> = {}, PropShape = TableShape> = {
46
69
  name: string;
47
70
  fetchList: (adaptorParams?: AdaptorParams) => Promise<TableShape[] | null>;
@@ -65,9 +88,13 @@ type ExternalField<Props extends {
65
88
  }> = BaseField & {
66
89
  type: "external";
67
90
  placeholder?: string;
68
- fetchList: () => Promise<any[] | null>;
91
+ fetchList: (params: {
92
+ query: string;
93
+ }) => Promise<any[] | null>;
69
94
  mapProp?: (value: any) => Props;
70
95
  getItemSummary: (item: Props, index?: number) => string;
96
+ showSearch?: boolean;
97
+ initialQuery?: string;
71
98
  };
72
99
  type CustomField<Props extends {
73
100
  [key: string]: any;
@@ -87,7 +114,7 @@ type Field<Props extends {
87
114
  [key: string]: any;
88
115
  } = {
89
116
  [key: string]: any;
90
- }> = TextField | SelectField | ArrayField<Props> | ExternalField<Props> | ExternalFieldWithAdaptor<Props> | CustomField;
117
+ }> = TextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<Props> | ObjectField<Props> | ExternalField<Props> | ExternalFieldWithAdaptor<Props> | CustomField;
91
118
  type DefaultRootProps = {
92
119
  title?: string;
93
120
  [key: string]: any;
@@ -189,10 +216,11 @@ type UiState = {
189
216
  visible?: boolean;
190
217
  expanded?: boolean;
191
218
  }>;
219
+ isDragging: boolean;
192
220
  };
193
221
  type AppState = {
194
222
  data: Data;
195
223
  ui: UiState;
196
224
  };
197
225
 
198
- export { AppState as A, BaseField as B, Config as C, Data as D, ExternalFieldWithAdaptor as E, Field as F, ItemSelector as I, MappedItem as M, PuckComponent as P, RootDataWithProps as R, SelectField as S, TextField as T, UiState as U, DefaultRootProps as a, RootData as b, ArrayField as c, Adaptor as d, ExternalField as e, CustomField as f, DefaultComponentProps as g, Fields as h, Content as i, PuckContext as j, ComponentConfig as k, BaseData as l, ComponentData as m, RootDataWithoutProps as n, ItemWithId as o, ArrayState as p, DropZone as q };
226
+ export { AppState as A, BaseField as B, Config as C, Data as D, ExternalFieldWithAdaptor as E, Field as F, ItemSelector as I, MappedItem as M, NumberField as N, ObjectField as O, PuckComponent as P, RootDataWithProps as R, SelectField as S, TextField as T, UiState as U, DefaultComponentProps as a, DefaultRootProps as b, RootData as c, TextareaField as d, RadioField as e, ArrayField as f, Adaptor as g, ExternalField as h, CustomField as i, Fields as j, Content as k, PuckContext as l, ComponentConfig as m, BaseData as n, ComponentData as o, RootDataWithoutProps as p, ItemWithId as q, ArrayState as r, DropZone as s };