@vuetify/nightly 3.5.14-dev.2024-04-07 → 3.5.14-dev.2024-04-09

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 (68) hide show
  1. package/CHANGELOG.md +5 -2
  2. package/dist/json/attributes.json +32 -4
  3. package/dist/json/importMap-labs.json +14 -14
  4. package/dist/json/importMap.json +126 -126
  5. package/dist/json/tags.json +7 -0
  6. package/dist/json/web-types.json +334 -271
  7. package/dist/vuetify-labs.css +2675 -2661
  8. package/dist/vuetify-labs.d.ts +235 -150
  9. package/dist/vuetify-labs.esm.js +40 -20
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +40 -20
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +845 -831
  14. package/dist/vuetify.d.ts +250 -171
  15. package/dist/vuetify.esm.js +40 -20
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +40 -20
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +248 -247
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAppBar/index.d.mts +6 -0
  23. package/lib/components/VAutocomplete/index.d.mts +18 -18
  24. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +2 -0
  25. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  26. package/lib/components/VBottomNavigation/index.d.mts +6 -0
  27. package/lib/components/VBtn/VBtn.mjs +15 -8
  28. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  29. package/lib/components/VBtn/index.d.mts +6 -0
  30. package/lib/components/VBtnGroup/VBtnGroup.mjs +2 -0
  31. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  32. package/lib/components/VBtnGroup/index.d.mts +6 -0
  33. package/lib/components/VBtnToggle/index.d.mts +6 -0
  34. package/lib/components/VCheckbox/index.d.mts +10 -10
  35. package/lib/components/VCombobox/index.d.mts +18 -18
  36. package/lib/components/VDataIterator/index.d.mts +1 -0
  37. package/lib/components/VDataTable/VDataTable.css +14 -0
  38. package/lib/components/VDataTable/VDataTable.sass +8 -0
  39. package/lib/components/VDataTable/VDataTableColumn.mjs +6 -2
  40. package/lib/components/VDataTable/VDataTableColumn.mjs.map +1 -1
  41. package/lib/components/VDataTable/VDataTableHeaders.mjs +2 -0
  42. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  43. package/lib/components/VDataTable/VDataTableRow.mjs +3 -1
  44. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  45. package/lib/components/VDataTable/composables/select.mjs +8 -7
  46. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  47. package/lib/components/VDataTable/index.d.mts +31 -0
  48. package/lib/components/VDataTable/types.mjs.map +1 -1
  49. package/lib/components/VField/index.d.mts +4 -4
  50. package/lib/components/VFileInput/index.d.mts +4 -4
  51. package/lib/components/VList/index.d.mts +12 -12
  52. package/lib/components/VOtpInput/index.d.mts +6 -6
  53. package/lib/components/VRadio/index.d.mts +4 -4
  54. package/lib/components/VSelect/index.d.mts +18 -18
  55. package/lib/components/VSelectionControl/index.d.mts +4 -4
  56. package/lib/components/VSwitch/index.d.mts +4 -4
  57. package/lib/components/VTabs/index.d.mts +21 -3
  58. package/lib/components/VTextField/index.d.mts +19 -19
  59. package/lib/components/VTextarea/index.d.mts +4 -4
  60. package/lib/components/index.d.mts +207 -128
  61. package/lib/entry-bundler.mjs +1 -1
  62. package/lib/framework.mjs +1 -1
  63. package/lib/index.d.mts +43 -43
  64. package/lib/labs/VFab/index.d.mts +6 -0
  65. package/lib/labs/VNumberInput/index.d.mts +6 -6
  66. package/lib/labs/VTreeview/index.d.mts +16 -16
  67. package/lib/labs/components.d.mts +28 -22
  68. package/package.json +1 -1
