@vuetify/nightly 3.6.11-master.2024-07-08 → 3.6.12-master.2024-07-11

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 (108) hide show
  1. package/CHANGELOG.md +3 -4
  2. package/dist/json/attributes.json +57 -45
  3. package/dist/json/importMap.json +146 -146
  4. package/dist/json/tags.json +4 -1
  5. package/dist/json/web-types.json +97 -62
  6. package/dist/vuetify-labs.css +2977 -2955
  7. package/dist/vuetify-labs.d.ts +614 -688
  8. package/dist/vuetify-labs.esm.js +95 -74
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +95 -74
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +4804 -4782
  13. package/dist/vuetify.d.ts +579 -653
  14. package/dist/vuetify.esm.js +78 -58
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +78 -58
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +67 -65
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.mts +3 -3
  22. package/lib/blueprints/md1.d.mts +3 -3
  23. package/lib/blueprints/md2.d.mts +3 -3
  24. package/lib/blueprints/md3.d.mts +3 -3
  25. package/lib/components/VAutocomplete/index.d.mts +25 -31
  26. package/lib/components/VBottomSheet/index.d.mts +10 -10
  27. package/lib/components/VCheckbox/index.d.mts +2 -8
  28. package/lib/components/VCombobox/index.d.mts +25 -31
  29. package/lib/components/VDataIterator/index.d.mts +1 -0
  30. package/lib/components/VDataTable/VDataTable.mjs +6 -2
  31. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  32. package/lib/components/VDataTable/VDataTableFooter.mjs +5 -4
  33. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  34. package/lib/components/VDataTable/VDataTableServer.mjs +6 -2
  35. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  36. package/lib/components/VDataTable/VDataTableVirtual.mjs +6 -2
  37. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  38. package/lib/components/VDataTable/composables/group.mjs +2 -1
  39. package/lib/components/VDataTable/composables/group.mjs.map +1 -1
  40. package/lib/components/VDataTable/composables/sort.mjs +1 -1
  41. package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
  42. package/lib/components/VDataTable/index.d.mts +130 -129
  43. package/lib/components/VDatePicker/VDatePickerControls.mjs +5 -4
  44. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  45. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  46. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  47. package/lib/components/VDatePicker/index.d.mts +70 -55
  48. package/lib/components/VDialog/index.d.mts +28 -28
  49. package/lib/components/VField/VField.css +11 -6
  50. package/lib/components/VField/VField.mjs +5 -7
  51. package/lib/components/VField/VField.mjs.map +1 -1
  52. package/lib/components/VField/VField.sass +6 -2
  53. package/lib/components/VField/index.d.mts +6 -12
  54. package/lib/components/VFileInput/index.d.mts +6 -12
  55. package/lib/components/VInput/VInput.css +5 -5
  56. package/lib/components/VInput/VInput.mjs +1 -4
  57. package/lib/components/VInput/VInput.mjs.map +1 -1
  58. package/lib/components/VInput/VInput.sass +1 -1
  59. package/lib/components/VInput/index.d.mts +2 -8
  60. package/lib/components/VMenu/index.d.mts +32 -32
  61. package/lib/components/VOverlay/index.d.mts +10 -10
  62. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  63. package/lib/components/VProgressLinear/VProgressLinear.css +17 -0
  64. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -5
  65. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  66. package/lib/components/VProgressLinear/VProgressLinear.sass +11 -0
  67. package/lib/components/VRadio/VRadio.mjs +8 -5
  68. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  69. package/lib/components/VRadioGroup/index.d.mts +2 -8
  70. package/lib/components/VRangeSlider/index.d.mts +2 -8
  71. package/lib/components/VSelect/index.d.mts +25 -31
  72. package/lib/components/VSlider/index.d.mts +2 -8
  73. package/lib/components/VSnackbar/index.d.mts +28 -28
  74. package/lib/components/VSpeedDial/index.d.mts +14 -14
  75. package/lib/components/VSwitch/index.d.mts +2 -8
  76. package/lib/components/VTextField/VTextField.mjs +1 -1
  77. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  78. package/lib/components/VTextField/index.d.mts +18 -24
  79. package/lib/components/VTextarea/VTextarea.mjs +5 -5
  80. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  81. package/lib/components/VTextarea/index.d.mts +72 -87
  82. package/lib/components/VTooltip/index.d.mts +32 -32
  83. package/lib/components/index.d.mts +530 -604
  84. package/lib/composables/calendar.mjs +10 -4
  85. package/lib/composables/calendar.mjs.map +1 -1
  86. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  87. package/lib/composables/date/adapters/vuetify.mjs +15 -13
  88. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  89. package/lib/entry-bundler.mjs +1 -1
  90. package/lib/framework.mjs +1 -1
  91. package/lib/index.d.mts +49 -49
  92. package/lib/labs/VCalendar/VCalendar.mjs +7 -6
  93. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  94. package/lib/labs/VCalendar/index.d.mts +6 -0
  95. package/lib/labs/VDateInput/index.d.mts +39 -39
  96. package/lib/labs/VNumberInput/VNumberInput.mjs +1 -1
  97. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  98. package/lib/labs/VNumberInput/index.d.mts +6 -12
  99. package/lib/labs/VSnackbarQueue/index.d.mts +37 -37
  100. package/lib/labs/VTimePicker/VTimePicker.mjs +5 -5
  101. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  102. package/lib/labs/VTimePicker/VTimePickerClock.mjs +2 -2
  103. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  104. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
  105. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  106. package/lib/labs/VTimePicker/index.d.mts +18 -18
  107. package/lib/labs/components.d.mts +106 -106
  108. package/package.json +1 -1
