vuetify 3.6.2 → 3.6.4

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 (127) hide show
  1. package/dist/json/attributes.json +197 -57
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +106 -106
  4. package/dist/json/tags.json +36 -1
  5. package/dist/json/web-types.json +527 -117
  6. package/dist/vuetify-labs.css +2933 -2635
  7. package/dist/vuetify-labs.d.ts +1891 -1542
  8. package/dist/vuetify-labs.esm.js +167 -159
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +166 -158
  11. package/dist/vuetify-labs.min.css +3 -3
  12. package/dist/vuetify.css +1157 -863
  13. package/dist/vuetify.d.ts +1328 -1335
  14. package/dist/vuetify.esm.js +114 -84
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +113 -83
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +3 -3
  19. package/dist/vuetify.min.js +990 -987
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +3 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +187 -158
  25. package/lib/components/VAvatar/VAvatar.css +3 -1
  26. package/lib/components/VBanner/index.d.mts +11 -11
  27. package/lib/components/VBottomSheet/index.d.mts +42 -42
  28. package/lib/components/VBtn/VBtn.css +3 -1
  29. package/lib/components/VCard/VCard.css +3 -1
  30. package/lib/components/VCarousel/index.d.mts +6 -6
  31. package/lib/components/VChip/VChip.css +3 -1
  32. package/lib/components/VChipGroup/index.d.mts +11 -11
  33. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -1
  34. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  35. package/lib/components/VCombobox/index.d.mts +187 -158
  36. package/lib/components/VDataIterator/index.d.mts +1 -1
  37. package/lib/components/VDataTable/VDataTable.css +1 -1
  38. package/lib/components/VDataTable/VDataTable.sass +2 -1
  39. package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
  40. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  41. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  42. package/lib/components/VDataTable/composables/select.mjs +9 -9
  43. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  44. package/lib/components/VDataTable/index.d.mts +76 -71
  45. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
  46. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  47. package/lib/components/VDialog/index.d.mts +126 -126
  48. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  49. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  50. package/lib/components/VFileInput/index.d.mts +9 -9
  51. package/lib/components/VImg/index.d.mts +6 -6
  52. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  53. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  54. package/lib/components/VList/VList.mjs.map +1 -1
  55. package/lib/components/VList/VListItem.css +3 -1
  56. package/lib/components/VList/VListItem.mjs +3 -2
  57. package/lib/components/VList/VListItem.mjs.map +1 -1
  58. package/lib/components/VList/index.d.mts +76 -52
  59. package/lib/components/VMenu/index.d.mts +126 -126
  60. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -1
  61. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  62. package/lib/components/VNavigationDrawer/index.d.mts +19 -13
  63. package/lib/components/VOverlay/VOverlay.mjs +2 -5
  64. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  65. package/lib/components/VOverlay/index.d.mts +42 -42
  66. package/lib/components/VOverlay/useActivator.mjs +5 -5
  67. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  68. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  69. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  70. package/lib/components/VResponsive/index.d.mts +6 -6
  71. package/lib/components/VSelect/index.d.mts +187 -158
  72. package/lib/components/VSheet/VSheet.css +1 -1
  73. package/lib/components/VSheet/_variables.scss +1 -1
  74. package/lib/components/VSlideGroup/VSlideGroup.mjs +25 -25
  75. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  76. package/lib/components/VSlideGroup/index.d.mts +11 -11
  77. package/lib/components/VSlider/VSliderThumb.css +5 -0
  78. package/lib/components/VSlider/VSliderThumb.sass +3 -0
  79. package/lib/components/VSlider/VSliderTrack.css +15 -0
  80. package/lib/components/VSlider/VSliderTrack.sass +9 -0
  81. package/lib/components/VSnackbar/VSnackbar.css +3 -1
  82. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  83. package/lib/components/VSnackbar/index.d.mts +126 -126
  84. package/lib/components/VSpeedDial/index.d.mts +42 -42
  85. package/lib/components/VStepper/VStepperWindow.mjs +2 -1
  86. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  87. package/lib/components/VStepper/VStepperWindowItem.mjs +2 -1
  88. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  89. package/lib/components/VTabs/VTabs.mjs +8 -3
  90. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  91. package/lib/components/VTabs/VTabsWindow.mjs +2 -1
  92. package/lib/components/VTabs/VTabsWindow.mjs.map +1 -1
  93. package/lib/components/VTabs/index.d.mts +11 -11
  94. package/lib/components/VToolbar/VToolbar.css +5 -5
  95. package/lib/components/VToolbar/_variables.scss +3 -3
  96. package/lib/components/VTooltip/index.d.mts +126 -126
  97. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  98. package/lib/components/index.d.mts +1291 -1298
  99. package/lib/composables/component.mjs +1 -1
  100. package/lib/composables/component.mjs.map +1 -1
  101. package/lib/composables/display.mjs +1 -1
  102. package/lib/composables/display.mjs.map +1 -1
  103. package/lib/composables/nested/activeStrategies.mjs +16 -10
  104. package/lib/composables/nested/activeStrategies.mjs.map +1 -1
  105. package/lib/composables/nested/nested.mjs +7 -5
  106. package/lib/composables/nested/nested.mjs.map +1 -1
  107. package/lib/composables/resizeObserver.mjs +5 -5
  108. package/lib/composables/resizeObserver.mjs.map +1 -1
  109. package/lib/entry-bundler.mjs +1 -1
  110. package/lib/framework.mjs +1 -1
  111. package/lib/index.d.mts +37 -37
  112. package/lib/labs/VCalendar/VCalendar.css +5 -1
  113. package/lib/labs/VCalendar/VCalendar.sass +3 -2
  114. package/lib/labs/VCalendar/_variables.scss +8 -0
  115. package/lib/labs/VNumberInput/VNumberInput.mjs +57 -81
  116. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  117. package/lib/labs/VNumberInput/index.d.mts +402 -34
  118. package/lib/labs/VSnackbarQueue/index.d.mts +138 -138
  119. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  120. package/lib/labs/VTreeview/index.d.mts +88 -64
  121. package/lib/labs/components.d.mts +620 -235
  122. package/lib/styles/generic/_colors.scss +1 -0
  123. package/lib/styles/main.css +260 -0
  124. package/lib/styles/tools/_variant.sass +3 -1
  125. package/lib/util/helpers.mjs +16 -0
  126. package/lib/util/helpers.mjs.map +1 -1
  127. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, Ref, JSXComponent, UnwrapRef } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, ComponentPublicInstance, PropType, Ref, JSXComponent, UnwrapRef } from 'vue';
