@measured/puck 0.13.2-canary.7d861f5 → 0.14.0-canary.16fff43

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,6 +17,11 @@ declare function DropZone(props: DropZoneProps): react_jsx_runtime.JSX.Element;
17
17
  type WithPuckProps<Props> = Props & {
18
18
  id: string;
19
19
  };
20
+ type FieldOption = {
21
+ label: string;
22
+ value: string | number | boolean;
23
+ };
24
+ type FieldOptions = Array<FieldOption> | ReadonlyArray<FieldOption>;
20
25
  type BaseField = {
21
26
  label?: string;
22
27
  };
@@ -25,23 +30,19 @@ type TextField = BaseField & {
25
30
  };
26
31
  type NumberField = BaseField & {
27
32
  type: "number";
33
+ min?: number;
34
+ max?: number;
28
35
  };
29
36
  type TextareaField = BaseField & {
30
37
  type: "textarea";
31
38
  };
32
39
  type SelectField = BaseField & {
33
40
  type: "select";
34
- options: {
35
- label: string;
36
- value: string | number | boolean;
37
- }[];
41
+ options: FieldOptions;
38
42
  };
39
43
  type RadioField = BaseField & {
40
44
  type: "radio";
41
- options: {
42
- label: string;
43
- value: string | number | boolean;
44
- }[];
45
+ options: FieldOptions;
45
46
  };
46
47
  type ArrayField<Props extends {
47
48
  [key: string]: any;
@@ -90,11 +91,15 @@ type ExternalField<Props extends {
90
91
  placeholder?: string;
91
92
  fetchList: (params: {
92
93
  query: string;
94
+ filters: Record<string, any>;
93
95
  }) => Promise<any[] | null>;
94
96
  mapProp?: (value: any) => Props;
97
+ mapRow?: (value: any) => Record<string, string | number>;
95
98
  getItemSummary: (item: Props, index?: number) => string;
96
99
  showSearch?: boolean;
97
100
  initialQuery?: string;
101
+ filterFields?: Record<string, Field>;
102
+ initialFilters?: Record<string, any>;
98
103
  };
99
104
  type CustomField<Props extends {
100
105
  [key: string]: any;