@vuetify/nightly 3.8.7-master.2025-05-29 → 3.8.7-master.2025-06-02

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 (82) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/dist/json/attributes.json +3246 -3246
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +184 -184
  5. package/dist/json/web-types.json +6070 -6070
  6. package/dist/vuetify-labs.cjs +90 -88
  7. package/dist/vuetify-labs.css +6727 -6727
  8. package/dist/vuetify-labs.d.ts +61 -57
  9. package/dist/vuetify-labs.esm.js +90 -88
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +90 -88
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +82 -76
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +2975 -2975
  16. package/dist/vuetify.d.ts +61 -57
  17. package/dist/vuetify.esm.js +82 -76
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +82 -76
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +264 -265
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VCarousel/VCarousel.js +3 -3
  25. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  26. package/lib/components/VColorPicker/VColorPickerPreview.js +3 -3
  27. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  28. package/lib/components/VColorPicker/VColorPickerSwatches.js +3 -3
  29. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  30. package/lib/components/VDataTable/VDataTableColumn.js +3 -3
  31. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  32. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +3 -3
  33. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  34. package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
  35. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  36. package/lib/components/VDatePicker/VDatePickerControls.js +4 -4
  37. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  38. package/lib/components/VDatePicker/VDatePickerMonth.js +4 -11
  39. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  40. package/lib/components/VDatePicker/VDatePickerMonths.js +3 -3
  41. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  42. package/lib/components/VDatePicker/VDatePickerYears.js +3 -3
  43. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  44. package/lib/components/VEmptyState/VEmptyState.js +3 -3
  45. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  46. package/lib/components/VImg/VImg.js +7 -7
  47. package/lib/components/VImg/VImg.js.map +1 -1
  48. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +3 -3
  49. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  50. package/lib/components/VOtpInput/VOtpInput.js +2 -2
  51. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  52. package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
  53. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  54. package/lib/components/VProgressLinear/VProgressLinear.js +3 -3
  55. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  56. package/lib/components/VSelectionControl/VSelectionControl.js +2 -2
  57. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  58. package/lib/components/VSlider/VSliderThumb.js +4 -4
  59. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  60. package/lib/components/VSlider/VSliderTrack.js +6 -6
  61. package/lib/components/VSlider/VSliderTrack.js.map +1 -1
  62. package/lib/components/VTable/VTable.js +3 -3
  63. package/lib/components/VTable/VTable.js.map +1 -1
  64. package/lib/components/VToolbar/VToolbar.js +5 -5
  65. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  66. package/lib/components/VVirtualScroll/VVirtualScroll.js +7 -7
  67. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  68. package/lib/components/VWindow/VWindow.js +3 -3
  69. package/lib/components/VWindow/VWindow.js.map +1 -1
  70. package/lib/composables/date/date.d.ts +4 -0
  71. package/lib/composables/date/date.js +14 -1
  72. package/lib/composables/date/date.js.map +1 -1
  73. package/lib/entry-bundler.d.ts +3 -0
  74. package/lib/entry-bundler.js +1 -1
  75. package/lib/framework.d.ts +61 -57
  76. package/lib/framework.js +1 -1
  77. package/lib/labs/VDateInput/VDateInput.js +3 -7
  78. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  79. package/lib/labs/VPullToRefresh/VPullToRefresh.js +7 -7
  80. package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
  81. package/lib/labs/entry-bundler.d.ts +3 -0
  82. package/package.json +2 -2