3
3
 
4
4
  type SlotsToProps<U extends RawSlots, T = MakeInternalSlots<U>> = {
5
5
  $children?: (VNodeChild | (T extends {
@@ -34,6 +34,11 @@ declare function deepEqual(a: any, b: any): boolean;
34
34
  type SelectItemKey<T = Record<string, any>> = boolean | null | undefined | string | readonly (string | number)[] | ((item: T, fallback?: any) => any);
35
35
  type EventProp<T extends any[] = any[], F = (...args: T) => void> = F;
36
36
  declare const EventProp: <T extends any[] = any[]>() => PropType<(...args: T) => void>;
37
+ type TemplateRef = {
38
+ (target: Element | ComponentPublicInstance | null): void;
39
+ value: HTMLElement | ComponentPublicInstance | null | undefined;
40
+ readonly el: HTMLElement | undefined;
41
+ };
37
42
 
38
43
  interface LoaderSlotProps {
39
44
  color: string | undefined;
@@ -207,7 +212,7 @@ declare function provideSelection(props: SelectionProps, { allItems, currentPage
207
212
  isSomeSelected: (items: SelectableItem | SelectableItem[]) => boolean;
208
213
  someSelected: vue.ComputedRef<boolean>;
209
214
  allSelected: vue.ComputedRef<boolean>;
210
- showSelectAll: boolean;
215
+ showSelectAll: vue.ComputedRef<boolean>;
211
216
  };
212
217
 
213
218
  declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
@@ -248,7 +253,7 @@ type VDataTableHeadersSlots = {
248
253
  };
249
254
  declare const VDataTableHeaders: {
250
255
  new (...args: any[]): vue.CreateComponentPublicInstance<{
251
- mobile: boolean;
256
+ mobile: boolean | null;
252
257
  sticky: boolean;
253
258
  multiSort: boolean;
254
259
  sortAscIcon: IconValue;
@@ -280,7 +285,7 @@ declare const VDataTableHeaders: {
280
285
  "v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
281
286
  "v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
282
287
  }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
283
- mobile: boolean;
288
+ mobile: boolean | null;
284
289
  sticky: boolean;
285
290
  multiSort: boolean;
286
291
  sortAscIcon: IconValue;
@@ -312,7 +317,7 @@ declare const VDataTableHeaders: {
312
317
  "v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
313
318
  "v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
314
319
  }, {
315
- mobile: boolean;
320
+ mobile: boolean | null;
316
321
  sticky: boolean;
317
322
  multiSort: boolean;
318
323
  sortAscIcon: IconValue;
@@ -341,7 +346,7 @@ declare const VDataTableHeaders: {
341
346
  M: {};
342
347
  Defaults: {};
343
348
  }, {
344
- mobile: boolean;
349
+ mobile: boolean | null;
345
350
  sticky: boolean;
346
351
  multiSort: boolean;
347
352
  sortAscIcon: IconValue;
@@ -373,7 +378,7 @@ declare const VDataTableHeaders: {
373
378
  "v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
374
379
  "v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
375
380
  }, {}, {}, {}, {}, {
376
- mobile: boolean;
381
+ mobile: boolean | null;
377
382
  sticky: boolean;
378
383
  multiSort: boolean;
379
384
  sortAscIcon: IconValue;
@@ -383,7 +388,7 @@ declare const VDataTableHeaders: {
383
388
  __isTeleport?: undefined;
384
389
  __isSuspense?: undefined;
385
390
  } & vue.ComponentOptionsBase<{
386
- mobile: boolean;
391
+ mobile: boolean | null;
387
392
  sticky: boolean;
388
393
  multiSort: boolean;
389
394
  sortAscIcon: IconValue;
@@ -415,7 +420,7 @@ declare const VDataTableHeaders: {
415
420
  "v-slot:header.data-table-select"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
416
421
  "v-slot:header.data-table-expand"?: false | ((arg: VDataTableHeaderCellColumnSlotProps) => vue.VNodeChild) | undefined;
417
422
  }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
418
- mobile: boolean;
423
+ mobile: boolean | null;
419
424
  sticky: boolean;
420
425
  multiSort: boolean;
421
426
  sortAscIcon: IconValue;
@@ -439,8 +444,8 @@ declare const VDataTableHeaders: {
439
444
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
440
445
  loading: (StringConstructor | BooleanConstructor)[];
441
446
  mobile: {
442
- type: BooleanConstructor;
443
- default: null;
447
+ type: PropType<boolean | null>;
448
+ default: boolean;
444
449
  };
445
450
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
446
451
  color: StringConstructor;
@@ -460,8 +465,8 @@ declare const VDataTableHeaders: {
460
465
  }, vue.ExtractPropTypes<{
461
466
  loading: (StringConstructor | BooleanConstructor)[];
462
467
  mobile: {
463
- type: BooleanConstructor;
464
- default: null;
468
+ type: PropType<boolean | null>;
469
+ default: boolean;
465
470
  };
466
471
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
467
472
  color: StringConstructor;
@@ -522,7 +527,7 @@ type VDataTableRowSlots<T> = {
522
527
  };
523
528
  declare const VDataTableRow: {
524
529
  new (...args: any[]): vue.CreateComponentPublicInstance<{
525
- mobile: boolean;
530
+ mobile: boolean | null;
526
531
  } & {
527
532
  onClick?: ((args_0: MouseEvent) => void) | undefined;
528
533
  onContextmenu?: ((args_0: MouseEvent) => void) | undefined;
@@ -530,7 +535,7 @@ declare const VDataTableRow: {
530
535
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
531
536
  index?: number | undefined;
532
537
  }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "item" | "cellProps" | `v-slot:header.${string}` | `v-slot:item.${string}`>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
533
- mobile: boolean;
538
+ mobile: boolean | null;
534
539
  } & {
535
540
  onClick?: ((args_0: MouseEvent) => void) | undefined;
536
541
  onContextmenu?: ((args_0: MouseEvent) => void) | undefined;
@@ -538,7 +543,7 @@ declare const VDataTableRow: {
538
543
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
539
544
  index?: number | undefined;
540
545
  }, {
541
- mobile: boolean;
546
+ mobile: boolean | null;
542
547
  }, true, {}, vue.SlotsType<Partial<{
543
548
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
544
549
  [key: string]: any;
@@ -566,7 +571,7 @@ declare const VDataTableRow: {
566
571
  M: {};
567
572
  Defaults: {};
568
573
  }, {
569
- mobile: boolean;
574
+ mobile: boolean | null;
570
575
  } & {
571
576
  onClick?: ((args_0: MouseEvent) => void) | undefined;
572
577
  onContextmenu?: ((args_0: MouseEvent) => void) | undefined;
@@ -574,13 +579,13 @@ declare const VDataTableRow: {
574
579
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
575
580
  index?: number | undefined;
576
581
  }, {}, {}, {}, {}, {
577
- mobile: boolean;
582
+ mobile: boolean | null;
578
583
  }>;
579
584
  __isFragment?: undefined;
580
585
  __isTeleport?: undefined;
581
586
  __isSuspense?: undefined;
582
587
  } & vue.ComponentOptionsBase<{
583
- mobile: boolean;
588
+ mobile: boolean | null;
584
589
  } & {
585
590
  onClick?: ((args_0: MouseEvent) => void) | undefined;
586
591
  onContextmenu?: ((args_0: MouseEvent) => void) | undefined;
@@ -588,7 +593,7 @@ declare const VDataTableRow: {
588
593
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
589
594
  index?: number | undefined;
590
595
  }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "item" | "cellProps" | `v-slot:header.${string}` | `v-slot:item.${string}`>, string, {
591
- mobile: boolean;
596
+ mobile: boolean | null;
592
597
  }, {}, string, vue.SlotsType<Partial<{
593
598
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
594
599
  [key: string]: any;
@@ -616,8 +621,8 @@ declare const VDataTableRow: {
616
621
  cellProps?: CellProps<T> | undefined;
617
622
  }, VDataTableRowSlots<T>>) & FilterPropsOptions<{
618
623
  mobile: {
619
- type: BooleanConstructor;
620
- default: null;
624
+ type: PropType<boolean | null>;
625
+ default: boolean;
621
626
  };
622
627
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
623
628
  index: NumberConstructor;
@@ -628,8 +633,8 @@ declare const VDataTableRow: {
628
633
  onDblclick: PropType<(args_0: MouseEvent) => void>;
629
634
  }, vue.ExtractPropTypes<{
630
635
  mobile: {
631
- type: BooleanConstructor;
632
- default: null;
636
+ type: PropType<boolean | null>;
637
+ default: boolean;
633
638
  };
634
639
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
635
640
  index: NumberConstructor;
@@ -654,7 +659,7 @@ declare const VDataTableRows: {
654
659
  new (...args: any[]): vue.CreateComponentPublicInstance<{
655
660
  noDataText: string;
656
661
  loadingText: string;
657
- mobile: boolean;
662
+ mobile: boolean | null;
658
663
  hideNoData: boolean;
659
664
  } & {
660
665
  loading?: string | boolean | undefined;
@@ -664,7 +669,7 @@ declare const VDataTableRows: {
664
669
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "items" | "v-slot:item" | "v-slot:no-data" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
665
670
  noDataText: string;
666
671
  loadingText: string;
667
- mobile: boolean;
672
+ mobile: boolean | null;
668
673
  hideNoData: boolean;
669
674
  } & {
670
675
  loading?: string | boolean | undefined;
@@ -674,7 +679,7 @@ declare const VDataTableRows: {
674
679
  }, {
675
680
  noDataText: string;
676
681
  loadingText: string;
677
- mobile: boolean;
682
+ mobile: boolean | null;
678
683
  hideNoData: boolean;
679
684
  }, true, {}, vue.SlotsType<Partial<{
680
685
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -744,7 +749,7 @@ declare const VDataTableRows: {
744
749
  }, {
745
750
  noDataText: string;
746
751
  loadingText: string;
747
- mobile: boolean;
752
+ mobile: boolean | null;
748
753
  hideNoData: boolean;
749
754
  } & {
750
755
  loading?: string | boolean | undefined;
@@ -754,7 +759,7 @@ declare const VDataTableRows: {
754
759
  }, {}, {}, {}, {}, {
755
760
  noDataText: string;
756
761
  loadingText: string;
757
- mobile: boolean;
762
+ mobile: boolean | null;
758
763
  hideNoData: boolean;
759
764
  }>;
760
765
  __isFragment?: undefined;
@@ -763,7 +768,7 @@ declare const VDataTableRows: {
763
768
  } & vue.ComponentOptionsBase<{
764
769
  noDataText: string;
765
770
  loadingText: string;
766
- mobile: boolean;
771
+ mobile: boolean | null;
767
772
  hideNoData: boolean;
768
773
  } & {
769
774
  loading?: string | boolean | undefined;
@@ -773,7 +778,7 @@ declare const VDataTableRows: {
773
778
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "items" | "v-slot:item" | "v-slot:no-data" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row">, string, {
774
779
  noDataText: string;
775
780
  loadingText: string;
776
- mobile: boolean;
781
+ mobile: boolean | null;
777
782
  hideNoData: boolean;
778
783
  }, {}, string, vue.SlotsType<Partial<{
779
784
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -839,8 +844,8 @@ declare const VDataTableRows: {
839
844
  items?: readonly (DataTableItem<T> | Group<T>)[] | undefined;
840
845
  }, VDataTableRowsSlots<T>>) & FilterPropsOptions<{
841
846
  mobile: {
842
- type: BooleanConstructor;
843
- default: null;
847
+ type: PropType<boolean | null>;
848
+ default: boolean;
844
849
  };
845
850
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
846
851
  loading: (StringConstructor | BooleanConstructor)[];
@@ -861,8 +866,8 @@ declare const VDataTableRows: {
861
866
  cellProps: PropType<CellProps<any>>;
862
867
  }, vue.ExtractPropTypes<{
863
868
  mobile: {
864
- type: BooleanConstructor;
865
- default: null;
869
+ type: PropType<boolean | null>;
870
+ default: boolean;
866
871
  };
867
872
  mobileBreakpoint: PropType<number | DisplayBreakpoint>;
868
873
  loading: (StringConstructor | BooleanConstructor)[];
@@ -931,7 +936,7 @@ declare const VDataTable: {
931
936
  sortBy: readonly SortItem[];
932
937
  pageText: string;
933
938
  page: string | number;
934
- mobile: boolean;
939
+ mobile: boolean | null;
935
940
  sticky: boolean;
936
941
  expanded: readonly string[];
937
942
  density: Density;
@@ -1006,7 +1011,7 @@ declare const VDataTable: {
1006
1011
  sortBy: readonly SortItem[];
1007
1012
  pageText: string;
1008
1013
  page: string | number;
1009
- mobile: boolean;
1014
+ mobile: boolean | null;
1010
1015
  sticky: boolean;
1011
1016
  expanded: readonly string[];
1012
1017
  density: Density;
@@ -1072,7 +1077,7 @@ declare const VDataTable: {
1072
1077
  sortBy: readonly SortItem[];
1073
1078
  pageText: string;
1074
1079
  page: string | number;
1075
- mobile: boolean;
1080
+ mobile: boolean | null;
1076
1081
  sticky: boolean;
1077
1082
  expanded: readonly string[];
1078
1083
  density: Density;
@@ -1220,7 +1225,7 @@ declare const VDataTable: {
1220
1225
  sortBy: readonly SortItem[];
1221
1226
  pageText: string;
1222
1227
  page: string | number;
1223
- mobile: boolean;
1228
+ mobile: boolean | null;
1224
1229
  sticky: boolean;
1225
1230
  expanded: readonly string[];
1226
1231
  density: Density;
@@ -1286,7 +1291,7 @@ declare const VDataTable: {
1286
1291
  sortBy: readonly SortItem[];
1287
1292
  pageText: string;
1288
1293
  page: string | number;
1289
- mobile: boolean;
1294
+ mobile: boolean | null;
1290
1295
  sticky: boolean;
1291
1296
  expanded: readonly string[];
1292
1297
  density: Density;
@@ -1334,7 +1339,7 @@ declare const VDataTable: {
1334
1339
  sortBy: readonly SortItem[];
1335
1340
  pageText: string;
1336
1341
  page: string | number;
1337
- mobile: boolean;
1342
+ mobile: boolean | null;
1338
1343
  sticky: boolean;
1339
1344
  expanded: readonly string[];
1340
1345
  density: Density;
@@ -1409,7 +1414,7 @@ declare const VDataTable: {
1409
1414
  sortBy: readonly SortItem[];
1410
1415
  pageText: string;
1411
1416
  page: string | number;
1412
- mobile: boolean;
1417
+ mobile: boolean | null;
1413
1418
  sticky: boolean;
1414
1419
  expanded: readonly string[];
1415
1420
  density: Density;
@@ -1684,8 +1689,8 @@ declare const VDataTable: {
1684
1689
  hover: BooleanConstructor;
1685
1690
  loading: (StringConstructor | BooleanConstructor)[];
1686
1691
  mobile: {
1687
- type: BooleanConstructor;
1688
- default: null;
1692
+ type: vue.PropType<boolean | null>;
1693
+ default: boolean;
1689
1694
  };
1690
1695
  mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
1691
1696
  color: StringConstructor;
@@ -1891,8 +1896,8 @@ declare const VDataTable: {
1891
1896
  hover: BooleanConstructor;
1892
1897
  loading: (StringConstructor | BooleanConstructor)[];
1893
1898
  mobile: {
1894
- type: BooleanConstructor;
1895
- default: null;
1899
+ type: vue.PropType<boolean | null>;
1900
+ default: boolean;
1896
1901
  };
1897
1902
  mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
1898
1903
  color: StringConstructor;
@@ -2303,7 +2308,7 @@ type VDataTableVirtualSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots
2303
2308
  'body.prepend': VDataTableVirtualSlotProps<T>;
2304
2309
  'body.append': VDataTableVirtualSlotProps<T>;
2305
2310
  item: {
2306
- itemRef: Ref<HTMLElement | undefined>;
2311
+ itemRef: TemplateRef;
2307
2312
  };
2308
2313
  };
2309
2314
  type ItemType$1<T> = T extends readonly (infer U)[] ? U : never;
@@ -2314,7 +2319,7 @@ declare const VDataTableVirtual: {
2314
2319
  noDataText: string;
2315
2320
  loadingText: string;
2316
2321
  sortBy: readonly SortItem[];
2317
- mobile: boolean;
2322
+ mobile: boolean | null;
2318
2323
  sticky: boolean;
2319
2324
  expanded: readonly string[];
2320
2325
  density: Density;
@@ -2412,7 +2417,7 @@ declare const VDataTableVirtual: {
2412
2417
  noDataText: string;
2413
2418
  loadingText: string;
2414
2419
  sortBy: readonly SortItem[];
2415
- mobile: boolean;
2420
+ mobile: boolean | null;
2416
2421
  sticky: boolean;
2417
2422
  expanded: readonly string[];
2418
2423
  density: Density;
@@ -2504,7 +2509,7 @@ declare const VDataTableVirtual: {
2504
2509
  noDataText: string;
2505
2510
  loadingText: string;
2506
2511
  sortBy: readonly SortItem[];
2507
- mobile: boolean;
2512
+ mobile: boolean | null;
2508
2513
  sticky: boolean;
2509
2514
  expanded: readonly string[];
2510
2515
  density: Density;
@@ -2570,7 +2575,7 @@ declare const VDataTableVirtual: {
2570
2575
  } & {
2571
2576
  props: Record<string, any>;
2572
2577
  } & {
2573
- itemRef: Ref<HTMLElement | undefined>;
2578
+ itemRef: TemplateRef;
2574
2579
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
2575
2580
  [key: string]: any;
2576
2581
  }>[];
@@ -2620,7 +2625,7 @@ declare const VDataTableVirtual: {
2620
2625
  noDataText: string;
2621
2626
  loadingText: string;
2622
2627
  sortBy: readonly SortItem[];
2623
- mobile: boolean;
2628
+ mobile: boolean | null;
2624
2629
  sticky: boolean;
2625
2630
  expanded: readonly string[];
2626
2631
  density: Density;
@@ -2712,7 +2717,7 @@ declare const VDataTableVirtual: {
2712
2717
  noDataText: string;
2713
2718
  loadingText: string;
2714
2719
  sortBy: readonly SortItem[];
2715
- mobile: boolean;
2720
+ mobile: boolean | null;
2716
2721
  sticky: boolean;
2717
2722
  expanded: readonly string[];
2718
2723
  density: Density;
@@ -2744,7 +2749,7 @@ declare const VDataTableVirtual: {
2744
2749
  noDataText: string;
2745
2750
  loadingText: string;
2746
2751
  sortBy: readonly SortItem[];
2747
- mobile: boolean;
2752
+ mobile: boolean | null;
2748
2753
  sticky: boolean;
2749
2754
  expanded: readonly string[];
2750
2755
  density: Density;
@@ -2842,7 +2847,7 @@ declare const VDataTableVirtual: {
2842
2847
  noDataText: string;
2843
2848
  loadingText: string;
2844
2849
  sortBy: readonly SortItem[];
2845
- mobile: boolean;
2850
+ mobile: boolean | null;
2846
2851
  sticky: boolean;
2847
2852
  expanded: readonly string[];
2848
2853
  density: Density;
@@ -2908,7 +2913,7 @@ declare const VDataTableVirtual: {
2908
2913
  } & {
2909
2914
  props: Record<string, any>;
2910
2915
  } & {
2911
- itemRef: Ref<HTMLElement | undefined>;
2916
+ itemRef: TemplateRef;
2912
2917
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
2913
2918
  [key: string]: any;
2914
2919
  }>[];
@@ -2999,8 +3004,8 @@ declare const VDataTableVirtual: {
2999
3004
  hover: BooleanConstructor;
3000
3005
  loading: (StringConstructor | BooleanConstructor)[];
3001
3006
  mobile: {
3002
- type: BooleanConstructor;
3003
- default: null;
3007
+ type: vue.PropType<boolean | null>;
3008
+ default: boolean;
3004
3009
  };
3005
3010
  mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
3006
3011
  color: StringConstructor;
@@ -3151,8 +3156,8 @@ declare const VDataTableVirtual: {
3151
3156
  hover: BooleanConstructor;
3152
3157
  loading: (StringConstructor | BooleanConstructor)[];
3153
3158
  mobile: {
3154
- type: BooleanConstructor;
3155
- default: null;
3159
+ type: vue.PropType<boolean | null>;
3160
+ default: boolean;
3156
3161
  };
3157
3162
  mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
3158
3163
  color: StringConstructor;
@@ -3279,7 +3284,7 @@ declare const VDataTableServer: {
3279
3284
  sortBy: readonly SortItem[];
3280
3285
  pageText: string;
3281
3286
  page: string | number;
3282
- mobile: boolean;
3287
+ mobile: boolean | null;
3283
3288
  sticky: boolean;
3284
3289
  expanded: readonly string[];
3285
3290
  density: Density;
@@ -3393,7 +3398,7 @@ declare const VDataTableServer: {
3393
3398
  sortBy: readonly SortItem[];
3394
3399
  pageText: string;
3395
3400
  page: string | number;
3396
- mobile: boolean;
3401
+ mobile: boolean | null;
3397
3402
  sticky: boolean;
3398
3403
  expanded: readonly string[];
3399
3404
  density: Density;
@@ -3499,7 +3504,7 @@ declare const VDataTableServer: {
3499
3504
  sortBy: readonly SortItem[];
3500
3505
  pageText: string;
3501
3506
  page: string | number;
3502
- mobile: boolean;
3507
+ mobile: boolean | null;
3503
3508
  sticky: boolean;
3504
3509
  expanded: readonly string[];
3505
3510
  density: Density;
@@ -3645,7 +3650,7 @@ declare const VDataTableServer: {
3645
3650
  sortBy: readonly SortItem[];
3646
3651
  pageText: string;
3647
3652
  page: string | number;
3648
- mobile: boolean;
3653
+ mobile: boolean | null;
3649
3654
  sticky: boolean;
3650
3655
  expanded: readonly string[];
3651
3656
  density: Density;
@@ -3751,7 +3756,7 @@ declare const VDataTableServer: {
3751
3756
  sortBy: readonly SortItem[];
3752
3757
  pageText: string;
3753
3758
  page: string | number;
3754
- mobile: boolean;
3759
+ mobile: boolean | null;
3755
3760
  sticky: boolean;
3756
3761
  expanded: readonly string[];
3757
3762
  density: Density;
@@ -3797,7 +3802,7 @@ declare const VDataTableServer: {
3797
3802
  sortBy: readonly SortItem[];
3798
3803
  pageText: string;
3799
3804
  page: string | number;
3800
- mobile: boolean;
3805
+ mobile: boolean | null;
3801
3806
  sticky: boolean;
3802
3807
  expanded: readonly string[];
3803
3808
  density: Density;
@@ -3911,7 +3916,7 @@ declare const VDataTableServer: {
3911
3916
  sortBy: readonly SortItem[];
3912
3917
  pageText: string;
3913
3918
  page: string | number;
3914
- mobile: boolean;
3919
+ mobile: boolean | null;
3915
3920
  sticky: boolean;
3916
3921
  expanded: readonly string[];
3917
3922
  density: Density;
@@ -4130,8 +4135,8 @@ declare const VDataTableServer: {
4130
4135
  hover: BooleanConstructor;
4131
4136
  loading: (StringConstructor | BooleanConstructor)[];
4132
4137
  mobile: {
4133
- type: BooleanConstructor;
4134
- default: null;
4138
+ type: vue.PropType<boolean | null>;
4139
+ default: boolean;
4135
4140
  };
4136
4141
  mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
4137
4142
  color: StringConstructor;
@@ -4333,8 +4338,8 @@ declare const VDataTableServer: {
4333
4338
  hover: BooleanConstructor;
4334
4339
  loading: (StringConstructor | BooleanConstructor)[];
4335
4340
  mobile: {
4336
- type: BooleanConstructor;
4337
- default: null;
4341
+ type: vue.PropType<boolean | null>;
4342
+ default: boolean;
4338
4343
  };
4339
4344
  mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
4340
4345
  color: StringConstructor;
@@ -6,8 +6,8 @@ import "./VDatePickerYears.css";
6
6
  import { VBtn } from "../VBtn/index.mjs"; // Composables
7
7
  import { useDate } from "../../composables/date/index.mjs";
8
8
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
9
- import { computed, nextTick, onMounted, ref, watchEffect } from 'vue';
10
- import { convertToUnit, createRange, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
9
+ import { computed, nextTick, onMounted, watchEffect } from 'vue';
10
+ import { convertToUnit, createRange, genericComponent, propsFactory, templateRef, useRender } from "../../util/index.mjs"; // Types
11
11
  // Types
12
12
  export const makeVDatePickerYearsProps = propsFactory({
13
13
  color: String,
@@ -53,10 +53,10 @@ export const VDatePickerYears = genericComponent()({
53
53
  watchEffect(() => {
54
54
  model.value = model.value ?? adapter.getYear(adapter.date());
55
55
  });
56
- const yearRef = ref();
56
+ const yearRef = templateRef();
57
57
  onMounted(async () => {
58
58
  await nextTick();
59
- yearRef.value?.$el.scrollIntoView({
59
+ yearRef.el?.scrollIntoView({
60
60
  block: 'center'
61
61
  });
62
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePickerYears.mjs","names":["VBtn","useDate","useProxiedModel","computed","nextTick","onMounted","ref","watchEffect","convertToUnit","createRange","genericComponent","propsFactory","useRender","makeVDatePickerYearsProps","color","String","height","Number","min","max","modelValue","VDatePickerYears","name","props","emits","year","setup","_ref","emit","slots","adapter","model","years","getYear","date","startOfYear","setYear","map","i","text","format","value","yearRef","$el","scrollIntoView","block","_createVNode","btnProps","undefined","active","rounded","variant","onClick","_mergeProps"],"sources":["../../../src/components/VDatePicker/VDatePickerYears.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerYears.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, watchEffect } from 'vue'\nimport { convertToUnit, createRange, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport type VDatePickerYearsSlots = {\n year: {\n year: {\n text: string\n value: number\n }\n i: number\n props: {\n active: boolean\n color?: string\n rounded: boolean\n text: string\n variant: 'flat' | 'text'\n onClick: () => void\n }\n }\n}\n\nexport const makeVDatePickerYearsProps = propsFactory({\n color: String,\n height: [String, Number],\n min: null as any as PropType<unknown>,\n max: null as any as PropType<unknown>,\n modelValue: Number,\n}, 'VDatePickerYears')\n\nexport const VDatePickerYears = genericComponent<VDatePickerYearsSlots>()({\n name: 'VDatePickerYears',\n\n props: makeVDatePickerYearsProps(),\n\n emits: {\n 'update:modelValue': (year: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const model = useProxiedModel(props, 'modelValue')\n const years = computed(() => {\n const year = adapter.getYear(adapter.date())\n\n let min = year - 100\n let max = year + 52\n\n if (props.min) {\n min = adapter.getYear(adapter.date(props.min))\n }\n\n if (props.max) {\n max = adapter.getYear(adapter.date(props.max))\n }\n\n let date = adapter.startOfYear(adapter.date())\n\n date = adapter.setYear(date, min)\n\n return createRange(max - min + 1, min).map(i => {\n const text = adapter.format(date, 'year')\n date = adapter.setYear(date, adapter.getYear(date) + 1)\n\n return {\n text,\n value: i,\n }\n })\n })\n\n watchEffect(() => {\n model.value = model.value ?? adapter.getYear(adapter.date())\n })\n\n const yearRef = ref<VBtn>()\n onMounted(async () => {\n await nextTick()\n yearRef.value?.$el.scrollIntoView({ block: 'center' })\n })\n\n useRender(() => (\n <div\n class=\"v-date-picker-years\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <div class=\"v-date-picker-years__content\">\n { years.value.map((year, i) => {\n const btnProps = {\n ref: model.value === year.value ? yearRef : undefined,\n active: model.value === year.value,\n color: model.value === year.value ? props.color : undefined,\n rounded: true,\n text: year.text,\n variant: model.value === year.value ? 'flat' : 'text',\n onClick: () => {\n if (model.value === year.value) {\n emit('update:modelValue', model.value)\n return\n }\n model.value = year.value\n },\n } as const\n\n return slots.year?.({\n year,\n i,\n props: btnProps,\n }) ?? (\n <VBtn\n key=\"month\"\n { ...btnProps }\n />\n )\n })}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VDatePickerYears = InstanceType<typeof VDatePickerYears>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDatePickerYears.mjs","names":["VBtn","useDate","useProxiedModel","computed","nextTick","onMounted","watchEffect","convertToUnit","createRange","genericComponent","propsFactory","templateRef","useRender","makeVDatePickerYearsProps","color","String","height","Number","min","max","modelValue","VDatePickerYears","name","props","emits","year","setup","_ref","emit","slots","adapter","model","years","getYear","date","startOfYear","setYear","map","i","text","format","value","yearRef","el","scrollIntoView","block","_createVNode","btnProps","ref","undefined","active","rounded","variant","onClick","_mergeProps"],"sources":["../../../src/components/VDatePicker/VDatePickerYears.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerYears.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, watchEffect } from 'vue'\nimport { convertToUnit, createRange, genericComponent, propsFactory, templateRef, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport type VDatePickerYearsSlots = {\n year: {\n year: {\n text: string\n value: number\n }\n i: number\n props: {\n active: boolean\n color?: string\n rounded: boolean\n text: string\n variant: 'flat' | 'text'\n onClick: () => void\n }\n }\n}\n\nexport const makeVDatePickerYearsProps = propsFactory({\n color: String,\n height: [String, Number],\n min: null as any as PropType<unknown>,\n max: null as any as PropType<unknown>,\n modelValue: Number,\n}, 'VDatePickerYears')\n\nexport const VDatePickerYears = genericComponent<VDatePickerYearsSlots>()({\n name: 'VDatePickerYears',\n\n props: makeVDatePickerYearsProps(),\n\n emits: {\n 'update:modelValue': (year: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const model = useProxiedModel(props, 'modelValue')\n const years = computed(() => {\n const year = adapter.getYear(adapter.date())\n\n let min = year - 100\n let max = year + 52\n\n if (props.min) {\n min = adapter.getYear(adapter.date(props.min))\n }\n\n if (props.max) {\n max = adapter.getYear(adapter.date(props.max))\n }\n\n let date = adapter.startOfYear(adapter.date())\n\n date = adapter.setYear(date, min)\n\n return createRange(max - min + 1, min).map(i => {\n const text = adapter.format(date, 'year')\n date = adapter.setYear(date, adapter.getYear(date) + 1)\n\n return {\n text,\n value: i,\n }\n })\n })\n\n watchEffect(() => {\n model.value = model.value ?? adapter.getYear(adapter.date())\n })\n\n const yearRef = templateRef()\n\n onMounted(async () => {\n await nextTick()\n yearRef.el?.scrollIntoView({ block: 'center' })\n })\n\n useRender(() => (\n <div\n class=\"v-date-picker-years\"\n style={{\n height: convertToUnit(props.height),\n }}\n >\n <div class=\"v-date-picker-years__content\">\n { years.value.map((year, i) => {\n const btnProps = {\n ref: model.value === year.value ? yearRef : undefined,\n active: model.value === year.value,\n color: model.value === year.value ? props.color : undefined,\n rounded: true,\n text: year.text,\n variant: model.value === year.value ? 'flat' : 'text',\n onClick: () => {\n if (model.value === year.value) {\n emit('update:modelValue', model.value)\n return\n }\n model.value = year.value\n },\n } as const\n\n return slots.year?.({\n year,\n i,\n props: btnProps,\n }) ?? (\n <VBtn\n key=\"month\"\n { ...btnProps }\n />\n )\n })}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VDatePickerYears = InstanceType<typeof VDatePickerYears>\n"],"mappings":"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","ignoreList":[]}