sprintify-ui 0.6.53 → 0.6.55

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.
@@ -0,0 +1,230 @@
1
+ import { PropType } from 'vue';
2
+ import { BaseTableColumn, Row } from '@/types';
3
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
+ /** Table data */
5
+ data: {
6
+ type: PropType<Row[]>;
7
+ default: () => never[];
8
+ };
9
+ /** Loading state */
10
+ loading: {
11
+ default: boolean;
12
+ type: BooleanConstructor;
13
+ };
14
+ visibleColumns: {
15
+ default: undefined;
16
+ type: PropType<number[]>;
17
+ };
18
+ /** Allow row details */
19
+ detailed: {
20
+ default: boolean;
21
+ type: BooleanConstructor;
22
+ };
23
+ /** Rows can be checked (multiple) */
24
+ checkable: {
25
+ default: boolean;
26
+ type: BooleanConstructor;
27
+ };
28
+ /**
29
+ * Position of the checkbox (if checkable is true)
30
+ * @values left, right
31
+ */
32
+ checkboxPosition: {
33
+ type: PropType<"left" | "right">;
34
+ default: string;
35
+ };
36
+ /** Custom method to verify if a row is checkable, works when is checkable */
37
+ isRowCheckable: {
38
+ type: FunctionConstructor;
39
+ default: () => boolean;
40
+ };
41
+ /** Set which rows are checked, use v-model:checkedRows to make it two-way binding */
42
+ checkedRows: {
43
+ default: () => never[];
44
+ type: PropType<Row[]>;
45
+ };
46
+ /** Sets the default sort column field */
47
+ sortField: {
48
+ type: StringConstructor;
49
+ default: string;
50
+ };
51
+ /**
52
+ * Sets the default sort column direction
53
+ * @values asc, desc
54
+ */
55
+ sortDirection: {
56
+ type: StringConstructor;
57
+ default: string;
58
+ };
59
+ /** Controls the visibility of the trigger that toggles the detailed rows. */
60
+ hasDetailedVisible: {
61
+ type: FunctionConstructor;
62
+ default: () => boolean;
63
+ };
64
+ /** Use a unique key of your data Object when use detailed or opened detailed. (id recommended) */
65
+ rowKey: {
66
+ type: StringConstructor;
67
+ default: string;
68
+ };
69
+ detailTransition: {
70
+ type: StringConstructor;
71
+ default: string;
72
+ };
73
+ maxHeight: {
74
+ default: undefined;
75
+ type: NumberConstructor;
76
+ };
77
+ size: {
78
+ type: PropType<"xs" | "sm" | "md">;
79
+ default: string;
80
+ };
81
+ }, {
82
+ newColumns: import("vue").ComputedRef<{
83
+ id: string;
84
+ label: string;
85
+ field: string;
86
+ meta: Record<string, any> | undefined;
87
+ newKey: number;
88
+ numeric: boolean;
89
+ position: "left" | "right";
90
+ searchable: boolean;
91
+ sortable: boolean;
92
+ clickable: boolean;
93
+ toggle: boolean;
94
+ toggleDefault: boolean;
95
+ width: number;
96
+ style: {
97
+ width: number | undefined;
98
+ };
99
+ thAttrs: (column: BaseTableColumn) => Record<string, any>;
100
+ tdAttrs: (row: Row, column: BaseTableColumn) => Record<string, any>;
101
+ }[]>;
102
+ uncheckAll: () => void;
103
+ scrollTop: () => void;
104
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
105
+ sort: (...args: any[]) => void;
106
+ check: (...args: any[]) => void;
107
+ "check-all": (...args: any[]) => void;
108
+ "update:checkedRows": (...args: any[]) => void;
109
+ "details-open": (...args: any[]) => void;
110
+ "details-close": (...args: any[]) => void;
111
+ "update:openedDetailed": (...args: any[]) => void;
112
+ "cell-click": (...args: any[]) => void;
113
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
114
+ /** Table data */
115
+ data: {
116
+ type: PropType<Row[]>;
117
+ default: () => never[];
118
+ };
119
+ /** Loading state */
120
+ loading: {
121
+ default: boolean;
122
+ type: BooleanConstructor;
123
+ };
124
+ visibleColumns: {
125
+ default: undefined;
126
+ type: PropType<number[]>;
127
+ };
128
+ /** Allow row details */
129
+ detailed: {
130
+ default: boolean;
131
+ type: BooleanConstructor;
132
+ };
133
+ /** Rows can be checked (multiple) */
134
+ checkable: {
135
+ default: boolean;
136
+ type: BooleanConstructor;
137
+ };
138
+ /**
139
+ * Position of the checkbox (if checkable is true)
140
+ * @values left, right
141
+ */
142
+ checkboxPosition: {
143
+ type: PropType<"left" | "right">;
144
+ default: string;
145
+ };
146
+ /** Custom method to verify if a row is checkable, works when is checkable */
147
+ isRowCheckable: {
148
+ type: FunctionConstructor;
149
+ default: () => boolean;
150
+ };
151
+ /** Set which rows are checked, use v-model:checkedRows to make it two-way binding */
152
+ checkedRows: {
153
+ default: () => never[];
154
+ type: PropType<Row[]>;
155
+ };
156
+ /** Sets the default sort column field */
157
+ sortField: {
158
+ type: StringConstructor;
159
+ default: string;
160
+ };
161
+ /**
162
+ * Sets the default sort column direction
163
+ * @values asc, desc
164
+ */
165
+ sortDirection: {
166
+ type: StringConstructor;
167
+ default: string;
168
+ };
169
+ /** Controls the visibility of the trigger that toggles the detailed rows. */
170
+ hasDetailedVisible: {
171
+ type: FunctionConstructor;
172
+ default: () => boolean;
173
+ };
174
+ /** Use a unique key of your data Object when use detailed or opened detailed. (id recommended) */
175
+ rowKey: {
176
+ type: StringConstructor;
177
+ default: string;
178
+ };
179
+ detailTransition: {
180
+ type: StringConstructor;
181
+ default: string;
182
+ };
183
+ maxHeight: {
184
+ default: undefined;
185
+ type: NumberConstructor;
186
+ };
187
+ size: {
188
+ type: PropType<"xs" | "sm" | "md">;
189
+ default: string;
190
+ };
191
+ }>> & {
192
+ onCheck?: ((...args: any[]) => any) | undefined;
193
+ onSort?: ((...args: any[]) => any) | undefined;
194
+ "onCheck-all"?: ((...args: any[]) => any) | undefined;
195
+ "onUpdate:checkedRows"?: ((...args: any[]) => any) | undefined;
196
+ "onDetails-open"?: ((...args: any[]) => any) | undefined;
197
+ "onDetails-close"?: ((...args: any[]) => any) | undefined;
198
+ "onUpdate:openedDetailed"?: ((...args: any[]) => any) | undefined;
199
+ "onCell-click"?: ((...args: any[]) => any) | undefined;
200
+ }, {
201
+ data: Row[];
202
+ size: "xs" | "sm" | "md";
203
+ loading: boolean;
204
+ sortField: string;
205
+ sortDirection: string;
206
+ visibleColumns: number[];
207
+ detailed: boolean;
208
+ checkable: boolean;
209
+ checkboxPosition: "left" | "right";
210
+ isRowCheckable: Function;
211
+ checkedRows: Row[];
212
+ hasDetailedVisible: Function;
213
+ rowKey: string;
214
+ detailTransition: string;
215
+ maxHeight: number;
216
+ }, {}>, {
217
+ default?(_: {}): any;
218
+ detail?(_: {
219
+ row: Row;
220
+ index: number;
221
+ }): any;
222
+ empty?(_: {}): any;
223
+ loading?(_: {}): any;
224
+ }>;
225
+ export default _default;
226
+ type __VLS_WithTemplateSlots<T, S> = T & {
227
+ new (): {
228
+ $slots: S;
229
+ };
230
+ };
@@ -1,226 +1,55 @@
1
- import { PropType } from 'vue';
2
- import { BaseTableColumn, Row } from '@/types';
1
+ import { ClassNameValue } from 'tailwind-merge';
2
+ import { CellSpacing } from '../services/table/types';
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
- /** Table data */
5
- data: {
6
- type: PropType<Row[]>;
7
- default: () => never[];
8
- };
9
- /** Loading state */
10
- loading: {
11
- default: boolean;
12
- type: BooleanConstructor;
13
- };
14
- visibleColumns: {
4
+ class: {
5
+ type: import("vue").PropType<string | false | 0 | ClassNameValue[] | null>;
15
6
  default: undefined;
16
- type: PropType<number[]>;
17
- };
18
- /** Allow row details */
19
- detailed: {
20
- default: boolean;
21
- type: BooleanConstructor;
22
7
  };
23
- /** Rows can be checked (multiple) */
24
- checkable: {
25
- default: boolean;
26
- type: BooleanConstructor;
27
- };
28
- /**
29
- * Position of the checkbox (if checkable is true)
30
- * @values left, right
31
- */
32
- checkboxPosition: {
33
- type: PropType<"left" | "right">;
8
+ spacing: {
9
+ type: import("vue").PropType<CellSpacing>;
34
10
  default: string;
35
11
  };
36
- /** Custom method to verify if a row is checkable, works when is checkable */
37
- isRowCheckable: {
38
- type: FunctionConstructor;
39
- default: () => boolean;
40
- };
41
- /** Set which rows are checked, use v-model:checkedRows to make it two-way binding */
42
- checkedRows: {
43
- default: () => never[];
44
- type: PropType<Row[]>;
45
- };
46
- /** Sets the default sort column field */
47
- sortField: {
48
- type: StringConstructor;
49
- default: string;
50
- };
51
- /**
52
- * Sets the default sort column direction
53
- * @values asc, desc
54
- */
55
- sortDirection: {
56
- type: StringConstructor;
57
- default: string;
58
- };
59
- /** Controls the visibility of the trigger that toggles the detailed rows. */
60
- hasDetailedVisible: {
61
- type: FunctionConstructor;
62
- default: () => boolean;
12
+ grid: {
13
+ type: import("vue").PropType<boolean>;
14
+ default: boolean;
63
15
  };
64
- /** Use a unique key of your data Object when use detailed or opened detailed. (id recommended) */
65
- rowKey: {
66
- type: StringConstructor;
67
- default: string;
16
+ striped: {
17
+ type: import("vue").PropType<boolean>;
18
+ default: boolean;
68
19
  };
69
- detailTransition: {
70
- type: StringConstructor;
71
- default: string;
20
+ flush: {
21
+ type: import("vue").PropType<boolean>;
22
+ default: boolean;
72
23
  };
73
- maxHeight: {
24
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
25
+ class: {
26
+ type: import("vue").PropType<string | false | 0 | ClassNameValue[] | null>;
74
27
  default: undefined;
75
- type: NumberConstructor;
76
28
  };
77
- size: {
78
- type: PropType<"xs" | "sm" | "md">;
29
+ spacing: {
30
+ type: import("vue").PropType<CellSpacing>;
79
31
  default: string;
80
32
  };
81
- }, {
82
- newColumns: import("vue").ComputedRef<{
83
- id: string;
84
- label: string;
85
- field: string;
86
- meta: Record<string, any> | undefined;
87
- newKey: number;
88
- numeric: boolean;
89
- position: "left" | "right";
90
- searchable: boolean;
91
- sortable: boolean;
92
- clickable: boolean;
93
- toggle: boolean;
94
- toggleDefault: boolean;
95
- width: number;
96
- style: {
97
- width: number | undefined;
98
- };
99
- thAttrs: (column: BaseTableColumn) => Record<string, any>;
100
- tdAttrs: (row: Row, column: BaseTableColumn) => Record<string, any>;
101
- }[]>;
102
- uncheckAll: () => void;
103
- scrollTop: () => void;
104
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
105
- sort: (...args: any[]) => void;
106
- check: (...args: any[]) => void;
107
- "check-all": (...args: any[]) => void;
108
- "update:checkedRows": (...args: any[]) => void;
109
- "details-open": (...args: any[]) => void;
110
- "details-close": (...args: any[]) => void;
111
- "update:openedDetailed": (...args: any[]) => void;
112
- "cell-click": (...args: any[]) => void;
113
- }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
114
- /** Table data */
115
- data: {
116
- type: PropType<Row[]>;
117
- default: () => never[];
118
- };
119
- /** Loading state */
120
- loading: {
33
+ grid: {
34
+ type: import("vue").PropType<boolean>;
121
35
  default: boolean;
122
- type: BooleanConstructor;
123
36
  };
124
- visibleColumns: {
125
- default: undefined;
126
- type: PropType<number[]>;
127
- };
128
- /** Allow row details */
129
- detailed: {
37
+ striped: {
38
+ type: import("vue").PropType<boolean>;
130
39
  default: boolean;
131
- type: BooleanConstructor;
132
40
  };
133
- /** Rows can be checked (multiple) */
134
- checkable: {
41
+ flush: {
42
+ type: import("vue").PropType<boolean>;
135
43
  default: boolean;
136
- type: BooleanConstructor;
137
- };
138
- /**
139
- * Position of the checkbox (if checkable is true)
140
- * @values left, right
141
- */
142
- checkboxPosition: {
143
- type: PropType<"left" | "right">;
144
- default: string;
145
- };
146
- /** Custom method to verify if a row is checkable, works when is checkable */
147
- isRowCheckable: {
148
- type: FunctionConstructor;
149
- default: () => boolean;
150
- };
151
- /** Set which rows are checked, use v-model:checkedRows to make it two-way binding */
152
- checkedRows: {
153
- default: () => never[];
154
- type: PropType<Row[]>;
155
- };
156
- /** Sets the default sort column field */
157
- sortField: {
158
- type: StringConstructor;
159
- default: string;
160
- };
161
- /**
162
- * Sets the default sort column direction
163
- * @values asc, desc
164
- */
165
- sortDirection: {
166
- type: StringConstructor;
167
- default: string;
168
- };
169
- /** Controls the visibility of the trigger that toggles the detailed rows. */
170
- hasDetailedVisible: {
171
- type: FunctionConstructor;
172
- default: () => boolean;
173
- };
174
- /** Use a unique key of your data Object when use detailed or opened detailed. (id recommended) */
175
- rowKey: {
176
- type: StringConstructor;
177
- default: string;
178
- };
179
- detailTransition: {
180
- type: StringConstructor;
181
- default: string;
182
- };
183
- maxHeight: {
184
- default: undefined;
185
- type: NumberConstructor;
186
- };
187
- size: {
188
- type: PropType<"xs" | "sm" | "md">;
189
- default: string;
190
44
  };
191
- }>> & {
192
- onCheck?: ((...args: any[]) => any) | undefined;
193
- onSort?: ((...args: any[]) => any) | undefined;
194
- "onCheck-all"?: ((...args: any[]) => any) | undefined;
195
- "onUpdate:checkedRows"?: ((...args: any[]) => any) | undefined;
196
- "onDetails-open"?: ((...args: any[]) => any) | undefined;
197
- "onDetails-close"?: ((...args: any[]) => any) | undefined;
198
- "onUpdate:openedDetailed"?: ((...args: any[]) => any) | undefined;
199
- "onCell-click"?: ((...args: any[]) => any) | undefined;
200
- }, {
201
- data: Row[];
202
- size: "xs" | "sm" | "md";
203
- loading: boolean;
204
- sortField: string;
205
- sortDirection: string;
206
- visibleColumns: number[];
207
- detailed: boolean;
208
- checkable: boolean;
209
- checkboxPosition: "left" | "right";
210
- isRowCheckable: Function;
211
- checkedRows: Row[];
212
- hasDetailedVisible: Function;
213
- rowKey: string;
214
- detailTransition: string;
215
- maxHeight: number;
45
+ }>>, {
46
+ class: string | false | 0 | ClassNameValue[] | null;
47
+ spacing: CellSpacing;
48
+ grid: boolean;
49
+ striped: boolean;
50
+ flush: boolean;
216
51
  }, {}>, {
217
52
  default?(_: {}): any;
218
- detail?(_: {
219
- row: Row;
220
- index: number;
221
- }): any;
222
- empty?(_: {}): any;
223
- loading?(_: {}): any;
224
53
  }>;
225
54
  export default _default;
226
55
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -0,0 +1,9 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>, {
2
+ default?(_: {}): any;
3
+ }>;
4
+ export default _default;
5
+ type __VLS_WithTemplateSlots<T, S> = T & {
6
+ new (): {
7
+ $slots: S;
8
+ };
9
+ };
@@ -0,0 +1,59 @@
1
+ import { RouteLocationRaw } from 'vue-router';
2
+ import { ClassNameValue } from 'tailwind-merge';
3
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
+ class: {
5
+ type: import("vue").PropType<string | false | 0 | ClassNameValue[] | null>;
6
+ default: undefined;
7
+ };
8
+ title: {
9
+ type: import("vue").PropType<string>;
10
+ default: undefined;
11
+ };
12
+ to: {
13
+ type: import("vue").PropType<RouteLocationRaw>;
14
+ default: undefined;
15
+ };
16
+ target: {
17
+ type: import("vue").PropType<"_blank" | "_self" | "_parent" | "_top">;
18
+ default: undefined;
19
+ };
20
+ href: {
21
+ type: import("vue").PropType<string>;
22
+ default: undefined;
23
+ };
24
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
25
+ class: {
26
+ type: import("vue").PropType<string | false | 0 | ClassNameValue[] | null>;
27
+ default: undefined;
28
+ };
29
+ title: {
30
+ type: import("vue").PropType<string>;
31
+ default: undefined;
32
+ };
33
+ to: {
34
+ type: import("vue").PropType<RouteLocationRaw>;
35
+ default: undefined;
36
+ };
37
+ target: {
38
+ type: import("vue").PropType<"_blank" | "_self" | "_parent" | "_top">;
39
+ default: undefined;
40
+ };
41
+ href: {
42
+ type: import("vue").PropType<string>;
43
+ default: undefined;
44
+ };
45
+ }>>, {
46
+ class: string | false | 0 | ClassNameValue[] | null;
47
+ title: string;
48
+ to: RouteLocationRaw;
49
+ target: "_blank" | "_self" | "_parent" | "_top";
50
+ href: string;
51
+ }, {}>, {
52
+ default?(_: {}): any;
53
+ }>;
54
+ export default _default;
55
+ type __VLS_WithTemplateSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -161,14 +161,14 @@ declare const _default: import("vue").DefineComponent<{
161
161
  field: string;
162
162
  padding: string;
163
163
  searchable: boolean;
164
+ customKey: string | number;
164
165
  numeric: boolean;
165
166
  sortable: boolean;
166
167
  clickable: boolean;
167
168
  toggleDefault: boolean;
168
- thAttrs: Function;
169
- tdAttrs: Function;
170
- customKey: string | number;
171
169
  customSort: Function;
172
170
  customSearch: Function;
171
+ thAttrs: Function;
172
+ tdAttrs: Function;
173
173
  }, {}>;
174
174
  export default _default;
@@ -0,0 +1,21 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
2
+ sticky: {
3
+ type: import("vue").PropType<boolean>;
4
+ default: boolean;
5
+ };
6
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
7
+ sticky: {
8
+ type: import("vue").PropType<boolean>;
9
+ default: boolean;
10
+ };
11
+ }>>, {
12
+ sticky: boolean;
13
+ }, {}>, {
14
+ default?(_: {}): any;
15
+ }>;
16
+ export default _default;
17
+ type __VLS_WithTemplateSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -0,0 +1,22 @@
1
+ import { ClassNameValue } from 'tailwind-merge';
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
+ class: {
4
+ type: import("vue").PropType<string | false | 0 | ClassNameValue[] | null>;
5
+ default: undefined;
6
+ };
7
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ class: {
9
+ type: import("vue").PropType<string | false | 0 | ClassNameValue[] | null>;
10
+ default: undefined;
11
+ };
12
+ }>>, {
13
+ class: string | false | 0 | ClassNameValue[] | null;
14
+ }, {}>, {
15
+ default?(_: {}): any;
16
+ }>;
17
+ export default _default;
18
+ type __VLS_WithTemplateSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,49 @@
1
+ import { RouteLocationRaw } from 'vue-router';
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
+ title: {
4
+ type: import("vue").PropType<string>;
5
+ default: undefined;
6
+ };
7
+ to: {
8
+ type: import("vue").PropType<RouteLocationRaw>;
9
+ default: undefined;
10
+ };
11
+ target: {
12
+ type: import("vue").PropType<"_blank" | "_self" | "_parent" | "_top">;
13
+ default: undefined;
14
+ };
15
+ href: {
16
+ type: import("vue").PropType<string>;
17
+ default: undefined;
18
+ };
19
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
+ title: {
21
+ type: import("vue").PropType<string>;
22
+ default: undefined;
23
+ };
24
+ to: {
25
+ type: import("vue").PropType<RouteLocationRaw>;
26
+ default: undefined;
27
+ };
28
+ target: {
29
+ type: import("vue").PropType<"_blank" | "_self" | "_parent" | "_top">;
30
+ default: undefined;
31
+ };
32
+ href: {
33
+ type: import("vue").PropType<string>;
34
+ default: undefined;
35
+ };
36
+ }>>, {
37
+ title: string;
38
+ to: RouteLocationRaw;
39
+ target: "_blank" | "_self" | "_parent" | "_top";
40
+ href: string;
41
+ }, {}>, {
42
+ default?(_: {}): any;
43
+ }>;
44
+ export default _default;
45
+ type __VLS_WithTemplateSlots<T, S> = T & {
46
+ new (): {
47
+ $slots: S;
48
+ };
49
+ };