@@ -100,6 +100,7 @@ interface DateAdapter<T = unknown> {
100
100
 
101
101
  interface DateInstance extends DateModule.InternalAdapter {
102
102
  locale?: any;
103
+ createDateRange: (start: unknown, stop?: unknown) => unknown[];
103
104
  }
104
105
  /** Supports module augmentation to specify date adapter types */
105
106
  declare namespace DateModule {
@@ -2449,6 +2450,7 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2449
2450
  options: InternalDateOptions;
2450
2451
  instance: {
2451
2452
  locale?: any;
2453
+ createDateRange: (start: unknown, stop?: unknown) => unknown[];
2452
2454
  date: (value?: any) => unknown;
2453
2455
  format: (date: unknown, formatString: string) => string;
2454
2456
  toJsDate: (value: unknown) => Date;
@@ -2492,6 +2494,8 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2492
2494
  setHours: (date: unknown, hours: number) => unknown;
2493
2495
  getMinutes: (date: unknown) => number;
2494
2496
  setMinutes: (date: unknown, minutes: number) => unknown;
2497
+ } & {
2498
+ createDateRange(start: unknown, stop?: unknown): unknown[];
2495
2499
  };
2496
2500
  };
2497
2501
  goTo: GoToInstance;
@@ -2539,36 +2543,41 @@ declare module 'vue' {
2539
2543
  $children?: VNodeChild
2540
2544
  }
2541
2545
  export interface GlobalComponents {
2546
+ VAppBar: typeof import('vuetify/components')['VAppBar']
2547
+ VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2548
+ VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2549
+ VApp: typeof import('vuetify/components')['VApp']
2542
2550
  VAlert: typeof import('vuetify/components')['VAlert']
2543
2551
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2544
- VApp: typeof import('vuetify/components')['VApp']
2545
2552
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2546
- VAvatar: typeof import('vuetify/components')['VAvatar']
2547
2553
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2554
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2555
+ VBadge: typeof import('vuetify/components')['VBadge']
2548
2556
  VBanner: typeof import('vuetify/components')['VBanner']
2549
2557
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2550
2558
  VBannerText: typeof import('vuetify/components')['VBannerText']
2551
2559
  VBtn: typeof import('vuetify/components')['VBtn']
2552
2560
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2561
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2562
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2563
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2564
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2565
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2566
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2553
2567
  VCard: typeof import('vuetify/components')['VCard']
2554
2568
  VCardActions: typeof import('vuetify/components')['VCardActions']
2555
2569
  VCardItem: typeof import('vuetify/components')['VCardItem']
2556
2570
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2557
2571
  VCardText: typeof import('vuetify/components')['VCardText']
2558
2572
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2559
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2560
- VBadge: typeof import('vuetify/components')['VBadge']
2561
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2562
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2563
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2564
- VChip: typeof import('vuetify/components')['VChip']
2565
2573
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2566
2574
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2575
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2567
2576
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2568
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2569
- VCode: typeof import('vuetify/components')['VCode']
2577
+ VChip: typeof import('vuetify/components')['VChip']
2570
2578
  VCombobox: typeof import('vuetify/components')['VCombobox']
2571
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2579
+ VCode: typeof import('vuetify/components')['VCode']
2580
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2572
2581
  VCounter: typeof import('vuetify/components')['VCounter']
2573
2582
  VDataTable: typeof import('vuetify/components')['VDataTable']
2574
2583
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
@@ -2577,8 +2586,6 @@ declare module 'vue' {
2577
2586
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2578
2587
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2579
2588
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2580
- VCarousel: typeof import('vuetify/components')['VCarousel']
2581
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2582
2589
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2583
2590
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2584
2591
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
@@ -2586,46 +2593,58 @@ declare module 'vue' {
2586
2593
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2587
2594
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2588
2595
  VDialog: typeof import('vuetify/components')['VDialog']
2596
+ VFab: typeof import('vuetify/components')['VFab']
2589
2597
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
2590
- VField: typeof import('vuetify/components')['VField']
2591
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2592
2598
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2593
2599
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2594
2600
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2595
2601
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2602
+ VDivider: typeof import('vuetify/components')['VDivider']
2596
2603
  VFileInput: typeof import('vuetify/components')['VFileInput']
2597
- VFab: typeof import('vuetify/components')['VFab']
2604
+ VField: typeof import('vuetify/components')['VField']
2605
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2598
2606
  VFooter: typeof import('vuetify/components')['VFooter']
2599
- VDivider: typeof import('vuetify/components')['VDivider']
2600
2607
  VImg: typeof import('vuetify/components')['VImg']
2608
+ VInput: typeof import('vuetify/components')['VInput']
2609
+ VIcon: typeof import('vuetify/components')['VIcon']
2610
+ VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2611
+ VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2612
+ VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2613
+ VClassIcon: typeof import('vuetify/components')['VClassIcon']
2601
2614
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2602
2615
  VItem: typeof import('vuetify/components')['VItem']
2616
+ VList: typeof import('vuetify/components')['VList']
2617
+ VListGroup: typeof import('vuetify/components')['VListGroup']
2618
+ VListImg: typeof import('vuetify/components')['VListImg']
2619
+ VListItem: typeof import('vuetify/components')['VListItem']
2620
+ VListItemAction: typeof import('vuetify/components')['VListItemAction']
2621
+ VListItemMedia: typeof import('vuetify/components')['VListItemMedia']
2622
+ VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2623
+ VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2624
+ VListSubheader: typeof import('vuetify/components')['VListSubheader']
2603
2625
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2604
2626
  VKbd: typeof import('vuetify/components')['VKbd']
2605
2627
  VLabel: typeof import('vuetify/components')['VLabel']
2606
- VInput: typeof import('vuetify/components')['VInput']
2607
- VMain: typeof import('vuetify/components')['VMain']
2608
- VMenu: typeof import('vuetify/components')['VMenu']
2609
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2628
+ VMessages: typeof import('vuetify/components')['VMessages']
2610
2629
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2630
+ VMenu: typeof import('vuetify/components')['VMenu']
2631
+ VMain: typeof import('vuetify/components')['VMain']
2611
2632
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2612
- VMessages: typeof import('vuetify/components')['VMessages']
2613
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2633
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2614
2634
  VOverlay: typeof import('vuetify/components')['VOverlay']
2635
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2615
2636
  VPagination: typeof import('vuetify/components')['VPagination']
2616
2637
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2617
2638
  VRating: typeof import('vuetify/components')['VRating']
2639
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2618
2640
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2619
2641
  VSelect: typeof import('vuetify/components')['VSelect']
2620
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2621
2642
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2622
2643
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2623
- VSlider: typeof import('vuetify/components')['VSlider']
2644
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2624
2645
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2625
2646
  VSheet: typeof import('vuetify/components')['VSheet']
2626
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2627
2647
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2628
- VSwitch: typeof import('vuetify/components')['VSwitch']
2629
2648
  VStepper: typeof import('vuetify/components')['VStepper']
2630
2649
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2631
2650
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
@@ -2636,52 +2655,38 @@ declare module 'vue' {
2636
2655
  VTabs: typeof import('vuetify/components')['VTabs']
2637
2656
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2638
2657
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2658
+ VSlider: typeof import('vuetify/components')['VSlider']
2639
2659
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2660
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2640
2661
  VTable: typeof import('vuetify/components')['VTable']
2641
- VTextarea: typeof import('vuetify/components')['VTextarea']
2642
- VTooltip: typeof import('vuetify/components')['VTooltip']
2643
2662
  VTimeline: typeof import('vuetify/components')['VTimeline']
2644
2663
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2664
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2665
+ VTextField: typeof import('vuetify/components')['VTextField']
2645
2666
  VToolbar: typeof import('vuetify/components')['VToolbar']
2646
2667
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2647
2668
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2648
- VTextField: typeof import('vuetify/components')['VTextField']
2649
2669
  VWindow: typeof import('vuetify/components')['VWindow']
2650
2670
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2651
- VIcon: typeof import('vuetify/components')['VIcon']
2652
- VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2653
- VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2654
- VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2655
- VClassIcon: typeof import('vuetify/components')['VClassIcon']
2656
- VList: typeof import('vuetify/components')['VList']
2657
- VListGroup: typeof import('vuetify/components')['VListGroup']
2658
- VListImg: typeof import('vuetify/components')['VListImg']
2659
- VListItem: typeof import('vuetify/components')['VListItem']
2660
- VListItemAction: typeof import('vuetify/components')['VListItemAction']
2661
- VListItemMedia: typeof import('vuetify/components')['VListItemMedia']
2662
- VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2663
- VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2664
- VListSubheader: typeof import('vuetify/components')['VListSubheader']
2671
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2672
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2673
+ VDataIterator: typeof import('vuetify/components')['VDataIterator']
2665
2674
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2666
2675
  VForm: typeof import('vuetify/components')['VForm']
2676
+ VHover: typeof import('vuetify/components')['VHover']
2667
2677
  VContainer: typeof import('vuetify/components')['VContainer']
2668
2678
  VCol: typeof import('vuetify/components')['VCol']
2669
2679
  VRow: typeof import('vuetify/components')['VRow']
2670
2680
  VSpacer: typeof import('vuetify/components')['VSpacer']
2671
- VHover: typeof import('vuetify/components')['VHover']
2672
- VLazy: typeof import('vuetify/components')['VLazy']
2673
- VAppBar: typeof import('vuetify/components')['VAppBar']
2674
- VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2675
- VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2676
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2677
2681
  VLayout: typeof import('vuetify/components')['VLayout']
2678
2682
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2683
+ VLazy: typeof import('vuetify/components')['VLazy']
2679
2684
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2680
2685
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2681
2686
  VParallax: typeof import('vuetify/components')['VParallax']
2682
2687
  VRadio: typeof import('vuetify/components')['VRadio']
2683
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2684
2688
  VResponsive: typeof import('vuetify/components')['VResponsive']
2689
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2685
2690
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2686
2691
  VSparkline: typeof import('vuetify/components')['VSparkline']
2687
2692
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
@@ -2704,29 +2709,28 @@ declare module 'vue' {
2704
2709
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2705
2710
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2706
2711
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2707
- VDataIterator: typeof import('vuetify/components')['VDataIterator']
2712
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2708
2713
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2709
2714
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2710
2715
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2711
2716
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2712
2717
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2713
2718
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2714
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2719
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2720
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2721
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2715
2722
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2716
2723
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2717
2724
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2718
2725
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2719
2726
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2720
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2721
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2722
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2723
2727
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2724
2728
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2725
2729
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2730
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2726
2731
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2727
2732
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2728
2733
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2729
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2730
2734
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2731
2735
  }
2732
2736
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.7-master.2025-05-29";
112
+ export const version = "3.8.7-master.2025-06-02";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -12,7 +12,7 @@ import { forwardRefs } from "../../composables/forwardRefs.js";
12
12
  import { useLocale } from "../../composables/locale.js";
13
13
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
14
14
  import { computed, ref, shallowRef, watch } from 'vue';
15
- import { createRange, genericComponent, omit, propsFactory, useRender, wrapInArray } from "../../util/index.js"; // Types
15
+ import { genericComponent, omit, propsFactory, useRender, wrapInArray } from "../../util/index.js"; // Types
16
16
  // Types
17
17
  export const makeVDateInputProps = propsFactory({
18
18
  displayFormat: [Function, String],
@@ -175,18 +175,14 @@ export const VDateInput = genericComponent()({
175
175
  const parts = value.trim().split(/\D+-\D+|[^\d\-/.]+/);
176
176
  if (parts.every(isValid)) {
177
177
  if (props.multiple === 'range') {
178
- model.value = getRange(parts);
178
+ const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
179
+ model.value = adapter.createDateRange(start, stop);
179
180
  } else {
180
181
  model.value = parts.map(parseDate);
181
182
  }
182
183
  }
183
184
  }
184
185
  }
185
- function getRange(inputDates) {
186
- const [start, stop] = inputDates.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
187
- const diff = adapter.getDiff(stop ?? start, start, 'days');
188
- return [start, ...createRange(diff, 1).map(i => adapter.addDays(start, i))];
189
- }
190
186
  useRender(() => {
191
187
  const confirmEditProps = VConfirmEdit.filterProps(props);
192
188
  const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
@@ -1 +1 @@
1
- {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","createRange","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","isFocused","focus","blur","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","getRange","inputDates","stop","toSorted","a","b","isAfter","diff","getDiff","i","addDays","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { createRange, genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n const { isFocused, focus, blur } = useFocus(props)\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n }\n\n if (props.updateOn.includes('enter')) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur')) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = parseDate(value)\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n model.value = getRange(parts)\n } else {\n model.value = parts.map(parseDate)\n }\n }\n }\n }\n\n function getRange (inputDates: string[]) {\n const [start, stop] = inputDates.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n const diff = adapter.getDiff(stop ?? start, start, 'days')\n return [start, ...createRange(diff, 1)\n .map(i => adapter.addDays(start, i))]\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","isFocused","focus","blur","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","stop","toSorted","a","b","isAfter","createDateRange","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n const { isFocused, focus, blur } = useFocus(props)\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n }\n\n if (props.updateOn.includes('enter')) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur')) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = parseDate(value)\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = adapter.createDateRange(start, stop)\n } else {\n model.value = parts.map(parseDate)\n }\n }\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from "vue";
1
+ import { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode } from "vue";
2
2
  // Styles
3
3
  import "./VPullToRefresh.css";
4
4
 
@@ -76,7 +76,7 @@ export const VPullToRefresh = genericComponent()({
76
76
  });
77
77
  useRender(() => {
78
78
  return _createElementVNode("div", {
79
- "class": ['v-pull-to-refresh'],
79
+ "class": _normalizeClass(['v-pull-to-refresh']),
80
80
  "onTouchstart": onTouchstart,
81
81
  "onTouchmove": onTouchmove,
82
82
  "onTouchend": onTouchend,
@@ -89,16 +89,16 @@ export const VPullToRefresh = genericComponent()({
89
89
  "class": _normalizeClass(['v-pull-to-refresh__pull-down', {
90
90
  'v-pull-to-refresh__pull-down--touching': touching.value
91
91
  }]),
92
- "style": _normalizeStyle({
92
+ "style": {
93
93
  top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),
94
94
  height: convertToUnit(props.pullDownThreshold)
95
- })
95
+ }
96
96
  }, [slots.pullDownPanel ? slots.pullDownPanel({
97
97
  canRefresh: canRefresh.value,
98
98
  goingUp: goingUp.value,
99
99
  refreshing: refreshing.value
100
100
  }) : _createElementVNode("div", {
101
- "class": ['v-pull-to-refresh__pull-down-default']
101
+ "class": _normalizeClass(['v-pull-to-refresh__pull-down-default'])
102
102
  }, [refreshing.value ? _createVNode(VProgressCircular, {
103
103
  "indeterminate": true,
104
104
  "active": false
@@ -108,9 +108,9 @@ export const VPullToRefresh = genericComponent()({
108
108
  "class": _normalizeClass(['v-pull-to-refresh__scroll-container', {
109
109
  'v-pull-to-refresh__scroll-container--touching': touching.value
110
110
  }]),
111
- "style": _normalizeStyle({
111
+ "style": {
112
112
  top: convertToUnit(topOffset.value)
113
- })
113
+ }
114
114
  }, [slots.default?.()])]);
115
115
  });
116
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VPullToRefresh.js","names":["VIcon","VProgressCircular","computed","onMounted","ref","shallowRef","watch","clamp","convertToUnit","genericComponent","getScrollParents","useRender","VPullToRefresh","name","props","disabled","Boolean","pullDownThreshold","type","Number","default","emits","load","options","setup","_ref","slots","emit","touchstartY","scrollParents","touchDiff","containerRef","refreshing","goingUp","touching","canRefresh","value","topOffset","onTouchstart","e","clientY","touches","onTouchmove","touchY","length","scrollTop","onTouchend","done","stopScrolling","forEach","p","style","overflow","newVal","oldVal","_createElementVNode","_normalizeClass","_normalizeStyle","top","height","pullDownPanel","_createVNode"],"sources":["../../../src/labs/VPullToRefresh/VPullToRefresh.tsx"],"sourcesContent":["// Styles\nimport './VPullToRefresh.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue'\nimport { clamp, convertToUnit, genericComponent, getScrollParents, useRender } from '@/util'\n\nexport type VPullToRefreshSlots = {\n default: never\n pullDownPanel: {\n canRefresh: boolean\n goingUp: boolean\n refreshing: boolean\n }\n}\n\nexport const VPullToRefresh = genericComponent<VPullToRefreshSlots>()({\n name: 'VPullToRefresh',\n\n props: {\n disabled: Boolean,\n pullDownThreshold: {\n type: Number,\n default: 64,\n },\n },\n\n emits: {\n load: (options: { done: () => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n let touchstartY = 0\n let scrollParents: HTMLElement[] = []\n\n const touchDiff = shallowRef(0)\n const containerRef = ref<HTMLElement>()\n\n const refreshing = shallowRef(false)\n const goingUp = shallowRef(false)\n const touching = shallowRef(false)\n\n const canRefresh = computed(() => touchDiff.value >= props.pullDownThreshold && !refreshing.value)\n const topOffset = computed(() => clamp(touchDiff.value, 0, props.pullDownThreshold))\n\n function onTouchstart (e: TouchEvent | MouseEvent) {\n if (refreshing.value || props.disabled) return\n touching.value = true\n touchstartY = 'clientY' in e ? e.clientY : e.touches[0].clientY\n }\n\n function onTouchmove (e: TouchEvent | MouseEvent) {\n if (refreshing.value || !touching.value || props.disabled) return\n\n const touchY = 'clientY' in e ? e.clientY : e.touches[0].clientY\n\n if (scrollParents.length && !scrollParents[0].scrollTop) {\n touchDiff.value = touchY - touchstartY\n }\n }\n\n function onTouchend (e: TouchEvent | MouseEvent) {\n if (refreshing.value || props.disabled) return\n touching.value = false\n if (canRefresh.value) {\n function done () {\n if (!refreshing.value) return\n touchDiff.value = 0\n refreshing.value = false\n }\n emit('load', { done })\n refreshing.value = true\n } else {\n touchDiff.value = 0\n }\n }\n\n onMounted(() => {\n scrollParents = getScrollParents(containerRef.value)\n })\n\n watch([topOffset, refreshing], () => {\n if (scrollParents.length) {\n const stopScrolling = topOffset.value && !refreshing.value\n scrollParents.forEach(p => p.style.overflow = stopScrolling ? 'hidden' : 'auto')\n }\n })\n\n watch(topOffset, (newVal, oldVal) => {\n goingUp.value = newVal < oldVal\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-pull-to-refresh',\n ]}\n onTouchstart={ onTouchstart }\n onTouchmove={ onTouchmove }\n onTouchend={ onTouchend }\n onMousedown={ onTouchstart }\n onMouseup={ onTouchend }\n onMouseleave={ onTouchend }\n onMousemove={ onTouchmove }\n ref={ containerRef }\n >\n <div\n class={[\n 'v-pull-to-refresh__pull-down',\n {\n 'v-pull-to-refresh__pull-down--touching': touching.value,\n },\n ]}\n style={{\n top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),\n height: convertToUnit(props.pullDownThreshold),\n }}\n >\n { slots.pullDownPanel\n ? slots.pullDownPanel({\n canRefresh: canRefresh.value,\n goingUp: goingUp.value,\n refreshing: refreshing.value,\n }) : (\n <div\n class={[\n 'v-pull-to-refresh__pull-down-default',\n ]}\n >\n {\n refreshing.value ? (\n <VProgressCircular\n indeterminate\n active={ false }\n />\n ) : (\n <VIcon\n icon={ canRefresh.value || goingUp.value ? '$sortAsc' : '$sortDesc' }\n />\n )\n }\n </div>\n )\n }\n </div>\n <div\n class={[\n 'v-pull-to-refresh__scroll-container',\n {\n 'v-pull-to-refresh__scroll-container--touching': touching.value,\n },\n ]}\n style={{ top: convertToUnit(topOffset.value) }}\n >\n { slots.default?.() }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VPullToRefresh = InstanceType<typeof VPullToRefresh>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VPullToRefresh.js","names":["VIcon","VProgressCircular","computed","onMounted","ref","shallowRef","watch","clamp","convertToUnit","genericComponent","getScrollParents","useRender","VPullToRefresh","name","props","disabled","Boolean","pullDownThreshold","type","Number","default","emits","load","options","setup","_ref","slots","emit","touchstartY","scrollParents","touchDiff","containerRef","refreshing","goingUp","touching","canRefresh","value","topOffset","onTouchstart","e","clientY","touches","onTouchmove","touchY","length","scrollTop","onTouchend","done","stopScrolling","forEach","p","style","overflow","newVal","oldVal","_createElementVNode","_normalizeClass","top","height","pullDownPanel","_createVNode"],"sources":["../../../src/labs/VPullToRefresh/VPullToRefresh.tsx"],"sourcesContent":["// Styles\nimport './VPullToRefresh.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue'\nimport { clamp, convertToUnit, genericComponent, getScrollParents, useRender } from '@/util'\n\nexport type VPullToRefreshSlots = {\n default: never\n pullDownPanel: {\n canRefresh: boolean\n goingUp: boolean\n refreshing: boolean\n }\n}\n\nexport const VPullToRefresh = genericComponent<VPullToRefreshSlots>()({\n name: 'VPullToRefresh',\n\n props: {\n disabled: Boolean,\n pullDownThreshold: {\n type: Number,\n default: 64,\n },\n },\n\n emits: {\n load: (options: { done: () => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n let touchstartY = 0\n let scrollParents: HTMLElement[] = []\n\n const touchDiff = shallowRef(0)\n const containerRef = ref<HTMLElement>()\n\n const refreshing = shallowRef(false)\n const goingUp = shallowRef(false)\n const touching = shallowRef(false)\n\n const canRefresh = computed(() => touchDiff.value >= props.pullDownThreshold && !refreshing.value)\n const topOffset = computed(() => clamp(touchDiff.value, 0, props.pullDownThreshold))\n\n function onTouchstart (e: TouchEvent | MouseEvent) {\n if (refreshing.value || props.disabled) return\n touching.value = true\n touchstartY = 'clientY' in e ? e.clientY : e.touches[0].clientY\n }\n\n function onTouchmove (e: TouchEvent | MouseEvent) {\n if (refreshing.value || !touching.value || props.disabled) return\n\n const touchY = 'clientY' in e ? e.clientY : e.touches[0].clientY\n\n if (scrollParents.length && !scrollParents[0].scrollTop) {\n touchDiff.value = touchY - touchstartY\n }\n }\n\n function onTouchend (e: TouchEvent | MouseEvent) {\n if (refreshing.value || props.disabled) return\n touching.value = false\n if (canRefresh.value) {\n function done () {\n if (!refreshing.value) return\n touchDiff.value = 0\n refreshing.value = false\n }\n emit('load', { done })\n refreshing.value = true\n } else {\n touchDiff.value = 0\n }\n }\n\n onMounted(() => {\n scrollParents = getScrollParents(containerRef.value)\n })\n\n watch([topOffset, refreshing], () => {\n if (scrollParents.length) {\n const stopScrolling = topOffset.value && !refreshing.value\n scrollParents.forEach(p => p.style.overflow = stopScrolling ? 'hidden' : 'auto')\n }\n })\n\n watch(topOffset, (newVal, oldVal) => {\n goingUp.value = newVal < oldVal\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-pull-to-refresh',\n ]}\n onTouchstart={ onTouchstart }\n onTouchmove={ onTouchmove }\n onTouchend={ onTouchend }\n onMousedown={ onTouchstart }\n onMouseup={ onTouchend }\n onMouseleave={ onTouchend }\n onMousemove={ onTouchmove }\n ref={ containerRef }\n >\n <div\n class={[\n 'v-pull-to-refresh__pull-down',\n {\n 'v-pull-to-refresh__pull-down--touching': touching.value,\n },\n ]}\n style={{\n top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),\n height: convertToUnit(props.pullDownThreshold),\n }}\n >\n { slots.pullDownPanel\n ? slots.pullDownPanel({\n canRefresh: canRefresh.value,\n goingUp: goingUp.value,\n refreshing: refreshing.value,\n }) : (\n <div\n class={[\n 'v-pull-to-refresh__pull-down-default',\n ]}\n >\n {\n refreshing.value ? (\n <VProgressCircular\n indeterminate\n active={ false }\n />\n ) : (\n <VIcon\n icon={ canRefresh.value || goingUp.value ? '$sortAsc' : '$sortDesc' }\n />\n )\n }\n </div>\n )\n }\n </div>\n <div\n class={[\n 'v-pull-to-refresh__scroll-container',\n {\n 'v-pull-to-refresh__scroll-container--touching': touching.value,\n },\n ]}\n style={{ top: convertToUnit(topOffset.value) }}\n >\n { slots.default?.() }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VPullToRefresh = InstanceType<typeof VPullToRefresh>\n"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,7 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
27
27
  options: import("../composables/date/date.js").InternalDateOptions;
28
28
  instance: {
29
29
  locale?: any;
30
+ createDateRange: (start: unknown, stop?: unknown) => unknown[];
30
31
  date: (value?: any) => unknown;
31
32
  format: (date: unknown, formatString: string) => string;
32
33
  toJsDate: (value: unknown) => Date;
@@ -70,6 +71,8 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
70
71
  setHours: (date: unknown, hours: number) => unknown;
71
72
  getMinutes: (date: unknown) => number;
72
73
  setMinutes: (date: unknown, minutes: number) => unknown;
74
+ } & {
75
+ createDateRange(start: unknown, stop?: unknown): unknown[];
73
76
  };
74
77
  };
75
78
  goTo: import("../framework.js").GoToInstance;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.8.7-master.2025-05-29",
4
+ "version": "3.8.7-master.2025-06-02",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -155,7 +155,7 @@
155
155
  "@vue/reactivity": "^3.5.13",
156
156
  "@vue/shared": "^3.5.13",
157
157
  "@vue/test-utils": "^2.4.6",
158
- "@vuetify/babel-plugin-jsx": "^1.5.1",
158
+ "@vuetify/babel-plugin-jsx": "^1.5.2",
159
159
  "acorn-walk": "^8.3.4",
160
160
  "autoprefixer": "^10.4.21",
161
161
  "babel-plugin-add-import-extension": "1.5.1",