@@ -168,7 +168,7 @@ interface LocationStrategyData {
168
168
  isRtl: Ref<boolean>;
169
169
  }
170
170
  type LocationStrategyFn = (data: LocationStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) => undefined | {
171
- updateLocation: (e: Event) => void;
171
+ updateLocation: (e?: Event) => void;
172
172
  };
173
173
  declare const locationStrategies: {
174
174
  static: typeof staticLocationStrategy;
@@ -308,6 +308,7 @@ declare const VCombobox: {
308
308
  direction: "horizontal" | "vertical";
309
309
  valueComparator: typeof deepEqual;
310
310
  clearIcon: IconValue;
311
+ centerAffix: boolean;
311
312
  hideSpinButtons: boolean;
312
313
  persistentHint: boolean;
313
314
  filterMode: FilterMode;
@@ -357,7 +358,6 @@ declare const VCombobox: {
357
358
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
358
359
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
359
360
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
360
- centerAffix?: boolean | undefined;
361
361
  hint?: string | undefined;
362
362
  hideDetails?: boolean | "auto" | undefined;
363
363
  customFilter?: FilterFunction | undefined;
@@ -638,7 +638,7 @@ declare const VCombobox: {
638
638
  eager: boolean;
639
639
  location: Anchor;
640
640
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
641
- updateLocation: (e: Event) => void;
641
+ updateLocation: (e?: Event | undefined) => void;
642
642
  } | undefined) | "connected">;
643
643
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
644
644
  closeDelay: NonNullable<string | number>;
@@ -667,7 +667,7 @@ declare const VCombobox: {
667
667
  eager: boolean;
668
668
  location: Anchor;
669
669
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
670
- updateLocation: (e: Event) => void;
670
+ updateLocation: (e?: Event | undefined) => void;
671
671
  } | undefined) | "connected">;
672
672
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
673
673
  closeDelay: NonNullable<string | number>;
@@ -743,7 +743,7 @@ declare const VCombobox: {
743
743
  eager: boolean;
744
744
  location: Anchor;
745
745
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
746
- updateLocation: (e: Event) => void;
746
+ updateLocation: (e?: Event | undefined) => void;
747
747
  } | undefined) | "connected">;
748
748
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
749
749
  closeDelay: NonNullable<string | number>;
@@ -848,6 +848,7 @@ declare const VCombobox: {
848
848
  direction: "horizontal" | "vertical";
849
849
  valueComparator: typeof deepEqual;
850
850
  clearIcon: IconValue;
851
+ centerAffix: boolean;
851
852
  hideSpinButtons: boolean;
852
853
  persistentHint: boolean;
853
854
  filterMode: FilterMode;
@@ -897,7 +898,6 @@ declare const VCombobox: {
897
898
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
898
899
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
899
900
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
900
- centerAffix?: boolean | undefined;
901
901
  hint?: string | undefined;
902
902
  hideDetails?: boolean | "auto" | undefined;
903
903
  customFilter?: FilterFunction | undefined;
@@ -1178,7 +1178,7 @@ declare const VCombobox: {
1178
1178
  eager: boolean;
1179
1179
  location: Anchor;
1180
1180
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1181
- updateLocation: (e: Event) => void;
1181
+ updateLocation: (e?: Event | undefined) => void;
1182
1182
  } | undefined) | "connected">;
1183
1183
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1184
1184
  closeDelay: NonNullable<string | number>;
@@ -1207,7 +1207,7 @@ declare const VCombobox: {
1207
1207
  eager: boolean;
1208
1208
  location: Anchor;
1209
1209
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1210
- updateLocation: (e: Event) => void;
1210
+ updateLocation: (e?: Event | undefined) => void;
1211
1211
  } | undefined) | "connected">;
1212
1212
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1213
1213
  closeDelay: NonNullable<string | number>;
@@ -1283,7 +1283,7 @@ declare const VCombobox: {
1283
1283
  eager: boolean;
1284
1284
  location: Anchor;
1285
1285
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1286
- updateLocation: (e: Event) => void;
1286
+ updateLocation: (e?: Event | undefined) => void;
1287
1287
  } | undefined) | "connected">;
1288
1288
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1289
1289
  closeDelay: NonNullable<string | number>;
