@measured/puck-plugin-emotion-cache 0.20.3-canary.d855fa8c → 0.21.0-canary.049cfbbc

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
@@ -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];
55
+ defaultItemProps?: Props[0] | ((index: number) => Props[0]);
56
56
  getItemSummary?: (item: Props[0], index?: number) => string;
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>;
@@ -82,10 +82,14 @@ type ExternalFieldWithAdaptor<Props extends any = {
82
82
  adaptorParams?: object;
83
83
  getItemSummary: (item: NotUndefined<Props>, index?: number) => string;
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;
@@ -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,16 @@ 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
+ }
122
+ interface SlotField extends BaseField {
119
123
  type: "slot";
120
124
  allow?: string[];
121
125
  disallow?: string[];
122
- };
126
+ }
123
127
  type Field<ValueType = any, UserField extends {} = {}> = TextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<ValueType extends {
124
128
  [key: string]: any;
125
129
  }[] ? ValueType : never, UserField> | ObjectField<ValueType, UserField> | ExternalField<ValueType> | ExternalFieldWithAdaptor<ValueType> | CustomField<ValueType> | SlotField;
@@ -147,7 +151,7 @@ type DropZoneProps = {
147
151
  };
148
152
 
149
153
  type PuckContext = {
150
- renderDropZone: React.FC<DropZoneProps>;
154
+ renderDropZone: (props: DropZoneProps) => React.ReactNode;
151
155
  metadata: Metadata;
152
156
  isEditing: boolean;
153
157
  dragRef: ((element: Element | null) => void) | null;
@@ -195,6 +199,8 @@ type ResolveDataTrigger = "insert" | "replace" | "load" | "force";
195
199
  type WithPartialProps<T, Props extends DefaultComponentProps> = Omit<T, "props"> & {
196
200
  props?: Partial<Props>;
197
201
  };
202
+ interface ComponentConfigExtensions {
203
+ }
198
204
  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
205
  UserField extends BaseField = {}> = {
200
206
  render: PuckComponent<RenderProps>;
@@ -210,6 +216,7 @@ UserField extends BaseField = {}> = {
210
216
  fields: Fields<FieldProps>;
211
217
  lastFields: Fields<FieldProps>;
212
218
  lastData: DataShape | null;
219
+ metadata: ComponentMetadata;
213
220
  appState: AppState;
214
221
  parent: ComponentData | null;
215
222
  }) => Promise<Fields<FieldProps>> | Fields<FieldProps>;
@@ -218,7 +225,7 @@ UserField extends BaseField = {}> = {
218
225
  id: string;
219
226
  }>;
220
227
  lastData: DataShape | null;
221
- metadata: Metadata;
228
+ metadata: ComponentMetadata;
222
229
  trigger: ResolveDataTrigger;
223
230
  }) => Promise<WithPartialProps<DataShape, FieldProps>> | WithPartialProps<DataShape, FieldProps>;
224
231
  resolvePermissions?: (data: DataShape, params: {
@@ -230,8 +237,8 @@ UserField extends BaseField = {}> = {
230
237
  appState: AppState;
231
238
  lastData: DataShape | null;
232
239
  }) => Promise<Partial<Permissions>> | Partial<Permissions>;
233
- metadata?: Metadata;
234
- };
240
+ metadata?: ComponentMetadata;
241
+ } & ComponentConfigExtensions;
235
242
  type RootConfigInternal<RootProps extends DefaultComponentProps = DefaultComponentProps, UserField extends BaseField = {}> = Partial<ComponentConfigInternal<WithChildren<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>, UserField>>;
236
243
  type Category<ComponentName> = {
237
244
  components?: ComponentName[];
@@ -258,6 +265,12 @@ type ExtractConfigParams<UserConfig extends ConfigInternal> = UserConfig extends
258
265
  type: string;
259
266
  } ? UserField : Field;
260
267
  } : never;
268
+ type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
269
+ components?: Components;
270
+ root?: RootProps;
271
+ categories?: CategoryNames;
272
+ fields?: AssertHasValue<UserFields>;
273
+ };
261
274
 
