@m4l/styles 0.0.2 → 0.0.4

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 (39) hide show
  1. package/config.d.ts +13 -0
  2. package/index.d.ts +1 -0
  3. package/index.js +1141 -623
  4. package/package.json +1 -1
  5. package/theme/defaultThemeOptions.d.ts +1 -2
  6. package/theme/index.d.ts +4 -2
  7. package/theme/overrides/M4LExtendedComponents/M4LButton.d.ts +1 -5
  8. package/theme/overrides/M4LExtendedComponents/M4LIcon.d.ts +1 -2
  9. package/theme/overrides/M4LExtendedComponents/M4LImageButton.d.ts +35 -1
  10. package/theme/overrides/M4LExtendedComponents/M4LNavLink.d.ts +10 -0
  11. package/theme/overrides/M4LExtendedComponents/M4LPopover.d.ts +5 -1
  12. package/theme/overrides/M4LExtendedComponents/M4LTypography.d.ts +5 -2
  13. package/theme/overrides/M4LExtendedComponents/M4LanguagePopover.d.ts +1 -4
  14. package/theme/overrides/M4LExtendedComponents/M4LoadingButton.d.ts +6 -0
  15. package/theme/overrides/M4LRHFComponents/M4LRHFAutocomplete.d.ts +10 -0
  16. package/theme/overrides/M4LRHFComponents/M4LRHFAutocompleteAsync.d.ts +10 -0
  17. package/theme/overrides/M4LRHFComponents/M4LRHFCheckbox.d.ts +46 -1
  18. package/theme/overrides/M4LRHFComponents/M4LRHFTextField.d.ts +1 -11
  19. package/theme/overrides/M4LRHFComponents/M4LRHFTextFieldPassword.d.ts +5 -2
  20. package/theme/overrides/MUIComponents/Accordion.d.ts +36 -16
  21. package/theme/overrides/MUIComponents/Autocomplete.d.ts +0 -3
  22. package/theme/overrides/MUIComponents/ButtonGroup.d.ts +8 -0
  23. package/theme/overrides/MUIComponents/ControlLabel.d.ts +36 -16
  24. package/theme/overrides/MUIComponents/DataGrid.d.ts +72 -32
  25. package/theme/overrides/MUIComponents/Fab.d.ts +1 -1
  26. package/theme/overrides/MUIComponents/Input.d.ts +72 -32
  27. package/theme/overrides/MUIComponents/LoadingButton.d.ts +36 -16
  28. package/theme/overrides/MUIComponents/Paper.d.ts +35 -0
  29. package/theme/overrides/MUIComponents/Table.d.ts +144 -64
  30. package/theme/overrides/MUIComponents/Tabs.d.ts +36 -16
  31. package/theme/overrides/MUIComponents/Typography.d.ts +5 -0
  32. package/theme/palette.d.ts +169 -30
  33. package/theme/shadows.d.ts +5 -50
  34. package/theme/typography.d.ts +146 -18
  35. package/types/types.d.ts +65 -1
  36. package/utils/getColorPresets.d.ts +9 -105
  37. package/utils/getColorState.d.ts +15 -0
  38. package/utils/getFontValue.d.ts +1 -1
  39. package/utils/index.d.ts +1 -0
