vuetify 3.5.5 → 3.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_component-variables-labs.sass +2 -0
- package/dist/json/attributes.json +352 -40
- package/dist/json/importMap-labs.json +16 -8
- package/dist/json/importMap.json +122 -118
- package/dist/json/tags.json +93 -0
- package/dist/json/web-types.json +1084 -52
- package/dist/vuetify-labs.css +2121 -1996
- package/dist/vuetify-labs.d.ts +1336 -128
- package/dist/vuetify-labs.esm.js +332 -81
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +332 -81
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +838 -839
- package/dist/vuetify.d.ts +320 -145
- package/dist/vuetify.esm.js +87 -75
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +87 -75
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +60 -58
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VApp/index.d.mts +8 -6
- package/lib/components/VAutocomplete/VAutocomplete.css +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs +33 -29
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -1
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.css +4 -4
- package/lib/components/VCombobox/VCombobox.mjs +22 -23
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +1 -1
- package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/components/VDataIterator/index.d.mts +50 -94
- package/lib/components/VDataTable/index.d.mts +214 -1
- package/lib/components/VDataTable/index.mjs +1 -0
- package/lib/components/VDataTable/index.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +4 -7
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +4 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +2 -0
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -0
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +27 -0
- package/lib/components/VLayout/index.d.mts +8 -6
- package/lib/components/VSelect/VSelect.mjs +20 -18
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.css +3 -1
- package/lib/components/VToolbar/VToolbar.sass +2 -1
- package/lib/components/index.d.mts +279 -106
- package/lib/composables/filter.mjs +1 -1
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/goto.mjs +2 -2
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +42 -39
- package/lib/labs/VEmptyState/VEmptyState.css +59 -0
- package/lib/labs/VEmptyState/VEmptyState.mjs +145 -0
- package/lib/labs/VEmptyState/VEmptyState.mjs.map +1 -0
- package/lib/labs/VEmptyState/VEmptyState.sass +53 -0
- package/lib/labs/VEmptyState/_variables.scss +22 -0
- package/lib/labs/VEmptyState/index.d.mts +415 -0
- package/lib/labs/VEmptyState/index.mjs +2 -0
- package/lib/labs/VEmptyState/index.mjs.map +1 -0
- package/lib/labs/VFab/VFab.css +69 -0
- package/lib/labs/VFab/VFab.mjs +114 -0
- package/lib/labs/VFab/VFab.mjs.map +1 -0
- package/lib/labs/VFab/VFab.sass +82 -0
- package/lib/labs/VFab/_mixins.scss +22 -0
- package/lib/labs/VFab/_variables.scss +33 -0
- package/lib/labs/VFab/index.d.mts +656 -0
- package/lib/labs/VFab/index.mjs +2 -0
- package/lib/labs/VFab/index.mjs.map +1 -0
- package/lib/labs/VSparkline/VBarline.mjs +4 -4
- package/lib/labs/VSparkline/VBarline.mjs.map +1 -1
- package/lib/labs/VSparkline/VTrendline.mjs +6 -2
- package/lib/labs/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/labs/VSparkline/index.d.mts +12 -0
- package/lib/labs/VSparkline/util/line.mjs +2 -0
- package/lib/labs/VSparkline/util/line.mjs.map +1 -1
- package/lib/labs/components.d.mts +1066 -2
- package/lib/labs/components.mjs +2 -0
- package/lib/labs/components.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes, PropType, Ref } from 'vue';
|
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, Ref } from 'vue';
|
|
3
3
|
|
|
4
|
+
type SlotsToProps<U extends RawSlots, T = MakeInternalSlots<U>> = {
|
|
5
|
+
$children?: (VNodeChild | (T extends {
|
|
6
|
+
default: infer V;
|
|
7
|
+
} ? V : {}) | {
|
|
8
|
+
[K in keyof T]?: T[K];
|
|
9
|
+
});
|
|
10
|
+
'v-slots'?: {
|
|
11
|
+
[K in keyof T]?: T[K] | false;
|
|
12
|
+
};
|
|
13
|
+
} & {
|
|
14
|
+
[K in keyof T as `v-slot:${K & string}`]?: T[K] | false;
|
|
15
|
+
};
|
|
16
|
+
type RawSlots = Record<string, unknown>;
|
|
17
|
+
type Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild;
|
|
18
|
+
type VueSlot<T> = [T] extends [never] ? () => VNode[] : (arg: T) => VNode[];
|
|
19
|
+
type MakeInternalSlots<T extends RawSlots> = {
|
|
20
|
+
[K in keyof T]: Slot<T[K]>;
|
|
21
|
+
};
|
|
22
|
+
type MakeSlots<T extends RawSlots> = {
|
|
23
|
+
[K in keyof T]: VueSlot<T[K]>;
|
|
24
|
+
};
|
|
25
|
+
type GenericProps<Props, Slots extends Record<string, unknown>> = {
|
|
26
|
+
$props: Props & SlotsToProps<Slots>;
|
|
27
|
+
$slots: MakeSlots<Slots>;
|
|
28
|
+
};
|
|
4
29
|
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
|
|
5
30
|
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
|
|
6
31
|
}
|
|
@@ -182,7 +207,7 @@ interface DataIteratorItem<T = any> extends GroupableItem<T>, SelectableItem {
|
|
|
182
207
|
value: unknown;
|
|
183
208
|
}
|
|
184
209
|
|
|
185
|
-
type VDataIteratorSlotProps = {
|
|
210
|
+
type VDataIteratorSlotProps<T> = {
|
|
186
211
|
page: number;
|
|
187
212
|
itemsPerPage: number;
|
|
188
213
|
sortBy: readonly SortItem[];
|
|
@@ -200,8 +225,14 @@ type VDataIteratorSlotProps = {
|
|
|
200
225
|
toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand'];
|
|
201
226
|
isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen'];
|
|
202
227
|
toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup'];
|
|
203
|
-
items: readonly DataIteratorItem[];
|
|
204
|
-
groupedItems: readonly (DataIteratorItem | Group<DataIteratorItem
|
|
228
|
+
items: readonly DataIteratorItem<T>[];
|
|
229
|
+
groupedItems: readonly (DataIteratorItem<T> | Group<DataIteratorItem<T>>)[];
|
|
230
|
+
};
|
|
231
|
+
type VDataIteratorSlots<T> = {
|
|
232
|
+
default: VDataIteratorSlotProps<T>;
|
|
233
|
+
header: VDataIteratorSlotProps<T>;
|
|
234
|
+
footer: VDataIteratorSlotProps<T>;
|
|
235
|
+
'no-data': never;
|
|
205
236
|
};
|
|
206
237
|
declare const VDataIterator: {
|
|
207
238
|
new (...args: any[]): vue.CreateComponentPublicInstance<{
|
|
@@ -211,7 +242,6 @@ declare const VDataIterator: {
|
|
|
211
242
|
expanded: readonly string[];
|
|
212
243
|
tag: string;
|
|
213
244
|
sortBy: readonly SortItem[];
|
|
214
|
-
items: any[];
|
|
215
245
|
modelValue: readonly any[];
|
|
216
246
|
valueComparator: typeof deepEqual;
|
|
217
247
|
selectStrategy: "all" | "page" | "single";
|
|
@@ -234,24 +264,6 @@ declare const VDataIterator: {
|
|
|
234
264
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
|
235
265
|
filterKeys?: FilterKeys | undefined;
|
|
236
266
|
customKeySort?: Record<string, DataTableCompareFunction> | undefined;
|
|
237
|
-
} & {
|
|
238
|
-
$children?: vue.VNodeChild | {
|
|
239
|
-
default?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
240
|
-
header?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
241
|
-
footer?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
242
|
-
'no-data'?: (() => vue.VNodeChild) | undefined;
|
|
243
|
-
} | ((arg: VDataIteratorSlotProps) => vue.VNodeChild);
|
|
244
|
-
'v-slots'?: {
|
|
245
|
-
default?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
246
|
-
header?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
247
|
-
footer?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
248
|
-
'no-data'?: false | (() => vue.VNodeChild) | undefined;
|
|
249
|
-
} | undefined;
|
|
250
|
-
} & {
|
|
251
|
-
"v-slot:default"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
252
|
-
"v-slot:header"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
253
|
-
"v-slot:footer"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
254
|
-
"v-slot:no-data"?: false | (() => vue.VNodeChild) | undefined;
|
|
255
267
|
} & {
|
|
256
268
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
257
269
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
@@ -261,7 +273,7 @@ declare const VDataIterator: {
|
|
|
261
273
|
"onUpdate:itemsPerPage"?: ((value: number) => any) | undefined;
|
|
262
274
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
263
275
|
"onUpdate:currentItems"?: ((value: any) => any) | undefined;
|
|
264
|
-
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
276
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
|
265
277
|
'update:modelValue': (value: any[]) => boolean;
|
|
266
278
|
'update:groupBy': (value: any) => boolean;
|
|
267
279
|
'update:page': (value: number) => boolean;
|
|
@@ -270,14 +282,13 @@ declare const VDataIterator: {
|
|
|
270
282
|
'update:options': (value: any) => boolean;
|
|
271
283
|
'update:expanded': (value: any) => boolean;
|
|
272
284
|
'update:currentItems': (value: any) => boolean;
|
|
273
|
-
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
285
|
+
}, "$children" | "v-slot:default" | "v-slots" | "items" | "v-slot:header" | "v-slot:no-data" | "v-slot:footer">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
274
286
|
page: string | number;
|
|
275
287
|
loading: boolean;
|
|
276
288
|
style: vue.StyleValue;
|
|
277
289
|
expanded: readonly string[];
|
|
278
290
|
tag: string;
|
|
279
291
|
sortBy: readonly SortItem[];
|
|
280
|
-
items: any[];
|
|
281
292
|
modelValue: readonly any[];
|
|
282
293
|
valueComparator: typeof deepEqual;
|
|
283
294
|
selectStrategy: "all" | "page" | "single";
|
|
@@ -300,24 +311,6 @@ declare const VDataIterator: {
|
|
|
300
311
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
|
301
312
|
filterKeys?: FilterKeys | undefined;
|
|
302
313
|
customKeySort?: Record<string, DataTableCompareFunction> | undefined;
|
|
303
|
-
} & {
|
|
304
|
-
$children?: vue.VNodeChild | {
|
|
305
|
-
default?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
306
|
-
header?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
307
|
-
footer?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
308
|
-
'no-data'?: (() => vue.VNodeChild) | undefined;
|
|
309
|
-
} | ((arg: VDataIteratorSlotProps) => vue.VNodeChild);
|
|
310
|
-
'v-slots'?: {
|
|
311
|
-
default?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
312
|
-
header?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
313
|
-
footer?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
314
|
-
'no-data'?: false | (() => vue.VNodeChild) | undefined;
|
|
315
|
-
} | undefined;
|
|
316
|
-
} & {
|
|
317
|
-
"v-slot:default"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
318
|
-
"v-slot:header"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
319
|
-
"v-slot:footer"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
320
|
-
"v-slot:no-data"?: false | (() => vue.VNodeChild) | undefined;
|
|
321
314
|
} & {
|
|
322
315
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
323
316
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
@@ -334,7 +327,6 @@ declare const VDataIterator: {
|
|
|
334
327
|
expanded: readonly string[];
|
|
335
328
|
tag: string;
|
|
336
329
|
sortBy: readonly SortItem[];
|
|
337
|
-
items: any[];
|
|
338
330
|
modelValue: readonly any[];
|
|
339
331
|
valueComparator: typeof deepEqual;
|
|
340
332
|
selectStrategy: "all" | "page" | "single";
|
|
@@ -351,13 +343,13 @@ declare const VDataIterator: {
|
|
|
351
343
|
showExpand: boolean;
|
|
352
344
|
itemsPerPage: NonNullable<string | number>;
|
|
353
345
|
}, true, {}, vue.SlotsType<Partial<{
|
|
354
|
-
default: (arg: VDataIteratorSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
346
|
+
default: (arg: VDataIteratorSlotProps<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
355
347
|
[key: string]: any;
|
|
356
348
|
}>[];
|
|
357
|
-
header: (arg: VDataIteratorSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
349
|
+
header: (arg: VDataIteratorSlotProps<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
358
350
|
[key: string]: any;
|
|
359
351
|
}>[];
|
|
360
|
-
footer: (arg: VDataIteratorSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
352
|
+
footer: (arg: VDataIteratorSlotProps<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
361
353
|
[key: string]: any;
|
|
362
354
|
}>[];
|
|
363
355
|
'no-data': () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -377,7 +369,6 @@ declare const VDataIterator: {
|
|
|
377
369
|
expanded: readonly string[];
|
|
378
370
|
tag: string;
|
|
379
371
|
sortBy: readonly SortItem[];
|
|
380
|
-
items: any[];
|
|
381
372
|
modelValue: readonly any[];
|
|
382
373
|
valueComparator: typeof deepEqual;
|
|
383
374
|
selectStrategy: "all" | "page" | "single";
|
|
@@ -400,24 +391,6 @@ declare const VDataIterator: {
|
|
|
400
391
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
|
401
392
|
filterKeys?: FilterKeys | undefined;
|
|
402
393
|
customKeySort?: Record<string, DataTableCompareFunction> | undefined;
|
|
403
|
-
} & {
|
|
404
|
-
$children?: vue.VNodeChild | {
|
|
405
|
-
default?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
406
|
-
header?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
407
|
-
footer?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
408
|
-
'no-data'?: (() => vue.VNodeChild) | undefined;
|
|
409
|
-
} | ((arg: VDataIteratorSlotProps) => vue.VNodeChild);
|
|
410
|
-
'v-slots'?: {
|
|
411
|
-
default?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
412
|
-
header?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
413
|
-
footer?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
414
|
-
'no-data'?: false | (() => vue.VNodeChild) | undefined;
|
|
415
|
-
} | undefined;
|
|
416
|
-
} & {
|
|
417
|
-
"v-slot:default"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
418
|
-
"v-slot:header"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
419
|
-
"v-slot:footer"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
420
|
-
"v-slot:no-data"?: false | (() => vue.VNodeChild) | undefined;
|
|
421
394
|
} & {
|
|
422
395
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
423
396
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
@@ -434,7 +407,6 @@ declare const VDataIterator: {
|
|
|
434
407
|
expanded: readonly string[];
|
|
435
408
|
tag: string;
|
|
436
409
|
sortBy: readonly SortItem[];
|
|
437
|
-
items: any[];
|
|
438
410
|
modelValue: readonly any[];
|
|
439
411
|
valueComparator: typeof deepEqual;
|
|
440
412
|
selectStrategy: "all" | "page" | "single";
|
|
@@ -461,7 +433,6 @@ declare const VDataIterator: {
|
|
|
461
433
|
expanded: readonly string[];
|
|
462
434
|
tag: string;
|
|
463
435
|
sortBy: readonly SortItem[];
|
|
464
|
-
items: any[];
|
|
465
436
|
modelValue: readonly any[];
|
|
466
437
|
valueComparator: typeof deepEqual;
|
|
467
438
|
selectStrategy: "all" | "page" | "single";
|
|
@@ -484,24 +455,6 @@ declare const VDataIterator: {
|
|
|
484
455
|
customKeyFilter?: FilterKeyFunctions | undefined;
|
|
485
456
|
filterKeys?: FilterKeys | undefined;
|
|
486
457
|
customKeySort?: Record<string, DataTableCompareFunction> | undefined;
|
|
487
|
-
} & {
|
|
488
|
-
$children?: vue.VNodeChild | {
|
|
489
|
-
default?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
490
|
-
header?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
491
|
-
footer?: ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
492
|
-
'no-data'?: (() => vue.VNodeChild) | undefined;
|
|
493
|
-
} | ((arg: VDataIteratorSlotProps) => vue.VNodeChild);
|
|
494
|
-
'v-slots'?: {
|
|
495
|
-
default?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
496
|
-
header?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
497
|
-
footer?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
498
|
-
'no-data'?: false | (() => vue.VNodeChild) | undefined;
|
|
499
|
-
} | undefined;
|
|
500
|
-
} & {
|
|
501
|
-
"v-slot:default"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
502
|
-
"v-slot:header"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
503
|
-
"v-slot:footer"?: false | ((arg: VDataIteratorSlotProps) => vue.VNodeChild) | undefined;
|
|
504
|
-
"v-slot:no-data"?: false | (() => vue.VNodeChild) | undefined;
|
|
505
458
|
} & {
|
|
506
459
|
"onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
|
|
507
460
|
"onUpdate:sortBy"?: ((value: any) => any) | undefined;
|
|
@@ -511,7 +464,7 @@ declare const VDataIterator: {
|
|
|
511
464
|
"onUpdate:itemsPerPage"?: ((value: number) => any) | undefined;
|
|
512
465
|
"onUpdate:options"?: ((value: any) => any) | undefined;
|
|
513
466
|
"onUpdate:currentItems"?: ((value: any) => any) | undefined;
|
|
514
|
-
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
467
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
|
515
468
|
'update:modelValue': (value: any[]) => boolean;
|
|
516
469
|
'update:groupBy': (value: any) => boolean;
|
|
517
470
|
'update:page': (value: number) => boolean;
|
|
@@ -520,14 +473,13 @@ declare const VDataIterator: {
|
|
|
520
473
|
'update:options': (value: any) => boolean;
|
|
521
474
|
'update:expanded': (value: any) => boolean;
|
|
522
475
|
'update:currentItems': (value: any) => boolean;
|
|
523
|
-
}, string, {
|
|
476
|
+
}, "$children" | "v-slot:default" | "v-slots" | "items" | "v-slot:header" | "v-slot:no-data" | "v-slot:footer">, string, {
|
|
524
477
|
page: string | number;
|
|
525
478
|
loading: boolean;
|
|
526
479
|
style: vue.StyleValue;
|
|
527
480
|
expanded: readonly string[];
|
|
528
481
|
tag: string;
|
|
529
482
|
sortBy: readonly SortItem[];
|
|
530
|
-
items: any[];
|
|
531
483
|
modelValue: readonly any[];
|
|
532
484
|
valueComparator: typeof deepEqual;
|
|
533
485
|
selectStrategy: "all" | "page" | "single";
|
|
@@ -544,19 +496,23 @@ declare const VDataIterator: {
|
|
|
544
496
|
showExpand: boolean;
|
|
545
497
|
itemsPerPage: NonNullable<string | number>;
|
|
546
498
|
}, {}, string, vue.SlotsType<Partial<{
|
|
547
|
-
default: (arg: VDataIteratorSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
499
|
+
default: (arg: VDataIteratorSlotProps<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
548
500
|
[key: string]: any;
|
|
549
501
|
}>[];
|
|
550
|
-
header: (arg: VDataIteratorSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
502
|
+
header: (arg: VDataIteratorSlotProps<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
551
503
|
[key: string]: any;
|
|
552
504
|
}>[];
|
|
553
|
-
footer: (arg: VDataIteratorSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
505
|
+
footer: (arg: VDataIteratorSlotProps<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
554
506
|
[key: string]: any;
|
|
555
507
|
}>[];
|
|
556
508
|
'no-data': () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
557
509
|
[key: string]: any;
|
|
558
510
|
}>[];
|
|
559
|
-
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps &
|
|
511
|
+
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>(props: {
|
|
512
|
+
items?: readonly T[] | undefined;
|
|
513
|
+
}, slots: VDataIteratorSlots<T>) => GenericProps<{
|
|
514
|
+
items?: readonly T[] | undefined;
|
|
515
|
+
}, VDataIteratorSlots<T>>) & FilterPropsOptions<{
|
|
560
516
|
tag: {
|
|
561
517
|
type: StringConstructor;
|
|
562
518
|
default: string;
|
|
@@ -239,6 +239,219 @@ type VDataTableHeadersSlots = {
|
|
|
239
239
|
} & {
|
|
240
240
|
[key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps;
|
|
241
241
|
};
|
|
242
|
+
declare const VDataTableHeaders: {
|
|
243
|
+
new (...args: any[]): vue.CreateComponentPublicInstance<{
|
|
244
|
+
sticky: boolean;
|
|
245
|
+
multiSort: boolean;
|
|
246
|
+
sortAscIcon: IconValue;
|
|
247
|
+
sortDescIcon: IconValue;
|
|
248
|
+
} & {
|
|
249
|
+
color?: string | undefined;
|
|
250
|
+
loading?: string | boolean | undefined;
|
|
251
|
+
headerProps?: Record<string, any> | undefined;
|
|
252
|
+
} & {
|
|
253
|
+
$children?: {} | vue.VNodeChild | {
|
|
254
|
+
[x: `header.${string}`]: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
255
|
+
headers?: ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
256
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
257
|
+
'header.data-table-select'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
258
|
+
'header.data-table-expand'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
259
|
+
};
|
|
260
|
+
'v-slots'?: {
|
|
261
|
+
[x: `header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
262
|
+
headers?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
263
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
264
|
+
'header.data-table-select'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
265
|
+
'header.data-table-expand'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
266
|
+
} | undefined;
|
|
267
|
+
} & {
|
|
268
|
+
[x: `v-slot:header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
269
|
+
"v-slot:headers"?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
270
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
271
|
+
"v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
272
|
+
"v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
273
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
274
|
+
sticky: boolean;
|
|
275
|
+
multiSort: boolean;
|
|
276
|
+
sortAscIcon: IconValue;
|
|
277
|
+
sortDescIcon: IconValue;
|
|
278
|
+
} & {
|
|
279
|
+
color?: string | undefined;
|
|
280
|
+
loading?: string | boolean | undefined;
|
|
281
|
+
headerProps?: Record<string, any> | undefined;
|
|
282
|
+
} & {
|
|
283
|
+
$children?: {} | vue.VNodeChild | {
|
|
284
|
+
[x: `header.${string}`]: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
285
|
+
headers?: ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
286
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
287
|
+
'header.data-table-select'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
288
|
+
'header.data-table-expand'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
289
|
+
};
|
|
290
|
+
'v-slots'?: {
|
|
291
|
+
[x: `header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
292
|
+
headers?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
293
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
294
|
+
'header.data-table-select'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
295
|
+
'header.data-table-expand'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
296
|
+
} | undefined;
|
|
297
|
+
} & {
|
|
298
|
+
[x: `v-slot:header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
299
|
+
"v-slot:headers"?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
300
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
301
|
+
"v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
302
|
+
"v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
303
|
+
}, {
|
|
304
|
+
sticky: boolean;
|
|
305
|
+
multiSort: boolean;
|
|
306
|
+
sortAscIcon: IconValue;
|
|
307
|
+
sortDescIcon: IconValue;
|
|
308
|
+
}, true, {}, vue.SlotsType<Partial<{
|
|
309
|
+
[x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
310
|
+
[key: string]: any;
|
|
311
|
+
}>[];
|
|
312
|
+
headers: (arg: HeadersSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
313
|
+
[key: string]: any;
|
|
314
|
+
}>[];
|
|
315
|
+
loader: (arg: LoaderSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
316
|
+
[key: string]: any;
|
|
317
|
+
}>[];
|
|
318
|
+
'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
319
|
+
[key: string]: any;
|
|
320
|
+
}>[];
|
|
321
|
+
'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
322
|
+
[key: string]: any;
|
|
323
|
+
}>[];
|
|
324
|
+
}>>, {
|
|
325
|
+
P: {};
|
|
326
|
+
B: {};
|
|
327
|
+
D: {};
|
|
328
|
+
C: {};
|
|
329
|
+
M: {};
|
|
330
|
+
Defaults: {};
|
|
331
|
+
}, {
|
|
332
|
+
sticky: boolean;
|
|
333
|
+
multiSort: boolean;
|
|
334
|
+
sortAscIcon: IconValue;
|
|
335
|
+
sortDescIcon: IconValue;
|
|
336
|
+
} & {
|
|
337
|
+
color?: string | undefined;
|
|
338
|
+
loading?: string | boolean | undefined;
|
|
339
|
+
headerProps?: Record<string, any> | undefined;
|
|
340
|
+
} & {
|
|
341
|
+
$children?: {} | vue.VNodeChild | {
|
|
342
|
+
[x: `header.${string}`]: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
343
|
+
headers?: ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
344
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
345
|
+
'header.data-table-select'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
346
|
+
'header.data-table-expand'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
347
|
+
};
|
|
348
|
+
'v-slots'?: {
|
|
349
|
+
[x: `header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
350
|
+
headers?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
351
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
352
|
+
'header.data-table-select'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
353
|
+
'header.data-table-expand'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
354
|
+
} | undefined;
|
|
355
|
+
} & {
|
|
356
|
+
[x: `v-slot:header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
357
|
+
"v-slot:headers"?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
358
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
359
|
+
"v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
360
|
+
"v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
361
|
+
}, {}, {}, {}, {}, {
|
|
362
|
+
sticky: boolean;
|
|
363
|
+
multiSort: boolean;
|
|
364
|
+
sortAscIcon: IconValue;
|
|
365
|
+
sortDescIcon: IconValue;
|
|
366
|
+
}>;
|
|
367
|
+
__isFragment?: undefined;
|
|
368
|
+
__isTeleport?: undefined;
|
|
369
|
+
__isSuspense?: undefined;
|
|
370
|
+
} & vue.ComponentOptionsBase<{
|
|
371
|
+
sticky: boolean;
|
|
372
|
+
multiSort: boolean;
|
|
373
|
+
sortAscIcon: IconValue;
|
|
374
|
+
sortDescIcon: IconValue;
|
|
375
|
+
} & {
|
|
376
|
+
color?: string | undefined;
|
|
377
|
+
loading?: string | boolean | undefined;
|
|
378
|
+
headerProps?: Record<string, any> | undefined;
|
|
379
|
+
} & {
|
|
380
|
+
$children?: {} | vue.VNodeChild | {
|
|
381
|
+
[x: `header.${string}`]: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
382
|
+
headers?: ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
383
|
+
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
384
|
+
'header.data-table-select'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
385
|
+
'header.data-table-expand'?: ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
386
|
+
};
|
|
387
|
+
'v-slots'?: {
|
|
388
|
+
[x: `header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
389
|
+
headers?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
390
|
+
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
391
|
+
'header.data-table-select'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
392
|
+
'header.data-table-expand'?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
393
|
+
} | undefined;
|
|
394
|
+
} & {
|
|
395
|
+
[x: `v-slot:header.${string}`]: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
396
|
+
"v-slot:headers"?: false | ((arg: HeadersSlotProps) => vue.VNodeChild) | undefined;
|
|
397
|
+
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
|
|
398
|
+
"v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
399
|
+
"v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
|
|
400
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
401
|
+
sticky: boolean;
|
|
402
|
+
multiSort: boolean;
|
|
403
|
+
sortAscIcon: IconValue;
|
|
404
|
+
sortDescIcon: IconValue;
|
|
405
|
+
}, {}, string, vue.SlotsType<Partial<{
|
|
406
|
+
[x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
407
|
+
[key: string]: any;
|
|
408
|
+
}>[];
|
|
409
|
+
headers: (arg: HeadersSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
410
|
+
[key: string]: any;
|
|
411
|
+
}>[];
|
|
412
|
+
loader: (arg: LoaderSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
413
|
+
[key: string]: any;
|
|
414
|
+
}>[];
|
|
415
|
+
'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
416
|
+
[key: string]: any;
|
|
417
|
+
}>[];
|
|
418
|
+
'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
419
|
+
[key: string]: any;
|
|
420
|
+
}>[];
|
|
421
|
+
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
422
|
+
loading: (StringConstructor | BooleanConstructor)[];
|
|
423
|
+
color: StringConstructor;
|
|
424
|
+
sticky: BooleanConstructor;
|
|
425
|
+
multiSort: BooleanConstructor;
|
|
426
|
+
sortAscIcon: {
|
|
427
|
+
type: PropType<IconValue>;
|
|
428
|
+
default: string;
|
|
429
|
+
};
|
|
430
|
+
sortDescIcon: {
|
|
431
|
+
type: PropType<IconValue>;
|
|
432
|
+
default: string;
|
|
433
|
+
};
|
|
434
|
+
headerProps: {
|
|
435
|
+
type: PropType<Record<string, any>>;
|
|
436
|
+
};
|
|
437
|
+
}, vue.ExtractPropTypes<{
|
|
438
|
+
loading: (StringConstructor | BooleanConstructor)[];
|
|
439
|
+
color: StringConstructor;
|
|
440
|
+
sticky: BooleanConstructor;
|
|
441
|
+
multiSort: BooleanConstructor;
|
|
442
|
+
sortAscIcon: {
|
|
443
|
+
type: PropType<IconValue>;
|
|
444
|
+
default: string;
|
|
445
|
+
};
|
|
446
|
+
sortDescIcon: {
|
|
447
|
+
type: PropType<IconValue>;
|
|
448
|
+
default: string;
|
|
449
|
+
};
|
|
450
|
+
headerProps: {
|
|
451
|
+
type: PropType<Record<string, any>>;
|
|
452
|
+
};
|
|
453
|
+
}>>;
|
|
454
|
+
type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>;
|
|
242
455
|
|
|
243
456
|
type Density = null | 'default' | 'comfortable' | 'compact';
|
|
244
457
|
|
|
@@ -4176,4 +4389,4 @@ declare const VDataTableServer: {
|
|
|
4176
4389
|
}>>;
|
|
4177
4390
|
type VDataTableServer = InstanceType<typeof VDataTableServer>;
|
|
4178
4391
|
|
|
4179
|
-
export { VDataTable, VDataTableFooter, VDataTableRow, VDataTableRows, VDataTableServer, VDataTableVirtual };
|
|
4392
|
+
export { VDataTable, VDataTableFooter, VDataTableHeaders, VDataTableRow, VDataTableRows, VDataTableServer, VDataTableVirtual };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { VDataTable } from "./VDataTable.mjs";
|
|
2
|
+
export { VDataTableHeaders } from "./VDataTableHeaders.mjs";
|
|
2
3
|
export { VDataTableFooter } from "./VDataTableFooter.mjs";
|
|
3
4
|
export { VDataTableRows } from "./VDataTableRows.mjs";
|
|
4
5
|
export { VDataTableRow } from "./VDataTableRow.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["VDataTable","VDataTableFooter","VDataTableRows","VDataTableRow","VDataTableVirtual","VDataTableServer"],"sources":["../../../src/components/VDataTable/index.ts"],"sourcesContent":["export { VDataTable } from './VDataTable'\nexport { VDataTableFooter } from './VDataTableFooter'\nexport { VDataTableRows } from './VDataTableRows'\nexport { VDataTableRow } from './VDataTableRow'\nexport { VDataTableVirtual } from './VDataTableVirtual'\nexport { VDataTableServer } from './VDataTableServer'\n"],"mappings":"SAASA,UAAU;AAAA,SACVC,gBAAgB;AAAA,SAChBC,cAAc;AAAA,SACdC,aAAa;AAAA,SACbC,iBAAiB;AAAA,SACjBC,gBAAgB"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VDataTable","VDataTableHeaders","VDataTableFooter","VDataTableRows","VDataTableRow","VDataTableVirtual","VDataTableServer"],"sources":["../../../src/components/VDataTable/index.ts"],"sourcesContent":["export { VDataTable } from './VDataTable'\nexport { VDataTableHeaders } from './VDataTableHeaders'\nexport { VDataTableFooter } from './VDataTableFooter'\nexport { VDataTableRows } from './VDataTableRows'\nexport { VDataTableRow } from './VDataTableRow'\nexport { VDataTableVirtual } from './VDataTableVirtual'\nexport { VDataTableServer } from './VDataTableServer'\n"],"mappings":"SAASA,UAAU;AAAA,SACVC,iBAAiB;AAAA,SACjBC,gBAAgB;AAAA,SAChBC,cAAc;AAAA,SACdC,aAAa;AAAA,SACbC,iBAAiB;AAAA,SACjBC,gBAAgB"}
|
|
@@ -131,23 +131,20 @@
|
|
|
131
131
|
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
.v-expansion-panel-title--
|
|
134
|
+
.v-expansion-panel-title--focusable.v-expansion-panel-title--active .v-expansion-panel-title__overlay {
|
|
135
135
|
opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier));
|
|
136
136
|
}
|
|
137
|
-
.v-expansion-panel-title--
|
|
137
|
+
.v-expansion-panel-title--focusable.v-expansion-panel-title--active:hover .v-expansion-panel-title__overlay {
|
|
138
138
|
opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
|
|
139
139
|
}
|
|
140
|
-
.v-expansion-panel-title--
|
|
140
|
+
.v-expansion-panel-title--focusable.v-expansion-panel-title--active:focus-visible .v-expansion-panel-title__overlay {
|
|
141
141
|
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
|
142
142
|
}
|
|
143
143
|
@supports not selector(:focus-visible) {
|
|
144
|
-
.v-expansion-panel-title--
|
|
144
|
+
.v-expansion-panel-title--focusable.v-expansion-panel-title--active:focus .v-expansion-panel-title__overlay {
|
|
145
145
|
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
.v-expansion-panel-title--active::before {
|
|
149
|
-
opacity: 0.12;
|
|
150
|
-
}
|
|
151
148
|
|
|
152
149
|
.v-expansion-panel-title__overlay {
|
|
153
150
|
position: absolute;
|
|
@@ -126,10 +126,11 @@
|
|
|
126
126
|
transition: .3s min-height settings.$standard-easing
|
|
127
127
|
width: 100%
|
|
128
128
|
justify-content: space-between
|
|
129
|
-
@include tools.states('.v-expansion-panel-title__overlay', true)
|
|
130
129
|
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
@include tools.states('.v-expansion-panel-title__overlay', false)
|
|
131
|
+
|
|
132
|
+
&--focusable.v-expansion-panel-title--active
|
|
133
|
+
@include tools.active-states('.v-expansion-panel-title__overlay')
|
|
133
134
|
|
|
134
135
|
.v-expansion-panel-title__overlay
|
|
135
136
|
@include tools.absolute()
|
|
@@ -19,6 +19,7 @@ export const makeVExpansionPanelTitleProps = propsFactory({
|
|
|
19
19
|
default: '$collapse'
|
|
20
20
|
},
|
|
21
21
|
hideActions: Boolean,
|
|
22
|
+
focusable: Boolean,
|
|
22
23
|
static: Boolean,
|
|
23
24
|
ripple: {
|
|
24
25
|
type: [Boolean, Object],
|
|
@@ -53,6 +54,7 @@ export const VExpansionPanelTitle = genericComponent()({
|
|
|
53
54
|
useRender(() => _withDirectives(_createVNode("button", {
|
|
54
55
|
"class": ['v-expansion-panel-title', {
|
|
55
56
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value,
|
|
57
|
+
'v-expansion-panel-title--focusable': props.focusable,
|
|
56
58
|
'v-expansion-panel-title--static': props.static
|
|
57
59
|
}, backgroundColorClasses.value, props.class],
|
|
58
60
|
"style": [backgroundColorStyles.value, props.style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </span>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":";AAAA;AAAA,SACSA,qBAAqB;AAAA,SACrBC,KAAK,8BAEd;AAAA,SACSC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,SAAS,uCAElB;AAAA,SACSC,MAAM,6CAEf;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAiBA,OAAO,MAAMC,6BAA6B,GAAGF,YAAY,CAAC;EACxDG,KAAK,EAAEC,MAAM;EACbC,UAAU,EAAE;IACVC,IAAI,EAAEX,SAAS;IACfY,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IACZF,IAAI,EAAEX,SAAS;IACfY,OAAO,EAAE;EACX,CAAC;EACDE,WAAW,EAAEC,OAAO;EACpBC,
|
|
1
|
+
{"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </span>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
|
|
|
15
15
|
export const makeVExpansionPanelsProps = propsFactory({
|
|
16
16
|
color: String,
|
|
17
17
|
flat: Boolean,
|
|
18
|
+
focusable: Boolean,
|
|
18
19
|
static: Boolean,
|
|
19
20
|
tile: Boolean,
|
|
20
21
|
variant: {
|
|
@@ -49,6 +50,7 @@ export const VExpansionPanels = genericComponent()({
|
|
|
49
50
|
readonly: toRef(props, 'readonly')
|
|
50
51
|
},
|
|
51
52
|
VExpansionPanelTitle: {
|
|
53
|
+
focusable: toRef(props, 'focusable'),
|
|
52
54
|
static: toRef(props, 'static')
|
|
53
55
|
}
|
|
54
56
|
});
|