@@ -1502,6 +1502,7 @@ declare const VCombobox: {
1502
1502
  direction: "horizontal" | "vertical";
1503
1503
  valueComparator: typeof deepEqual;
1504
1504
  clearIcon: IconValue;
1505
+ centerAffix: boolean;
1505
1506
  hideSpinButtons: boolean;
1506
1507
  persistentHint: boolean;
1507
1508
  filterMode: FilterMode;
@@ -1551,7 +1552,6 @@ declare const VCombobox: {
1551
1552
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
1552
1553
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
1553
1554
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
1554
- centerAffix?: boolean | undefined;
1555
1555
  hint?: string | undefined;
1556
1556
  hideDetails?: boolean | "auto" | undefined;
1557
1557
  customFilter?: FilterFunction | undefined;
@@ -1832,7 +1832,7 @@ declare const VCombobox: {
1832
1832
  eager: boolean;
1833
1833
  location: Anchor;
1834
1834
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1835
- updateLocation: (e: Event) => void;
1835
+ updateLocation: (e?: Event | undefined) => void;
1836
1836
  } | undefined) | "connected">;
1837
1837
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1838
1838
  closeDelay: NonNullable<string | number>;
@@ -1861,7 +1861,7 @@ declare const VCombobox: {
1861
1861
  eager: boolean;
1862
1862
  location: Anchor;
1863
1863
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1864
- updateLocation: (e: Event) => void;
1864
+ updateLocation: (e?: Event | undefined) => void;
1865
1865
  } | undefined) | "connected">;
1866
1866
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1867
1867
  closeDelay: NonNullable<string | number>;
@@ -1937,7 +1937,7 @@ declare const VCombobox: {
1937
1937
  eager: boolean;
1938
1938
  location: Anchor;
1939
1939
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1940
- updateLocation: (e: Event) => void;
1940
+ updateLocation: (e?: Event | undefined) => void;
1941
1941
  } | undefined) | "connected">;
1942
1942
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
1943
1943
  closeDelay: NonNullable<string | number>;
@@ -2091,6 +2091,7 @@ declare const VCombobox: {
2091
2091
  direction: "horizontal" | "vertical";
2092
2092
  valueComparator: typeof deepEqual;
2093
2093
  clearIcon: IconValue;
2094
+ centerAffix: boolean;
2094
2095
  hideSpinButtons: boolean;
2095
2096
  persistentHint: boolean;
2096
2097
  filterMode: FilterMode;
@@ -2140,7 +2141,6 @@ declare const VCombobox: {
2140
2141
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
2141
2142
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
2142
2143
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
2143
- centerAffix?: boolean | undefined;
2144
2144
  hint?: string | undefined;
2145
2145
  hideDetails?: boolean | "auto" | undefined;
2146
2146
  customFilter?: FilterFunction | undefined;
@@ -2421,7 +2421,7 @@ declare const VCombobox: {
2421
2421
  eager: boolean;
2422
2422
  location: Anchor;
2423
2423
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
2424
- updateLocation: (e: Event) => void;
2424
+ updateLocation: (e?: Event | undefined) => void;
2425
2425
  } | undefined) | "connected">;
2426
2426
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
2427
2427
  closeDelay: NonNullable<string | number>;
@@ -2450,7 +2450,7 @@ declare const VCombobox: {
2450
2450
  eager: boolean;
2451
2451
  location: Anchor;
2452
2452
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
2453
- updateLocation: (e: Event) => void;
2453
+ updateLocation: (e?: Event | undefined) => void;
2454
2454
  } | undefined) | "connected">;
2455
2455
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
2456
2456
  closeDelay: NonNullable<string | number>;
@@ -2526,7 +2526,7 @@ declare const VCombobox: {
2526
2526
  eager: boolean;
2527
2527
  location: Anchor;
2528
2528
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
2529
- updateLocation: (e: Event) => void;
2529
+ updateLocation: (e?: Event | undefined) => void;
2530
2530
  } | undefined) | "connected">;
2531
2531
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
2532
2532
  closeDelay: NonNullable<string | number>;
@@ -2879,10 +2879,7 @@ declare const VCombobox: {
2879
2879
  'onClick:append': PropType<(args_0: MouseEvent) => void>;
2880
2880
  'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
2881
2881
  'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
2882
- centerAffix: {
2883
- type: BooleanConstructor;
2884
- default: undefined;
2885
- };
2882
+ centerAffix: BooleanConstructor;
2886
2883
  hideSpinButtons: BooleanConstructor;
2887
2884
  hint: StringConstructor;
2888
2885
  persistentHint: BooleanConstructor;
@@ -3224,7 +3221,7 @@ declare const VCombobox: {
3224
3221
  eager: boolean;
3225
3222
  location: Anchor;
3226
3223
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
3227
- updateLocation: (e: Event) => void;
3224
+ updateLocation: (e?: Event | undefined) => void;
3228
3225
  } | undefined) | "connected">;
3229
3226
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
3230
3227
  closeDelay: NonNullable<string | number>;
@@ -3253,7 +3250,7 @@ declare const VCombobox: {
3253
3250
  eager: boolean;
3254
3251
  location: Anchor;
3255
3252
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
3256
- updateLocation: (e: Event) => void;
3253
+ updateLocation: (e?: Event | undefined) => void;
3257
3254
  } | undefined) | "connected">;
3258
3255
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
3259
3256
  closeDelay: NonNullable<string | number>;
@@ -3329,7 +3326,7 @@ declare const VCombobox: {
3329
3326
  eager: boolean;
3330
3327
  location: Anchor;
3331
3328
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
3332
- updateLocation: (e: Event) => void;
3329
+ updateLocation: (e?: Event | undefined) => void;
3333
3330
  } | undefined) | "connected">;
3334
3331
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
3335
3332
  closeDelay: NonNullable<string | number>;