@@ -22,6 +22,7 @@ declare const VBtnGroup: {
22
22
  elevation?: string | number | undefined;
23
23
  theme?: string | undefined;
24
24
  rounded?: string | number | boolean | undefined;
25
+ baseColor?: string | undefined;
25
26
  } & {
26
27
  $children?: vue.VNodeChild | {
27
28
  default?: (() => vue.VNodeChild) | undefined;
@@ -45,6 +46,7 @@ declare const VBtnGroup: {
45
46
  elevation?: string | number | undefined;
46
47
  theme?: string | undefined;
47
48
  rounded?: string | number | boolean | undefined;
49
+ baseColor?: string | undefined;
48
50
  } & {
49
51
  $children?: vue.VNodeChild | {
50
52
  default?: (() => vue.VNodeChild) | undefined;
@@ -87,6 +89,7 @@ declare const VBtnGroup: {
87
89
  elevation?: string | number | undefined;
88
90
  theme?: string | undefined;
89
91
  rounded?: string | number | boolean | undefined;
92
+ baseColor?: string | undefined;
90
93
  } & {
91
94
  $children?: vue.VNodeChild | {
92
95
  default?: (() => vue.VNodeChild) | undefined;
@@ -122,6 +125,7 @@ declare const VBtnGroup: {
122
125
  elevation?: string | number | undefined;
123
126
  theme?: string | undefined;
124
127
  rounded?: string | number | boolean | undefined;
128
+ baseColor?: string | undefined;
125
129
  } & {
126
130
  $children?: vue.VNodeChild | {
127
131
  default?: (() => vue.VNodeChild) | undefined;
@@ -175,6 +179,7 @@ declare const VBtnGroup: {
175
179
  default: null;
176
180
  };
177
181
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
182
+ baseColor: StringConstructor;
178
183
  divided: BooleanConstructor;
179
184
  }, vue.ExtractPropTypes<{
180
185
  color: StringConstructor;
@@ -208,6 +213,7 @@ declare const VBtnGroup: {
208
213
  default: null;
209
214
  };
210
215
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
216
+ baseColor: StringConstructor;
211
217
  divided: BooleanConstructor;
212
218
  }>>;
213
219
  type VBtnGroup = InstanceType<typeof VBtnGroup>;
@@ -80,6 +80,7 @@ declare const VBtnToggle: {
80
80
  elevation?: string | number | undefined;
81
81
  theme?: string | undefined;
82
82
  rounded?: string | number | boolean | undefined;
83
+ baseColor?: string | undefined;
83
84
  selectedClass?: string | undefined;
84
85
  } & {}, {
85
86
  next: () => void;
@@ -105,6 +106,7 @@ declare const VBtnToggle: {
105
106
  elevation?: string | number | undefined;
106
107
  theme?: string | undefined;
107
108
  rounded?: string | number | boolean | undefined;
109
+ baseColor?: string | undefined;
108
110
  selectedClass?: string | undefined;
109
111
  } & {}, {
110
112
  variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
@@ -145,6 +147,7 @@ declare const VBtnToggle: {
145
147
  elevation?: string | number | undefined;
146
148
  theme?: string | undefined;
147
149
  rounded?: string | number | boolean | undefined;
150
+ baseColor?: string | undefined;
148
151
  selectedClass?: string | undefined;
149
152
  } & {}, {
150
153
  next: () => void;
@@ -182,6 +185,7 @@ declare const VBtnToggle: {
182
185
  elevation?: string | number | undefined;
183
186
  theme?: string | undefined;
184
187
  rounded?: string | number | boolean | undefined;
188
+ baseColor?: string | undefined;
185
189
  selectedClass?: string | undefined;
186
190
  } & {}, {
187
191
  next: () => void;
@@ -250,6 +254,7 @@ declare const VBtnToggle: {
250
254
  default: null;
251
255
  };
252
256
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
257
+ baseColor: StringConstructor;
253
258
  divided: BooleanConstructor;
254
259
  }, vue.ExtractPropTypes<{
255
260
  modelValue: {
@@ -292,6 +297,7 @@ declare const VBtnToggle: {
292
297
  default: null;
293
298
  };
294
299
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
300
+ baseColor: StringConstructor;
295
301
  divided: BooleanConstructor;
296
302
  }>>;
297
303
  type VBtnToggle = InstanceType<typeof VBtnToggle>;
@@ -129,10 +129,10 @@ declare const VCheckbox: {
129
129
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
130
130
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
131
131
  validationValue?: any;
132
+ baseColor?: string | undefined;
132
133
  prependIcon?: IconValue | undefined;
133
134
  appendIcon?: IconValue | undefined;
134
135
  defaultsTarget?: string | undefined;
135
- baseColor?: string | undefined;
136
136
  trueValue?: any;
137
137
  falseValue?: any;
138
138
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -180,10 +180,10 @@ declare const VCheckbox: {
180
180
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
181
181
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
182
182
  validationValue?: any;
183
+ baseColor?: string | undefined;
183
184
  prependIcon?: IconValue | undefined;
184
185
  appendIcon?: IconValue | undefined;
185
186
  defaultsTarget?: string | undefined;
186
- baseColor?: string | undefined;
187
187
  trueValue?: any;
188
188
  falseValue?: any;
189
189
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -287,10 +287,10 @@ declare const VCheckbox: {
287
287
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
288
288
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
289
289
  validationValue?: any;
290
+ baseColor?: string | undefined;
290
291
  prependIcon?: IconValue | undefined;
291
292
  appendIcon?: IconValue | undefined;
292
293
  defaultsTarget?: string | undefined;
293
- baseColor?: string | undefined;
294
294
  trueValue?: any;
295
295
  falseValue?: any;
296
296
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -363,10 +363,10 @@ declare const VCheckbox: {
363
363
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
364
364
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
365
365
  validationValue?: any;
366
+ baseColor?: string | undefined;
366
367
  prependIcon?: IconValue | undefined;
367
368
  appendIcon?: IconValue | undefined;
368
369
  defaultsTarget?: string | undefined;
369
- baseColor?: string | undefined;
370
370
  trueValue?: any;
371
371
  falseValue?: any;
372
372
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -469,6 +469,7 @@ declare const VCheckbox: {
469
469
  default: string;
470
470
  validator: (v: any) => boolean;
471
471
  };
472
+ baseColor: StringConstructor;
472
473
  ripple: {
473
474
  type: vue.PropType<boolean | {
474
475
  class: string;
@@ -488,7 +489,6 @@ declare const VCheckbox: {
488
489
  type: vue.PropType<typeof deepEqual>;
489
490
  default: typeof deepEqual;
490
491
  };
491
- baseColor: StringConstructor;
492
492
  trueValue: null;
493
493
  falseValue: null;
494
494
  indeterminateIcon: {
@@ -565,6 +565,7 @@ declare const VCheckbox: {
565
565
  default: string;
566
566
  validator: (v: any) => boolean;
567
567
  };
568
+ baseColor: StringConstructor;
568
569
  ripple: {
569
570
  type: vue.PropType<boolean | {
570
571
  class: string;
@@ -584,7 +585,6 @@ declare const VCheckbox: {
584
585
  type: vue.PropType<typeof deepEqual>;
585
586
  default: typeof deepEqual;
586
587
  };
587
- baseColor: StringConstructor;
588
588
  trueValue: null;
589
589
  falseValue: null;
590
590
  indeterminateIcon: {
@@ -657,8 +657,8 @@ declare const VCheckboxBtn: {
657
657
  label?: string | undefined;
658
658
  class?: any;
659
659
  theme?: string | undefined;
660
- defaultsTarget?: string | undefined;
661
660
  baseColor?: string | undefined;
661
+ defaultsTarget?: string | undefined;
662
662
  trueValue?: any;
663
663
  falseValue?: any;
664
664
  } & {
@@ -691,8 +691,8 @@ declare const VCheckboxBtn: {
691
691
  label?: string | undefined;
692
692
  class?: any;
693
693
  theme?: string | undefined;
694
- defaultsTarget?: string | undefined;
695
694
  baseColor?: string | undefined;
695
+ defaultsTarget?: string | undefined;
696
696
  trueValue?: any;
697
697
  falseValue?: any;
698
698
  } & {
@@ -761,8 +761,8 @@ declare const VCheckboxBtn: {
761
761
  label?: string | undefined;
762
762
  class?: any;
763
763
  theme?: string | undefined;
764
- defaultsTarget?: string | undefined;
765
764
  baseColor?: string | undefined;
765
+ defaultsTarget?: string | undefined;
766
766
  trueValue?: any;
767
767
  falseValue?: any;
768
768
  } & {
@@ -812,8 +812,8 @@ declare const VCheckboxBtn: {
812
812
  label?: string | undefined;
813
813
  class?: any;
814
814
  theme?: string | undefined;
815
- defaultsTarget?: string | undefined;
816
815
  baseColor?: string | undefined;
816
+ defaultsTarget?: string | undefined;
817
817
  trueValue?: any;
818
818
  falseValue?: any;
819
819
  } & {
@@ -309,10 +309,10 @@ declare const VCombobox: {
309
309
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
310
310
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
311
311
  rounded?: string | number | boolean | undefined;
312
+ baseColor?: string | undefined;
312
313
  bgColor?: string | undefined;
313
314
  prependIcon?: IconValue | undefined;
314
315
  appendIcon?: IconValue | undefined;
315
- baseColor?: string | undefined;
316
316
  prependInnerIcon?: IconValue | undefined;
317
317
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
318
318
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -377,8 +377,8 @@ declare const VCombobox: {
377
377
  elevation?: string | number | undefined;
378
378
  theme?: string | undefined;
379
379
  rounded?: string | number | boolean | undefined;
380
- bgColor?: string | undefined;
381
380
  baseColor?: string | undefined;
381
+ bgColor?: string | undefined;
382
382
  activeClass?: string | undefined;
383
383
  activeStrategy?: SelectStrategy | undefined;
384
384
  activeColor?: string | undefined;
@@ -432,8 +432,8 @@ declare const VCombobox: {
432
432
  elevation?: string | number | undefined;
433
433
  theme?: string | undefined;
434
434
  rounded?: string | number | boolean | undefined;
435
- bgColor?: string | undefined;
436
435
  baseColor?: string | undefined;
436
+ bgColor?: string | undefined;
437
437
  activeClass?: string | undefined;
438
438
  activeStrategy?: SelectStrategy | undefined;
439
439
  activeColor?: string | undefined;
@@ -880,10 +880,10 @@ declare const VCombobox: {
880
880
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
881
881
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
882
882
  rounded?: string | number | boolean | undefined;
883
+ baseColor?: string | undefined;
883
884
  bgColor?: string | undefined;
884
885
  prependIcon?: IconValue | undefined;
885
886
  appendIcon?: IconValue | undefined;
886
- baseColor?: string | undefined;
887
887
  prependInnerIcon?: IconValue | undefined;
888
888
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
889
889
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -948,8 +948,8 @@ declare const VCombobox: {
948
948
  elevation?: string | number | undefined;
949
949
  theme?: string | undefined;
950
950
  rounded?: string | number | boolean | undefined;
951
- bgColor?: string | undefined;
952
951
  baseColor?: string | undefined;
952
+ bgColor?: string | undefined;
953
953
  activeClass?: string | undefined;
954
954
  activeStrategy?: SelectStrategy | undefined;
955
955
  activeColor?: string | undefined;
@@ -1003,8 +1003,8 @@ declare const VCombobox: {
1003
1003
  elevation?: string | number | undefined;
1004
1004
  theme?: string | undefined;
1005
1005
  rounded?: string | number | boolean | undefined;
1006
- bgColor?: string | undefined;
1007
1006
  baseColor?: string | undefined;
1007
+ bgColor?: string | undefined;
1008
1008
  activeClass?: string | undefined;
1009
1009
  activeStrategy?: SelectStrategy | undefined;
1010
1010
  activeColor?: string | undefined;
@@ -1565,10 +1565,10 @@ declare const VCombobox: {
1565
1565
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
1566
1566
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
1567
1567
  rounded?: string | number | boolean | undefined;
1568
+ baseColor?: string | undefined;
1568
1569
  bgColor?: string | undefined;
1569
1570
  prependIcon?: IconValue | undefined;
1570
1571
  appendIcon?: IconValue | undefined;
1571
- baseColor?: string | undefined;
1572
1572
  prependInnerIcon?: IconValue | undefined;
1573
1573
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
1574
1574
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -1633,8 +1633,8 @@ declare const VCombobox: {
1633
1633
  elevation?: string | number | undefined;
1634
1634
  theme?: string | undefined;
1635
1635
  rounded?: string | number | boolean | undefined;
1636
- bgColor?: string | undefined;
1637
1636
  baseColor?: string | undefined;
1637
+ bgColor?: string | undefined;
1638
1638
  activeClass?: string | undefined;
1639
1639
  activeStrategy?: SelectStrategy | undefined;
1640
1640
  activeColor?: string | undefined;
@@ -1688,8 +1688,8 @@ declare const VCombobox: {
1688
1688
  elevation?: string | number | undefined;
1689
1689
  theme?: string | undefined;
1690
1690
  rounded?: string | number | boolean | undefined;
1691
- bgColor?: string | undefined;
1692
1691
  baseColor?: string | undefined;
1692
+ bgColor?: string | undefined;
1693
1693
  activeClass?: string | undefined;
1694
1694
  activeStrategy?: SelectStrategy | undefined;
1695
1695
  activeColor?: string | undefined;
@@ -2185,10 +2185,10 @@ declare const VCombobox: {
2185
2185
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
2186
2186
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
2187
2187
  rounded?: string | number | boolean | undefined;
2188
+ baseColor?: string | undefined;
2188
2189
  bgColor?: string | undefined;
2189
2190
  prependIcon?: IconValue | undefined;
2190
2191
  appendIcon?: IconValue | undefined;
2191
- baseColor?: string | undefined;
2192
2192
  prependInnerIcon?: IconValue | undefined;
2193
2193
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
2194
2194
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
@@ -2253,8 +2253,8 @@ declare const VCombobox: {
2253
2253
  elevation?: string | number | undefined;
2254
2254
  theme?: string | undefined;
2255
2255
  rounded?: string | number | boolean | undefined;
2256
- bgColor?: string | undefined;
2257
2256
  baseColor?: string | undefined;
2257
+ bgColor?: string | undefined;
2258
2258
  activeClass?: string | undefined;
2259
2259
  activeStrategy?: SelectStrategy | undefined;
2260
2260
  activeColor?: string | undefined;
@@ -2308,8 +2308,8 @@ declare const VCombobox: {
2308
2308
  elevation?: string | number | undefined;
2309
2309
  theme?: string | undefined;
2310
2310
  rounded?: string | number | boolean | undefined;
2311
- bgColor?: string | undefined;
2312
2311
  baseColor?: string | undefined;
2312
+ bgColor?: string | undefined;
2313
2313
  activeClass?: string | undefined;
2314
2314
  activeStrategy?: SelectStrategy | undefined;
2315
2315
  activeColor?: string | undefined;
@@ -2952,10 +2952,10 @@ declare const VCombobox: {
2952
2952
  default: string;
2953
2953
  validator: (v: any) => boolean;
2954
2954
  };
2955
+ baseColor: StringConstructor;
2955
2956
  bgColor: StringConstructor;
2956
2957
  prependIcon: PropType<IconValue>;
2957
2958
  appendIcon: PropType<IconValue>;
2958
- baseColor: StringConstructor;
2959
2959
  clearIcon: {
2960
2960
  type: PropType<IconValue>;
2961
2961
  default: string;
@@ -3080,8 +3080,8 @@ declare const VCombobox: {
3080
3080
  elevation?: string | number | undefined;
3081
3081
  theme?: string | undefined;
3082
3082
  rounded?: string | number | boolean | undefined;
3083
- bgColor?: string | undefined;
3084
3083
  baseColor?: string | undefined;
3084
+ bgColor?: string | undefined;
3085
3085
  activeClass?: string | undefined;
3086
3086
  activeStrategy?: SelectStrategy | undefined;
3087
3087
  activeColor?: string | undefined;
@@ -3135,8 +3135,8 @@ declare const VCombobox: {
3135
3135
  elevation?: string | number | undefined;
3136
3136
  theme?: string | undefined;
3137
3137
  rounded?: string | number | boolean | undefined;
3138
- bgColor?: string | undefined;
3139
3138
  baseColor?: string | undefined;
3139
+ bgColor?: string | undefined;
3140
3140
  activeClass?: string | undefined;
3141
3141
  activeStrategy?: SelectStrategy | undefined;
3142
3142
  activeColor?: string | undefined;
@@ -3636,10 +3636,10 @@ declare const VCombobox: {
3636
3636
  default: string;
3637
3637
  validator: (v: any) => boolean;
3638
3638
  };
3639
+ baseColor: StringConstructor;
3639
3640
  bgColor: StringConstructor;
3640
3641
  prependIcon: PropType<IconValue>;
3641
3642
  appendIcon: PropType<IconValue>;
3642
- baseColor: StringConstructor;
3643
3643
  clearIcon: {
3644
3644
  type: PropType<IconValue>;
3645
3645
  default: string;
@@ -3764,8 +3764,8 @@ declare const VCombobox: {
3764
3764
  elevation?: string | number | undefined;
3765
3765
  theme?: string | undefined;
3766
3766
  rounded?: string | number | boolean | undefined;
3767
- bgColor?: string | undefined;
3768
3767
  baseColor?: string | undefined;
3768
+ bgColor?: string | undefined;
3769
3769
  activeClass?: string | undefined;
3770
3770
  activeStrategy?: SelectStrategy | undefined;
3771
3771
  activeColor?: string | undefined;
@@ -3819,8 +3819,8 @@ declare const VCombobox: {
3819
3819
  elevation?: string | number | undefined;
3820
3820
  theme?: string | undefined;
3821
3821
  rounded?: string | number | boolean | undefined;
3822
- bgColor?: string | undefined;
3823
3822
  baseColor?: string | undefined;
3823
+ bgColor?: string | undefined;
3824
3824
  activeClass?: string | undefined;
3825
3825
  activeStrategy?: SelectStrategy | undefined;
3826
3826
  activeColor?: string | undefined;
@@ -146,6 +146,7 @@ type DataTableHeader<T = Record<string, any>> = {
146
146
  width?: number | string;
147
147
  minWidth?: string;
148
148
  maxWidth?: string;
149
+ nowrap?: boolean;
149
150
  headerProps?: Record<string, any>;
150
151
  cellProps?: HeaderCellProps;
151
152
  sortable?: boolean;
@@ -45,6 +45,20 @@
45
45
  .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--no-padding {
46
46
  padding: 0 8px;
47
47
  }
48
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap,
49
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap,
50
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap,
51
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap {
52
+ text-overflow: ellipsis;
53
+ text-wrap: nowrap;
54
+ overflow: hidden;
55
+ }
56
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
57
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap .v-data-table-header__content,
58
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
59
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap .v-data-table-header__content {
60
+ display: contents;
61
+ }
48
62
  .v-data-table .v-table__wrapper > table > thead > tr > th,
49
63
  .v-data-table .v-table__wrapper > table tbody > tr > th {
50
64
  align-items: center;
@@ -42,6 +42,14 @@
42
42
  &.v-data-table-column--no-padding
43
43
  padding: 0 8px
44
44
 
45
+ &.v-data-table-column--nowrap
46
+ text-overflow: ellipsis
47
+ text-wrap: nowrap
48
+ overflow: hidden
49
+
50
+ & .v-data-table-header__content
51
+ display: contents
52
+
45
53
  > th
46
54
  align-items: center
47
55
 
@@ -12,7 +12,9 @@ export const VDataTableColumn = defineFunctionalComponent({
12
12
  lastFixed: Boolean,
13
13
  noPadding: Boolean,
14
14
  tag: String,
15
- width: [Number, String]
15
+ width: [Number, String],
16
+ maxWidth: [Number, String],
17
+ nowrap: Boolean
16
18
  }, (props, _ref) => {
17
19
  let {
18
20
  slots
@@ -22,11 +24,13 @@ export const VDataTableColumn = defineFunctionalComponent({
22
24
  "class": ['v-data-table__td', {
23
25
  'v-data-table-column--fixed': props.fixed,
24
26
  'v-data-table-column--last-fixed': props.lastFixed,
25
- 'v-data-table-column--no-padding': props.noPadding
27
+ 'v-data-table-column--no-padding': props.noPadding,
28
+ 'v-data-table-column--nowrap': props.nowrap
26
29
  }, `v-data-table-column--align-${props.align}`],
27
30
  "style": {
28
31
  height: convertToUnit(props.height),
29
32
  width: convertToUnit(props.width),
33
+ maxWidth: convertToUnit(props.maxWidth),
30
34
  left: convertToUnit(props.fixedOffset || null)
31
35
  }
32
36
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableColumn.mjs","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","props","_ref","slots","Tag","_createVNode","left"],"sources":["../../../src/components/VDataTable/VDataTableColumn.tsx"],"sourcesContent":["// Utilities\nimport { convertToUnit, defineFunctionalComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n}, (props, { slots }) => {\n const Tag = props.tag ?? 'td'\n return (\n <Tag\n class={[\n 'v-data-table__td',\n {\n 'v-data-table-column--fixed': props.fixed,\n 'v-data-table-column--last-fixed': props.lastFixed,\n 'v-data-table-column--no-padding': props.noPadding,\n },\n `v-data-table-column--align-${props.align}`,\n ]}\n style={{\n height: convertToUnit(props.height),\n width: convertToUnit(props.width),\n left: convertToUnit(props.fixedOffset || null),\n }}\n >\n { slots.default?.() }\n </Tag>\n )\n})\n"],"mappings":";AAAA;AAAA,SACSA,aAAa,EAAEC,yBAAyB,gCAEjD;AAGA,OAAO,MAAMC,gBAAgB,GAAGD,yBAAyB,CAAC;EACxDE,KAAK,EAAE;IACLC,IAAI,EAAEC,MAA8C;IACpDC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,WAAW,EAAE,CAACC,MAAM,EAAEL,MAAM,CAAC;EAC7BM,MAAM,EAAE,CAACD,MAAM,EAAEL,MAAM,CAAC;EACxBO,SAAS,EAAEJ,OAAO;EAClBK,SAAS,EAAEL,OAAO;EAClBM,GAAG,EAAET,MAAM;EACXU,KAAK,EAAE,CAACL,MAAM,EAAEL,MAAM;AACxB,CAAC,EAAE,CAACW,KAAK,EAAAC,IAAA,KAAgB;EAAA,IAAd;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAClB,MAAME,GAAG,GAAGH,KAAK,CAACF,GAAG,IAAI,IAAI;EAC7B,OAAAM,YAAA,CAAAD,GAAA;IAAA,SAEW,CACL,kBAAkB,EAClB;MACE,4BAA4B,EAAEH,KAAK,CAACT,KAAK;MACzC,iCAAiC,EAAES,KAAK,CAACJ,SAAS;MAClD,iCAAiC,EAAEI,KAAK,CAACH;IAC3C,CAAC,EACA,8BAA6BG,KAAK,CAACb,KAAM,EAAC,CAC5C;IAAA,SACM;MACLQ,MAAM,EAAEX,aAAa,CAACgB,KAAK,CAACL,MAAM,CAAC;MACnCI,KAAK,EAAEf,aAAa,CAACgB,KAAK,CAACD,KAAK,CAAC;MACjCM,IAAI,EAAErB,aAAa,CAACgB,KAAK,CAACP,WAAW,IAAI,IAAI;IAC/C;EAAC;IAAAH,OAAA,EAAAA,CAAA,MAECY,KAAK,CAACZ,OAAO,GAAG,CAAC;EAAA;AAGzB,CAAC,CAAC"}
1
+ {"version":3,"file":"VDataTableColumn.mjs","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","maxWidth","nowrap","props","_ref","slots","Tag","_createVNode","left"],"sources":["../../../src/components/VDataTable/VDataTableColumn.tsx"],"sourcesContent":["// Utilities\nimport { convertToUnit, defineFunctionalComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n maxWidth: [Number, String],\n nowrap: Boolean,\n}, (props, { slots }) => {\n const Tag = props.tag ?? 'td'\n return (\n <Tag\n class={[\n 'v-data-table__td',\n {\n 'v-data-table-column--fixed': props.fixed,\n 'v-data-table-column--last-fixed': props.lastFixed,\n 'v-data-table-column--no-padding': props.noPadding,\n 'v-data-table-column--nowrap': props.nowrap,\n },\n `v-data-table-column--align-${props.align}`,\n ]}\n style={{\n height: convertToUnit(props.height),\n width: convertToUnit(props.width),\n maxWidth: convertToUnit(props.maxWidth),\n left: convertToUnit(props.fixedOffset || null),\n }}\n >\n { slots.default?.() }\n </Tag>\n )\n})\n"],"mappings":";AAAA;AAAA,SACSA,aAAa,EAAEC,yBAAyB,gCAEjD;AAGA,OAAO,MAAMC,gBAAgB,GAAGD,yBAAyB,CAAC;EACxDE,KAAK,EAAE;IACLC,IAAI,EAAEC,MAA8C;IACpDC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,WAAW,EAAE,CAACC,MAAM,EAAEL,MAAM,CAAC;EAC7BM,MAAM,EAAE,CAACD,MAAM,EAAEL,MAAM,CAAC;EACxBO,SAAS,EAAEJ,OAAO;EAClBK,SAAS,EAAEL,OAAO;EAClBM,GAAG,EAAET,MAAM;EACXU,KAAK,EAAE,CAACL,MAAM,EAAEL,MAAM,CAAC;EACvBW,QAAQ,EAAE,CAACN,MAAM,EAAEL,MAAM,CAAC;EAC1BY,MAAM,EAAET;AACV,CAAC,EAAE,CAACU,KAAK,EAAAC,IAAA,KAAgB;EAAA,IAAd;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAClB,MAAME,GAAG,GAAGH,KAAK,CAACJ,GAAG,IAAI,IAAI;EAC7B,OAAAQ,YAAA,CAAAD,GAAA;IAAA,SAEW,CACL,kBAAkB,EAClB;MACE,4BAA4B,EAAEH,KAAK,CAACX,KAAK;MACzC,iCAAiC,EAAEW,KAAK,CAACN,SAAS;MAClD,iCAAiC,EAAEM,KAAK,CAACL,SAAS;MAClD,6BAA6B,EAAEK,KAAK,CAACD;IACvC,CAAC,EACA,8BAA6BC,KAAK,CAACf,KAAM,EAAC,CAC5C;IAAA,SACM;MACLQ,MAAM,EAAEX,aAAa,CAACkB,KAAK,CAACP,MAAM,CAAC;MACnCI,KAAK,EAAEf,aAAa,CAACkB,KAAK,CAACH,KAAK,CAAC;MACjCC,QAAQ,EAAEhB,aAAa,CAACkB,KAAK,CAACF,QAAQ,CAAC;MACvCO,IAAI,EAAEvB,aAAa,CAACkB,KAAK,CAACT,WAAW,IAAI,IAAI;IAC/C;EAAC;IAAAH,OAAA,EAAAA,CAAA,MAECc,KAAK,CAACd,OAAO,GAAG,CAAC;EAAA;AAGzB,CAAC,CAAC"}
@@ -101,12 +101,14 @@ export const VDataTableHeaders = genericComponent()({
101
101
  "style": {
102
102
  width: convertToUnit(column.width),
103
103
  minWidth: convertToUnit(column.minWidth),
104
+ maxWidth: convertToUnit(column.maxWidth),
104
105
  ...getFixedStyles(column, y)
105
106
  },
106
107
  "colspan": column.colspan,
107
108
  "rowspan": column.rowspan,
108
109
  "onClick": column.sortable ? () => toggleSort(column) : undefined,
109
110
  "fixed": column.fixed,
111
+ "nowrap": column.nowrap,
110
112
  "lastFixed": column.lastFixed,
111
113
  "noPadding": noPadding
112
114
  }, headerProps), {
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableHeaders.mjs","names":["VDataTableColumn","VCheckboxBtn","VIcon","useHeaders","useSelection","useSort","useBackgroundColor","IconValue","LoaderSlot","makeLoaderProps","useLoader","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","sticky","Boolean","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","VDataTableHeaders","name","props","setup","_ref","slots","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","position","left","fixedOffset","top","getSortIcon","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","slotProps","VDataTableHeaderCell","_ref2","x","noPadding","_createVNode","_mergeProps","align","sortable","width","minWidth","colspan","rowspan","lastFixed","columnSlotName","columnSlotProps","title","findIndex","_Fragment","map","row","loading","length","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\ntype VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\n color: String,\n sticky: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!props.sticky && !column.fixed) return undefined\n\n return {\n position: 'sticky',\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined,\n top: props.sticky ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n 'v-data-table__th',\n {\n 'v-data-table__th--sortable': column.sortable,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed,\n 'v-data-table__th--sticky': props.sticky,\n },\n loaderClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n fixed={ column.fixed }\n lastFixed={ column.lastFixed }\n noPadding={ noPadding }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && (\n <VCheckboxBtn\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n ))\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column) }\n />\n )}\n { props.multiSort && isSorted(column) && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { sortBy.value.findIndex(x => x.key === column.key) + 1 }\n </div>\n )}\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n useRender(() => {\n return (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\n : headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column } x={ x } y={ y } />\n ))}\n </tr>\n ))}\n\n { props.loading && (\n <tr class=\"v-data-table-progress\">\n <th colspan={ columns.value.length }>\n <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n )\n })\n },\n})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableHeaders.mjs","names":["VDataTableColumn","VCheckboxBtn","VIcon","useHeaders","useSelection","useSort","useBackgroundColor","IconValue","LoaderSlot","makeLoaderProps","useLoader","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","sticky","Boolean","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","VDataTableHeaders","name","props","setup","_ref","slots","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","position","left","fixedOffset","top","getSortIcon","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","slotProps","VDataTableHeaderCell","_ref2","x","noPadding","_createVNode","_mergeProps","align","sortable","width","minWidth","maxWidth","colspan","rowspan","nowrap","lastFixed","columnSlotName","columnSlotProps","title","findIndex","_Fragment","map","row","loading","length","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\ntype VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\n color: String,\n sticky: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!props.sticky && !column.fixed) return undefined\n\n return {\n position: 'sticky',\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined,\n top: props.sticky ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n 'v-data-table__th',\n {\n 'v-data-table__th--sortable': column.sortable,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed,\n 'v-data-table__th--sticky': props.sticky,\n },\n loaderClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n noPadding={ noPadding }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && (\n <VCheckboxBtn\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n ))\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column) }\n />\n )}\n { props.multiSort && isSorted(column) && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { sortBy.value.findIndex(x => x.key === column.key) + 1 }\n </div>\n )}\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n useRender(() => {\n return (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\n : headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column } x={ x } y={ y } />\n ))}\n </tr>\n ))}\n\n { props.loading && (\n <tr class=\"v-data-table-progress\">\n <th colspan={ columns.value.length }>\n <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n )\n })\n },\n})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":"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"}
@@ -74,7 +74,9 @@ export const VDataTableRow = genericComponent()({
74
74
  "fixedOffset": column.fixedOffset,
75
75
  "lastFixed": column.lastFixed,
76
76
  "noPadding": column.key === 'data-table-select' || column.key === 'data-table-expand',
77
- "width": column.width
77
+ "width": column.width,
78
+ "maxWidth": column.maxWidth,
79
+ "nowrap": column.nowrap
78
80
  }, cellProps, columnCellProps), {
79
81
  default: () => {
80
82
  if (slots[slotName]) return slots[slotName](slotProps);
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","_createVNode","value","map","column","i","slotName","key","slotProps","raw","internalItem","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","width","default","selectable"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>\n 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>\n} & { [key: `item.${string}`]: ItemKeySlot<T> }\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { isSelected, toggleSelect } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n width={ column.width }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n return toDisplayString(slotProps.value)\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","_createVNode","value","map","column","i","slotName","key","slotProps","raw","internalItem","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","width","maxWidth","nowrap","default","selectable"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>\n 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>\n} & { [key: `item.${string}`]: ItemKeySlot<T> }\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { isSelected, toggleSelect } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n width={ column.width }\n maxWidth={ column.maxWidth }\n nowrap={ column.nowrap }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n return toDisplayString(slotProps.value)\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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"}