vuetify 3.6.11 → 3.6.12

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 (105) hide show
  1. package/dist/json/attributes.json +58 -70
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +162 -162
  4. package/dist/json/tags.json +4 -7
  5. package/dist/json/web-types.json +98 -117
  6. package/dist/vuetify-labs.css +1863 -1841
  7. package/dist/vuetify-labs.d.ts +640 -751
  8. package/dist/vuetify-labs.esm.js +88 -76
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +88 -76
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2936 -2914
  13. package/dist/vuetify.d.ts +617 -710
  14. package/dist/vuetify.esm.js +71 -60
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +71 -60
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +62 -57
  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/VDataTable/VDataTableFooter.mjs +5 -4
  30. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  31. package/lib/components/VDataTable/index.d.mts +108 -108
  32. package/lib/components/VDatePicker/VDatePickerControls.mjs +5 -4
  33. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  34. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  35. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  36. package/lib/components/VDatePicker/index.d.mts +70 -55
  37. package/lib/components/VDialog/index.d.mts +28 -28
  38. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +6 -2
  39. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  40. package/lib/components/VExpansionPanel/index.d.mts +48 -66
  41. package/lib/components/VField/VField.css +11 -6
  42. package/lib/components/VField/VField.mjs +5 -7
  43. package/lib/components/VField/VField.mjs.map +1 -1
  44. package/lib/components/VField/VField.sass +6 -2
  45. package/lib/components/VField/index.d.mts +6 -12
  46. package/lib/components/VFileInput/index.d.mts +6 -12
  47. package/lib/components/VInput/VInput.css +5 -5
  48. package/lib/components/VInput/VInput.mjs +1 -4
  49. package/lib/components/VInput/VInput.mjs.map +1 -1
  50. package/lib/components/VInput/VInput.sass +1 -1
  51. package/lib/components/VInput/index.d.mts +2 -8
  52. package/lib/components/VMenu/index.d.mts +32 -32
  53. package/lib/components/VOverlay/VOverlay.mjs +7 -2
  54. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  55. package/lib/components/VOverlay/index.d.mts +10 -10
  56. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  57. package/lib/components/VProgressLinear/VProgressLinear.css +17 -0
  58. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -5
  59. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  60. package/lib/components/VProgressLinear/VProgressLinear.sass +11 -0
  61. package/lib/components/VRadio/VRadio.mjs +8 -5
  62. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  63. package/lib/components/VRadioGroup/index.d.mts +2 -8
  64. package/lib/components/VRangeSlider/index.d.mts +2 -8
  65. package/lib/components/VSelect/index.d.mts +25 -31
  66. package/lib/components/VSlider/index.d.mts +2 -8
  67. package/lib/components/VSnackbar/index.d.mts +28 -28
  68. package/lib/components/VSpeedDial/index.d.mts +14 -14
  69. package/lib/components/VSwitch/index.d.mts +2 -8
  70. package/lib/components/VTextField/VTextField.mjs +1 -1
  71. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  72. package/lib/components/VTextField/index.d.mts +18 -24
  73. package/lib/components/VTextarea/VTextarea.mjs +5 -5
  74. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  75. package/lib/components/VTextarea/index.d.mts +72 -87
  76. package/lib/components/VTooltip/index.d.mts +32 -32
  77. package/lib/components/index.d.mts +646 -739
  78. package/lib/composables/calendar.mjs +10 -4
  79. package/lib/composables/calendar.mjs.map +1 -1
  80. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  81. package/lib/composables/date/adapters/vuetify.mjs +15 -13
  82. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  83. package/lib/composables/teleport.mjs +2 -2
  84. package/lib/composables/teleport.mjs.map +1 -1
  85. package/lib/entry-bundler.mjs +1 -1
  86. package/lib/framework.mjs +1 -1
  87. package/lib/index.d.mts +61 -61
  88. package/lib/labs/VCalendar/VCalendar.mjs +7 -6
  89. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  90. package/lib/labs/VCalendar/index.d.mts +6 -0
  91. package/lib/labs/VDateInput/index.d.mts +39 -39
  92. package/lib/labs/VNumberInput/VNumberInput.mjs +1 -1
  93. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  94. package/lib/labs/VNumberInput/index.d.mts +6 -12
  95. package/lib/labs/VSnackbarQueue/index.d.mts +37 -37
  96. package/lib/labs/VStepperVertical/index.d.mts +0 -18
  97. package/lib/labs/VTimePicker/VTimePicker.mjs +5 -5
  98. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  99. package/lib/labs/VTimePicker/VTimePickerClock.mjs +2 -2
  100. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  101. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
  102. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  103. package/lib/labs/VTimePicker/index.d.mts +18 -18
  104. package/lib/labs/components.d.mts +106 -124
  105. package/package.json +2 -2
