@measured/puck-plugin-emotion-cache 0.21.0-canary.2e1b5267 → 0.21.0-canary.38e79ba8

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/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { ReactElement, CSSProperties, ReactNode, JSX } from 'react';
1
+ import { ReactElement, ReactNode, CSSProperties, ElementType, JSX } from 'react';
2
2
 
3
3
  type ItemSelector = {
4
4
  index: number;
@@ -10,63 +10,63 @@ type FieldOption = {
10
10
  value: string | number | boolean | undefined | null | object;
11
11
  };
12
12
  type FieldOptions = Array<FieldOption> | ReadonlyArray<FieldOption>;
13
- type BaseField = {
13
+ interface BaseField {
14
14
  label?: string;
15
15
  labelIcon?: ReactElement;
16
- metadata?: Metadata;
16
+ metadata?: FieldMetadata;
17
17
  visible?: boolean;
18
- };
19
- type TextField = BaseField & {
18
+ }
19
+ interface TextField extends BaseField {
20
20
  type: "text";
21
21
  placeholder?: string;
22
22
  contentEditable?: boolean;
23
- };
24
- type NumberField = BaseField & {
23
+ }
24
+ interface NumberField extends BaseField {
25
25
  type: "number";
26
26
  placeholder?: string;
27
27
  min?: number;
28
28
  max?: number;
29
29
  step?: number;
30
- };
31
- type TextareaField = BaseField & {
30
+ }
31
+ interface TextareaField extends BaseField {
32
32
  type: "textarea";
33
33
  placeholder?: string;
34
34
  contentEditable?: boolean;
35
- };
36
- type SelectField = BaseField & {
35
+ }
36
+ interface SelectField extends BaseField {
37
37
  type: "select";
38
38
  options: FieldOptions;
39
- };
40
- type RadioField = BaseField & {
39
+ }
40
+ interface RadioField extends BaseField {
41
41
  type: "radio";
42
42
  options: FieldOptions;
43
- };
44
- type ArrayField<Props extends {
43
+ }
44
+ interface ArrayField<Props extends {
45
45
  [key: string]: any;
46
46
  }[] = {
47
47
  [key: string]: any;
48
- }[], UserField extends {} = {}> = BaseField & {
48
+ }[], UserField extends {} = {}> extends BaseField {
49
49
  type: "array";
50
50
  arrayFields: {
51
51
  [SubPropName in keyof Props[0]]: UserField extends {
52
52
  type: PropertyKey;
53
53
  } ? Field<Props[0][SubPropName], UserField> | UserField : Field<Props[0][SubPropName], UserField>;
54
54
  };
55
- defaultItemProps?: Props[0];
56
- getItemSummary?: (item: Props[0], index?: number) => string;
55
+ defaultItemProps?: Props[0] | ((index: number) => Props[0]);
56
+ getItemSummary?: (item: Props[0], index?: number) => ReactNode;
57
57
  max?: number;
58
58
  min?: number;
59
- };
60
- type ObjectField<Props extends any = {
59
+ }
60
+ interface ObjectField<Props extends any = {
61
61
  [key: string]: any;
62
- }, UserField extends {} = {}> = BaseField & {
62
+ }, UserField extends {} = {}> extends BaseField {
63
63
  type: "object";
64
64
  objectFields: {
65
65
  [SubPropName in keyof Props]: UserField extends {
66
66
  type: PropertyKey;
67
67
  } ? Field<Props[SubPropName]> | UserField : Field<Props[SubPropName]>;
68
68
  };
69
- };
69
+ }
70
70
  type Adaptor<AdaptorParams = {}, TableShape extends Record<string, any> = {}, PropShape = TableShape> = {
71
71
  name: string;
72
72
  fetchList: (adaptorParams?: AdaptorParams) => Promise<TableShape[] | null>;
@@ -80,12 +80,16 @@ type ExternalFieldWithAdaptor<Props extends any = {
80
80
  placeholder?: string;
81
81
  adaptor: Adaptor<any, any, Props>;
82
82
  adaptorParams?: object;
83
- getItemSummary: (item: NotUndefined<Props>, index?: number) => string;
83
+ getItemSummary: (item: NotUndefined<Props>, index?: number) => ReactNode;
84
84
  };
85
- type ExternalField<Props extends any = {
85
+ type CacheOpts = {
86
+ enabled?: boolean;
87
+ };
88
+ interface ExternalField<Props extends any = {
86
89
  [key: string]: any;
87
- }> = BaseField & {
90
+ }> extends BaseField {
88
91
  type: "external";
92
+ cache?: CacheOpts;
89
93
  placeholder?: string;
90
94
  fetchList: (params: {
91
95
  query: string;
@@ -93,7 +97,7 @@ type ExternalField<Props extends any = {
93
97
  }) => Promise<any[] | null>;
94
98
  mapProp?: (value: any) => Props;
95
99
  mapRow?: (value: any) => Record<string, string | number | ReactElement>;
96
- getItemSummary?: (item: NotUndefined<Props>, index?: number) => string;
100
+ getItemSummary?: (item: NotUndefined<Props>, index?: number) => ReactNode;
97
101
  showSearch?: boolean;
98
102
  renderFooter?: (props: {
99
103
  items: any[];
@@ -101,7 +105,7 @@ type ExternalField<Props extends any = {
101
105
  initialQuery?: string;
102
106
  filterFields?: Record<string, Field>;
103
107
  initialFilters?: Record<string, any>;
104
- };
108
+ }
105
109
  type CustomFieldRender<Value extends any> = (props: {
106
110
  field: CustomField<Value>;
107
111
  name: string;
@@ -110,16 +114,17 @@ type CustomFieldRender<Value extends any> = (props: {
110
114
  onChange: (value: Value) => void;
111
115
  readOnly?: boolean;
112
116
  }) => ReactElement;
113
- type CustomField<Value extends any> = BaseField & {
117
+ interface CustomField<Value extends any> extends BaseField {
114
118
  type: "custom";
115
119
  render: CustomFieldRender<Value>;
116
120
  contentEditable?: boolean;
117
- };
118
- type SlotField = BaseField & {
121
+ key?: string;
122
+ }
123
+ interface SlotField extends BaseField {
119
124
  type: "slot";
120
125
  allow?: string[];
121
126
  disallow?: string[];
122
- };
127
+ }
123
128
  type Field<ValueType = any, UserField extends {} = {}> = TextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<ValueType extends {
124
129
  [key: string]: any;
125
130
  }[] ? ValueType : never, UserField> | ObjectField<ValueType, UserField> | ExternalField<ValueType> | ExternalFieldWithAdaptor<ValueType> | CustomField<ValueType> | SlotField;
@@ -144,10 +149,11 @@ type DropZoneProps = {
144
149
  minEmptyHeight?: number;
145
150
  className?: string;
146
151
  collisionAxis?: DragAxis;
152
+ as?: ElementType;
147
153
  };
148
154
 
149
155
  type PuckContext = {
150
- renderDropZone: React.FC<DropZoneProps>;
156
+ renderDropZone: (props: DropZoneProps) => React.ReactNode;
151
157
  metadata: Metadata;
152
158
  isEditing: boolean;
153
159
  dragRef: ((element: Element | null) => void) | null;
@@ -195,6 +201,8 @@ type ResolveDataTrigger = "insert" | "replace" | "load" | "force";
195
201
  type WithPartialProps<T, Props extends DefaultComponentProps> = Omit<T, "props"> & {
196
202
  props?: Partial<Props>;
197
203
  };
204
+ interface ComponentConfigExtensions {
205
+ }
198
206
  type ComponentConfigInternal<RenderProps extends DefaultComponentProps, FieldProps extends DefaultComponentProps, DataShape = Omit<ComponentData<FieldProps>, "type">, // NB this doesn't include AllProps, so types will not contain deep slot types. To fix, we require a breaking change.
199
207
  UserField extends BaseField = {}> = {
200
208
  render: PuckComponent<RenderProps>;
@@ -210,7 +218,7 @@ UserField extends BaseField = {}> = {
210
218
  fields: Fields<FieldProps>;
211
219
  lastFields: Fields<FieldProps>;
212
220
  lastData: DataShape | null;
213
- metadata: Metadata;
221
+ metadata: ComponentMetadata;
214
222
  appState: AppState;
215
223
  parent: ComponentData | null;
216
224
  }) => Promise<Fields<FieldProps>> | Fields<FieldProps>;
@@ -219,7 +227,7 @@ UserField extends BaseField = {}> = {
219
227
  id: string;
220
228
  }>;
221
229
  lastData: DataShape | null;
222
- metadata: Metadata;
230
+ metadata: ComponentMetadata;
223
231
  trigger: ResolveDataTrigger;
224
232
  }) => Promise<WithPartialProps<DataShape, FieldProps>> | WithPartialProps<DataShape, FieldProps>;
225
233
  resolvePermissions?: (data: DataShape, params: {
@@ -230,9 +238,10 @@ UserField extends BaseField = {}> = {
230
238
  permissions: Partial<Permissions>;
231
239
  appState: AppState;
232
240
  lastData: DataShape | null;
241
+ parent: ComponentData | null;
233
242
  }) => Promise<Partial<Permissions>> | Partial<Permissions>;
234
- metadata?: Metadata;
235
- };
243
+ metadata?: ComponentMetadata;
244
+ } & ComponentConfigExtensions;
236
245
  type RootConfigInternal<RootProps extends DefaultComponentProps = DefaultComponentProps, UserField extends BaseField = {}> = Partial<ComponentConfigInternal<WithChildren<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>, UserField>>;
237
246
  type Category<ComponentName> = {
238
247
  components?: ComponentName[];
@@ -259,6 +268,12 @@ type ExtractConfigParams<UserConfig extends ConfigInternal> = UserConfig extends
259
268
  type: string;
260
269
  } ? UserField : Field;
261
270
  } : never;
271
+ type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
272
+ components?: Components;
273
+ root?: RootProps;
274
+ categories?: CategoryNames;
275
+ fields?: AssertHasValue<UserFields>;
276
+ };
262
277
 
263
278
  type BaseData<Props extends {
264
279
  [key: string]: any;
@@ -298,11 +313,16 @@ type Data<Components extends DefaultComponents = DefaultComponents, RootProps ex
298
313
  type Metadata = {
299
314
  [key: string]: any;
300
315
  };
316
+ interface PuckMetadata extends Metadata {
317
+ }
318
+ interface ComponentMetadata extends PuckMetadata {
319
+ }
320
+ interface FieldMetadata extends Metadata {
321
+ }
301
322
 
302
323
  type ItemWithId = {
303
324
  _arrayId: string;
304
325
  _originalIndex: number;
305
- _currentIndex: number;
306
326
  };
307
327
  type ArrayState = {
308
328
  items: ItemWithId[];
@@ -313,7 +333,6 @@ type UiState = {
313
333
  rightSideBarVisible: boolean;
314
334
  leftSideBarWidth?: number | null;
315
335
  rightSideBarWidth?: number | null;
316
- mobilePanelExpanded?: boolean;
317
336
  itemSelector: ItemSelector | null;
318
337
  arrayState: Record<string, ArrayState | undefined>;
319
338
  previewMode: "interactive" | "edit";
@@ -326,7 +345,7 @@ type UiState = {
326
345
  isDragging: boolean;
327
346
  viewports: {
328
347
  current: {
329
- width: number | "100%";
348
+ width: number;
330
349
  height: number | "auto";
331
350
  };
332
351
  controlsVisible: boolean;
@@ -335,9 +354,6 @@ type UiState = {
335
354
  field: {
336
355
  focus?: string | null;
337
356
  };
338
- plugin: {
339
- current: string | null;
340
- };
341
357
  };
342
358
  type AppState<UserData extends Data = Data> = {
343
359
  data: UserData;
@@ -371,12 +387,6 @@ type BuiltinTypes = Date | RegExp | Error | Function | symbol | null | undefined
371
387
  type WithDeepSlots<T, SlotType = T> = T extends Slot ? SlotType : T extends (infer U)[] ? Array<WithDeepSlots<U, SlotType>> : T extends (infer U)[] ? WithDeepSlots<U, SlotType>[] : T extends BuiltinTypes ? T : T extends object ? {
372
388
  [K in keyof T]: WithDeepSlots<T[K], SlotType>;
373
389
  } : T;
374
- type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
375
- components?: Components;
376
- root?: RootProps;
377
- categories?: CategoryNames;
378
- fields?: AssertHasValue<UserFields>;
379
- };
380
390
  type FieldsExtension = {
381
391
  [Type in string]: {
382
392
  type: Type;
@@ -387,11 +397,6 @@ type LeftOrExactRight<Union, Left, Right> = (Left & Union extends Right ? Exact<
387
397
  type AssertHasValue<T, True = T, False = never> = [keyof T] extends [
388
398
  never
389
399
  ] ? False : True;
390
- type RenderFunc<Props extends {
391
- [key: string]: any;
392
- } = {
393
- children: ReactNode;
394
- }> = (props: Props) => ReactElement;
395
400
 
396
401
  type MapFnParams<ThisField = Field> = {
397
402
  value: any;
@@ -415,6 +420,11 @@ G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>, UserField extends
415
420
  [Type in UserField["type"]]: FieldTransformFn<ExtractField<UserField, Type>>;
416
421
  }>;
417
422
 
423
+ type RenderFunc<Props extends {
424
+ [key: string]: any;
425
+ } = {
426
+ children: ReactNode;
427
+ }> = (props: Props) => ReactElement;
418
428
  declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
419
429
  type OverrideKey = (typeof overrideKeys)[number];
420
430
  type OverridesGeneric<Shape extends {
@@ -485,7 +495,7 @@ type DragAxis = "dynamic" | "y" | "x";
485
495
 
486
496
  type iconTypes = "Smartphone" | "Monitor" | "Tablet";
487
497
  type Viewport = {
488
- width: number | "100%";
498
+ width: number;
489
499
  height?: number | "auto";
490
500
  label?: string;
491
501
  icon?: iconTypes | ReactNode;
@@ -499,13 +509,8 @@ type Permissions = {
499
509
  insert: boolean;
500
510
  } & Record<string, boolean>;
501
511
  type Plugin<UserConfig extends Config = Config> = {
502
- name?: string;
503
- label?: string;
504
- icon?: ReactNode;
505
- render?: () => ReactElement;
506
512
  overrides?: Partial<Overrides<UserConfig>>;
507
513
  fieldTransforms?: FieldTransforms<UserConfig>;
508
- mobilePanelHeight?: "toggle" | "min-content";
509
514
  };
510
515
  type Slot<Props extends {
511
516
  [key: string]: DefaultComponentProps;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ReactElement, CSSProperties, ReactNode, JSX } from 'react';
1
+ import { ReactElement, ReactNode, CSSProperties, ElementType, JSX } from 'react';
2
2
 
3
3
  type ItemSelector = {
4
4
  index: number;
@@ -10,63 +10,63 @@ type FieldOption = {
10
10
  value: string | number | boolean | undefined | null | object;
11
11
  };
12
12
  type FieldOptions = Array<FieldOption> | ReadonlyArray<FieldOption>;
13
- type BaseField = {
13
+ interface BaseField {
14
14
  label?: string;
15
15
  labelIcon?: ReactElement;
16
- metadata?: Metadata;
16
+ metadata?: FieldMetadata;
17
17
  visible?: boolean;
18
- };
19
- type TextField = BaseField & {
18
+ }
19
+ interface TextField extends BaseField {
20
20
  type: "text";
21
21
  placeholder?: string;
22
22
  contentEditable?: boolean;
23
- };
24
- type NumberField = BaseField & {
23
+ }
24
+ interface NumberField extends BaseField {
25
25
  type: "number";
26
26
  placeholder?: string;
27
27
  min?: number;
28
28
  max?: number;
29
29
  step?: number;
30
- };
31
- type TextareaField = BaseField & {
30
+ }
31
+ interface TextareaField extends BaseField {
32
32
  type: "textarea";
33
33
  placeholder?: string;
34
34
  contentEditable?: boolean;
35
- };
36
- type SelectField = BaseField & {
35
+ }
36
+ interface SelectField extends BaseField {
37
37
  type: "select";
38
38
  options: FieldOptions;
39
- };
40
- type RadioField = BaseField & {
39
+ }
40
+ interface RadioField extends BaseField {
41
41
  type: "radio";
42
42
  options: FieldOptions;
43
- };
44
- type ArrayField<Props extends {
43
+ }
44
+ interface ArrayField<Props extends {
45
45
  [key: string]: any;
46
46
  }[] = {
47
47
  [key: string]: any;
48
- }[], UserField extends {} = {}> = BaseField & {
48
+ }[], UserField extends {} = {}> extends BaseField {
49
49
  type: "array";
50
50
  arrayFields: {
51
51
  [SubPropName in keyof Props[0]]: UserField extends {
52
52
  type: PropertyKey;
53
53
  } ? Field<Props[0][SubPropName], UserField> | UserField : Field<Props[0][SubPropName], UserField>;
54
54
  };
55
- defaultItemProps?: Props[0];
56
- getItemSummary?: (item: Props[0], index?: number) => string;
55
+ defaultItemProps?: Props[0] | ((index: number) => Props[0]);
56
+ getItemSummary?: (item: Props[0], index?: number) => ReactNode;
57
57
  max?: number;
58
58
  min?: number;
59
- };
60
- type ObjectField<Props extends any = {
59
+ }
60
+ interface ObjectField<Props extends any = {
61
61
  [key: string]: any;
62
- }, UserField extends {} = {}> = BaseField & {
62
+ }, UserField extends {} = {}> extends BaseField {
63
63
  type: "object";
64
64
  objectFields: {
65
65
  [SubPropName in keyof Props]: UserField extends {
66
66
  type: PropertyKey;
67
67
  } ? Field<Props[SubPropName]> | UserField : Field<Props[SubPropName]>;
68
68
  };
69
- };
69
+ }
70
70
  type Adaptor<AdaptorParams = {}, TableShape extends Record<string, any> = {}, PropShape = TableShape> = {
71
71
  name: string;
72
72
  fetchList: (adaptorParams?: AdaptorParams) => Promise<TableShape[] | null>;
@@ -80,12 +80,16 @@ type ExternalFieldWithAdaptor<Props extends any = {
80
80
  placeholder?: string;
81
81
  adaptor: Adaptor<any, any, Props>;
82
82
  adaptorParams?: object;
83
- getItemSummary: (item: NotUndefined<Props>, index?: number) => string;
83
+ getItemSummary: (item: NotUndefined<Props>, index?: number) => ReactNode;
84
84
  };
85
- type ExternalField<Props extends any = {
85
+ type CacheOpts = {
86
+ enabled?: boolean;
87
+ };
88
+ interface ExternalField<Props extends any = {
86
89
  [key: string]: any;
87
- }> = BaseField & {
90
+ }> extends BaseField {
88
91
  type: "external";
92
+ cache?: CacheOpts;
89
93
  placeholder?: string;
90
94
  fetchList: (params: {
91
95
  query: string;
@@ -93,7 +97,7 @@ type ExternalField<Props extends any = {
93
97
  }) => Promise<any[] | null>;
94
98
  mapProp?: (value: any) => Props;
95
99
  mapRow?: (value: any) => Record<string, string | number | ReactElement>;
96
- getItemSummary?: (item: NotUndefined<Props>, index?: number) => string;
100
+ getItemSummary?: (item: NotUndefined<Props>, index?: number) => ReactNode;
97
101
  showSearch?: boolean;
98
102
  renderFooter?: (props: {
99
103
  items: any[];
@@ -101,7 +105,7 @@ type ExternalField<Props extends any = {
101
105
  initialQuery?: string;
102
106
  filterFields?: Record<string, Field>;
103
107
  initialFilters?: Record<string, any>;
104
- };
108
+ }
105
109
  type CustomFieldRender<Value extends any> = (props: {
106
110
  field: CustomField<Value>;
107
111
  name: string;
@@ -110,16 +114,17 @@ type CustomFieldRender<Value extends any> = (props: {
110
114
  onChange: (value: Value) => void;
111
115
  readOnly?: boolean;
112
116
  }) => ReactElement;
113
- type CustomField<Value extends any> = BaseField & {
117
+ interface CustomField<Value extends any> extends BaseField {
114
118
  type: "custom";
115
119
  render: CustomFieldRender<Value>;
116
120
  contentEditable?: boolean;
117
- };
118
- type SlotField = BaseField & {
121
+ key?: string;
122
+ }
123
+ interface SlotField extends BaseField {
119
124
  type: "slot";
120
125
  allow?: string[];
121
126
  disallow?: string[];
122
- };
127
+ }
123
128
  type Field<ValueType = any, UserField extends {} = {}> = TextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<ValueType extends {
124
129
  [key: string]: any;
125
130
  }[] ? ValueType : never, UserField> | ObjectField<ValueType, UserField> | ExternalField<ValueType> | ExternalFieldWithAdaptor<ValueType> | CustomField<ValueType> | SlotField;
@@ -144,10 +149,11 @@ type DropZoneProps = {
144
149
  minEmptyHeight?: number;
145
150
  className?: string;
146
151
  collisionAxis?: DragAxis;
152
+ as?: ElementType;
147
153
  };
148
154
 
149
155
  type PuckContext = {
150
- renderDropZone: React.FC<DropZoneProps>;
156
+ renderDropZone: (props: DropZoneProps) => React.ReactNode;
151
157
  metadata: Metadata;
152
158
  isEditing: boolean;
153
159
  dragRef: ((element: Element | null) => void) | null;
@@ -195,6 +201,8 @@ type ResolveDataTrigger = "insert" | "replace" | "load" | "force";
195
201
  type WithPartialProps<T, Props extends DefaultComponentProps> = Omit<T, "props"> & {
196
202
  props?: Partial<Props>;
197
203
  };
204
+ interface ComponentConfigExtensions {
205
+ }
198
206
  type ComponentConfigInternal<RenderProps extends DefaultComponentProps, FieldProps extends DefaultComponentProps, DataShape = Omit<ComponentData<FieldProps>, "type">, // NB this doesn't include AllProps, so types will not contain deep slot types. To fix, we require a breaking change.
199
207
  UserField extends BaseField = {}> = {
200
208
  render: PuckComponent<RenderProps>;
@@ -210,7 +218,7 @@ UserField extends BaseField = {}> = {
210
218
  fields: Fields<FieldProps>;
211
219
  lastFields: Fields<FieldProps>;
212
220
  lastData: DataShape | null;
213
- metadata: Metadata;
221
+ metadata: ComponentMetadata;
214
222
  appState: AppState;
215
223
  parent: ComponentData | null;
216
224
  }) => Promise<Fields<FieldProps>> | Fields<FieldProps>;
@@ -219,7 +227,7 @@ UserField extends BaseField = {}> = {
219
227
  id: string;
220
228
  }>;
221
229
  lastData: DataShape | null;
222
- metadata: Metadata;
230
+ metadata: ComponentMetadata;
223
231
  trigger: ResolveDataTrigger;
224
232
  }) => Promise<WithPartialProps<DataShape, FieldProps>> | WithPartialProps<DataShape, FieldProps>;
225
233
  resolvePermissions?: (data: DataShape, params: {
@@ -230,9 +238,10 @@ UserField extends BaseField = {}> = {
230
238
  permissions: Partial<Permissions>;
231
239
  appState: AppState;
232
240
  lastData: DataShape | null;
241
+ parent: ComponentData | null;
233
242
  }) => Promise<Partial<Permissions>> | Partial<Permissions>;
234
- metadata?: Metadata;
235
- };
243
+ metadata?: ComponentMetadata;
244
+ } & ComponentConfigExtensions;
236
245
  type RootConfigInternal<RootProps extends DefaultComponentProps = DefaultComponentProps, UserField extends BaseField = {}> = Partial<ComponentConfigInternal<WithChildren<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>, UserField>>;
237
246
  type Category<ComponentName> = {
238
247
  components?: ComponentName[];
@@ -259,6 +268,12 @@ type ExtractConfigParams<UserConfig extends ConfigInternal> = UserConfig extends
259
268
  type: string;
260
269
  } ? UserField : Field;
261
270
  } : never;
271
+ type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
272
+ components?: Components;
273
+ root?: RootProps;
274
+ categories?: CategoryNames;
275
+ fields?: AssertHasValue<UserFields>;
276
+ };
262
277
 
263
278
  type BaseData<Props extends {
264
279
  [key: string]: any;
@@ -298,11 +313,16 @@ type Data<Components extends DefaultComponents = DefaultComponents, RootProps ex
298
313
  type Metadata = {
299
314
  [key: string]: any;
300
315
  };
316
+ interface PuckMetadata extends Metadata {
317
+ }
318
+ interface ComponentMetadata extends PuckMetadata {
319
+ }
320
+ interface FieldMetadata extends Metadata {
321
+ }
301
322
 
302
323
  type ItemWithId = {
303
324
  _arrayId: string;
304
325
  _originalIndex: number;
305
- _currentIndex: number;
306
326
  };
307
327
  type ArrayState = {
308
328
  items: ItemWithId[];
@@ -313,7 +333,6 @@ type UiState = {
313
333
  rightSideBarVisible: boolean;
314
334
  leftSideBarWidth?: number | null;
315
335
  rightSideBarWidth?: number | null;
316
- mobilePanelExpanded?: boolean;
317
336
  itemSelector: ItemSelector | null;
318
337
  arrayState: Record<string, ArrayState | undefined>;
319
338
  previewMode: "interactive" | "edit";
@@ -326,7 +345,7 @@ type UiState = {
326
345
  isDragging: boolean;
327
346
  viewports: {
328
347
  current: {
329
- width: number | "100%";
348
+ width: number;
330
349
  height: number | "auto";
331
350
  };
332
351
  controlsVisible: boolean;
@@ -335,9 +354,6 @@ type UiState = {
335
354
  field: {
336
355
  focus?: string | null;
337
356
  };
338
- plugin: {
339
- current: string | null;
340
- };
341
357
  };
342
358
  type AppState<UserData extends Data = Data> = {
343
359
  data: UserData;
@@ -371,12 +387,6 @@ type BuiltinTypes = Date | RegExp | Error | Function | symbol | null | undefined
371
387
  type WithDeepSlots<T, SlotType = T> = T extends Slot ? SlotType : T extends (infer U)[] ? Array<WithDeepSlots<U, SlotType>> : T extends (infer U)[] ? WithDeepSlots<U, SlotType>[] : T extends BuiltinTypes ? T : T extends object ? {
372
388
  [K in keyof T]: WithDeepSlots<T[K], SlotType>;
373
389
  } : T;
374
- type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
375
- components?: Components;
376
- root?: RootProps;
377
- categories?: CategoryNames;
378
- fields?: AssertHasValue<UserFields>;
379
- };
380
390
  type FieldsExtension = {
381
391
  [Type in string]: {
382
392
  type: Type;
@@ -387,11 +397,6 @@ type LeftOrExactRight<Union, Left, Right> = (Left & Union extends Right ? Exact<
387
397
  type AssertHasValue<T, True = T, False = never> = [keyof T] extends [
388
398
  never
389
399
  ] ? False : True;
390
- type RenderFunc<Props extends {
391
- [key: string]: any;
392
- } = {
393
- children: ReactNode;
394
- }> = (props: Props) => ReactElement;
395
400
 
396
401
  type MapFnParams<ThisField = Field> = {
397
402
  value: any;
@@ -415,6 +420,11 @@ G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>, UserField extends
415
420
  [Type in UserField["type"]]: FieldTransformFn<ExtractField<UserField, Type>>;
416
421
  }>;
417
422
 
423
+ type RenderFunc<Props extends {
424
+ [key: string]: any;
425
+ } = {
426
+ children: ReactNode;
427
+ }> = (props: Props) => ReactElement;
418
428
  declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
419
429
  type OverrideKey = (typeof overrideKeys)[number];
420
430
  type OverridesGeneric<Shape extends {
@@ -485,7 +495,7 @@ type DragAxis = "dynamic" | "y" | "x";
485
495
 
486
496
  type iconTypes = "Smartphone" | "Monitor" | "Tablet";
487
497
  type Viewport = {
488
- width: number | "100%";
498
+ width: number;
489
499
  height?: number | "auto";
490
500
  label?: string;
491
501
  icon?: iconTypes | ReactNode;
@@ -499,13 +509,8 @@ type Permissions = {
499
509
  insert: boolean;
500
510
  } & Record<string, boolean>;
501
511
  type Plugin<UserConfig extends Config = Config> = {
502
- name?: string;
503
- label?: string;
504
- icon?: ReactNode;
505
- render?: () => ReactElement;
506
512
  overrides?: Partial<Overrides<UserConfig>>;
507
513
  fieldTransforms?: FieldTransforms<UserConfig>;
508
- mobilePanelHeight?: "toggle" | "min-content";
509
514
  };
510
515
  type Slot<Props extends {
511
516
  [key: string]: DefaultComponentProps;
package/dist/index.js CHANGED
@@ -28,11 +28,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
30
  // index.tsx
31
- var plugin_emotion_cache_exports = {};
32
- __export(plugin_emotion_cache_exports, {
33
- default: () => plugin_emotion_cache_default
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ default: () => index_default
34
34
  });
35
- module.exports = __toCommonJS(plugin_emotion_cache_exports);
35
+ module.exports = __toCommonJS(index_exports);
36
36
 
37
37
  // ../tsup-config/react-import.js
38
38
  var import_react = __toESM(require("react"));
@@ -63,7 +63,7 @@ function createStyleElement(options) {
63
63
  tag.setAttribute("data-s", "");
64
64
  return tag;
65
65
  }
66
- var StyleSheet = /* @__PURE__ */ function() {
66
+ var StyleSheet = /* @__PURE__ */ (function() {
67
67
  function StyleSheet2(options) {
68
68
  var _this = this;
69
69
  this._insertTag = function(tag) {
@@ -121,7 +121,7 @@ var StyleSheet = /* @__PURE__ */ function() {
121
121
  this.ctr = 0;
122
122
  };
123
123
  return StyleSheet2;
124
- }();
124
+ })();
125
125
 
126
126
  // ../../node_modules/stylis/src/Enum.js
127
127
  var MS = "-ms-";
@@ -924,4 +924,4 @@ var createEmotionCachePlugin = (key) => {
924
924
  }
925
925
  };
926
926
  };
927
- var plugin_emotion_cache_default = createEmotionCachePlugin;
927
+ var index_default = createEmotionCachePlugin;
package/dist/index.mjs CHANGED
@@ -27,7 +27,7 @@ function createStyleElement(options) {
27
27
  tag.setAttribute("data-s", "");
28
28
  return tag;
29
29
  }
30
- var StyleSheet = /* @__PURE__ */ function() {
30
+ var StyleSheet = /* @__PURE__ */ (function() {
31
31
  function StyleSheet2(options) {
32
32
  var _this = this;
33
33
  this._insertTag = function(tag) {
@@ -85,7 +85,7 @@ var StyleSheet = /* @__PURE__ */ function() {
85
85
  this.ctr = 0;
86
86
  };
87
87
  return StyleSheet2;
88
- }();
88
+ })();
89
89
 
90
90
  // ../../node_modules/stylis/src/Enum.js
91
91
  var MS = "-ms-";
@@ -888,7 +888,7 @@ var createEmotionCachePlugin = (key) => {
888
888
  }
889
889
  };
890
890
  };
891
- var plugin_emotion_cache_default = createEmotionCachePlugin;
891
+ var index_default = createEmotionCachePlugin;
892
892
  export {
893
- plugin_emotion_cache_default as default
893
+ index_default as default
894
894
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measured/puck-plugin-emotion-cache",
3
- "version": "0.21.0-canary.2e1b5267",
3
+ "version": "0.21.0-canary.38e79ba8",
4
4
  "author": "Chris Villa <chris@puckeditor.com>",
5
5
  "repository": "measuredco/puck",
6
6
  "bugs": "https://github.com/measuredco/puck/issues",
@@ -24,7 +24,8 @@
24
24
  ],
25
25
  "devDependencies": {
26
26
  "@emotion/react": "^11.13.3",
27
- "@measured/puck": "^0.21.0-canary.2e1b5267",
27
+ "@measured/puck": "^0.21.0-canary.38e79ba8",
28
+ "@types/minimatch": "3.0.5",
28
29
  "@types/react": "^19.0.1",
29
30
  "@types/react-dom": "^19.0.2",
30
31
  "eslint": "^7.32.0",