@@ -3532,10 +3529,7 @@ declare const VCombobox: {
3532
3529
  'onClick:append': PropType<(args_0: MouseEvent) => void>;
3533
3530
  'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
3534
3531
  'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
3535
- centerAffix: {
3536
- type: BooleanConstructor;
3537
- default: undefined;
3538
- };
3532
+ centerAffix: BooleanConstructor;
3539
3533
  hideSpinButtons: BooleanConstructor;
3540
3534
  hint: StringConstructor;
3541
3535
  persistentHint: BooleanConstructor;
@@ -3877,7 +3871,7 @@ declare const VCombobox: {
3877
3871
  eager: boolean;
3878
3872
  location: Anchor;
3879
3873
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
3880
- updateLocation: (e: Event) => void;
3874
+ updateLocation: (e?: Event | undefined) => void;
3881
3875
  } | undefined) | "connected">;
3882
3876
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
3883
3877
  closeDelay: NonNullable<string | number>;
@@ -3906,7 +3900,7 @@ declare const VCombobox: {
3906
3900
  eager: boolean;
3907
3901
  location: Anchor;
3908
3902
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
3909
- updateLocation: (e: Event) => void;
3903
+ updateLocation: (e?: Event | undefined) => void;
3910
3904
  } | undefined) | "connected">;
3911
3905
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
3912
3906
  closeDelay: NonNullable<string | number>;
@@ -3982,7 +3976,7 @@ declare const VCombobox: {
3982
3976
  eager: boolean;
3983
3977
  location: Anchor;
3984
3978
  locationStrategy: NonNullable<"static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
3985
- updateLocation: (e: Event) => void;
3979
+ updateLocation: (e?: Event | undefined) => void;
3986
3980
  } | undefined) | "connected">;
3987
3981
  scrollStrategy: NonNullable<"close" | "none" | "block" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
3988
3982
  closeDelay: NonNullable<string | number>;