@@ -93,6 +93,7 @@ export default function LoadingButton(theme: Theme): {
93
93
  breakInside?: import("csstype").Property.BreakInside | undefined;
94
94
  captionSide?: import("csstype").Property.CaptionSide | undefined;
95
95
  caretColor?: import("csstype").Property.CaretColor | undefined;
96
+ caretShape?: import("csstype").Property.CaretShape | undefined;
96
97
  clear?: import("csstype").Property.Clear | undefined;
97
98
  clipPath?: import("csstype").Property.ClipPath | undefined;
98
99
  color?: import("csstype").Property.Color | undefined;
@@ -107,6 +108,12 @@ export default function LoadingButton(theme: Theme): {
107
108
  columnSpan?: import("csstype").Property.ColumnSpan | undefined;
108
109
  columnWidth?: import("csstype").Property.ColumnWidth<string | number> | undefined;
109
110
  contain?: import("csstype").Property.Contain | undefined;
111
+ containIntrinsicBlockSize?: import("csstype").Property.ContainIntrinsicBlockSize<string | number> | undefined;
112
+ containIntrinsicHeight?: import("csstype").Property.ContainIntrinsicHeight<string | number> | undefined;
113
+ containIntrinsicInlineSize?: import("csstype").Property.ContainIntrinsicInlineSize<string | number> | undefined;
114
+ containIntrinsicWidth?: import("csstype").Property.ContainIntrinsicWidth<string | number> | undefined;
115
+ containerName?: import("csstype").Property.ContainerName | undefined;
116
+ containerType?: import("csstype").Property.ContainerType | undefined;
110
117
  content?: import("csstype").Property.Content | undefined;
111
118
  contentVisibility?: import("csstype").Property.ContentVisibility | undefined;
112
119
  counterIncrement?: import("csstype").Property.CounterIncrement | undefined;
@@ -128,6 +135,7 @@ export default function LoadingButton(theme: Theme): {
128
135
  fontKerning?: import("csstype").Property.FontKerning | undefined;
129
136
  fontLanguageOverride?: import("csstype").Property.FontLanguageOverride | undefined;
130
137
  fontOpticalSizing?: import("csstype").Property.FontOpticalSizing | undefined;
138
+ fontPalette?: import("csstype").Property.FontPalette | undefined;
131
139
  fontSize?: import("csstype").Property.FontSize<string | number> | undefined;
132
140
  fontSizeAdjust?: import("csstype").Property.FontSizeAdjust | undefined;
133
141
  fontSmooth?: import("csstype").Property.FontSmooth<string | number> | undefined;
@@ -138,6 +146,7 @@ export default function LoadingButton(theme: Theme): {
138
146
  fontVariantAlternates?: import("csstype").Property.FontVariantAlternates | undefined;
139
147
  fontVariantCaps?: import("csstype").Property.FontVariantCaps | undefined;
140
148
  fontVariantEastAsian?: import("csstype").Property.FontVariantEastAsian | undefined;
149
+ fontVariantEmoji?: import("csstype").Property.FontVariantEmoji | undefined;
141
150
  fontVariantLigatures?: import("csstype").Property.FontVariantLigatures | undefined;
142
151
  fontVariantNumeric?: import("csstype").Property.FontVariantNumeric | undefined;
143
152
  fontVariantPosition?: import("csstype").Property.FontVariantPosition | undefined;
@@ -157,6 +166,7 @@ export default function LoadingButton(theme: Theme): {
157
166
  hangingPunctuation?: import("csstype").Property.HangingPunctuation | undefined;
158
167
  height?: import("csstype").Property.Height<string | number> | undefined;
159
168
  hyphenateCharacter?: import("csstype").Property.HyphenateCharacter | undefined;
169
+ hyphenateLimitChars?: import("csstype").Property.HyphenateLimitChars | undefined;
160
170
  hyphens?: import("csstype").Property.Hyphens | undefined;
161
171
  imageOrientation?: import("csstype").Property.ImageOrientation | undefined;
162
172
  imageRendering?: import("csstype").Property.ImageRendering | undefined;
@@ -164,11 +174,8 @@ export default function LoadingButton(theme: Theme): {
164
174
  initialLetter?: import("csstype").Property.InitialLetter | undefined;
165
175
  inlineSize?: import("csstype").Property.InlineSize<string | number> | undefined;
166
176
  inputSecurity?: import("csstype").Property.InputSecurity | undefined;
167
- inset?: import("csstype").Property.Inset<string | number> | undefined;
168
- insetBlock?: import("csstype").Property.InsetBlock<string | number> | undefined;
169
177
  insetBlockEnd?: import("csstype").Property.InsetBlockEnd<string | number> | undefined;
170
178
  insetBlockStart?: import("csstype").Property.InsetBlockStart<string | number> | undefined;
171
- insetInline?: import("csstype").Property.InsetInline<string | number> | undefined;
172
179
  insetInlineEnd?: import("csstype").Property.InsetInlineEnd<string | number> | undefined;
173
180
  insetInlineStart?: import("csstype").Property.InsetInlineStart<string | number> | undefined;
174
181
  isolation?: import("csstype").Property.Isolation | undefined;
@@ -184,16 +191,15 @@ export default function LoadingButton(theme: Theme): {
184
191
  listStyleImage?: import("csstype").Property.ListStyleImage | undefined;
185
192
  listStylePosition?: import("csstype").Property.ListStylePosition | undefined;
186
193
  listStyleType?: import("csstype").Property.ListStyleType | undefined;
187
- marginBlock?: import("csstype").Property.MarginBlock<string | number> | undefined;
188
194
  marginBlockEnd?: import("csstype").Property.MarginBlockEnd<string | number> | undefined;
189
195
  marginBlockStart?: import("csstype").Property.MarginBlockStart<string | number> | undefined;
190
196
  marginBottom?: import("csstype").Property.MarginBottom<string | number> | undefined;
191
- marginInline?: import("csstype").Property.MarginInline<string | number> | undefined;
192
197
  marginInlineEnd?: import("csstype").Property.MarginInlineEnd<string | number> | undefined;
193
198
  marginInlineStart?: import("csstype").Property.MarginInlineStart<string | number> | undefined;
194
199
  marginLeft?: import("csstype").Property.MarginLeft<string | number> | undefined;
195
200
  marginRight?: import("csstype").Property.MarginRight<string | number> | undefined;
196
201
  marginTop?: import("csstype").Property.MarginTop<string | number> | undefined;
202
+ marginTrim?: import("csstype").Property.MarginTrim | undefined;
197
203
  maskBorderMode?: import("csstype").Property.MaskBorderMode | undefined;
198
204
  maskBorderOutset?: import("csstype").Property.MaskBorderOutset<string | number> | undefined;
199
205
  maskBorderRepeat?: import("csstype").Property.MaskBorderRepeat | undefined;
@@ -230,6 +236,7 @@ export default function LoadingButton(theme: Theme): {
230
236
  offsetAnchor?: import("csstype").Property.OffsetAnchor<string | number> | undefined;
231
237
  offsetDistance?: import("csstype").Property.OffsetDistance<string | number> | undefined;
232
238
  offsetPath?: import("csstype").Property.OffsetPath | undefined;
239
+ offsetPosition?: import("csstype").Property.OffsetPosition<string | number> | undefined;
233
240
  offsetRotate?: import("csstype").Property.OffsetRotate | undefined;
234
241
  offsetRotation?: import("csstype").Property.OffsetRotate | undefined;
235
242
  opacity?: import("csstype").Property.Opacity | undefined;
@@ -251,23 +258,21 @@ export default function LoadingButton(theme: Theme): {
251
258
  overscrollBehaviorInline?: import("csstype").Property.OverscrollBehaviorInline | undefined;
252
259
  overscrollBehaviorX?: import("csstype").Property.OverscrollBehaviorX | undefined;
253
260
  overscrollBehaviorY?: import("csstype").Property.OverscrollBehaviorY | undefined;
254
- paddingBlock?: import("csstype").Property.PaddingBlock<string | number> | undefined;
255
261
  paddingBlockEnd?: import("csstype").Property.PaddingBlockEnd<string | number> | undefined;
256
262
  paddingBlockStart?: import("csstype").Property.PaddingBlockStart<string | number> | undefined;
257
263
  paddingBottom?: import("csstype").Property.PaddingBottom<string | number> | undefined;
258
- paddingInline?: import("csstype").Property.PaddingInline<string | number> | undefined;
259
264
  paddingInlineEnd?: import("csstype").Property.PaddingInlineEnd<string | number> | undefined;
260
265
  paddingInlineStart?: import("csstype").Property.PaddingInlineStart<string | number> | undefined;
261
266
  paddingLeft?: import("csstype").Property.PaddingLeft<string | number> | undefined;
262
267
  paddingRight?: import("csstype").Property.PaddingRight<string | number> | undefined;
263
268
  paddingTop?: import("csstype").Property.PaddingTop<string | number> | undefined;
269
+ page?: import("csstype").Property.Page | undefined;
264
270
  pageBreakAfter?: import("csstype").Property.PageBreakAfter | undefined;
265
271
  pageBreakBefore?: import("csstype").Property.PageBreakBefore | undefined;
266
272
  pageBreakInside?: import("csstype").Property.PageBreakInside | undefined;
267
273
  paintOrder?: import("csstype").Property.PaintOrder | undefined;
268
274
  perspective?: import("csstype").Property.Perspective<string | number> | undefined;
269
275
  perspectiveOrigin?: import("csstype").Property.PerspectiveOrigin<string | number> | undefined;
270
- placeContent?: import("csstype").Property.PlaceContent | undefined;
271
276
  pointerEvents?: import("csstype").Property.PointerEvents | undefined;
272
277
  position?: import("csstype").Property.Position | undefined;
273
278
  printColorAdjust?: import("csstype").Property.PrintColorAdjust | undefined;
@@ -281,36 +286,31 @@ export default function LoadingButton(theme: Theme): {
281
286
  rubyPosition?: import("csstype").Property.RubyPosition | undefined;
282
287
  scale?: import("csstype").Property.Scale | undefined;
283
288
  scrollBehavior?: import("csstype").Property.ScrollBehavior | undefined;
284
- scrollMargin?: import("csstype").Property.ScrollMargin<string | number> | undefined;
285
- scrollMarginBlock?: import("csstype").Property.ScrollMarginBlock<string | number> | undefined;
286
289
  scrollMarginBlockEnd?: import("csstype").Property.ScrollMarginBlockEnd<string | number> | undefined;
287
290
  scrollMarginBlockStart?: import("csstype").Property.ScrollMarginBlockStart<string | number> | undefined;
288
291
  scrollMarginBottom?: import("csstype").Property.ScrollMarginBottom<string | number> | undefined;
289
- scrollMarginInline?: import("csstype").Property.ScrollMarginInline<string | number> | undefined;
290
292
  scrollMarginInlineEnd?: import("csstype").Property.ScrollMarginInlineEnd<string | number> | undefined;
291
293
  scrollMarginInlineStart?: import("csstype").Property.ScrollMarginInlineStart<string | number> | undefined;
292
294
  scrollMarginLeft?: import("csstype").Property.ScrollMarginLeft<string | number> | undefined;
293
295
  scrollMarginRight?: import("csstype").Property.ScrollMarginRight<string | number> | undefined;
294
296
  scrollMarginTop?: import("csstype").Property.ScrollMarginTop<string | number> | undefined;
295
- scrollPadding?: import("csstype").Property.ScrollPadding<string | number> | undefined;
296
- scrollPaddingBlock?: import("csstype").Property.ScrollPaddingBlock<string | number> | undefined;
297
297
  scrollPaddingBlockEnd?: import("csstype").Property.ScrollPaddingBlockEnd<string | number> | undefined;
298
298
  scrollPaddingBlockStart?: import("csstype").Property.ScrollPaddingBlockStart<string | number> | undefined;
299
299
  scrollPaddingBottom?: import("csstype").Property.ScrollPaddingBottom<string | number> | undefined;
300
- scrollPaddingInline?: import("csstype").Property.ScrollPaddingInline<string | number> | undefined;
301
300
  scrollPaddingInlineEnd?: import("csstype").Property.ScrollPaddingInlineEnd<string | number> | undefined;
302
301
  scrollPaddingInlineStart?: import("csstype").Property.ScrollPaddingInlineStart<string | number> | undefined;
303
302
  scrollPaddingLeft?: import("csstype").Property.ScrollPaddingLeft<string | number> | undefined;
304
303
  scrollPaddingRight?: import("csstype").Property.ScrollPaddingRight<string | number> | undefined;
305
304
  scrollPaddingTop?: import("csstype").Property.ScrollPaddingTop<string | number> | undefined;
306
305
  scrollSnapAlign?: import("csstype").Property.ScrollSnapAlign | undefined;
307
- scrollSnapMargin?: import("csstype").Property.ScrollMargin<string | number> | undefined;
308
306
  scrollSnapMarginBottom?: import("csstype").Property.ScrollMarginBottom<string | number> | undefined;
309
307
  scrollSnapMarginLeft?: import("csstype").Property.ScrollMarginLeft<string | number> | undefined;
310
308
  scrollSnapMarginRight?: import("csstype").Property.ScrollMarginRight<string | number> | undefined;
311
309
  scrollSnapMarginTop?: import("csstype").Property.ScrollMarginTop<string | number> | undefined;
312
310
  scrollSnapStop?: import("csstype").Property.ScrollSnapStop | undefined;
313
311
  scrollSnapType?: import("csstype").Property.ScrollSnapType | undefined;
312
+ scrollTimelineAxis?: import("csstype").Property.ScrollTimelineAxis | undefined;
313
+ scrollTimelineName?: import("csstype").Property.ScrollTimelineName | undefined;
314
314
  scrollbarColor?: import("csstype").Property.ScrollbarColor | undefined;
315
315
  scrollbarGutter?: import("csstype").Property.ScrollbarGutter | undefined;
316
316
  scrollbarWidth?: import("csstype").Property.ScrollbarWidth | undefined;
@@ -355,6 +355,7 @@ export default function LoadingButton(theme: Theme): {
355
355
  unicodeBidi?: import("csstype").Property.UnicodeBidi | undefined;
356
356
  userSelect?: import("csstype").Property.UserSelect | undefined;
357
357
  verticalAlign?: import("csstype").Property.VerticalAlign<string | number> | undefined;
358
+ viewTransitionName?: import("csstype").Property.ViewTransitionName | undefined;
358
359
  visibility?: import("csstype").Property.Visibility | undefined;
359
360
  whiteSpace?: import("csstype").Property.WhiteSpace | undefined;
360
361
  widows?: import("csstype").Property.Widows | undefined;
@@ -386,8 +387,11 @@ export default function LoadingButton(theme: Theme): {
386
387
  borderStyle?: import("csstype").Property.BorderStyle | undefined;
387
388
  borderTop?: import("csstype").Property.BorderTop<string | number> | undefined;
388
389
  borderWidth?: import("csstype").Property.BorderWidth<string | number> | undefined;
390
+ caret?: import("csstype").Property.Caret | undefined;
389
391
  columnRule?: import("csstype").Property.ColumnRule<string | number> | undefined;
390
392
  columns?: import("csstype").Property.Columns<string | number> | undefined;
393
+ containIntrinsicSize?: import("csstype").Property.ContainIntrinsicSize<string | number> | undefined;
394
+ container?: import("csstype").Property.Container | undefined;
391
395
  flex?: import("csstype").Property.Flex<string | number> | undefined;
392
396
  flexFlow?: import("csstype").Property.FlexFlow | undefined;
393
397
  font?: import("csstype").Property.Font | undefined;
@@ -397,9 +401,14 @@ export default function LoadingButton(theme: Theme): {
397
401
  gridColumn?: import("csstype").Property.GridColumn | undefined;
398
402
  gridRow?: import("csstype").Property.GridRow | undefined;
399
403
  gridTemplate?: import("csstype").Property.GridTemplate | undefined;
404
+ inset?: import("csstype").Property.Inset<string | number> | undefined;
405
+ insetBlock?: import("csstype").Property.InsetBlock<string | number> | undefined;
406
+ insetInline?: import("csstype").Property.InsetInline<string | number> | undefined;
400
407
  lineClamp?: import("csstype").Property.LineClamp | undefined;
401
408
  listStyle?: import("csstype").Property.ListStyle | undefined;
402
409
  margin?: import("csstype").Property.Margin<string | number> | undefined;
410
+ marginBlock?: import("csstype").Property.MarginBlock<string | number> | undefined;
411
+ marginInline?: import("csstype").Property.MarginInline<string | number> | undefined;
403
412
  mask?: import("csstype").Property.Mask<string | number> | undefined;
404
413
  maskBorder?: import("csstype").Property.MaskBorder | undefined;
405
414
  motion?: import("csstype").Property.Offset<string | number> | undefined;
@@ -408,8 +417,19 @@ export default function LoadingButton(theme: Theme): {
408
417
  overflow?: import("csstype").Property.Overflow | undefined;
409
418
  overscrollBehavior?: import("csstype").Property.OverscrollBehavior | undefined;
410
419
  padding?: import("csstype").Property.Padding<string | number> | undefined;
420
+ paddingBlock?: import("csstype").Property.PaddingBlock<string | number> | undefined;
421
+ paddingInline?: import("csstype").Property.PaddingInline<string | number> | undefined;
422
+ placeContent?: import("csstype").Property.PlaceContent | undefined;
411
423
  placeItems?: import("csstype").Property.PlaceItems | undefined;
412
424
  placeSelf?: import("csstype").Property.PlaceSelf | undefined;
425
+ scrollMargin?: import("csstype").Property.ScrollMargin<string | number> | undefined;
426
+ scrollMarginBlock?: import("csstype").Property.ScrollMarginBlock<string | number> | undefined;
427
+ scrollMarginInline?: import("csstype").Property.ScrollMarginInline<string | number> | undefined;
428
+ scrollPadding?: import("csstype").Property.ScrollPadding<string | number> | undefined;
429
+ scrollPaddingBlock?: import("csstype").Property.ScrollPaddingBlock<string | number> | undefined;
430
+ scrollPaddingInline?: import("csstype").Property.ScrollPaddingInline<string | number> | undefined;
431
+ scrollSnapMargin?: import("csstype").Property.ScrollMargin<string | number> | undefined;
432
+ scrollTimeline?: import("csstype").Property.ScrollTimeline | undefined;
413
433
  textDecoration?: import("csstype").Property.TextDecoration<string | number> | undefined;
414
434
  textEmphasis?: import("csstype").Property.TextEmphasis | undefined;
415
435
  transition?: import("csstype").Property.Transition<string & {}> | undefined;
@@ -423,6 +443,7 @@ export default function LoadingButton(theme: Theme): {
423
443
  MozAnimationTimingFunction?: import("csstype").Property.AnimationTimingFunction | undefined;
424
444
  MozAppearance?: import("csstype").Property.MozAppearance | undefined;
425
445
  MozBackfaceVisibility?: import("csstype").Property.BackfaceVisibility | undefined;
446
+ MozBinding?: import("csstype").Property.MozBinding | undefined;
426
447
  MozBorderBottomColors?: import("csstype").Property.MozBorderBottomColors | undefined;
427
448
  MozBorderEndColor?: import("csstype").Property.BorderInlineEndColor | undefined;
428
449
  MozBorderEndStyle?: import("csstype").Property.BorderInlineEndStyle | undefined;
@@ -703,7 +724,6 @@ export default function LoadingButton(theme: Theme): {
703
724
  MozBackgroundInlinePolicy?: import("csstype").Property.BoxDecorationBreak | undefined;
704
725
  MozBackgroundOrigin?: import("csstype").Property.BackgroundOrigin | undefined;
705
726
  MozBackgroundSize?: import("csstype").Property.BackgroundSize<string | number> | undefined;
706
- MozBinding?: import("csstype").Property.MozBinding | undefined;
707
727
  MozBorderRadius?: import("csstype").Property.BorderRadius<string | number> | undefined;
708
728
  MozBorderRadiusBottomleft?: import("csstype").Property.BorderBottomLeftRadius<string | number> | undefined;
709
729
  MozBorderRadiusBottomright?: import("csstype").Property.BorderBottomRightRadius<string | number> | undefined;
@@ -15,7 +15,42 @@ export default function Paper(theme: Theme): {
15
15
  styleOverrides: {
16
16
  root: {
17
17
  backgroundImage: string;
18
+ backgroundColor: string;
18
19
  borderRadius: string;
20
+ '& .MuiStack-root .MuiMenuItem-root': any;
21
+ '& .MuiStack-root .MuiMenuItem-root:hover': {
22
+ color: string;
23
+ transition: string;
24
+ backgroundColor: string;
25
+ };
26
+ '& .MuiStack-root .MuiMenuItem-root.Mui-selected': {
27
+ color: string;
28
+ transition: string;
29
+ backgroundColor: string;
30
+ };
31
+ '& .MuiStack-root .MuiMenuItem-root:focus': {
32
+ color: string;
33
+ transition: string;
34
+ backgroundColor: string;
35
+ boxShadow: string;
36
+ };
37
+ '& .MuiAutocomplete-listbox .MuiAutocomplete-option': any;
38
+ '& .MuiAutocomplete-listbox .MuiAutocomplete-option:hover': {
39
+ color: string;
40
+ transition: string;
41
+ backgroundColor: string;
42
+ };
43
+ '& .MuiAutocomplete-listbox .MuiAutocomplete-option.Mui-selected': {
44
+ color: string;
45
+ transition: string;
46
+ backgroundColor: string;
47
+ };
48
+ '& .MuiAutocomplete-listbox .MuiAutocomplete-option:active': {
49
+ color: string;
50
+ transition: string;
51
+ backgroundColor: string;
52
+ boxShadow: string;
53
+ };
19
54
  };
20
55
  };
21
56
  };