@rotki/ui-library 0.15.0 → 1.0.0-beta.1

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 (124) hide show
  1. package/README.md +3 -3
  2. package/dist/RuiNavigationDrawer-By3iqC3V.js +7822 -0
  3. package/dist/__test__/options.d.ts +5 -0
  4. package/dist/{breakpoint-CRvqq4aP.js → breakpoint-OTAceaTK.js} +1 -1
  5. package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +58 -0
  6. package/dist/components/accordions/accordions/RuiAccordions.vue.d.ts +36 -0
  7. package/dist/components/alerts/RuiAlert.vue.d.ts +69 -0
  8. package/dist/components/buttons/button/RuiButton.vue.d.ts +94 -0
  9. package/dist/components/buttons/button-group/RuiButtonGroup.vue.d.ts +70 -0
  10. package/dist/components/cards/RuiCard.vue.d.ts +61 -0
  11. package/dist/components/cards/RuiCardHeader.vue.d.ts +37 -0
  12. package/dist/components/chips/RuiChip.vue.d.ts +80 -0
  13. package/dist/components/color-picker/RuiColorBoard.vue.d.ts +26 -0
  14. package/dist/components/color-picker/RuiColorDisplay.vue.d.ts +15 -0
  15. package/dist/components/color-picker/RuiColorHue.vue.d.ts +18 -0
  16. package/dist/components/color-picker/RuiColorInput.vue.d.ts +19 -0
  17. package/dist/components/color-picker/RuiColorPicker.vue.d.ts +32 -0
  18. package/dist/components/color-picker/utils.d.ts +44 -0
  19. package/dist/components/divider/RuiDivider.vue.d.ts +28 -0
  20. package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +78 -0
  21. package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +73 -0
  22. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +69 -0
  23. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +84 -0
  24. package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +160 -49
  25. package/dist/components/forms/select/RuiSimpleSelect.vue.d.ts +42 -0
  26. package/dist/components/forms/slider/RuiSlider.vue.d.ts +101 -0
  27. package/dist/components/forms/switch/RuiSwitch.vue.d.ts +72 -0
  28. package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +124 -0
  29. package/dist/components/forms/text-field/RuiTextField.vue.d.ts +114 -0
  30. package/dist/components/helpers/RuiFormTextDetail.vue.d.ts +39 -0
  31. package/dist/components/icons/RuiIcon.vue.d.ts +35 -0
  32. package/dist/components/index.d.ts +43 -39
  33. package/dist/components/index.es.js +35 -31
  34. package/dist/components/loaders/RuiSkeletonBase.vue.d.ts +28 -0
  35. package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +32 -0
  36. package/dist/components/logos/RuiLogo.vue.d.ts +52 -0
  37. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +79 -0
  38. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.d.ts +39 -0
  39. package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +68 -0
  40. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +116 -0
  41. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +81 -0
  42. package/dist/components/overlays/notification/RuiNotification.vue.d.ts +45 -0
  43. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +63 -0
  44. package/dist/components/progress/RuiProgress.vue.d.ts +71 -0
  45. package/dist/components/steppers/RuiFooterStepper.vue.d.ts +45 -0
  46. package/dist/components/steppers/RuiStepper.vue.d.ts +64 -0
  47. package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +32 -0
  48. package/dist/components/steppers/RuiStepperIcon.vue.d.ts +32 -0
  49. package/dist/components/tables/RuiDataTable.vue.d.ts +512 -0
  50. package/dist/components/tables/RuiExpandButton.vue.d.ts +37 -0
  51. package/dist/components/tables/RuiTableHead.vue.d.ts +194 -0
  52. package/dist/components/tables/RuiTablePagination.vue.d.ts +47 -0
  53. package/dist/components/tabs/tab/RuiTab.vue.d.ts +90 -0
  54. package/dist/components/tabs/tab-item/RuiTabItem.vue.d.ts +48 -0
  55. package/dist/components/tabs/tab-items/RuiTabItems.vue.d.ts +28 -0
  56. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +53 -0
  57. package/dist/composables/dropdown-menu.d.ts +18 -6
  58. package/dist/composables/index.es.js +2 -2
  59. package/dist/composables/popper.d.ts +2 -0
  60. package/dist/composables/theme.d.ts +1 -1
  61. package/dist/consts/typography.d.ts +1 -2
  62. package/dist/icons/icons_1.d.ts +44 -44
  63. package/dist/icons/icons_1.es.js +987 -987
  64. package/dist/icons/icons_2.d.ts +60 -60
  65. package/dist/icons/icons_2.es.js +1121 -1121
  66. package/dist/icons/icons_3.d.ts +76 -76
  67. package/dist/icons/icons_3.es.js +1149 -1149
  68. package/dist/icons/icons_4.d.ts +96 -96
  69. package/dist/icons/icons_4.es.js +1193 -1193
  70. package/dist/icons/icons_5.d.ts +132 -132
  71. package/dist/icons/icons_5.es.js +1267 -1267
  72. package/dist/icons/icons_6.d.ts +156 -0
  73. package/dist/icons/icons_6.es.js +1099 -475
  74. package/dist/icons/index.d.ts +1 -1
  75. package/dist/icons/index.es.js +2840 -2684
  76. package/dist/index-NNlkUY_M.js +161 -0
  77. package/dist/index.es.js +2921 -2761
  78. package/dist/style.css +1 -1
  79. package/dist/utils/helpers.d.ts +9 -0
  80. package/package.json +45 -48
  81. package/dist/Accordion-BFcz_iFc.js +0 -8386
  82. package/dist/components/accordions/accordion/Accordion.vue.d.ts +0 -71
  83. package/dist/components/accordions/accordions/Accordions.vue.d.ts +0 -31
  84. package/dist/components/alerts/Alert.vue.d.ts +0 -93
  85. package/dist/components/buttons/button/Button.vue.d.ts +0 -51
  86. package/dist/components/buttons/button-group/ButtonGroup.vue.d.ts +0 -36
  87. package/dist/components/cards/Card.vue.d.ts +0 -80
  88. package/dist/components/cards/CardHeader.vue.d.ts +0 -26
  89. package/dist/components/chips/Chip.vue.d.ts +0 -123
  90. package/dist/components/divider/Divider.vue.d.ts +0 -17
  91. package/dist/components/forms/auto-complete/AutoComplete.vue.d.ts +0 -71
  92. package/dist/components/forms/auto-complete/AutoCompleteSelection.vue.d.ts +0 -30
  93. package/dist/components/forms/checkbox/Checkbox.vue.d.ts +0 -121
  94. package/dist/components/forms/radio-button/radio/Radio.vue.d.ts +0 -118
  95. package/dist/components/forms/radio-button/radio-group/RadioGroup.vue.d.ts +0 -112
  96. package/dist/components/forms/revealable-text-field/RevealableTextField.vue.d.ts +0 -169
  97. package/dist/components/forms/select/SimpleSelect.vue.d.ts +0 -59
  98. package/dist/components/forms/slider/Slider.vue.d.ts +0 -192
  99. package/dist/components/forms/switch/Switch.vue.d.ts +0 -109
  100. package/dist/components/forms/text-area/TextArea.vue.d.ts +0 -233
  101. package/dist/components/forms/text-field/TextField.vue.d.ts +0 -199
  102. package/dist/components/helpers/FormTextDetail.vue.d.ts +0 -32
  103. package/dist/components/icons/Icon.vue.d.ts +0 -38
  104. package/dist/components/loaders/Skeleton.vue.d.ts +0 -27
  105. package/dist/components/loaders/SkeletonBase.vue.d.ts +0 -17
  106. package/dist/components/logos/Logo.vue.d.ts +0 -65
  107. package/dist/components/overlays/badge/Badge.vue.d.ts +0 -128
  108. package/dist/components/overlays/dialog/Dialog.vue.d.ts +0 -60
  109. package/dist/components/overlays/menu/Menu.vue.d.ts +0 -191
  110. package/dist/components/overlays/tooltip/Tooltip.vue.d.ts +0 -88
  111. package/dist/components/progress/Progress.vue.d.ts +0 -102
  112. package/dist/components/steppers/FooterStepper.vue.d.ts +0 -50
  113. package/dist/components/steppers/Stepper.vue.d.ts +0 -97
  114. package/dist/components/steppers/StepperCustomIcon.vue.d.ts +0 -23
  115. package/dist/components/steppers/StepperIcon.vue.d.ts +0 -23
  116. package/dist/components/tables/DataTable.vue.d.ts +0 -279
  117. package/dist/components/tables/ExpandButton.vue.d.ts +0 -34
  118. package/dist/components/tables/TableHead.vue.d.ts +0 -127
  119. package/dist/components/tables/TablePagination.vue.d.ts +0 -56
  120. package/dist/components/tabs/tab/Tab.vue.d.ts +0 -141
  121. package/dist/components/tabs/tab-item/TabItem.vue.d.ts +0 -54
  122. package/dist/components/tabs/tab-items/TabItems.vue.d.ts +0 -17
  123. package/dist/components/tabs/tabs/Tabs.vue.d.ts +0 -72
  124. package/dist/index-x2urm9HD.js +0 -176
