maz-ui 3.11.4 → 3.12.0

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 (63) hide show
  1. package/components/MazAvatar.d.ts +154 -0
  2. package/components/MazBackdrop.d.ts +91 -0
  3. package/components/MazBadge.d.ts +73 -0
  4. package/components/MazBottomSheet.d.ts +36 -0
  5. package/components/MazBtn.d.ts +195 -0
  6. package/components/MazCard.d.ts +194 -0
  7. package/components/MazCarousel.d.ts +24 -0
  8. package/components/MazChart.d.ts +95 -0
  9. package/components/MazCheckbox.d.ts +52 -0
  10. package/components/MazDialog.d.ts +91 -0
  11. package/components/MazDialogPromise/use-maz-dialog-promise.d.ts +30 -0
  12. package/components/MazDialogPromise.d.ts +72 -0
  13. package/components/MazDrawer.d.ts +69 -0
  14. package/components/MazDropzone.d.ts +128 -0
  15. package/components/MazGallery.d.ts +125 -0
  16. package/components/MazIcon.d.ts +64 -0
  17. package/components/MazInput.d.ts +271 -0
  18. package/components/MazInputNumber.d.ts +65 -0
  19. package/components/MazInputPrice.d.ts +69 -0
  20. package/components/MazInputTags.d.ts +92 -0
  21. package/components/MazLazyImg.d.ts +77 -0
  22. package/components/MazPhoneNumberInput/constantes/locales.d.ts +12 -0
  23. package/components/MazPhoneNumberInput/types.d.ts +21 -0
  24. package/components/MazPhoneNumberInput/utils/countries-name-list-by-iso-code.d.ts +2 -0
  25. package/components/MazPhoneNumberInput/utils/index.d.ts +12 -0
  26. package/components/MazPhoneNumberInput.d.ts +251 -0
  27. package/components/MazPicker/MazPickerCalendar.vue.d.ts +135 -0
  28. package/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarDays.vue.d.ts +20 -0
  29. package/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarGrid.vue.d.ts +112 -0
  30. package/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarMonth.vue.d.ts +122 -0
  31. package/components/MazPicker/MazPickerCalendarSwitcher.vue.d.ts +36 -0
  32. package/components/MazPicker/MazPickerContainer.vue.d.ts +210 -0
  33. package/components/MazPicker/MazPickerFooter.vue.d.ts +16 -0
  34. package/components/MazPicker/MazPickerHeader.vue.d.ts +82 -0
  35. package/components/MazPicker/MazPickerMonthSwitcher.vue.d.ts +41 -0
  36. package/components/MazPicker/MazPickerShortcuts.vue.d.ts +60 -0
  37. package/components/MazPicker/MazPickerTime.vue.d.ts +127 -0
  38. package/components/MazPicker/MazPickerYearSwitcher.vue.d.ts +33 -0
  39. package/components/MazPicker/types.d.ts +15 -0
  40. package/components/MazPicker/utils.d.ts +54 -0
  41. package/components/MazPicker.d.ts +309 -0
  42. package/components/MazRadioButtons.d.ts +77 -0
  43. package/components/MazSelect.d.ts +184 -0
  44. package/components/MazSlider/utils.d.ts +15 -0
  45. package/components/MazSlider.d.ts +92 -0
  46. package/components/MazSpinner.d.ts +26 -0
  47. package/components/MazStepper.d.ts +112 -0
  48. package/components/MazSwitch.d.ts +54 -0
  49. package/components/MazTabs.d.ts +28 -0
  50. package/components/MazTabsBar.d.ts +55 -0
  51. package/components/MazTabsContent.d.ts +9 -0
  52. package/components/MazTabsContentItem.d.ts +19 -0
  53. package/components/MazTextarea/textarea-autogrow.d.ts +9 -0
  54. package/components/MazTextarea.d.ts +121 -0
  55. package/components/MazTransitionExpand.d.ts +9 -0
  56. package/components/component-list.d.ts +1 -0
  57. package/components/index.d.ts +35 -0
  58. package/components/types.d.ts +17 -0
  59. package/nuxt/index.ts +49 -21
  60. package/package.json +10 -7
  61. package/tailwindcss/tailwind.config.ts +2 -2
  62. package/types/nuxt/index.d.ts +12 -8
  63. package/types/tailwindcss/tailwind.config.d.ts +75 -1