package/lib/index.d.mts CHANGED
@@ -59,7 +59,7 @@ interface DateAdapter<T = unknown> {
59
59
  toISO(date: T): string;
60
60
  startOfDay(date: T): T;
61
61
  endOfDay(date: T): T;
62
- startOfWeek(date: T): T;
62
+ startOfWeek(date: T, firstDayOfWeek?: number | string): T;
63
63
  endOfWeek(date: T): T;
64
64
  startOfMonth(date: T): T;
65
65
  endOfMonth(date: T): T;
@@ -82,8 +82,8 @@ interface DateAdapter<T = unknown> {
82
82
  getYear(date: T): number;
83
83
  setYear(date: T, year: number): T;
84
84
  getDiff(date: T, comparing: T | string, unit?: string): number;
85
- getWeekArray(date: T): T[][];
86
- getWeekdays(): string[];
85
+ getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
86
+ getWeekdays(firstDayOfWeek?: number | string): string[];
87
87
  getMonth(date: T): number;
88
88
  setMonth(date: T, month: number): T;
89
89
  getDate(date: T): number;
@@ -403,7 +403,7 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
403
403
  toISO: (date: unknown) => string;
404
404
  startOfDay: (date: unknown) => unknown;
405
405
  endOfDay: (date: unknown) => unknown;
406
- startOfWeek: (date: unknown) => unknown;
406
+ startOfWeek: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown;
407
407
  endOfWeek: (date: unknown) => unknown;
408
408
  startOfMonth: (date: unknown) => unknown;
409
409
  endOfMonth: (date: unknown) => unknown;
@@ -426,8 +426,8 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
426
426
  getYear: (date: unknown) => number;
427
427
  setYear: (date: unknown, year: number) => unknown;
428
428
  getDiff: (date: unknown, comparing: unknown, unit?: string | undefined) => number;
429
- getWeekArray: (date: unknown) => unknown[][];
430
- getWeekdays: () => string[];
429
+ getWeekArray: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown[][];
430
+ getWeekdays: (firstDayOfWeek?: string | number | undefined) => string[];
431
431
  getMonth: (date: unknown) => number;
432
432
  setMonth: (date: unknown, month: number) => unknown;
433
433
  getDate: (date: unknown) => number;
@@ -492,42 +492,49 @@ declare module '@vue/runtime-core' {
492
492
  }
493
493
 
494
494
  export interface GlobalComponents {
495
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
496
495
  VApp: typeof import('vuetify/components')['VApp']
496
+ VBanner: typeof import('vuetify/components')['VBanner']
497
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
498
+ VBannerText: typeof import('vuetify/components')['VBannerText']
497
499
  VAlert: typeof import('vuetify/components')['VAlert']
498
500
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
499
501
  VAppBar: typeof import('vuetify/components')['VAppBar']
500
502
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
501
503
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
502
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
503
- VAvatar: typeof import('vuetify/components')['VAvatar']
504
+ VBadge: typeof import('vuetify/components')['VBadge']
505
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
504
506
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
505
507
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
506
508
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
507
- VBadge: typeof import('vuetify/components')['VBadge']
509
+ VAvatar: typeof import('vuetify/components')['VAvatar']
508
510
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
509
- VBtn: typeof import('vuetify/components')['VBtn']
510
- VBanner: typeof import('vuetify/components')['VBanner']
511
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
512
- VBannerText: typeof import('vuetify/components')['VBannerText']
513
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
514
- VCarousel: typeof import('vuetify/components')['VCarousel']
515
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
516
511
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
517
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
518
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
512
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
519
513
  VCard: typeof import('vuetify/components')['VCard']
520
514
  VCardActions: typeof import('vuetify/components')['VCardActions']
521
515
  VCardItem: typeof import('vuetify/components')['VCardItem']
522
516
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
523
517
  VCardText: typeof import('vuetify/components')['VCardText']
524
518
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
525
- VChip: typeof import('vuetify/components')['VChip']
519
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
520
+ VBtn: typeof import('vuetify/components')['VBtn']
521
+ VCarousel: typeof import('vuetify/components')['VCarousel']
522
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
526
523
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
527
- VCounter: typeof import('vuetify/components')['VCounter']
524
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
525
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
526
+ VChip: typeof import('vuetify/components')['VChip']
528
527
  VCode: typeof import('vuetify/components')['VCode']
529
528
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
529
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
530
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
531
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
532
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
533
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
534
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
530
535
  VCombobox: typeof import('vuetify/components')['VCombobox']
536
+ VCounter: typeof import('vuetify/components')['VCounter']
537
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
531
538
  VDataTable: typeof import('vuetify/components')['VDataTable']
532
539
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
533
540
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -535,37 +542,29 @@ declare module '@vue/runtime-core' {
535
542
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
536
543
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
537
544
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
538
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
539
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
540
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
541
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
542
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
543
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
544
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
545
545
  VDialog: typeof import('vuetify/components')['VDialog']
546
- VFab: typeof import('vuetify/components')['VFab']
546
+ VDivider: typeof import('vuetify/components')['VDivider']
547
547
  VField: typeof import('vuetify/components')['VField']
548
548
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
549
549
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
550
550
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
551
551
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
552
552
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
553
- VDivider: typeof import('vuetify/components')['VDivider']
553
+ VFab: typeof import('vuetify/components')['VFab']
554
554
  VFileInput: typeof import('vuetify/components')['VFileInput']
555
- VImg: typeof import('vuetify/components')['VImg']
556
- VFooter: typeof import('vuetify/components')['VFooter']
557
555
  VIcon: typeof import('vuetify/components')['VIcon']
558
556
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
559
557
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
560
558
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
561
559
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
562
- VKbd: typeof import('vuetify/components')['VKbd']
563
- VInput: typeof import('vuetify/components')['VInput']
564
- VLabel: typeof import('vuetify/components')['VLabel']
560
+ VFooter: typeof import('vuetify/components')['VFooter']
561
+ VImg: typeof import('vuetify/components')['VImg']
565
562
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
566
563
  VItem: typeof import('vuetify/components')['VItem']
564
+ VKbd: typeof import('vuetify/components')['VKbd']
565
+ VInput: typeof import('vuetify/components')['VInput']
567
566
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
568
- VMessages: typeof import('vuetify/components')['VMessages']
567
+ VLabel: typeof import('vuetify/components')['VLabel']
569
568
  VList: typeof import('vuetify/components')['VList']
570
569
  VListGroup: typeof import('vuetify/components')['VListGroup']
571
570
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -576,68 +575,69 @@ declare module '@vue/runtime-core' {
576
575
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
577
576
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
578
577
  VMain: typeof import('vuetify/components')['VMain']
578
+ VMessages: typeof import('vuetify/components')['VMessages']
579
579
  VMenu: typeof import('vuetify/components')['VMenu']
580
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
581
- VOverlay: typeof import('vuetify/components')['VOverlay']
582
580
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
583
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
581
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
584
582
  VPagination: typeof import('vuetify/components')['VPagination']
585
583
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
586
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
584
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
587
585
  VRating: typeof import('vuetify/components')['VRating']
586
+ VOverlay: typeof import('vuetify/components')['VOverlay']
587
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
588
588
  VSelect: typeof import('vuetify/components')['VSelect']
589
589
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
590
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
591
590
  VSheet: typeof import('vuetify/components')['VSheet']
592
- VSlider: typeof import('vuetify/components')['VSlider']
591
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
593
592
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
594
593
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
595
594
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
596
595
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
596
+ VTab: typeof import('vuetify/components')['VTab']
597
+ VTabs: typeof import('vuetify/components')['VTabs']
598
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
599
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
600
+ VSlider: typeof import('vuetify/components')['VSlider']
597
601
  VStepper: typeof import('vuetify/components')['VStepper']
598
602
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
599
603
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
600
604
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
601
605
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
602
606
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
603
- VTab: typeof import('vuetify/components')['VTab']
604
- VTabs: typeof import('vuetify/components')['VTabs']
605
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
606
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
607
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
608
- VSwitch: typeof import('vuetify/components')['VSwitch']
609
607
  VTable: typeof import('vuetify/components')['VTable']
610
- VTextarea: typeof import('vuetify/components')['VTextarea']
611
608
  VTextField: typeof import('vuetify/components')['VTextField']
609
+ VTextarea: typeof import('vuetify/components')['VTextarea']
610
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
612
611
  VToolbar: typeof import('vuetify/components')['VToolbar']
613
612
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
614
613
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
614
+ VSwitch: typeof import('vuetify/components')['VSwitch']
615
615
  VTimeline: typeof import('vuetify/components')['VTimeline']
616
616
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
617
617
  VTooltip: typeof import('vuetify/components')['VTooltip']
618
618
  VWindow: typeof import('vuetify/components')['VWindow']
619
619
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
620
620
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
621
- VDataIterator: typeof import('vuetify/components')['VDataIterator']
622
621
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
623
622
  VForm: typeof import('vuetify/components')['VForm']
623
+ VHover: typeof import('vuetify/components')['VHover']
624
624
  VContainer: typeof import('vuetify/components')['VContainer']
625
625
  VCol: typeof import('vuetify/components')['VCol']
626
626
  VRow: typeof import('vuetify/components')['VRow']
627
627
  VSpacer: typeof import('vuetify/components')['VSpacer']
628
- VHover: typeof import('vuetify/components')['VHover']
629
628
  VLayout: typeof import('vuetify/components')['VLayout']
630
629
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
631
- VLazy: typeof import('vuetify/components')['VLazy']
632
630
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
633
631
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
634
- VParallax: typeof import('vuetify/components')['VParallax']
635
632
  VRadio: typeof import('vuetify/components')['VRadio']
633
+ VParallax: typeof import('vuetify/components')['VParallax']
636
634
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
637
635
  VResponsive: typeof import('vuetify/components')['VResponsive']
638
- VSparkline: typeof import('vuetify/components')['VSparkline']
639
636
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
637
+ VSparkline: typeof import('vuetify/components')['VSparkline']
640
638
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
639
+ VValidation: typeof import('vuetify/components')['VValidation']
640
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
641
641
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
642
642
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
643
643
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -654,8 +654,8 @@ declare module '@vue/runtime-core' {
654
654
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
655
655
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
656
656
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
657
- VValidation: typeof import('vuetify/components')['VValidation']
658
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
657
+ VLazy: typeof import('vuetify/components')['VLazy']
658
+ VDataIterator: typeof import('vuetify/components')['VDataIterator']
659
659
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
660
660
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
661
661
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
@@ -663,17 +663,17 @@ declare module '@vue/runtime-core' {
663
663
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
664
664
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
665
665
  VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
666
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
667
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
666
668
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
667
669
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
668
670
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
669
- VPicker: typeof import('vuetify/labs/components')['VPicker']
670
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
671
- VTreeview: typeof import('vuetify/labs/components')['VTreeview']
672
- VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
673
- VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
674
671
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
675
672
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
676
673
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
674
+ VTreeview: typeof import('vuetify/labs/components')['VTreeview']
675
+ VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
676
+ VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
677
677
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
678
678
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
679
679
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
@@ -37,7 +37,8 @@ export const VCalendar = genericComponent()({
37
37
  genDays,
38
38
  model,
39
39
  displayValue,
40
- weekNumbers
40
+ weekNumbers,
41
+ weekDays
41
42
  } = useCalendar(props);
42
43
  const dayNames = adapter.getWeekdays();
43
44
  function onClickNext() {
@@ -87,19 +88,19 @@ export const VCalendar = genericComponent()({
87
88
  }), null) : slots.header({
88
89
  title: title.value
89
90
  }))]), _createVNode("div", {
90
- "class": ['v-calendar__container', `days__${props.weekdays.length}`]
91
+ "class": ['v-calendar__container', `days__${weekDays.value.length}`]
91
92
  }, [props.viewMode === 'month' && !props.hideDayHeader && _createVNode("div", {
92
- "class": ['v-calendar-weekly__head', `days__${props.weekdays.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
93
+ "class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
93
94
  "key": "calenderWeeklyHead"
94
95
  }, [!props.hideWeekNumber ? _createVNode("div", {
95
96
  "key": "weekNumber0",
96
97
  "class": "v-calendar-weekly__head-weeknumber"
97
- }, null) : '', props.weekdays.map(weekday => _createVNode("div", {
98
+ }, null) : '', weekDays.value.map(weekday => _createVNode("div", {
98
99
  "class": `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`
99
100
  }, [dayNames[weekday]]))]), props.viewMode === 'month' && _createVNode("div", {
100
101
  "key": "VCalendarMonth",
101
- "class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
102
- }, [chunkArray(daysInMonth.value, props.weekdays.length).map((week, wi) => [!props.hideWeekNumber ? _createVNode("div", {
102
+ "class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
103
+ }, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? _createVNode("div", {
103
104
  "class": "v-calendar-month__weeknumber"
104
105
  }, [weekNumbers.value[wi]]) : '', week.map(day => _createVNode(VCalendarMonthDay, {
105
106
  "color": adapter.isSameDay(adapter.date(), day.date) ? 'primary' : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendar.mjs","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","displayValue","weekNumbers","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","weekdays","length","hideDayHeader","map","weekday","week","wi","day","isSameDay","undefined","events","filter","e","start","end","event","i"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n event: { day?: Object, allDay: boolean, event: Record<string, unknown> }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, displayValue, weekNumbers } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, -1)]\n }\n }\n\n function onClickToday () {\n model.value = [adapter.date()]\n }\n\n const title = computed(() => {\n return adapter.format(displayValue.value, 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n !slots.header ? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n />\n ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${props.weekdays.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n props.weekdays.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[weekday] }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, props.weekdays.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(adapter.date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n v-slots={{\n event: slots.event,\n }}\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([displayValue.value as Date], adapter.date() as Date)[0] }\n dayIndex={ 0 }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([displayValue.value as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([displayValue.value as Date], adapter.date() as Date)[0].date)\n )\n }\n ></VCalendarDay>\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCalendar.mjs","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","displayValue","weekNumbers","weekDays","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","length","hideDayHeader","map","weekday","week","wi","day","isSameDay","undefined","events","filter","e","start","end","event","i"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n event: { day?: Object, allDay: boolean, event: Record<string, unknown> }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, displayValue, weekNumbers, weekDays } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(displayValue.value, -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(displayValue.value, -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(displayValue.value, -1)]\n }\n }\n\n function onClickToday () {\n model.value = [adapter.date()]\n }\n\n const title = computed(() => {\n return adapter.format(displayValue.value, 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n !slots.header ? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n />\n ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${weekDays.value.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${weekDays.value.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n weekDays.value.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[weekday] }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, weekDays.value.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(adapter.date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n v-slots={{\n event: slots.event,\n }}\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([displayValue.value as Date], adapter.date() as Date)[0] }\n dayIndex={ 0 }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([displayValue.value as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([displayValue.value as Date], adapter.date() as Date)[0].date)\n )\n }\n ></VCalendarDay>\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,7 @@ declare const VCalendar: {
33
33
  modelValue?: unknown[] | undefined;
34
34
  max?: unknown;
35
35
  min?: unknown;
36
+ firstDayOfWeek?: string | number | undefined;
36
37
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
37
38
  displayValue?: unknown;
38
39
  dayIndex?: number | undefined;
@@ -156,6 +157,7 @@ declare const VCalendar: {
156
157
  modelValue?: unknown[] | undefined;
157
158
  max?: unknown;
158
159
  min?: unknown;
160
+ firstDayOfWeek?: string | number | undefined;
159
161
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
160
162
  displayValue?: unknown;
161
163
  dayIndex?: number | undefined;
@@ -259,6 +261,7 @@ declare const VCalendar: {
259
261
  modelValue?: unknown[] | undefined;
260
262
  max?: unknown;
261
263
  min?: unknown;
264
+ firstDayOfWeek?: string | number | undefined;
262
265
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
263
266
  displayValue?: unknown;
264
267
  dayIndex?: number | undefined;
@@ -401,6 +404,7 @@ declare const VCalendar: {
401
404
  modelValue?: unknown[] | undefined;
402
405
  max?: unknown;
403
406
  min?: unknown;
407
+ firstDayOfWeek?: string | number | undefined;
404
408
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
405
409
  displayValue?: unknown;
406
410
  dayIndex?: number | undefined;
@@ -621,6 +625,7 @@ declare const VCalendar: {
621
625
  type: vue.PropType<"static" | "dynamic">;
622
626
  default: string;
623
627
  };
628
+ firstDayOfWeek: (StringConstructor | NumberConstructor)[];
624
629
  hideHeader: BooleanConstructor;
625
630
  hideWeekNumber: BooleanConstructor;
626
631
  }, vue.ExtractPropTypes<{
@@ -715,6 +720,7 @@ declare const VCalendar: {
715
720
  type: vue.PropType<"static" | "dynamic">;
716
721
  default: string;
717
722
  };
723
+ firstDayOfWeek: (StringConstructor | NumberConstructor)[];
718
724
  hideHeader: BooleanConstructor;
719
725
  hideWeekNumber: BooleanConstructor;
720
726
  }>>;