@@ -0,0 +1,512 @@
1
+ import { type TablePaginationData } from '../../components/tables/RuiTablePagination.vue';
2
+ import { type GroupData, type GroupKeys, type TableColumn, type TableRowKeyData, type TableSortData } from '../../components/tables/RuiTableHead.vue';
3
+ export interface TableOptions<T> {
4
+ pagination?: TablePaginationData;
5
+ sort?: TableSortData<T>;
6
+ }
7
+ export interface GroupHeader<T> {
8
+ __header__: true;
9
+ identifier: string;
10
+ group: Partial<T>;
11
+ }
12
+ export type GroupedTableRow<T> = T | GroupHeader<T>;
13
+ export interface Props<T, K extends keyof T> {
14
+ /**
15
+ * list of items for each row
16
+ */
17
+ rows: T[];
18
+ /**
19
+ * the attribute used to identify each row uniquely for selection, usually `id`
20
+ */
21
+ rowAttr: K;
22
+ /**
23
+ * model for selected rows, add a v-model to support row selection
24
+ */
25
+ modelValue?: T[K][];
26
+ /**
27
+ * model for internal searching
28
+ */
29
+ search?: string;
30
+ /**
31
+ * model for items per page
32
+ * will be used if the `pagination` model isn't specified
33
+ */
34
+ itemsPerPage?: number;
35
+ /**
36
+ * model for paginating data
37
+ * @example v-model:pagination="{ total: 10, limit: 5, page: 1 }"
38
+ */
39
+ pagination?: TablePaginationData;
40
+ /**
41
+ * modifiers for specifying externally paginated tables
42
+ * use this when api controls pagination
43
+ * @example v-model:pagination.external="{ total: 10, limit: 5, page: 1 }"
44
+ */
45
+ paginationModifiers?: {
46
+ external: boolean;
47
+ };
48
+ /**
49
+ * model for sort column/columns data
50
+ * single column sort
51
+ * @example v-model:sort="{ column: 'name', direction: 'asc' }"
52
+ * multi columns sort
53
+ * @example v-model:sort="[{ column: 'name', direction: 'asc' }]"
54
+ */
55
+ sort?: TableSortData<T>;
56
+ /**
57
+ * modifiers for specifying externally sorted tables
58
+ * use this when api controls sorting
59
+ * single column sort
60
+ * @example v-model:sort.external="{ column: 'name', direction: 'asc' }"
61
+ * multi columns sort
62
+ * @example v-model:sort.external="[{ column: 'name', direction: 'asc' }]"
63
+ */
64
+ sortModifiers?: {
65
+ external: boolean;
66
+ };
67
+ /**
68
+ * list of column definitions
69
+ */
70
+ cols?: TableColumn<T>[];
71
+ /**
72
+ * attribute to use from column definitions to display column titles
73
+ */
74
+ columnAttr?: keyof TableColumn<T>;
75
+ /**
76
+ * flag to show a more or less spacious table
77
+ */
78
+ dense?: boolean;
79
+ /**
80
+ * flag to outline the flag with a border
81
+ */
82
+ outlined?: boolean;
83
+ /**
84
+ * should add zebra-striping to the table row
85
+ */
86
+ striped?: boolean;
87
+ /**
88
+ * flag to show loading state of the table
89
+ * triggers indefinite progress at the bottom of the table header
90
+ */
91
+ loading?: boolean;
92
+ disablePerPage?: boolean;
93
+ /**
94
+ * data to display for empty state
95
+ * text and icon
96
+ * @example :empty="{ icon: 'transactions-line', label: 'No transactions found' }"
97
+ */
98
+ empty?: {
99
+ label?: string;
100
+ description?: string;
101
+ };
102
+ /**
103
+ * should hide the footer
104
+ */
105
+ hideDefaultFooter?: boolean;
106
+ rounded?: 'sm' | 'md' | 'lg';
107
+ /**
108
+ * model for expanded rows
109
+ */
110
+ expanded?: T[];
111
+ /**
112
+ * make expansion work like accordion
113
+ */
114
+ singleExpand?: boolean;
115
+ /**
116
+ * make table head stick to top on scroll
117
+ */
118
+ stickyHeader?: boolean;
119
+ stickyOffset?: number;
120
+ /**
121
+ * Affects how the items per page work across the app.
122
+ * When true, changing the items per page setting in one table will affect other tables.
123
+ */
124
+ globalItemsPerPage?: boolean;
125
+ /**
126
+ * model for grouping column/columns data
127
+ * single column grouping
128
+ * @example v-model:group="'name'"
129
+ * multi columns grouping
130
+ * @example v-model:group="['name', 'country']"
131
+ */
132
+ group?: TableRowKeyData<T>;
133
+ groupExpandButtonPosition?: 'start' | 'end';
134
+ collapsed?: T[];
135
+ disabledRows?: T[];
136
+ multiPageSelect?: boolean;
137
+ scroller?: HTMLElement | null;
138
+ itemClass?: ((item: T) => string) | string;
139
+ }
140
+ declare const _default: <T extends object, IdType extends keyof T = keyof T>(__VLS_props: {
141
+ "onUpdate:model-value"?: ((value?: T[IdType][] | undefined) => any) | undefined;
142
+ "onUpdate:expanded"?: ((value: T[]) => any) | undefined;
143
+ "onUpdate:pagination"?: ((value: TablePaginationData) => any) | undefined;
144
+ "onUpdate:sort"?: ((value?: TableSortData<T>) => any) | undefined;
145
+ "onUpdate:options"?: ((value: TableOptions<T>) => any) | undefined;
146
+ "onUpdate:group"?: ((value?: GroupKeys<T>) => any) | undefined;
147
+ "onUpdate:collapsed"?: ((value?: T[] | undefined) => any) | undefined;
148
+ "onCopy:group"?: ((value: GroupData<T>) => any) | undefined;
149
+ rows: T[];
150
+ rowAttr: IdType;
151
+ modelValue?: T[IdType][] | undefined;
152
+ search?: string | undefined;
153
+ itemsPerPage?: number | undefined;
154
+ pagination?: TablePaginationData | undefined;
155
+ paginationModifiers?: {
156
+ external: boolean;
157
+ } | undefined;
158
+ sort?: TableSortData<T>;
159
+ sortModifiers?: {
160
+ external: boolean;
161
+ } | undefined;
162
+ cols?: TableColumn<T>[] | undefined;
163
+ columnAttr?: string | number | undefined;
164
+ dense?: boolean | undefined;
165
+ outlined?: boolean | undefined;
166
+ striped?: boolean | undefined;
167
+ loading?: boolean | undefined;
168
+ disablePerPage?: boolean | undefined;
169
+ empty?: {
170
+ label?: string | undefined;
171
+ description?: string | undefined;
172
+ } | undefined;
173
+ hideDefaultFooter?: boolean | undefined;
174
+ rounded?: "sm" | "md" | "lg" | undefined;
175
+ expanded?: T[] | undefined;
176
+ singleExpand?: boolean | undefined;
177
+ stickyHeader?: boolean | undefined;
178
+ stickyOffset?: number | undefined;
179
+ globalItemsPerPage?: boolean | undefined;
180
+ group?: TableRowKeyData<T>;
181
+ groupExpandButtonPosition?: "end" | "start" | undefined;
182
+ collapsed?: T[] | undefined;
183
+ disabledRows?: T[] | undefined;
184
+ multiPageSelect?: boolean | undefined;
185
+ scroller?: HTMLElement | null | undefined;
186
+ itemClass?: string | ((item: T) => string) | undefined;
187
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
188
+ attrs: any;
189
+ emit: {
190
+ (e: 'update:model-value', value?: T[IdType][]): void;
191
+ (e: 'update:expanded', value: T[]): void;
192
+ (e: 'update:pagination', value: TablePaginationData): void;
193
+ (e: 'update:sort', value?: TableSortData<T>): void;
194
+ (e: 'update:options', value: TableOptions<T>): void;
195
+ (e: 'update:group', value?: GroupKeys<T>): void;
196
+ (e: 'update:collapsed', value?: T[]): void;
197
+ (e: 'copy:group', value: GroupData<T>): void;
198
+ };
199
+ slots: Readonly<Partial<Record<`header.${string}`, (props: {
200
+ column: TableColumn<T>;
201
+ }) => any> & Record<`item.${string}`, (props: {
202
+ column: TableColumn<T>;
203
+ row: T;
204
+ index: number;
205
+ }) => any> & {
206
+ 'body.prepend': (props: {
207
+ colspan: number;
208
+ }) => any;
209
+ 'body.append': (props: {
210
+ colspan: number;
211
+ }) => any;
212
+ 'group.header': (props: {
213
+ colspan: number;
214
+ header: GroupHeader<T>;
215
+ isOpen: boolean;
216
+ toggle: () => void;
217
+ }) => any;
218
+ 'group.header.content': (props: {
219
+ header: GroupHeader<T>;
220
+ groupKey: string;
221
+ }) => any;
222
+ 'expanded-item': (props: {
223
+ row: T;
224
+ index: number;
225
+ }) => any;
226
+ 'no-data': () => any;
227
+ 'empty-description': () => any;
228
+ tfoot: () => any;
229
+ }>> & Partial<Record<`header.${string}`, (props: {
230
+ column: TableColumn<T>;
231
+ }) => any> & Record<`item.${string}`, (props: {
232
+ column: TableColumn<T>;
233
+ row: T;
234
+ index: number;
235
+ }) => any> & {
236
+ 'body.prepend': (props: {
237
+ colspan: number;
238
+ }) => any;
239
+ 'body.append': (props: {
240
+ colspan: number;
241
+ }) => any;
242
+ 'group.header': (props: {
243
+ colspan: number;
244
+ header: GroupHeader<T>;
245
+ isOpen: boolean;
246
+ toggle: () => void;
247
+ }) => any;
248
+ 'group.header.content': (props: {
249
+ header: GroupHeader<T>;
250
+ groupKey: string;
251
+ }) => any;
252
+ 'expanded-item': (props: {
253
+ row: T;
254
+ index: number;
255
+ }) => any;
256
+ 'no-data': () => any;
257
+ 'empty-description': () => any;
258
+ tfoot: () => any;
259
+ }>;
260
+ } | undefined, __VLS_expose?: ((exposed: import('vue').ShallowUnwrapRef<{}>) => void) | undefined, __VLS_setup?: Promise<{
261
+ props: {
262
+ "onUpdate:model-value"?: ((value?: T[IdType][] | undefined) => any) | undefined;
263
+ "onUpdate:expanded"?: ((value: T[]) => any) | undefined;
264
+ "onUpdate:pagination"?: ((value: TablePaginationData) => any) | undefined;
265
+ "onUpdate:sort"?: ((value?: TableSortData<T>) => any) | undefined;
266
+ "onUpdate:options"?: ((value: TableOptions<T>) => any) | undefined;
267
+ "onUpdate:group"?: ((value?: GroupKeys<T>) => any) | undefined;
268
+ "onUpdate:collapsed"?: ((value?: T[] | undefined) => any) | undefined;
269
+ "onCopy:group"?: ((value: GroupData<T>) => any) | undefined;
270
+ rows: T[];
271
+ rowAttr: IdType;
272
+ modelValue?: T[IdType][] | undefined;
273
+ search?: string | undefined;
274
+ itemsPerPage?: number | undefined;
275
+ pagination?: TablePaginationData | undefined;
276
+ paginationModifiers?: {
277
+ external: boolean;
278
+ } | undefined;
279
+ sort?: TableSortData<T>;
280
+ sortModifiers?: {
281
+ external: boolean;
282
+ } | undefined;
283
+ cols?: TableColumn<T>[] | undefined;
284
+ columnAttr?: string | number | undefined;
285
+ dense?: boolean | undefined;
286
+ outlined?: boolean | undefined;
287
+ striped?: boolean | undefined;
288
+ loading?: boolean | undefined;
289
+ disablePerPage?: boolean | undefined;
290
+ empty?: {
291
+ label?: string | undefined;
292
+ description?: string | undefined;
293
+ } | undefined;
294
+ hideDefaultFooter?: boolean | undefined;
295
+ rounded?: "sm" | "md" | "lg" | undefined;
296
+ expanded?: T[] | undefined;
297
+ singleExpand?: boolean | undefined;
298
+ stickyHeader?: boolean | undefined;
299
+ stickyOffset?: number | undefined;
300
+ globalItemsPerPage?: boolean | undefined;
301
+ group?: TableRowKeyData<T>;
302
+ groupExpandButtonPosition?: "end" | "start" | undefined;
303
+ collapsed?: T[] | undefined;
304
+ disabledRows?: T[] | undefined;
305
+ multiPageSelect?: boolean | undefined;
306
+ scroller?: HTMLElement | null | undefined;
307
+ itemClass?: string | ((item: T) => string) | undefined;
308
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
309
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
310
+ attrs: any;
311
+ slots: Readonly<Partial<Record<`header.${string}`, (props: {
312
+ column: TableColumn<T>;
313
+ }) => any> & Record<`item.${string}`, (props: {
314
+ column: TableColumn<T>;
315
+ row: T;
316
+ index: number;
317
+ }) => any> & {
318
+ 'body.prepend': (props: {
319
+ colspan: number;
320
+ }) => any;
321
+ 'body.append': (props: {
322
+ colspan: number;
323
+ }) => any;
324
+ 'group.header': (props: {
325
+ colspan: number;
326
+ header: GroupHeader<T>;
327
+ isOpen: boolean;
328
+ toggle: () => void;
329
+ }) => any;
330
+ 'group.header.content': (props: {
331
+ header: GroupHeader<T>;
332
+ groupKey: string;
333
+ }) => any;
334
+ 'expanded-item': (props: {
335
+ row: T;
336
+ index: number;
337
+ }) => any;
338
+ 'no-data': () => any;
339
+ 'empty-description': () => any;
340
+ tfoot: () => any;
341
+ }>> & Partial<Record<`header.${string}`, (props: {
342
+ column: TableColumn<T>;
343
+ }) => any> & Record<`item.${string}`, (props: {
344
+ column: TableColumn<T>;
345
+ row: T;
346
+ index: number;
347
+ }) => any> & {
348
+ 'body.prepend': (props: {
349
+ colspan: number;
350
+ }) => any;
351
+ 'body.append': (props: {
352
+ colspan: number;
353
+ }) => any;
354
+ 'group.header': (props: {
355
+ colspan: number;
356
+ header: GroupHeader<T>;
357
+ isOpen: boolean;
358
+ toggle: () => void;
359
+ }) => any;
360
+ 'group.header.content': (props: {
361
+ header: GroupHeader<T>;
362
+ groupKey: string;
363
+ }) => any;
364
+ 'expanded-item': (props: {
365
+ row: T;
366
+ index: number;
367
+ }) => any;
368
+ 'no-data': () => any;
369
+ 'empty-description': () => any;
370
+ tfoot: () => any;
371
+ }>;
372
+ emit: {
373
+ (e: 'update:model-value', value?: T[IdType][]): void;
374
+ (e: 'update:expanded', value: T[]): void;
375
+ (e: 'update:pagination', value: TablePaginationData): void;
376
+ (e: 'update:sort', value?: TableSortData<T>): void;
377
+ (e: 'update:options', value: TableOptions<T>): void;
378
+ (e: 'update:group', value?: GroupKeys<T>): void;
379
+ (e: 'update:collapsed', value?: T[]): void;
380
+ (e: 'copy:group', value: GroupData<T>): void;
381
+ };
382
+ }>) => globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
383
+ [key: string]: any;
384
+ }> & {
385
+ __ctx?: {
386
+ props: {
387
+ "onUpdate:model-value"?: ((value?: T[IdType][] | undefined) => any) | undefined;
388
+ "onUpdate:expanded"?: ((value: T[]) => any) | undefined;
389
+ "onUpdate:pagination"?: ((value: TablePaginationData) => any) | undefined;
390
+ "onUpdate:sort"?: ((value?: TableSortData<T>) => any) | undefined;
391
+ "onUpdate:options"?: ((value: TableOptions<T>) => any) | undefined;
392
+ "onUpdate:group"?: ((value?: GroupKeys<T>) => any) | undefined;
393
+ "onUpdate:collapsed"?: ((value?: T[] | undefined) => any) | undefined;
394
+ "onCopy:group"?: ((value: GroupData<T>) => any) | undefined;
395
+ rows: T[];
396
+ rowAttr: IdType;
397
+ modelValue?: T[IdType][] | undefined;
398
+ search?: string | undefined;
399
+ itemsPerPage?: number | undefined;
400
+ pagination?: TablePaginationData | undefined;
401
+ paginationModifiers?: {
402
+ external: boolean;
403
+ } | undefined;
404
+ sort?: TableSortData<T>;
405
+ sortModifiers?: {
406
+ external: boolean;
407
+ } | undefined;
408
+ cols?: TableColumn<T>[] | undefined;
409
+ columnAttr?: string | number | undefined;
410
+ dense?: boolean | undefined;
411
+ outlined?: boolean | undefined;
412
+ striped?: boolean | undefined;
413
+ loading?: boolean | undefined;
414
+ disablePerPage?: boolean | undefined;
415
+ empty?: {
416
+ label?: string | undefined;
417
+ description?: string | undefined;
418
+ } | undefined;
419
+ hideDefaultFooter?: boolean | undefined;
420
+ rounded?: "sm" | "md" | "lg" | undefined;
421
+ expanded?: T[] | undefined;
422
+ singleExpand?: boolean | undefined;
423
+ stickyHeader?: boolean | undefined;
424
+ stickyOffset?: number | undefined;
425
+ globalItemsPerPage?: boolean | undefined;
426
+ group?: TableRowKeyData<T>;
427
+ groupExpandButtonPosition?: "end" | "start" | undefined;
428
+ collapsed?: T[] | undefined;
429
+ disabledRows?: T[] | undefined;
430
+ multiPageSelect?: boolean | undefined;
431
+ scroller?: HTMLElement | null | undefined;
432
+ itemClass?: string | ((item: T) => string) | undefined;
433
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
434
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
435
+ attrs: any;
436
+ slots: Readonly<Partial<Record<`header.${string}`, (props: {
437
+ column: TableColumn<T>;
438
+ }) => any> & Record<`item.${string}`, (props: {
439
+ column: TableColumn<T>;
440
+ row: T;
441
+ index: number;
442
+ }) => any> & {
443
+ 'body.prepend': (props: {
444
+ colspan: number;
445
+ }) => any;
446
+ 'body.append': (props: {
447
+ colspan: number;
448
+ }) => any;
449
+ 'group.header': (props: {
450
+ colspan: number;
451
+ header: GroupHeader<T>;
452
+ isOpen: boolean;
453
+ toggle: () => void;
454
+ }) => any;
455
+ 'group.header.content': (props: {
456
+ header: GroupHeader<T>;
457
+ groupKey: string;
458
+ }) => any;
459
+ 'expanded-item': (props: {
460
+ row: T;
461
+ index: number;
462
+ }) => any;
463
+ 'no-data': () => any;
464
+ 'empty-description': () => any;
465
+ tfoot: () => any;
466
+ }>> & Partial<Record<`header.${string}`, (props: {
467
+ column: TableColumn<T>;
468
+ }) => any> & Record<`item.${string}`, (props: {
469
+ column: TableColumn<T>;
470
+ row: T;
471
+ index: number;
472
+ }) => any> & {
473
+ 'body.prepend': (props: {
474
+ colspan: number;
475
+ }) => any;
476
+ 'body.append': (props: {
477
+ colspan: number;
478
+ }) => any;
479
+ 'group.header': (props: {
480
+ colspan: number;
481
+ header: GroupHeader<T>;
482
+ isOpen: boolean;
483
+ toggle: () => void;
484
+ }) => any;
485
+ 'group.header.content': (props: {
486
+ header: GroupHeader<T>;
487
+ groupKey: string;
488
+ }) => any;
489
+ 'expanded-item': (props: {
490
+ row: T;
491
+ index: number;
492
+ }) => any;
493
+ 'no-data': () => any;
494
+ 'empty-description': () => any;
495
+ tfoot: () => any;
496
+ }>;
497
+ emit: {
498
+ (e: 'update:model-value', value?: T[IdType][]): void;
499
+ (e: 'update:expanded', value: T[]): void;
500
+ (e: 'update:pagination', value: TablePaginationData): void;
501
+ (e: 'update:sort', value?: TableSortData<T>): void;
502
+ (e: 'update:options', value: TableOptions<T>): void;
503
+ (e: 'update:group', value?: GroupKeys<T>): void;
504
+ (e: 'update:collapsed', value?: T[]): void;
505
+ (e: 'copy:group', value: GroupData<T>): void;
506
+ };
507
+ } | undefined;
508
+ };
509
+ export default _default;
510
+ type __VLS_Prettify<T> = {
511
+ [K in keyof T]: T[K];
512
+ } & {};
@@ -0,0 +1,37 @@
1
+ import type { RuiIcons } from '../../icons';
2
+ export interface Props {
3
+ expanded: boolean;
4
+ icon?: RuiIcons;
5
+ }
6
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
7
+ icon: string;
8
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
9
+ icon: string;
10
+ }>>>, {
11
+ icon: RuiIcons;
12
+ }, {}>, {
13
+ default?(_: {}): any;
14
+ }>;
15
+ export default _default;
16
+ type __VLS_WithDefaults<P, D> = {
17
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
18
+ default: D[K];
19
+ }> : P[K];
20
+ };
21
+ type __VLS_Prettify<T> = {
22
+ [K in keyof T]: T[K];
23
+ } & {};
24
+ type __VLS_WithTemplateSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
29
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
30
+ type __VLS_TypePropsToOption<T> = {
31
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
32
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
33
+ } : {
34
+ type: import('vue').PropType<T[K]>;
35
+ required: true;
36
+ };
37
+ };