@@ -96,6 +96,7 @@ interface Group<T = any> {
96
96
  declare function provideGroupBy(options: {
97
97
  groupBy: Ref<readonly SortItem[]>;
98
98
  sortBy: Ref<readonly SortItem[]>;
99
+ disableSort?: Ref<boolean>;
99
100
  }): {
100
101
  sortByWithGroups: vue.ComputedRef<SortItem[]>;
101
102
  toggleGroup: (group: Group) => void;
@@ -18,7 +18,7 @@ import { makeDataTableSelectProps, provideSelection } from "./composables/select
18
18
  import { createSort, makeDataTableSortProps, provideSort, useSortedItems } from "./composables/sort.mjs";
19
19
  import { provideDefaults } from "../../composables/defaults.mjs";
20
20
  import { makeFilterProps, useFilter } from "../../composables/filter.mjs"; // Utilities
21
- import { computed, toRef } from 'vue';
21
+ import { computed, toRef, toRefs } from 'vue';
22
22
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
23
23
  export const makeDataTableProps = propsFactory({
24
24
  ...makeVDataTableRowsProps(),
@@ -72,6 +72,9 @@ export const VDataTable = genericComponent()({
72
72
  page,
73
73
  itemsPerPage
74
74
  } = createPagination(props);
75
+ const {
76
+ disableSort
77
+ } = toRefs(props);
75
78
  const {
76
79
  columns,
77
80
  headers,
@@ -109,7 +112,8 @@ export const VDataTable = genericComponent()({
109
112
  toggleGroup
110
113
  } = provideGroupBy({
111
114
  groupBy,
112
- sortBy
115
+ sortBy,
116
+ disableSort
113
117
  });
114
118
  const {
115
119
  sortedItems
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTable.mjs","names":["makeVDataTableFooterProps","VDataTableFooter","makeVDataTableHeadersProps","VDataTableHeaders","makeVDataTableRowsProps","VDataTableRows","VDivider","makeVTableProps","VTable","makeDataTableExpandProps","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemsProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","createSort","makeDataTableSortProps","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","computed","toRef","genericComponent","propsFactory","useRender","makeDataTableProps","hideDefaultBody","Boolean","hideDefaultFooter","hideDefaultHeader","width","String","Number","search","makeVDataTableProps","VDataTable","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","headers","sortFunctions","sortRawFunctions","filterFunctions","showSelect","showExpand","items","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","pageCount","setItemsPerPage","paginatedItems","paginatedItemsWithoutGroups","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","hideNoData","noDataText","loading","loadingText","slotProps","map","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/components/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { makeVDataTableHeadersProps, VDataTableHeaders } from './VDataTableHeaders'\nimport { makeVDataTableRowsProps, VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTableProps, VTable } from '@/components/VTable/VTable'\n\n// Composables\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemsProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, UnwrapRef } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableHeader, DataTableItem, InternalDataTableHeader, RowProps } from './types'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport type VDataTableSlotProps<T> = {\n page: number\n itemsPerPage: number\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n pageCount: number\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n setItemsPerPage: ReturnType<typeof providePagination>['setItemsPerPage']\n someSelected: boolean\n allSelected: boolean\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n select: ReturnType<typeof provideSelection>['select']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n items: readonly T[]\n internalItems: readonly DataTableItem[]\n groupedItems: readonly (DataTableItem<T> | Group<DataTableItem<T>>)[]\n columns: InternalDataTableHeader[]\n headers: InternalDataTableHeader[][]\n}\n\nexport type VDataTableSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n default: VDataTableSlotProps<T>\n colgroup: VDataTableSlotProps<T>\n top: VDataTableSlotProps<T>\n body: VDataTableSlotProps<T>\n tbody: VDataTableSlotProps<T>\n thead: VDataTableSlotProps<T>\n tfoot: VDataTableSlotProps<T>\n bottom: VDataTableSlotProps<T>\n 'body.prepend': VDataTableSlotProps<T>\n 'body.append': VDataTableSlotProps<T>\n 'footer.prepend': never\n}\n\nexport const makeDataTableProps = propsFactory({\n ...makeVDataTableRowsProps(),\n\n hideDefaultBody: Boolean,\n hideDefaultFooter: Boolean,\n hideDefaultHeader: Boolean,\n width: [String, Number],\n search: String,\n\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemsProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeVDataTableHeadersProps(),\n ...makeVTableProps(),\n}, 'DataTable')\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeFilterProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTable')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTable = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTable',\n\n props: makeVDataTableProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'update:currentItems': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const {\n columns,\n headers,\n sortFunctions,\n sortRawFunctions,\n filterFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => item.columns,\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex, pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected,\n } = provideSelection(props, { allItems: items, currentPage: paginatedItemsWithoutGroups })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: paginatedItemsWithoutGroups.value.map(item => item.raw),\n internalItems: paginatedItemsWithoutGroups.value,\n groupedItems: paginatedItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody>\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ paginatedItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTable.mjs","names":["makeVDataTableFooterProps","VDataTableFooter","makeVDataTableHeadersProps","VDataTableHeaders","makeVDataTableRowsProps","VDataTableRows","VDivider","makeVTableProps","VTable","makeDataTableExpandProps","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemsProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","createSort","makeDataTableSortProps","provideSort","useSortedItems","provideDefaults","makeFilterProps","useFilter","computed","toRef","toRefs","genericComponent","propsFactory","useRender","makeDataTableProps","hideDefaultBody","Boolean","hideDefaultFooter","hideDefaultHeader","width","String","Number","search","makeVDataTableProps","VDataTable","name","props","emits","value","setup","_ref","attrs","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","disableSort","columns","headers","sortFunctions","sortRawFunctions","filterFunctions","showSelect","showExpand","items","filteredItems","transform","item","customKeyFilter","toggleSort","sortByWithGroups","opened","extractRows","isGroupOpen","toggleGroup","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","pageCount","setItemsPerPage","paginatedItems","paginatedItemsWithoutGroups","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","hideNoData","noDataText","loading","loadingText","slotProps","map","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/components/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { makeVDataTableHeadersProps, VDataTableHeaders } from './VDataTableHeaders'\nimport { makeVDataTableRowsProps, VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTableProps, VTable } from '@/components/VTable/VTable'\n\n// Composables\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemsProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Utilities\nimport { computed, toRef, toRefs } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, UnwrapRef } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableHeader, DataTableItem, InternalDataTableHeader, RowProps } from './types'\nimport type { VDataTableHeadersSlots } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport type VDataTableSlotProps<T> = {\n page: number\n itemsPerPage: number\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n pageCount: number\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n setItemsPerPage: ReturnType<typeof providePagination>['setItemsPerPage']\n someSelected: boolean\n allSelected: boolean\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n select: ReturnType<typeof provideSelection>['select']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n items: readonly T[]\n internalItems: readonly DataTableItem[]\n groupedItems: readonly (DataTableItem<T> | Group<DataTableItem<T>>)[]\n columns: InternalDataTableHeader[]\n headers: InternalDataTableHeader[][]\n}\n\nexport type VDataTableSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {\n default: VDataTableSlotProps<T>\n colgroup: VDataTableSlotProps<T>\n top: VDataTableSlotProps<T>\n body: VDataTableSlotProps<T>\n tbody: VDataTableSlotProps<T>\n thead: VDataTableSlotProps<T>\n tfoot: VDataTableSlotProps<T>\n bottom: VDataTableSlotProps<T>\n 'body.prepend': VDataTableSlotProps<T>\n 'body.append': VDataTableSlotProps<T>\n 'footer.prepend': never\n}\n\nexport const makeDataTableProps = propsFactory({\n ...makeVDataTableRowsProps(),\n\n hideDefaultBody: Boolean,\n hideDefaultFooter: Boolean,\n hideDefaultHeader: Boolean,\n width: [String, Number],\n search: String,\n\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemsProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeVDataTableHeadersProps(),\n ...makeVTableProps(),\n}, 'DataTable')\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeFilterProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTable')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTable = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n headers?: DeepReadonly<DataTableHeader<ItemType<T>>[]>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTable',\n\n props: makeVDataTableProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'update:currentItems': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const { disableSort } = toRefs(props)\n\n const {\n columns,\n headers,\n sortFunctions,\n sortRawFunctions,\n filterFunctions,\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions,\n })\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows, isGroupOpen, toggleGroup } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { sortedItems } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => item.columns,\n sortFunctions,\n sortRawFunctions,\n })\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex, pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected,\n } = provideSelection(props, { allItems: items, currentPage: paginatedItemsWithoutGroups })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: paginatedItemsWithoutGroups.value.map(item => item.raw),\n internalItems: paginatedItemsWithoutGroups.value,\n groupedItems: paginatedItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody>\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ paginatedItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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","ignoreList":[]}
@@ -6,24 +6,25 @@ import "./VDataTableFooter.css";
6
6
  import { VPagination } from "../VPagination/index.mjs";
7
7
  import { VSelect } from "../VSelect/index.mjs"; // Composables
8
8
  import { usePagination } from "./composables/paginate.mjs";
9
+ import { IconValue } from "../../composables/icons.mjs";
9
10
  import { useLocale } from "../../composables/locale.mjs"; // Utilities
10
11
  import { computed } from 'vue';
11
12
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
12
13
  export const makeVDataTableFooterProps = propsFactory({
13
14
  prevIcon: {
14
- type: String,
15
+ type: IconValue,
15
16
  default: '$prev'
16
17
  },
17
18
  nextIcon: {
18
- type: String,
19
+ type: IconValue,
19
20
  default: '$next'
20
21
  },
21
22
  firstIcon: {
22
- type: String,
23
+ type: IconValue,
23
24
  default: '$first'
24
25
  },
25
26
  lastIcon: {
26
- type: String,
27
+ type: IconValue,
27
28
  default: '$last'
28
29
  },
29
30
  itemsPerPageText: {
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableFooter.mjs","names":["VPagination","VSelect","usePagination","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","String","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","isNaN","Number","paginationProps","filterProps","_createVNode","prepend","v","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n first-aria-label={ props.firstPageLabel }\n last-aria-label={ props.lastPageLabel }\n length={ pageCount.value }\n next-aria-label={ props.nextPageLabel }\n previous-aria-label={ props.prevPageLabel }\n rounded\n show-first-last-page\n total-visible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,WAAW;AAAA,SACXC,OAAO,gCAEhB;AAAA,SACSC,aAAa;AAAA,SACbC,SAAS,wCAElB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAGA,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRH,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDE,SAAS,EAAE;IACTJ,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDG,QAAQ,EAAE;IACRL,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDI,gBAAgB,EAAE;IAChBN,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDK,QAAQ,EAAE;IACRP,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDM,cAAc,EAAE;IACdR,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDO,aAAa,EAAE;IACbT,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDQ,aAAa,EAAE;IACbV,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDS,aAAa,EAAE;IACbX,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDU,mBAAmB,EAAE;IACnBZ,IAAI,EAAEa,KAAyE;IAC/EX,OAAO,EAAEA,CAAA,KAAO,CACd;MAAEY,KAAK,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC,EAC1B;MAAED,KAAK,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC,EAC1B;MAAED,KAAK,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC,EAC1B;MAAED,KAAK,EAAE,GAAG;MAAEC,KAAK,EAAE;IAAM,CAAC,EAC5B;MAAED,KAAK,EAAE,CAAC,CAAC;MAAEC,KAAK,EAAE;IAAsC,CAAC;EAE/D,CAAC;EACDC,eAAe,EAAEC;AACnB,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGvB,gBAAgB,CAAqB,CAAC,CAAC;EACrEwB,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEtB,yBAAyB,CAAC,CAAC;EAElCuB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAE,CAAC,GAAG/B,SAAS,CAAC,CAAC;IACzB,MAAM;MAAEgC,IAAI;MAAEC,SAAS;MAAEC,UAAU;MAAEC,SAAS;MAAEC,WAAW;MAAEC,YAAY;MAAEC;IAAgB,CAAC,GAAGvC,aAAa,CAAC,CAAC;IAE9G,MAAMoB,mBAAmB,GAAGlB,QAAQ,CAAC,MACnC0B,KAAK,CAACR,mBAAmB,CAACoB,GAAG,CAACC,MAAM,IAAI;MACtC,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO;UACLnB,KAAK,EAAEmB,MAAM;UACblB,KAAK,EAAEkB,MAAM,KAAK,CAAC,CAAC,GAChBT,CAAC,CAAC,qCAAqC,CAAC,GACxCvB,MAAM,CAACgC,MAAM;QACnB,CAAC;MACH;MAEA,OAAO;QACL,GAAGA,MAAM;QACTlB,KAAK,EAAE,CAACmB,KAAK,CAACC,MAAM,CAACF,MAAM,CAAClB,KAAK,CAAC,CAAC,GAAGkB,MAAM,CAAClB,KAAK,GAAGS,CAAC,CAACS,MAAM,CAAClB,KAAK;MACrE,CAAC;IACH,CAAC,CACF,CAAC;IAEFlB,SAAS,CAAC,MAAM;MACd,MAAMuC,eAAe,GAAG9C,WAAW,CAAC+C,WAAW,CAACjB,KAAK,CAAC;MAEtD,OAAAkB,YAAA;QAAA;MAAA,IAEMf,KAAK,CAACgB,OAAO,GAAG,CAAC,EAAAD,YAAA;QAAA;MAAA,IAAAA,YAAA,gBAGTd,CAAC,CAACJ,KAAK,CAACd,gBAAgB,CAAC,IAAAgC,YAAA,CAAA/C,OAAA;QAAA,SAGvBqB,mBAAmB,CAACE,KAAK;QAAA,cACpBgB,YAAY,CAAChB,KAAK;QAAA,uBACT0B,CAAC,IAAIT,eAAe,CAACI,MAAM,CAACK,CAAC,CAAC,CAAC;QAAA;QAAA;QAAA;MAAA,YAAAF,YAAA;QAAA;MAAA,IAAAA,YAAA,eASnDd,CAAC,CAACJ,KAAK,CAACb,QAAQ,EAAE,CAACsB,WAAW,CAACf,KAAK,GAAG,CAAC,GAAGa,UAAU,CAACb,KAAK,GAAG,CAAC,EAAEc,SAAS,CAACd,KAAK,EAAEe,WAAW,CAACf,KAAK,CAAC,MAAAwB,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAAhD,WAAA,EAAAmD,WAAA;QAAA,cAM5FhB,IAAI,CAACX,KAAK;QAAA,uBAAA4B,MAAA,IAAVjB,IAAI,CAACX,KAAK,GAAA4B,MAAA;QAAA;QAAA,oBAEDtB,KAAK,CAACZ,cAAc;QAAA,mBACrBY,KAAK,CAACT,aAAa;QAAA,UAC5Be,SAAS,CAACZ,KAAK;QAAA,mBACNM,KAAK,CAACV,aAAa;QAAA,uBACfU,KAAK,CAACX,aAAa;QAAA;QAAA;QAAA,iBAGzBW,KAAK,CAACJ,eAAe,GAAG,CAAC,GAAG,CAAC;QAAA;MAAA,GAExCoB,eAAe;IAK9B,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableFooter.mjs","names":["VPagination","VSelect","usePagination","IconValue","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","String","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","isNaN","Number","paginationProps","filterProps","_createVNode","prepend","v","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n firstIcon: {\n type: IconValue,\n default: '$first',\n },\n lastIcon: {\n type: IconValue,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n first-aria-label={ props.firstPageLabel }\n last-aria-label={ props.lastPageLabel }\n length={ pageCount.value }\n next-aria-label={ props.nextPageLabel }\n previous-aria-label={ props.prevPageLabel }\n rounded\n show-first-last-page\n total-visible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@ import { createPagination, makeDataTablePaginateProps, providePagination } from
15
15
  import { provideSelection } from "./composables/select.mjs";
16
16
  import { createSort, provideSort } from "./composables/sort.mjs";
17
17
  import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
18
- import { computed, provide, toRef } from 'vue';
18
+ import { computed, provide, toRef, toRefs } from 'vue';
19
19
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
20
20
  export const makeVDataTableServerProps = propsFactory({
21
21
  itemsLength: {
@@ -55,6 +55,9 @@ export const VDataTableServer = genericComponent()({
55
55
  page,
56
56
  itemsPerPage
57
57
  } = createPagination(props);
58
+ const {
59
+ disableSort
60
+ } = toRefs(props);
58
61
  const itemsLength = computed(() => parseInt(props.itemsLength, 10));
59
62
  const {
60
63
  columns,
@@ -82,7 +85,8 @@ export const VDataTableServer = genericComponent()({
82
85
  extractRows
83
86
  } = provideGroupBy({
84
87
  groupBy,
85
- sortBy
88
+ sortBy,
89
+ disableSort
86
90
  });
87
91
  const {
88
92
  pageCount,
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableServer.mjs","names":["makeDataTableProps","makeVDataTableFooterProps","VDataTableFooter","VDataTableHeaders","VDataTableRows","VDivider","VTable","provideExpanded","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","provideSelection","createSort","provideSort","provideDefaults","computed","provide","toRef","genericComponent","propsFactory","useRender","makeVDataTableServerProps","itemsLength","type","Number","String","required","VDataTableServer","name","props","emits","value","page","sortBy","options","setup","_ref","attrs","slots","groupBy","multiSort","mustSort","itemsPerPage","parseInt","columns","headers","showSelect","showExpand","items","toggleSort","opened","isGroupOpen","toggleGroup","extractRows","pageCount","setItemsPerPage","flatItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","itemsWithoutGroups","search","hideNoData","noDataText","loading","loadingText","slotProps","map","item","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","hideDefaultHeader","fixedHeader","thead","hideDefaultBody","body","tbody","tfoot","bottom","hideDefaultFooter","prepend"],"sources":["../../../src/components/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VDataTableSlotProps, VDataTableSlots } from './VDataTable'\nimport type { CellProps, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTableServer')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableServer = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableServer',\n\n props: makeVDataTableServerProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n const { columns, headers } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened, isGroupOpen, toggleGroup, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems: items,\n currentPage: items,\n })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const itemsWithoutGroups = computed(() => extractRows(items.value))\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search: toRef(props, 'search'),\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: itemsWithoutGroups.value.map(item => item.raw),\n internalItems: itemsWithoutGroups.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\" class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n sticky={ props.fixedHeader }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ flatItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableServer.mjs","names":["makeDataTableProps","makeVDataTableFooterProps","VDataTableFooter","VDataTableHeaders","VDataTableRows","VDivider","VTable","provideExpanded","createGroupBy","provideGroupBy","useGroupedItems","createHeaders","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","provideSelection","createSort","provideSort","provideDefaults","computed","provide","toRef","toRefs","genericComponent","propsFactory","useRender","makeVDataTableServerProps","itemsLength","type","Number","String","required","VDataTableServer","name","props","emits","value","page","sortBy","options","setup","_ref","attrs","slots","groupBy","multiSort","mustSort","itemsPerPage","disableSort","parseInt","columns","headers","showSelect","showExpand","items","toggleSort","opened","isGroupOpen","toggleGroup","extractRows","pageCount","setItemsPerPage","flatItems","isSelected","select","selectAll","toggleSelect","someSelected","allSelected","allItems","currentPage","isExpanded","toggleExpand","itemsWithoutGroups","search","hideNoData","noDataText","loading","loadingText","slotProps","map","item","raw","internalItems","groupedItems","dataTableFooterProps","filterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","_createVNode","_mergeProps","class","style","top","default","_Fragment","colgroup","hideDefaultHeader","fixedHeader","thead","hideDefaultBody","body","tbody","tfoot","bottom","hideDefaultFooter","prepend"],"sources":["../../../src/components/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { makeDataTableProps } from './VDataTable'\nimport { makeVDataTableFooterProps, VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDivider } from '@/components/VDivider'\nimport { VTable } from '@/components/VTable'\n\n// Composables\nimport { provideExpanded } from './composables/expand'\nimport { createGroupBy, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders } from './composables/headers'\nimport { useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { provideSelection } from './composables/select'\nimport { createSort, provideSort } from './composables/sort'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, provide, toRef, toRefs } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VDataTableSlotProps, VDataTableSlots } from './VDataTable'\nimport type { CellProps, RowProps } from '@/components/VDataTable/types'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps(),\n}, 'VDataTableServer')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VDataTableServer = genericComponent<new <T extends readonly any[], V>(\n props: {\n items?: T\n itemValue?: SelectItemKey<ItemType<T>>\n rowProps?: RowProps<ItemType<T>>\n cellProps?: CellProps<ItemType<T>>\n itemSelectable?: SelectItemKey<ItemType<T>>\n modelValue?: V\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: VDataTableSlots<ItemType<T>>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableServer',\n\n props: makeVDataTableServerProps(),\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const { disableSort } = toRefs(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n const { columns, headers } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened, isGroupOpen, toggleGroup, extractRows } = provideGroupBy({ groupBy, sortBy, disableSort })\n\n const { pageCount, setItemsPerPage } = providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n const { isSelected, select, selectAll, toggleSelect, someSelected, allSelected } = provideSelection(props, {\n allItems: items,\n currentPage: items,\n })\n\n const { isExpanded, toggleExpand } = provideExpanded(props)\n\n const itemsWithoutGroups = computed(() => extractRows(items.value))\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search: toRef(props, 'search'),\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n const slotProps = computed<VDataTableSlotProps<any>>(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: itemsWithoutGroups.value.map(item => item.raw),\n internalItems: itemsWithoutGroups.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value,\n }))\n\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props)\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props)\n const dataTableRowsProps = VDataTableRows.filterProps(props)\n const tableProps = VTable.filterProps(props)\n\n return (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n props.class,\n ]}\n style={ props.style }\n { ...tableProps }\n >\n {{\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : (\n <>\n { slots.colgroup?.(slotProps.value) }\n { !props.hideDefaultHeader && (\n <thead key=\"thead\" class=\"v-data-table__thead\" role=\"rowgroup\">\n <VDataTableHeaders\n { ...dataTableHeadersProps }\n sticky={ props.fixedHeader }\n v-slots={ slots }\n />\n </thead>\n )}\n { slots.thead?.(slotProps.value) }\n { !props.hideDefaultBody && (\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots['body.prepend']?.(slotProps.value) }\n { slots.body ? slots.body(slotProps.value) : (\n <VDataTableRows\n { ...attrs }\n { ...dataTableRowsProps }\n items={ flatItems.value }\n v-slots={ slots }\n />\n )}\n { slots['body.append']?.(slotProps.value) }\n </tbody>\n )}\n { slots.tbody?.(slotProps.value) }\n { slots.tfoot?.(slotProps.value) }\n </>\n ),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && (\n <>\n <VDivider />\n\n <VDataTableFooter\n { ...dataTableFooterProps }\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n </>\n ),\n }}\n </VTable>\n )\n })\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ import { createSort, provideSort, useSortedItems } from "./composables/sort.mjs"
16
16
  import { provideDefaults } from "../../composables/defaults.mjs";
17
17
  import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
18
18
  import { makeVirtualProps, useVirtual } from "../../composables/virtual.mjs"; // Utilities
19
- import { computed, shallowRef, toRef } from 'vue';
19
+ import { computed, shallowRef, toRef, toRefs } from 'vue';
20
20
  import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
21
21
  export const makeVDataTableVirtualProps = propsFactory({
22
22
  ...makeDataTableProps(),
@@ -47,6 +47,9 @@ export const VDataTableVirtual = genericComponent()({
47
47
  multiSort,
48
48
  mustSort
49
49
  } = createSort(props);
50
+ const {
51
+ disableSort
52
+ } = toRefs(props);
50
53
  const {
51
54
  columns,
52
55
  headers,
@@ -83,7 +86,8 @@ export const VDataTableVirtual = genericComponent()({
83
86
  toggleGroup
84
87
  } = provideGroupBy({
85
88
  groupBy,
86
- sortBy
89
+ sortBy,
90
+ disableSort
87
91
  });
88
92
  const {
89
93
  sortedItems