@vuetify/nightly 3.8.7-master.2025-06-02 → 3.8.8-dev.2025-06-04
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/CHANGELOG.md +33 -11
- package/dist/json/attributes.json +2042 -1942
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +146 -146
- package/dist/json/tags.json +25 -0
- package/dist/json/web-types.json +3842 -3510
- package/dist/vuetify-labs.cjs +380 -152
- package/dist/vuetify-labs.css +5726 -5686
- package/dist/vuetify-labs.d.ts +2393 -1889
- package/dist/vuetify-labs.esm.js +381 -153
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +380 -152
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +374 -141
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2674 -2634
- package/dist/vuetify.d.ts +1548 -1084
- package/dist/vuetify.esm.js +375 -142
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +374 -141
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1226 -1208
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +6 -1
- package/lib/components/VAlert/VAlert.d.ts +35 -0
- package/lib/components/VAlert/VAlert.js +15 -10
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +7 -1
- package/lib/components/VAppBar/VAppBar.d.ts +15 -3
- package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
- package/lib/components/VAutocomplete/VAutocomplete.css +6 -6
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +154 -103
- package/lib/components/VAutocomplete/VAutocomplete.js +21 -3
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +3 -9
- package/lib/components/VBtn/VBtn.d.ts +20 -10
- package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
- package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
- package/lib/components/VCard/VCard.d.ts +20 -10
- package/lib/components/VCheckbox/VCheckbox.d.ts +23 -13
- package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
- package/lib/components/VChip/VChip.d.ts +20 -10
- package/lib/components/VChip/VChip.js +1 -0
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
- package/lib/components/VCombobox/VCombobox.css +6 -6
- package/lib/components/VCombobox/VCombobox.d.ts +154 -103
- package/lib/components/VCombobox/VCombobox.js +22 -3
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +3 -9
- package/lib/components/VDataTable/VDataTable.d.ts +60 -0
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
- package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +42 -0
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +42 -0
- package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
- package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
- package/lib/components/VFab/VFab.d.ts +20 -10
- package/lib/components/VField/VField.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +15 -15
- package/lib/components/VInput/VInput.d.ts +4 -4
- package/lib/components/VList/VList.d.ts +13 -0
- package/lib/components/VList/VList.js +4 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +23 -10
- package/lib/components/VList/VListItem.js +7 -3
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/list.d.ts +9 -2
- package/lib/components/VList/list.js +7 -0
- package/lib/components/VList/list.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
- package/lib/components/VNumberInput/VNumberInput.js +19 -4
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +2 -1
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VRadio/VRadio.d.ts +20 -10
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +23 -13
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
- package/lib/components/VSelect/VSelect.css +6 -0
- package/lib/components/VSelect/VSelect.d.ts +171 -107
- package/lib/components/VSelect/VSelect.js +21 -3
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelect.sass +3 -0
- package/lib/components/VSelect/_mixins.scss +14 -0
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
- package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
- package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +3 -3
- package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
- package/lib/components/VSlider/VSliderThumb.js +12 -6
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/components/VSlider/slider.js +4 -1
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VStepper/VStepperItem.d.ts +28 -14
- package/lib/components/VSwitch/VSwitch.d.ts +23 -13
- package/lib/components/VTable/VTable.css +6 -0
- package/lib/components/VTable/VTable.d.ts +55 -24
- package/lib/components/VTable/VTable.js +9 -2
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VTable/VTable.sass +14 -0
- package/lib/components/VTable/_variables.scss +1 -0
- package/lib/components/VTabs/VTab.d.ts +56 -28
- package/lib/components/VTabs/VTabs.d.ts +10 -0
- package/lib/components/VTextField/VTextField.d.ts +27 -27
- package/lib/components/VTextarea/VTextarea.d.ts +15 -15
- package/lib/components/VToolbar/VToolbar.d.ts +15 -3
- package/lib/components/VToolbar/VToolbar.js +6 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/composables/calendar.d.ts +6 -0
- package/lib/composables/calendar.js +2 -1
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +3 -3
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/string.d.ts +54 -0
- package/lib/composables/date/adapters/string.js +153 -0
- package/lib/composables/date/adapters/string.js.map +1 -0
- package/lib/composables/date/adapters/vuetify.d.ts +1 -1
- package/lib/composables/date/adapters/vuetify.js +4 -4
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +3 -3
- package/lib/composables/date/index.d.ts +1 -0
- package/lib/composables/date/index.js +1 -0
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/filter.js +3 -0
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/iconSizes.d.ts +28 -0
- package/lib/composables/iconSizes.js +23 -0
- package/lib/composables/iconSizes.js.map +1 -0
- package/lib/composables/list-items.js +2 -2
- package/lib/composables/list-items.js.map +1 -1
- package/lib/composables/theme.d.ts +6 -1
- package/lib/composables/theme.js +94 -26
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/virtual.js +6 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/directives/ripple/index.d.ts +2 -1
- package/lib/directives/ripple/index.js +12 -7
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/entry-bundler.d.ts +3 -3
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +73 -58
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
- package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
- package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
- package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
- package/lib/labs/VIconBtn/VIconBtn.js +7 -11
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
- package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
- package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
- package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
- package/lib/labs/entry-bundler.d.ts +3 -3
- package/lib/util/globals.d.ts +1 -0
- package/lib/util/globals.js +1 -0
- package/lib/util/globals.js.map +1 -1
- package/lib/util/helpers.d.ts +1 -0
- package/lib/util/helpers.js +9 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +3 -1
@@ -145,14 +145,18 @@ export declare const makeVSwitchProps: <Defaults extends {
|
|
145
145
|
default: boolean;
|
146
146
|
}, "type" | "default"> & {
|
147
147
|
type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
|
148
|
-
class
|
148
|
+
class?: string;
|
149
|
+
keys?: number[];
|
149
150
|
} | undefined : boolean | {
|
150
|
-
class
|
151
|
+
class?: string;
|
152
|
+
keys?: number[];
|
151
153
|
} | Defaults["ripple"] | undefined>;
|
152
154
|
default: unknown extends Defaults["ripple"] ? boolean | {
|
153
|
-
class
|
155
|
+
class?: string;
|
156
|
+
keys?: number[];
|
154
157
|
} | undefined : NonNullable<boolean | {
|
155
|
-
class
|
158
|
+
class?: string;
|
159
|
+
keys?: number[];
|
156
160
|
} | undefined> | Defaults["ripple"];
|
157
161
|
};
|
158
162
|
multiple: unknown extends Defaults["multiple"] ? {
|
@@ -391,7 +395,8 @@ export declare const VSwitch: {
|
|
391
395
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
392
396
|
density: import("../../composables/density.js").Density;
|
393
397
|
ripple: boolean | {
|
394
|
-
class
|
398
|
+
class?: string;
|
399
|
+
keys?: number[];
|
395
400
|
} | undefined;
|
396
401
|
centerAffix: boolean;
|
397
402
|
glow: boolean;
|
@@ -415,6 +420,7 @@ export declare const VSwitch: {
|
|
415
420
|
baseColor?: string | undefined;
|
416
421
|
prependIcon?: IconValue | undefined;
|
417
422
|
appendIcon?: IconValue | undefined;
|
423
|
+
iconColor?: string | boolean | undefined;
|
418
424
|
defaultsTarget?: string | undefined;
|
419
425
|
falseIcon?: IconValue | undefined;
|
420
426
|
trueIcon?: IconValue | undefined;
|
@@ -422,7 +428,6 @@ export declare const VSwitch: {
|
|
422
428
|
falseValue?: any;
|
423
429
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
424
430
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
425
|
-
iconColor?: string | boolean | undefined;
|
426
431
|
hint?: string | undefined;
|
427
432
|
hideDetails?: boolean | "auto" | undefined;
|
428
433
|
} & {
|
@@ -452,7 +457,8 @@ export declare const VSwitch: {
|
|
452
457
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
453
458
|
density: import("../../composables/density.js").Density;
|
454
459
|
ripple: boolean | {
|
455
|
-
class
|
460
|
+
class?: string;
|
461
|
+
keys?: number[];
|
456
462
|
} | undefined;
|
457
463
|
centerAffix: boolean;
|
458
464
|
glow: boolean;
|
@@ -505,7 +511,8 @@ export declare const VSwitch: {
|
|
505
511
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
506
512
|
density: import("../../composables/density.js").Density;
|
507
513
|
ripple: boolean | {
|
508
|
-
class
|
514
|
+
class?: string;
|
515
|
+
keys?: number[];
|
509
516
|
} | undefined;
|
510
517
|
centerAffix: boolean;
|
511
518
|
glow: boolean;
|
@@ -529,6 +536,7 @@ export declare const VSwitch: {
|
|
529
536
|
baseColor?: string | undefined;
|
530
537
|
prependIcon?: IconValue | undefined;
|
531
538
|
appendIcon?: IconValue | undefined;
|
539
|
+
iconColor?: string | boolean | undefined;
|
532
540
|
defaultsTarget?: string | undefined;
|
533
541
|
falseIcon?: IconValue | undefined;
|
534
542
|
trueIcon?: IconValue | undefined;
|
@@ -536,7 +544,6 @@ export declare const VSwitch: {
|
|
536
544
|
falseValue?: any;
|
537
545
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
538
546
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
539
|
-
iconColor?: string | boolean | undefined;
|
540
547
|
hint?: string | undefined;
|
541
548
|
hideDetails?: boolean | "auto" | undefined;
|
542
549
|
} & {
|
@@ -562,7 +569,8 @@ export declare const VSwitch: {
|
|
562
569
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
563
570
|
density: import("../../composables/density.js").Density;
|
564
571
|
ripple: boolean | {
|
565
|
-
class
|
572
|
+
class?: string;
|
573
|
+
keys?: number[];
|
566
574
|
} | undefined;
|
567
575
|
centerAffix: boolean;
|
568
576
|
glow: boolean;
|
@@ -592,7 +600,8 @@ export declare const VSwitch: {
|
|
592
600
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
593
601
|
density: import("../../composables/density.js").Density;
|
594
602
|
ripple: boolean | {
|
595
|
-
class
|
603
|
+
class?: string;
|
604
|
+
keys?: number[];
|
596
605
|
} | undefined;
|
597
606
|
centerAffix: boolean;
|
598
607
|
glow: boolean;
|
@@ -616,6 +625,7 @@ export declare const VSwitch: {
|
|
616
625
|
baseColor?: string | undefined;
|
617
626
|
prependIcon?: IconValue | undefined;
|
618
627
|
appendIcon?: IconValue | undefined;
|
628
|
+
iconColor?: string | boolean | undefined;
|
619
629
|
defaultsTarget?: string | undefined;
|
620
630
|
falseIcon?: IconValue | undefined;
|
621
631
|
trueIcon?: IconValue | undefined;
|
@@ -623,7 +633,6 @@ export declare const VSwitch: {
|
|
623
633
|
falseValue?: any;
|
624
634
|
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
|
625
635
|
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
|
626
|
-
iconColor?: string | boolean | undefined;
|
627
636
|
hint?: string | undefined;
|
628
637
|
hideDetails?: boolean | "auto" | undefined;
|
629
638
|
} & {
|
@@ -653,7 +662,8 @@ export declare const VSwitch: {
|
|
653
662
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
654
663
|
density: import("../../composables/density.js").Density;
|
655
664
|
ripple: boolean | {
|
656
|
-
class
|
665
|
+
class?: string;
|
666
|
+
keys?: number[];
|
657
667
|
} | undefined;
|
658
668
|
centerAffix: boolean;
|
659
669
|
glow: boolean;
|
@@ -37,6 +37,12 @@
|
|
37
37
|
width: 100%;
|
38
38
|
height: 100%;
|
39
39
|
}
|
40
|
+
.v-table.v-table--striped-even > .v-table__wrapper > table > tbody > tr:nth-child(even) {
|
41
|
+
background-color: rgba(var(--v-border-color), var(--v-hover-opacity));
|
42
|
+
}
|
43
|
+
.v-table.v-table--striped-odd > .v-table__wrapper > table > tbody > tr:nth-child(odd) {
|
44
|
+
background-color: rgba(var(--v-border-color), var(--v-hover-opacity));
|
45
|
+
}
|
40
46
|
.v-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th {
|
41
47
|
background: rgb(var(--v-theme-surface));
|
42
48
|
box-shadow: inset 0 -1px 0 rgba(var(--v-border-color), var(--v-border-opacity));
|
@@ -1,9 +1,11 @@
|
|
1
|
+
import type { PropType } from 'vue';
|
1
2
|
export type VTableSlots = {
|
2
3
|
default: never;
|
3
4
|
top: never;
|
4
5
|
bottom: never;
|
5
6
|
wrapper: never;
|
6
7
|
};
|
8
|
+
export type Striped = null | 'odd' | 'even';
|
7
9
|
export declare const makeVTableProps: <Defaults extends {
|
8
10
|
theme?: unknown;
|
9
11
|
tag?: unknown;
|
@@ -14,69 +16,83 @@ export declare const makeVTableProps: <Defaults extends {
|
|
14
16
|
fixedFooter?: unknown;
|
15
17
|
height?: unknown;
|
16
18
|
hover?: unknown;
|
19
|
+
striped?: unknown;
|
17
20
|
} = {}>(defaults?: Defaults | undefined) => {
|
18
21
|
theme: unknown extends Defaults["theme"] ? StringConstructor : {
|
19
|
-
type:
|
22
|
+
type: PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>;
|
20
23
|
default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"];
|
21
24
|
};
|
22
25
|
tag: unknown extends Defaults["tag"] ? {
|
23
|
-
type:
|
26
|
+
type: PropType<string | import("../../util/index.js").JSXComponent>;
|
24
27
|
default: string;
|
25
28
|
} : Omit<{
|
26
|
-
type:
|
29
|
+
type: PropType<string | import("../../util/index.js").JSXComponent>;
|
27
30
|
default: string;
|
28
31
|
}, "type" | "default"> & {
|
29
|
-
type:
|
32
|
+
type: PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | import("../../util/index.js").JSXComponent | Defaults["tag"]>;
|
30
33
|
default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : NonNullable<string | import("../../util/index.js").JSXComponent> | Defaults["tag"];
|
31
34
|
};
|
32
35
|
density: unknown extends Defaults["density"] ? {
|
33
|
-
type:
|
36
|
+
type: PropType<import("../../composables/density.js").Density>;
|
34
37
|
default: string;
|
35
38
|
validator: (v: any) => boolean;
|
36
39
|
} : Omit<{
|
37
|
-
type:
|
40
|
+
type: PropType<import("../../composables/density.js").Density>;
|
38
41
|
default: string;
|
39
42
|
validator: (v: any) => boolean;
|
40
43
|
}, "type" | "default"> & {
|
41
|
-
type:
|
44
|
+
type: PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : import("../../composables/density.js").Density | Defaults["density"]>;
|
42
45
|
default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable<import("../../composables/density.js").Density> | Defaults["density"];
|
43
46
|
};
|
44
|
-
class: unknown extends Defaults["class"] ?
|
45
|
-
type:
|
47
|
+
class: unknown extends Defaults["class"] ? PropType<any> : {
|
48
|
+
type: PropType<unknown extends Defaults["class"] ? any : any>;
|
46
49
|
default: unknown extends Defaults["class"] ? any : any;
|
47
50
|
};
|
48
51
|
style: unknown extends Defaults["style"] ? {
|
49
|
-
type:
|
52
|
+
type: PropType<import("vue").StyleValue>;
|
50
53
|
default: null;
|
51
54
|
} : Omit<{
|
52
|
-
type:
|
55
|
+
type: PropType<import("vue").StyleValue>;
|
53
56
|
default: null;
|
54
57
|
}, "type" | "default"> & {
|
55
|
-
type:
|
58
|
+
type: PropType<unknown extends Defaults["style"] ? import("vue").StyleValue : import("vue").StyleValue | Defaults["style"]>;
|
56
59
|
default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable<import("vue").StyleValue> | Defaults["style"];
|
57
60
|
};
|
58
61
|
fixedHeader: unknown extends Defaults["fixedHeader"] ? BooleanConstructor : {
|
59
|
-
type:
|
62
|
+
type: PropType<unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"]>;
|
60
63
|
default: unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"];
|
61
64
|
};
|
62
65
|
fixedFooter: unknown extends Defaults["fixedFooter"] ? BooleanConstructor : {
|
63
|
-
type:
|
66
|
+
type: PropType<unknown extends Defaults["fixedFooter"] ? boolean : boolean | Defaults["fixedFooter"]>;
|
64
67
|
default: unknown extends Defaults["fixedFooter"] ? boolean : boolean | Defaults["fixedFooter"];
|
65
68
|
};
|
66
69
|
height: unknown extends Defaults["height"] ? (StringConstructor | NumberConstructor)[] : {
|
67
|
-
type:
|
70
|
+
type: PropType<unknown extends Defaults["height"] ? string | number : string | number | Defaults["height"]>;
|
68
71
|
default: unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"];
|
69
72
|
};
|
70
73
|
hover: unknown extends Defaults["hover"] ? BooleanConstructor : {
|
71
|
-
type:
|
74
|
+
type: PropType<unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]>;
|
72
75
|
default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"];
|
73
76
|
};
|
77
|
+
striped: unknown extends Defaults["striped"] ? {
|
78
|
+
type: PropType<Striped>;
|
79
|
+
default: null;
|
80
|
+
validator: (v: any) => boolean;
|
81
|
+
} : Omit<{
|
82
|
+
type: PropType<Striped>;
|
83
|
+
default: null;
|
84
|
+
validator: (v: any) => boolean;
|
85
|
+
}, "type" | "default"> & {
|
86
|
+
type: PropType<unknown extends Defaults["striped"] ? Striped : Striped | Defaults["striped"]>;
|
87
|
+
default: unknown extends Defaults["striped"] ? Striped : Defaults["striped"] | NonNullable<Striped>;
|
88
|
+
};
|
74
89
|
};
|
75
90
|
export declare const VTable: {
|
76
91
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
77
92
|
style: import("vue").StyleValue;
|
78
93
|
tag: string | import("../../util/index.js").JSXComponent;
|
79
94
|
density: import("../../composables/density.js").Density;
|
95
|
+
striped: Striped;
|
80
96
|
hover: boolean;
|
81
97
|
fixedHeader: boolean;
|
82
98
|
fixedFooter: boolean;
|
@@ -106,6 +122,7 @@ export declare const VTable: {
|
|
106
122
|
style: import("vue").StyleValue;
|
107
123
|
tag: string | import("../../util/index.js").JSXComponent;
|
108
124
|
density: import("../../composables/density.js").Density;
|
125
|
+
striped: Striped;
|
109
126
|
hover: boolean;
|
110
127
|
fixedHeader: boolean;
|
111
128
|
fixedFooter: boolean;
|
@@ -125,6 +142,7 @@ export declare const VTable: {
|
|
125
142
|
style: import("vue").StyleValue;
|
126
143
|
tag: string | import("../../util/index.js").JSXComponent;
|
127
144
|
density: import("../../composables/density.js").Density;
|
145
|
+
striped: Striped;
|
128
146
|
hover: boolean;
|
129
147
|
fixedHeader: boolean;
|
130
148
|
fixedFooter: boolean;
|
@@ -154,6 +172,7 @@ export declare const VTable: {
|
|
154
172
|
style: import("vue").StyleValue;
|
155
173
|
tag: string | import("../../util/index.js").JSXComponent;
|
156
174
|
density: import("../../composables/density.js").Density;
|
175
|
+
striped: Striped;
|
157
176
|
hover: boolean;
|
158
177
|
fixedHeader: boolean;
|
159
178
|
fixedFooter: boolean;
|
@@ -165,6 +184,7 @@ export declare const VTable: {
|
|
165
184
|
style: import("vue").StyleValue;
|
166
185
|
tag: string | import("../../util/index.js").JSXComponent;
|
167
186
|
density: import("../../composables/density.js").Density;
|
187
|
+
striped: Striped;
|
168
188
|
hover: boolean;
|
169
189
|
fixedHeader: boolean;
|
170
190
|
fixedFooter: boolean;
|
@@ -194,6 +214,7 @@ export declare const VTable: {
|
|
194
214
|
style: import("vue").StyleValue;
|
195
215
|
tag: string | import("../../util/index.js").JSXComponent;
|
196
216
|
density: import("../../composables/density.js").Density;
|
217
|
+
striped: Striped;
|
197
218
|
hover: boolean;
|
198
219
|
fixedHeader: boolean;
|
199
220
|
fixedFooter: boolean;
|
@@ -205,42 +226,52 @@ export declare const VTable: {
|
|
205
226
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
|
206
227
|
theme: StringConstructor;
|
207
228
|
tag: {
|
208
|
-
type:
|
229
|
+
type: PropType<string | import("../../util/index.js").JSXComponent>;
|
209
230
|
default: string;
|
210
231
|
};
|
211
232
|
density: {
|
212
|
-
type:
|
233
|
+
type: PropType<import("../../composables/density.js").Density>;
|
213
234
|
default: string;
|
214
235
|
validator: (v: any) => boolean;
|
215
236
|
};
|
216
|
-
class:
|
237
|
+
class: PropType<import("../../composables/component.js").ClassValue>;
|
217
238
|
style: {
|
218
|
-
type:
|
239
|
+
type: PropType<import("vue").StyleValue>;
|
219
240
|
default: null;
|
220
241
|
};
|
221
242
|
fixedHeader: BooleanConstructor;
|
222
243
|
fixedFooter: BooleanConstructor;
|
223
244
|
height: (StringConstructor | NumberConstructor)[];
|
224
245
|
hover: BooleanConstructor;
|
246
|
+
striped: {
|
247
|
+
type: PropType<Striped>;
|
248
|
+
default: null;
|
249
|
+
validator: (v: any) => boolean;
|
250
|
+
};
|
225
251
|
}, import("vue").ExtractPropTypes<{
|
226
252
|
theme: StringConstructor;
|
227
253
|
tag: {
|
228
|
-
type:
|
254
|
+
type: PropType<string | import("../../util/index.js").JSXComponent>;
|
229
255
|
default: string;
|
230
256
|
};
|
231
257
|
density: {
|
232
|
-
type:
|
258
|
+
type: PropType<import("../../composables/density.js").Density>;
|
233
259
|
default: string;
|
234
260
|
validator: (v: any) => boolean;
|
235
261
|
};
|
236
|
-
class:
|
262
|
+
class: PropType<import("../../composables/component.js").ClassValue>;
|
237
263
|
style: {
|
238
|
-
type:
|
264
|
+
type: PropType<import("vue").StyleValue>;
|
239
265
|
default: null;
|
240
266
|
};
|
241
267
|
fixedHeader: BooleanConstructor;
|
242
268
|
fixedFooter: BooleanConstructor;
|
243
269
|
height: (StringConstructor | NumberConstructor)[];
|
244
270
|
hover: BooleanConstructor;
|
271
|
+
striped: {
|
272
|
+
type: PropType<Striped>;
|
273
|
+
default: null;
|
274
|
+
validator: (v: any) => boolean;
|
275
|
+
};
|
245
276
|
}>>;
|
246
277
|
export type VTable = InstanceType<typeof VTable>;
|
@@ -7,12 +7,17 @@ import { makeComponentProps } from "../../composables/component.js";
|
|
7
7
|
import { makeDensityProps, useDensity } from "../../composables/density.js";
|
8
8
|
import { makeTagProps } from "../../composables/tag.js";
|
9
9
|
import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Utilities
|
10
|
-
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.js";
|
10
|
+
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
11
11
|
export const makeVTableProps = propsFactory({
|
12
12
|
fixedHeader: Boolean,
|
13
13
|
fixedFooter: Boolean,
|
14
14
|
height: [Number, String],
|
15
15
|
hover: Boolean,
|
16
|
+
striped: {
|
17
|
+
type: String,
|
18
|
+
default: null,
|
19
|
+
validator: v => ['even', 'odd'].includes(v)
|
20
|
+
},
|
16
21
|
...makeComponentProps(),
|
17
22
|
...makeDensityProps(),
|
18
23
|
...makeTagProps(),
|
@@ -39,7 +44,9 @@ export const VTable = genericComponent()({
|
|
39
44
|
'v-table--fixed-footer': props.fixedFooter,
|
40
45
|
'v-table--has-top': !!slots.top,
|
41
46
|
'v-table--has-bottom': !!slots.bottom,
|
42
|
-
'v-table--hover': props.hover
|
47
|
+
'v-table--hover': props.hover,
|
48
|
+
'v-table--striped-even': props.striped === 'even',
|
49
|
+
'v-table--striped-odd': props.striped === 'odd'
|
43
50
|
}, themeClasses.value, densityClasses.value, props.class]),
|
44
51
|
"style": _normalizeStyle(props.style)
|
45
52
|
}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTable.js","names":["makeComponentProps","makeDensityProps","useDensity","makeTagProps","makeThemeProps","provideTheme","convertToUnit","genericComponent","propsFactory","useRender","makeVTableProps","fixedHeader","Boolean","fixedFooter","height","Number","String","hover","VTable","name","props","setup","_ref","slots","emit","themeClasses","densityClasses","_createVNode","tag","_normalizeClass","top","bottom","value","class","_normalizeStyle","style","
|
1
|
+
{"version":3,"file":"VTable.js","names":["makeComponentProps","makeDensityProps","useDensity","makeTagProps","makeThemeProps","provideTheme","convertToUnit","genericComponent","propsFactory","useRender","makeVTableProps","fixedHeader","Boolean","fixedFooter","height","Number","String","hover","striped","type","default","validator","v","includes","VTable","name","props","setup","_ref","slots","emit","themeClasses","densityClasses","_createVNode","tag","_normalizeClass","top","bottom","value","class","_normalizeStyle","style","_createElementVNode","wrapper"],"sources":["../../../src/components/VTable/VTable.tsx"],"sourcesContent":["// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VTableSlots = {\n default: never\n top: never\n bottom: never\n wrapper: never\n}\n\nexport type Striped = null | 'odd' | 'even'\n\nexport const makeVTableProps = propsFactory({\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n hover: Boolean,\n striped: {\n type: String as PropType<Striped>,\n default: null,\n validator: (v: any) => ['even', 'odd'].includes(v),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VTable')\n\nexport const VTable = genericComponent<VTableSlots>()({\n name: 'VTable',\n\n props: makeVTableProps(),\n\n setup (props, { slots, emit }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n 'v-table--hover': props.hover,\n 'v-table--striped-even': props.striped === 'even',\n 'v-table--striped-odd': props.striped === 'odd',\n },\n themeClasses.value,\n densityClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.top?.() }\n\n { slots.default ? (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default() }\n </table>\n </div>\n ) : slots.wrapper?.()}\n\n { slots.bottom?.() }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VTable = InstanceType<typeof VTable>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAEjE;AAYA,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,WAAW,EAAEC,OAAO;EACpBC,WAAW,EAAED,OAAO;EACpBE,MAAM,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACxBC,KAAK,EAAEL,OAAO;EACdM,OAAO,EAAE;IACPC,IAAI,EAAEH,MAA2B;IACjCI,OAAO,EAAE,IAAI;IACbC,SAAS,EAAGC,CAAM,IAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAACC,QAAQ,CAACD,CAAC;EACnD,CAAC;EAED,GAAGtB,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMoB,MAAM,GAAGjB,gBAAgB,CAAc,CAAC,CAAC;EACpDkB,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEhB,eAAe,CAAC,CAAC;EAExBiB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG;IAAa,CAAC,GAAG1B,YAAY,CAACqB,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAe,CAAC,GAAG9B,UAAU,CAACwB,KAAK,CAAC;IAE5CjB,SAAS,CAAC,MAAAwB,YAAA,CAAAP,KAAA,CAAAQ,GAAA;MAAA,SAAAC,eAAA,CAEC,CACL,SAAS,EACT;QACE,uBAAuB,EAAE,CAAC,CAACT,KAAK,CAACZ,MAAM;QACvC,uBAAuB,EAAEY,KAAK,CAACf,WAAW;QAC1C,uBAAuB,EAAEe,KAAK,CAACb,WAAW;QAC1C,kBAAkB,EAAE,CAAC,CAACgB,KAAK,CAACO,GAAG;QAC/B,qBAAqB,EAAE,CAAC,CAACP,KAAK,CAACQ,MAAM;QACrC,gBAAgB,EAAEX,KAAK,CAACT,KAAK;QAC7B,uBAAuB,EAAES,KAAK,CAACR,OAAO,KAAK,MAAM;QACjD,sBAAsB,EAAEQ,KAAK,CAACR,OAAO,KAAK;MAC5C,CAAC,EACDa,YAAY,CAACO,KAAK,EAClBN,cAAc,CAACM,KAAK,EACpBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOd,KAAK,CAACe,KAAK;IAAA;MAAArB,OAAA,EAAAA,CAAA,MAEjBS,KAAK,CAACO,GAAG,GAAG,CAAC,EAEbP,KAAK,CAACT,OAAO,GAAAsB,mBAAA;QAAA;QAAA,SAGJ;UAAE5B,MAAM,EAAER,aAAa,CAACoB,KAAK,CAACZ,MAAM;QAAE;MAAC,IAAA4B,mBAAA,iBAG1Cb,KAAK,CAACT,OAAO,CAAC,CAAC,OAGnBS,KAAK,CAACc,OAAO,GAAG,CAAC,EAEnBd,KAAK,CAACQ,MAAM,GAAG,CAAC;IAAA,EAErB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -48,6 +48,20 @@
|
|
48
48
|
background: $table-hover-color
|
49
49
|
pointer-events: none
|
50
50
|
@include tools.absolute(true)
|
51
|
+
|
52
|
+
&.v-table--striped-even
|
53
|
+
> .v-table__wrapper
|
54
|
+
> table
|
55
|
+
> tbody
|
56
|
+
> tr:nth-child(even)
|
57
|
+
background-color: $table-stripe-color
|
58
|
+
|
59
|
+
&.v-table--striped-odd
|
60
|
+
> .v-table__wrapper
|
61
|
+
> table
|
62
|
+
> tbody
|
63
|
+
> tr:nth-child(odd)
|
64
|
+
background-color: $table-stripe-color
|
51
65
|
|
52
66
|
&.v-table--fixed-header
|
53
67
|
> .v-table__wrapper
|
@@ -18,6 +18,7 @@ $table-border: thin solid $table-border-color !default;
|
|
18
18
|
$table-hover-color: rgba(var(--v-border-color), var(--v-hover-opacity)) !default;
|
19
19
|
$table-line-height: 1.5 !default;
|
20
20
|
$table-column-padding: 0 16px !default;
|
21
|
+
$table-stripe-color: rgba(var(--v-border-color), var(--v-hover-opacity)) !default;
|
21
22
|
$table-transition-duration: 0.28s !default;
|
22
23
|
$table-transition-property: box-shadow, opacity, background, height !default;
|
23
24
|
$table-transition-timing-function: settings.$standard-easing !default;
|