262
275
  type BaseData<Props extends {
263
276
  [key: string]: any;
@@ -297,6 +310,12 @@ type Data<Components extends DefaultComponents = DefaultComponents, RootProps ex
297
310
  type Metadata = {
298
311
  [key: string]: any;
299
312
  };
313
+ interface PuckMetadata extends Metadata {
314
+ }
315
+ interface ComponentMetadata extends PuckMetadata {
316
+ }
317
+ interface FieldMetadata extends Metadata {
318
+ }
300
319
 
301
320
  type ItemWithId = {
302
321
  _arrayId: string;
@@ -365,12 +384,6 @@ type BuiltinTypes = Date | RegExp | Error | Function | symbol | null | undefined
365
384
  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 ? {
366
385
  [K in keyof T]: WithDeepSlots<T[K], SlotType>;
367
386
  } : T;
368
- type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
369
- components?: Components;
370
- root?: RootProps;
371
- categories?: CategoryNames;
372
- fields?: AssertHasValue<UserFields>;
373
- };
374
387
  type FieldsExtension = {
375
388
  [Type in string]: {
376
389
  type: Type;
package/dist/index.d.ts CHANGED
@@ -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];
55
+ defaultItemProps?: Props[0] | ((index: number) => Props[0]);
56
56
  getItemSummary?: (item: Props[0], index?: number) => string;
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>;
@@ -82,10 +82,14 @@ type ExternalFieldWithAdaptor<Props extends any = {
82
82
  adaptorParams?: object;
83
83
  getItemSummary: (item: NotUndefined<Props>, index?: number) => string;
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;
@@ -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,16 @@ 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
+ }
122
+ interface SlotField extends BaseField {
119
123
  type: "slot";
120
124
  allow?: string[];
121
125
  disallow?: string[];
122
- };
126
+ }
123
127
  type Field<ValueType = any, UserField extends {} = {}> = TextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<ValueType extends {
124
128
  [key: string]: any;
125
129
  }[] ? ValueType : never, UserField> | ObjectField<ValueType, UserField> | ExternalField<ValueType> | ExternalFieldWithAdaptor<ValueType> | CustomField<ValueType> | SlotField;
@@ -147,7 +151,7 @@ type DropZoneProps = {
147
151
  };
148
152
 
149
153
  type PuckContext = {
150
- renderDropZone: React.FC<DropZoneProps>;
154
+ renderDropZone: (props: DropZoneProps) => React.ReactNode;
151
155
  metadata: Metadata;
152
156
  isEditing: boolean;
153
157
  dragRef: ((element: Element | null) => void) | null;
@@ -195,6 +199,8 @@ type ResolveDataTrigger = "insert" | "replace" | "load" | "force";
195
199
  type WithPartialProps<T, Props extends DefaultComponentProps> = Omit<T, "props"> & {
196
200
  props?: Partial<Props>;
197
201
  };
202
+ interface ComponentConfigExtensions {
203
+ }
198
204
  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
205
  UserField extends BaseField = {}> = {
200
206
  render: PuckComponent<RenderProps>;
@@ -210,6 +216,7 @@ UserField extends BaseField = {}> = {
210
216
  fields: Fields<FieldProps>;
211
217
  lastFields: Fields<FieldProps>;
212
218
  lastData: DataShape | null;
219
+ metadata: ComponentMetadata;
213
220
  appState: AppState;
214
221
  parent: ComponentData | null;
215
222
  }) => Promise<Fields<FieldProps>> | Fields<FieldProps>;
@@ -218,7 +225,7 @@ UserField extends BaseField = {}> = {
218
225
  id: string;
219
226
  }>;
220
227
  lastData: DataShape | null;
221
- metadata: Metadata;
228
+ metadata: ComponentMetadata;
222
229
  trigger: ResolveDataTrigger;
223
230
  }) => Promise<WithPartialProps<DataShape, FieldProps>> | WithPartialProps<DataShape, FieldProps>;
224
231
  resolvePermissions?: (data: DataShape, params: {
@@ -230,8 +237,8 @@ UserField extends BaseField = {}> = {
230
237
  appState: AppState;
231
238
  lastData: DataShape | null;
232
239
  }) => Promise<Partial<Permissions>> | Partial<Permissions>;
233
- metadata?: Metadata;
234
- };
240
+ metadata?: ComponentMetadata;
241
+ } & ComponentConfigExtensions;
235
242
  type RootConfigInternal<RootProps extends DefaultComponentProps = DefaultComponentProps, UserField extends BaseField = {}> = Partial<ComponentConfigInternal<WithChildren<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>, UserField>>;
236
243
  type Category<ComponentName> = {
237
244
  components?: ComponentName[];
@@ -258,6 +265,12 @@ type ExtractConfigParams<UserConfig extends ConfigInternal> = UserConfig extends
258
265
  type: string;
259
266
  } ? UserField : Field;
260
267
  } : never;
268
+ type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
269
+ components?: Components;
270
+ root?: RootProps;
271
+ categories?: CategoryNames;
272
+ fields?: AssertHasValue<UserFields>;
273
+ };
261
274
 
262
275
  type BaseData<Props extends {
263
276
  [key: string]: any;
@@ -297,6 +310,12 @@ type Data<Components extends DefaultComponents = DefaultComponents, RootProps ex
297
310
  type Metadata = {
298
311
  [key: string]: any;
299
312
  };
313
+ interface PuckMetadata extends Metadata {
314
+ }
315
+ interface ComponentMetadata extends PuckMetadata {
316
+ }
317
+ interface FieldMetadata extends Metadata {
318
+ }
300
319
 
301
320
  type ItemWithId = {
302
321
  _arrayId: string;
@@ -365,12 +384,6 @@ type BuiltinTypes = Date | RegExp | Error | Function | symbol | null | undefined
365
384
  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 ? {
366
385
  [K in keyof T]: WithDeepSlots<T[K], SlotType>;
367
386
  } : T;
368
- type ConfigParams<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = any, CategoryNames extends string[] = string[], UserFields extends FieldsExtension = FieldsExtension> = {
369
- components?: Components;
370
- root?: RootProps;
371
- categories?: CategoryNames;
372
- fields?: AssertHasValue<UserFields>;
373
- };
374
387
  type FieldsExtension = {
375
388
  [Type in string]: {
376
389
  type: Type;
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.20.3-canary.d855fa8c",
3
+ "version": "0.21.0-canary.049cfbbc",
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.20.3-canary.d855fa8c",
27
+ "@measured/puck": "^0.21.0-canary.049cfbbc",
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",