@@ -0,0 +1,127 @@
1
+ import { type PropType } from 'vue';
2
+ import { type DateTimeFormatOptions } from './utils';
3
+ import type { PickerValue } from './types';
4
+ import type { Color } from '../types';
5
+ declare const _default: import("vue").DefineComponent<{
6
+ modelValue: {
7
+ type: PropType<PickerValue>;
8
+ default: undefined;
9
+ };
10
+ calendarDate: {
11
+ type: StringConstructor;
12
+ required: true;
13
+ };
14
+ formatterOptions: {
15
+ type: PropType<DateTimeFormatOptions>;
16
+ required: true;
17
+ };
18
+ locale: {
19
+ type: StringConstructor;
20
+ required: true;
21
+ };
22
+ color: {
23
+ type: PropType<Color>;
24
+ required: true;
25
+ };
26
+ isOpen: {
27
+ type: BooleanConstructor;
28
+ required: true;
29
+ };
30
+ hasDate: {
31
+ type: BooleanConstructor;
32
+ required: true;
33
+ };
34
+ minuteInterval: {
35
+ type: NumberConstructor;
36
+ required: true;
37
+ };
38
+ disabledHours: {
39
+ type: PropType<number[]>;
40
+ default: undefined;
41
+ };
42
+ format: {
43
+ type: StringConstructor;
44
+ required: true;
45
+ };
46
+ isHour12: {
47
+ type: BooleanConstructor;
48
+ required: true;
49
+ };
50
+ minDate: {
51
+ type: StringConstructor;
52
+ default: undefined;
53
+ };
54
+ maxDate: {
55
+ type: StringConstructor;
56
+ default: undefined;
57
+ };
58
+ disabled: {
59
+ type: BooleanConstructor;
60
+ required: true;
61
+ };
62
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:model-value"[], "update:model-value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
63
+ modelValue: {
64
+ type: PropType<PickerValue>;
65
+ default: undefined;
66
+ };
67
+ calendarDate: {
68
+ type: StringConstructor;
69
+ required: true;
70
+ };
71
+ formatterOptions: {
72
+ type: PropType<DateTimeFormatOptions>;
73
+ required: true;
74
+ };
75
+ locale: {
76
+ type: StringConstructor;
77
+ required: true;
78
+ };
79
+ color: {
80
+ type: PropType<Color>;
81
+ required: true;
82
+ };
83
+ isOpen: {
84
+ type: BooleanConstructor;
85
+ required: true;
86
+ };
87
+ hasDate: {
88
+ type: BooleanConstructor;
89
+ required: true;
90
+ };
91
+ minuteInterval: {
92
+ type: NumberConstructor;
93
+ required: true;
94
+ };
95
+ disabledHours: {
96
+ type: PropType<number[]>;
97
+ default: undefined;
98
+ };
99
+ format: {
100
+ type: StringConstructor;
101
+ required: true;
102
+ };
103
+ isHour12: {
104
+ type: BooleanConstructor;
105
+ required: true;
106
+ };
107
+ minDate: {
108
+ type: StringConstructor;
109
+ default: undefined;
110
+ };
111
+ maxDate: {
112
+ type: StringConstructor;
113
+ default: undefined;
114
+ };
115
+ disabled: {
116
+ type: BooleanConstructor;
117
+ required: true;
118
+ };
119
+ }>> & {
120
+ "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
121
+ }, {
122
+ modelValue: PickerValue;
123
+ minDate: string;
124
+ maxDate: string;
125
+ disabledHours: number[];
126
+ }, {}>;
127
+ export default _default;
@@ -0,0 +1,33 @@
1
+ import { type PropType } from 'vue';
2
+ import type { Color } from './../types';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ color: {
5
+ type: PropType<Color>;
6
+ required: true;
7
+ };
8
+ locale: {
9
+ type: StringConstructor;
10
+ required: true;
11
+ };
12
+ calendarDate: {
13
+ type: StringConstructor;
14
+ required: true;
15
+ };
16
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:calendar-date")[], "close" | "update:calendar-date", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
17
+ color: {
18
+ type: PropType<Color>;
19
+ required: true;
20
+ };
21
+ locale: {
22
+ type: StringConstructor;
23
+ required: true;
24
+ };
25
+ calendarDate: {
26
+ type: StringConstructor;
27
+ required: true;
28
+ };
29
+ }>> & {
30
+ onClose?: ((...args: any[]) => any) | undefined;
31
+ "onUpdate:calendar-date"?: ((...args: any[]) => any) | undefined;
32
+ }, {}, {}>;
33
+ export default _default;
@@ -0,0 +1,15 @@
1
+ export type SimpleValue = string | undefined;
2
+ export type RangeValue = {
3
+ start: string;
4
+ end: string;
5
+ };
6
+ export type PartialRangeValue = Partial<RangeValue>;
7
+ export type PickerValue = SimpleValue | PartialRangeValue;
8
+ export type PickerShortcut = {
9
+ identifier: string;
10
+ label: string;
11
+ value: {
12
+ start: string;
13
+ end: string;
14
+ };
15
+ };
@@ -0,0 +1,54 @@
1
+ import type { ConfigType, OpUnitType } from 'dayjs';
2
+ import type { PartialRangeValue } from './types';
3
+ export type DateTimeFormatOptions = Pick<Intl.DateTimeFormatOptions, 'hour12' | 'dateStyle' | 'timeStyle' | 'timeZone'>;
4
+ export declare function getFormattedDate({ value, locale, options, }: {
5
+ value?: string;
6
+ locale: string;
7
+ options?: Intl.DateTimeFormatOptions;
8
+ }): string | undefined;
9
+ export declare function getRangeFormattedDate({ value, locale, options, }: {
10
+ value: PartialRangeValue;
11
+ locale: string;
12
+ options: Intl.DateTimeFormatOptions;
13
+ }): string | undefined;
14
+ export declare function getFirstDayOfMonth(value: ConfigType): number;
15
+ export declare function getWeekDays(locale: string, offset?: number): {
16
+ label: string;
17
+ dayNumber: number;
18
+ }[];
19
+ export declare function getDaysInMonth(date: ConfigType): number;
20
+ export declare function isToday(date: ConfigType): boolean;
21
+ export declare function isSameDate(date: ConfigType, date2: ConfigType, unit: OpUnitType): boolean;
22
+ export declare function isSmaller(date: ConfigType, date2: ConfigType): boolean;
23
+ export declare function isSameDay(date: ConfigType, dayNumber: number): boolean;
24
+ export declare function getISODate(value?: ConfigType, format?: string): string | undefined;
25
+ export declare function getRangeISODate(value: PartialRangeValue, format?: string): {
26
+ start: string | undefined;
27
+ end: string | undefined;
28
+ };
29
+ type CheckValueResponse = {
30
+ newValue?: string;
31
+ newCurrentDate?: string;
32
+ };
33
+ export declare function checkValueWithMinMaxDates({ value, minDate, maxDate, format, }: {
34
+ value: string;
35
+ minDate?: string;
36
+ maxDate?: string;
37
+ format: string;
38
+ }): CheckValueResponse;
39
+ export declare function isValueDisabledWeekly({ value, disabledWeekly, }: {
40
+ value: string;
41
+ disabledWeekly: number[];
42
+ }): boolean;
43
+ export declare function isValueDisabledDate({ value, disabledDates, }: {
44
+ value: string;
45
+ disabledDates: string[];
46
+ }): boolean;
47
+ export declare const scrollToTarget: (scrollContainer: HTMLElement, target: HTMLElement, offset?: number, hasSmoothEffect?: boolean) => void;
48
+ export declare const findNearestNumberInList: (list: number[], number: number) => number;
49
+ export declare function convertHour24to12Format(baseHour: number): number;
50
+ export declare function convertHour12to24Format(baseHour: number): number;
51
+ export declare const convert12To24TimeFormat: (timeStr: string) => string;
52
+ export declare function getBrowserLocale(): string | undefined;
53
+ export declare function fetchLocale(): Promise<string | undefined>;
54
+ export {};
@@ -0,0 +1,309 @@
1
+ import { type PropType, type StyleValue } from 'vue';
2
+ import type { Color, Position } from './types';
3
+ import type { PickerValue, PickerShortcut } from './MazPicker/types';
4
+ export type { PickerValue, PickerShortcut } from './MazPicker/types';
5
+ export type { Color, Position } from './types';
6
+ declare const _default: import("vue").DefineComponent<{
7
+ modelValue: {
8
+ type: PropType<PickerValue>;
9
+ default: undefined;
10
+ };
11
+ format: {
12
+ type: StringConstructor;
13
+ default: string;
14
+ };
15
+ open: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ label: {
20
+ type: StringConstructor;
21
+ default: undefined;
22
+ };
23
+ placeholder: {
24
+ type: StringConstructor;
25
+ default: undefined;
26
+ };
27
+ inputDateStyle: {
28
+ type: PropType<Intl.DateTimeFormatOptions>;
29
+ default: () => {
30
+ dateStyle: string;
31
+ };
32
+ };
33
+ locale: {
34
+ type: StringConstructor;
35
+ default: undefined;
36
+ };
37
+ style: {
38
+ type: PropType<StyleValue>;
39
+ default: undefined;
40
+ };
41
+ noHeader: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ disabled: {
46
+ type: BooleanConstructor;
47
+ default: boolean;
48
+ };
49
+ firstDayOfWeek: {
50
+ type: NumberConstructor;
51
+ default: number;
52
+ validator: (value: number) => boolean;
53
+ };
54
+ autoClose: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
58
+ customElementSelector: {
59
+ type: StringConstructor;
60
+ default: undefined;
61
+ };
62
+ double: {
63
+ type: BooleanConstructor;
64
+ default: boolean;
65
+ };
66
+ inline: {
67
+ type: BooleanConstructor;
68
+ default: boolean;
69
+ };
70
+ color: {
71
+ type: PropType<Color>;
72
+ default: string;
73
+ };
74
+ pickerPosition: {
75
+ type: PropType<Position>;
76
+ default: undefined;
77
+ validator: (value: Position) => boolean;
78
+ };
79
+ time: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
83
+ onlyTime: {
84
+ type: BooleanConstructor;
85
+ default: boolean;
86
+ };
87
+ minuteInterval: {
88
+ type: NumberConstructor;
89
+ default: number;
90
+ };
91
+ noUseBrowserLocale: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
95
+ noFetchLocal: {
96
+ type: BooleanConstructor;
97
+ default: boolean;
98
+ };
99
+ noShortcuts: {
100
+ type: BooleanConstructor;
101
+ default: boolean;
102
+ };
103
+ shortcuts: {
104
+ type: PropType<PickerShortcut[]>;
105
+ default: () => {
106
+ label: string;
107
+ identifier: string;
108
+ value: {
109
+ start: string;
110
+ end: string;
111
+ };
112
+ }[];
113
+ };
114
+ shortcut: {
115
+ type: StringConstructor;
116
+ default: undefined;
117
+ };
118
+ minDate: {
119
+ type: StringConstructor;
120
+ default: undefined;
121
+ };
122
+ maxDate: {
123
+ type: StringConstructor;
124
+ default: undefined;
125
+ };
126
+ disabledWeekly: {
127
+ type: PropType<number[]>;
128
+ default: () => never[];
129
+ validator: (value: number) => boolean;
130
+ };
131
+ disabledDates: {
132
+ type: PropType<string[]>;
133
+ default: () => never[];
134
+ };
135
+ disabledHours: {
136
+ type: PropType<number[]>;
137
+ default: () => never[];
138
+ validator: (value: number) => boolean;
139
+ };
140
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:model-value")[], "close" | "update:model-value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
141
+ modelValue: {
142
+ type: PropType<PickerValue>;
143
+ default: undefined;
144
+ };
145
+ format: {
146
+ type: StringConstructor;
147
+ default: string;
148
+ };
149
+ open: {
150
+ type: BooleanConstructor;
151
+ default: boolean;
152
+ };
153
+ label: {
154
+ type: StringConstructor;
155
+ default: undefined;
156
+ };
157
+ placeholder: {
158
+ type: StringConstructor;
159
+ default: undefined;
160
+ };
161
+ inputDateStyle: {
162
+ type: PropType<Intl.DateTimeFormatOptions>;
163
+ default: () => {
164
+ dateStyle: string;
165
+ };
166
+ };
167
+ locale: {
168
+ type: StringConstructor;
169
+ default: undefined;
170
+ };
171
+ style: {
172
+ type: PropType<StyleValue>;
173
+ default: undefined;
174
+ };
175
+ noHeader: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
179
+ disabled: {
180
+ type: BooleanConstructor;
181
+ default: boolean;
182
+ };
183
+ firstDayOfWeek: {
184
+ type: NumberConstructor;
185
+ default: number;
186
+ validator: (value: number) => boolean;
187
+ };
188
+ autoClose: {
189
+ type: BooleanConstructor;
190
+ default: boolean;
191
+ };
192
+ customElementSelector: {
193
+ type: StringConstructor;
194
+ default: undefined;
195
+ };
196
+ double: {
197
+ type: BooleanConstructor;
198
+ default: boolean;
199
+ };
200
+ inline: {
201
+ type: BooleanConstructor;
202
+ default: boolean;
203
+ };
204
+ color: {
205
+ type: PropType<Color>;
206
+ default: string;
207
+ };
208
+ pickerPosition: {
209
+ type: PropType<Position>;
210
+ default: undefined;
211
+ validator: (value: Position) => boolean;
212
+ };
213
+ time: {
214
+ type: BooleanConstructor;
215
+ default: boolean;
216
+ };
217
+ onlyTime: {
218
+ type: BooleanConstructor;
219
+ default: boolean;
220
+ };
221
+ minuteInterval: {
222
+ type: NumberConstructor;
223
+ default: number;
224
+ };
225
+ noUseBrowserLocale: {
226
+ type: BooleanConstructor;
227
+ default: boolean;
228
+ };
229
+ noFetchLocal: {
230
+ type: BooleanConstructor;
231
+ default: boolean;
232
+ };
233
+ noShortcuts: {
234
+ type: BooleanConstructor;
235
+ default: boolean;
236
+ };
237
+ shortcuts: {
238
+ type: PropType<PickerShortcut[]>;
239
+ default: () => {
240
+ label: string;
241
+ identifier: string;
242
+ value: {
243
+ start: string;
244
+ end: string;
245
+ };
246
+ }[];
247
+ };
248
+ shortcut: {
249
+ type: StringConstructor;
250
+ default: undefined;
251
+ };
252
+ minDate: {
253
+ type: StringConstructor;
254
+ default: undefined;
255
+ };
256
+ maxDate: {
257
+ type: StringConstructor;
258
+ default: undefined;
259
+ };
260
+ disabledWeekly: {
261
+ type: PropType<number[]>;
262
+ default: () => never[];
263
+ validator: (value: number) => boolean;
264
+ };
265
+ disabledDates: {
266
+ type: PropType<string[]>;
267
+ default: () => never[];
268
+ };
269
+ disabledHours: {
270
+ type: PropType<number[]>;
271
+ default: () => never[];
272
+ validator: (value: number) => boolean;
273
+ };
274
+ }>> & {
275
+ onClose?: ((...args: any[]) => any) | undefined;
276
+ "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
277
+ }, {
278
+ label: string;
279
+ style: StyleValue;
280
+ time: boolean;
281
+ placeholder: string;
282
+ color: Color;
283
+ disabled: boolean;
284
+ format: string;
285
+ open: boolean;
286
+ modelValue: PickerValue;
287
+ locale: string;
288
+ inline: boolean;
289
+ noUseBrowserLocale: boolean;
290
+ minDate: string;
291
+ maxDate: string;
292
+ disabledWeekly: number[];
293
+ disabledDates: string[];
294
+ noShortcuts: boolean;
295
+ double: boolean;
296
+ firstDayOfWeek: number;
297
+ shortcuts: PickerShortcut[];
298
+ shortcut: string;
299
+ minuteInterval: number;
300
+ disabledHours: number[];
301
+ noHeader: boolean;
302
+ inputDateStyle: Intl.DateTimeFormatOptions;
303
+ autoClose: boolean;
304
+ customElementSelector: string;
305
+ pickerPosition: Position;
306
+ onlyTime: boolean;
307
+ noFetchLocal: boolean;
308
+ }, {}>;
309
+ export default _default;
@@ -0,0 +1,77 @@
1
+ import type { PropType } from 'vue';
2
+ import type { Color } from './types';
3
+ export interface ButtonsRadioOption {
4
+ label: string;
5
+ value: string | number;
6
+ }
7
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
8
+ modelValue: {
9
+ type: (StringConstructor | NumberConstructor)[];
10
+ default: undefined;
11
+ };
12
+ options: {
13
+ type: PropType<ButtonsRadioOption[]>;
14
+ required: true;
15
+ };
16
+ name: {
17
+ type: PropType<string>;
18
+ default: string;
19
+ };
20
+ color: {
21
+ type: PropType<Color>;
22
+ default: string;
23
+ };
24
+ noElevation: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ orientation: {
29
+ type: PropType<"col" | "row">;
30
+ default: string;
31
+ };
32
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:model-value")[], "change" | "update:model-value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
33
+ modelValue: {
34
+ type: (StringConstructor | NumberConstructor)[];
35
+ default: undefined;
36
+ };
37
+ options: {
38
+ type: PropType<ButtonsRadioOption[]>;
39
+ required: true;
40
+ };
41
+ name: {
42
+ type: PropType<string>;
43
+ default: string;
44
+ };
45
+ color: {
46
+ type: PropType<Color>;
47
+ default: string;
48
+ };
49
+ noElevation: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
53
+ orientation: {
54
+ type: PropType<"col" | "row">;
55
+ default: string;
56
+ };
57
+ }>> & {
58
+ onChange?: ((...args: any[]) => any) | undefined;
59
+ "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
60
+ }, {
61
+ color: Color;
62
+ name: string;
63
+ orientation: "col" | "row";
64
+ noElevation: boolean;
65
+ modelValue: string | number;
66
+ }, {}>, {
67
+ default?(_: {
68
+ option: ButtonsRadioOption;
69
+ selected: boolean;
70
+ }): any;
71
+ }>;
72
+ export default _default;
73
+ type __VLS_WithTemplateSlots<T, S> = T & {
74
+ new (): {
75
+ $slots: S;
76
+ };
77
+ };