@vuetify/nightly 3.11.4-dev.2025-12-21 → 3.11.4-dev.2025-12-22

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 (61) hide show
  1. package/CHANGELOG.md +25 -3
  2. package/dist/json/attributes.json +1109 -1109
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +196 -196
  5. package/dist/json/web-types.json +2247 -2247
  6. package/dist/vuetify-labs.cjs +40 -15
  7. package/dist/vuetify-labs.css +4805 -4809
  8. package/dist/vuetify-labs.d.ts +83 -70
  9. package/dist/vuetify-labs.esm.js +40 -15
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +40 -15
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +35 -11
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3454 -3458
  16. package/dist/vuetify.d.ts +83 -70
  17. package/dist/vuetify.esm.js +35 -11
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +35 -11
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +17 -17
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableRows.js +1 -1
  25. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  26. package/lib/components/VDataTable/VDataTableVirtual.js +5 -2
  27. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  28. package/lib/components/VDataTable/types.d.ts +1 -0
  29. package/lib/components/VDataTable/types.js.map +1 -1
  30. package/lib/components/VDatePicker/VDatePickerYears.js +7 -3
  31. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  32. package/lib/components/VGrid/VContainer.css +34 -0
  33. package/lib/components/VGrid/VContainer.js +1 -1
  34. package/lib/components/VGrid/VContainer.js.map +1 -1
  35. package/lib/components/VGrid/VContainer.sass +15 -0
  36. package/lib/components/VGrid/VGrid.css +0 -39
  37. package/lib/components/VGrid/VGrid.sass +0 -15
  38. package/lib/components/VGrid/VSpacer.css +3 -0
  39. package/lib/components/VGrid/VSpacer.js +1 -1
  40. package/lib/components/VGrid/VSpacer.js.map +1 -1
  41. package/lib/components/VGrid/VSpacer.sass +5 -0
  42. package/lib/components/VList/VListItem.d.ts +3 -0
  43. package/lib/components/VNumberInput/VNumberInput.js +1 -1
  44. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  45. package/lib/components/VTreeview/VTreeviewChildren.js +2 -2
  46. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  47. package/lib/components/VTreeview/VTreeviewItem.d.ts +9 -0
  48. package/lib/composables/nested/nested.d.ts +3 -0
  49. package/lib/composables/nested/nested.js +17 -0
  50. package/lib/composables/nested/nested.js.map +1 -1
  51. package/lib/entry-bundler.js +1 -1
  52. package/lib/framework.d.ts +71 -70
  53. package/lib/framework.js +1 -1
  54. package/lib/labs/VDateInput/VDateInput.js +5 -4
  55. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  56. package/lib/styles/settings/_variables.scss +11 -0
  57. package/lib/styles/utilities/_display.sass +2 -1
  58. package/lib/styles/utilities/_elevation.scss +2 -1
  59. package/lib/styles/utilities/_pointer-events.sass +2 -1
  60. package/lib/styles/utilities/_screenreaders.sass +2 -1
  61. package/package.json +1 -1
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.11.4-dev.2025-12-21";
19
+ export const version = "3.11.4-dev.2025-12-22";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -679,6 +679,7 @@ type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children
679
679
  interface DataTableItem<T = any> extends Omit<InternalItem<T>, 'type'>, GroupableItem<T>, SelectableItem {
680
680
  key: any;
681
681
  index: number;
682
+ virtualIndex?: number;
682
683
  columns: {
683
684
  [key: string]: any;
684
685
  };
@@ -2778,81 +2779,82 @@ declare module 'vue' {
2778
2779
  $children?: VNodeChild
2779
2780
  }
2780
2781
  export interface GlobalComponents {
2782
+ VAlert: typeof import('vuetify/components')['VAlert']
2783
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2784
+ VApp: typeof import('vuetify/components')['VApp']
2781
2785
  VAppBar: typeof import('vuetify/components')['VAppBar']
2782
2786
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2783
2787
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2784
- VApp: typeof import('vuetify/components')['VApp']
2785
- VAlert: typeof import('vuetify/components')['VAlert']
2786
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2787
- VBadge: typeof import('vuetify/components')['VBadge']
2788
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2789
2788
  VAvatar: typeof import('vuetify/components')['VAvatar']
2789
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2790
2790
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2791
2791
  VBanner: typeof import('vuetify/components')['VBanner']
2792
2792
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2793
2793
  VBannerText: typeof import('vuetify/components')['VBannerText']
2794
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2795
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2796
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2797
2794
  VBtn: typeof import('vuetify/components')['VBtn']
2798
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2799
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2795
+ VBadge: typeof import('vuetify/components')['VBadge']
2800
2796
  VCard: typeof import('vuetify/components')['VCard']
2801
2797
  VCardActions: typeof import('vuetify/components')['VCardActions']
2802
2798
  VCardItem: typeof import('vuetify/components')['VCardItem']
2803
2799
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2804
2800
  VCardText: typeof import('vuetify/components')['VCardText']
2805
2801
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2806
- VCalendar: typeof import('vuetify/components')['VCalendar']
2807
- VChip: typeof import('vuetify/components')['VChip']
2802
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2803
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2804
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2805
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2806
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2808
2807
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2809
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2810
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2811
- VCarousel: typeof import('vuetify/components')['VCarousel']
2812
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2813
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2808
+ VChip: typeof import('vuetify/components')['VChip']
2809
+ VCalendar: typeof import('vuetify/components')['VCalendar']
2814
2810
  VCode: typeof import('vuetify/components')['VCode']
2815
2811
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2816
- VCombobox: typeof import('vuetify/components')['VCombobox']
2812
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2813
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2817
2814
  VCounter: typeof import('vuetify/components')['VCounter']
2818
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2819
- VDataTable: typeof import('vuetify/components')['VDataTable']
2820
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2821
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2822
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2823
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2824
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2825
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2826
- VDialog: typeof import('vuetify/components')['VDialog']
2815
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2816
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2817
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2818
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2827
2819
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2828
2820
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2829
2821
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2830
2822
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2831
2823
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2832
2824
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2833
- VDivider: typeof import('vuetify/components')['VDivider']
2834
- VFab: typeof import('vuetify/components')['VFab']
2835
2825
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2836
2826
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2837
2827
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2838
2828
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2829
+ VDivider: typeof import('vuetify/components')['VDivider']
2830
+ VDataTable: typeof import('vuetify/components')['VDataTable']
2831
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2832
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2833
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2834
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2835
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2836
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2837
+ VDialog: typeof import('vuetify/components')['VDialog']
2838
+ VFab: typeof import('vuetify/components')['VFab']
2839
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2840
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2841
+ VFooter: typeof import('vuetify/components')['VFooter']
2839
2842
  VField: typeof import('vuetify/components')['VField']
2840
2843
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2841
- VFooter: typeof import('vuetify/components')['VFooter']
2842
- VFileInput: typeof import('vuetify/components')['VFileInput']
2843
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2844
2844
  VHotkey: typeof import('vuetify/components')['VHotkey']
2845
- VImg: typeof import('vuetify/components')['VImg']
2846
- VKbd: typeof import('vuetify/components')['VKbd']
2847
- VInput: typeof import('vuetify/components')['VInput']
2848
- VLabel: typeof import('vuetify/components')['VLabel']
2849
2845
  VIcon: typeof import('vuetify/components')['VIcon']
2850
2846
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2851
2847
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2852
2848
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2853
2849
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2850
+ VImg: typeof import('vuetify/components')['VImg']
2851
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2852
+ VLabel: typeof import('vuetify/components')['VLabel']
2854
2853
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2855
2854
  VItem: typeof import('vuetify/components')['VItem']
2855
+ VInput: typeof import('vuetify/components')['VInput']
2856
+ VKbd: typeof import('vuetify/components')['VKbd']
2857
+ VMain: typeof import('vuetify/components')['VMain']
2856
2858
  VList: typeof import('vuetify/components')['VList']
2857
2859
  VListGroup: typeof import('vuetify/components')['VListGroup']
2858
2860
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2862,80 +2864,79 @@ declare module 'vue' {
2862
2864
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2863
2865
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2864
2866
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2865
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2866
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2867
2867
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2868
- VMain: typeof import('vuetify/components')['VMain']
2869
2868
  VMessages: typeof import('vuetify/components')['VMessages']
2870
2869
  VMenu: typeof import('vuetify/components')['VMenu']
2871
- VOverlay: typeof import('vuetify/components')['VOverlay']
2872
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2870
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2873
2871
  VPagination: typeof import('vuetify/components')['VPagination']
2874
2872
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2873
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2874
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2875
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2876
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2877
+ VSelect: typeof import('vuetify/components')['VSelect']
2875
2878
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2876
2879
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2877
2880
  VRating: typeof import('vuetify/components')['VRating']
2878
- VSelect: typeof import('vuetify/components')['VSelect']
2879
- VSlider: typeof import('vuetify/components')['VSlider']
2880
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2881
- VSheet: typeof import('vuetify/components')['VSheet']
2881
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2882
2882
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2883
2883
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2884
+ VSheet: typeof import('vuetify/components')['VSheet']
2884
2885
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2886
+ VSlider: typeof import('vuetify/components')['VSlider']
2885
2887
  VStepper: typeof import('vuetify/components')['VStepper']
2886
2888
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2887
2889
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2888
2890
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2889
2891
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2890
2892
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2891
- VSwitch: typeof import('vuetify/components')['VSwitch']
2892
2893
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2893
- VTable: typeof import('vuetify/components')['VTable']
2894
- VTextarea: typeof import('vuetify/components')['VTextarea']
2895
- VTimeline: typeof import('vuetify/components')['VTimeline']
2896
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2897
2894
  VTab: typeof import('vuetify/components')['VTab']
2898
2895
  VTabs: typeof import('vuetify/components')['VTabs']
2899
2896
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2900
2897
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2901
- VTextField: typeof import('vuetify/components')['VTextField']
2902
- VToolbar: typeof import('vuetify/components')['VToolbar']
2903
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2904
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2898
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2899
+ VTable: typeof import('vuetify/components')['VTable']
2900
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2905
2901
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2906
2902
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2907
2903
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2908
- VTooltip: typeof import('vuetify/components')['VTooltip']
2904
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2905
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2906
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2907
+ VTextField: typeof import('vuetify/components')['VTextField']
2908
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2909
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2910
+ VWindow: typeof import('vuetify/components')['VWindow']
2911
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
2909
2912
  VTreeview: typeof import('vuetify/components')['VTreeview']
2910
2913
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2911
2914
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2912
- VWindow: typeof import('vuetify/components')['VWindow']
2913
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
2914
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2915
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2915
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2916
2916
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2917
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2917
2918
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2919
+ VHover: typeof import('vuetify/components')['VHover']
2918
2920
  VForm: typeof import('vuetify/components')['VForm']
2919
2921
  VContainer: typeof import('vuetify/components')['VContainer']
2920
2922
  VCol: typeof import('vuetify/components')['VCol']
2921
2923
  VRow: typeof import('vuetify/components')['VRow']
2922
2924
  VSpacer: typeof import('vuetify/components')['VSpacer']
2923
- VHover: typeof import('vuetify/components')['VHover']
2925
+ VLazy: typeof import('vuetify/components')['VLazy']
2924
2926
  VLayout: typeof import('vuetify/components')['VLayout']
2925
2927
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2926
- VLazy: typeof import('vuetify/components')['VLazy']
2927
2928
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2928
2929
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2929
2930
  VParallax: typeof import('vuetify/components')['VParallax']
2930
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2931
2931
  VRadio: typeof import('vuetify/components')['VRadio']
2932
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2932
2933
  VResponsive: typeof import('vuetify/components')['VResponsive']
2933
2934
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2934
2935
  VSparkline: typeof import('vuetify/components')['VSparkline']
2935
2936
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2936
2937
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2937
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2938
2938
  VValidation: typeof import('vuetify/components')['VValidation']
2939
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2939
2940
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2940
2941
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2941
2942
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2952,21 +2953,21 @@ declare module 'vue' {
2952
2953
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2953
2954
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2954
2955
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2955
- VVideo: typeof import('vuetify/labs/components')['VVideo']
2956
- VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2957
- VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2956
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2958
2957
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2959
2958
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2960
2959
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2961
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2962
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2963
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2964
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2965
2960
  VPie: typeof import('vuetify/labs/components')['VPie']
2966
2961
  VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2967
2962
  VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2963
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2964
+ VVideo: typeof import('vuetify/labs/components')['VVideo']
2965
+ VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2966
+ VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2968
2967
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2969
2968
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2969
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2970
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2970
2971
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2971
2972
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2972
2973
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
package/lib/framework.js CHANGED
@@ -110,7 +110,7 @@ export function createVuetify() {
110
110
  };
111
111
  });
112
112
  }
113
- export const version = "3.11.4-dev.2025-12-21";
113
+ export const version = "3.11.4-dev.2025-12-22";
114
114
  createVuetify.version = version;
115
115
 
116
116
  // Vue's inject() can only be used in setup
@@ -195,6 +195,7 @@ export const VDateInput = genericComponent()({
195
195
  }
196
196
  }
197
197
  useRender(() => {
198
+ const hasPrepend = !!(props.prependIcon || slots.prepend);
198
199
  const confirmEditProps = VConfirmEdit.filterProps(props);
199
200
  const datePickerProps = {
200
201
  ...VDatePicker.filterProps(omit(props, ['active', 'bgColor', 'color', 'location', 'rounded', 'maxWidth', 'minWidth', 'width'])),
@@ -272,12 +273,12 @@ export const VDateInput = genericComponent()({
272
273
  }
273
274
  })]
274
275
  }), slots.default?.()]),
275
- prepend: prependSlotProps => slots.prepend ? slots.prepend(prependSlotProps) : props.prependIcon && _createVNode(InputIcon, {
276
+ prepend: hasPrepend ? prependSlotProps => slots.prepend ? slots.prepend(prependSlotProps) : props.prependIcon && _createVNode(InputIcon, {
276
277
  "key": "prepend-icon",
277
278
  "name": "prepend",
278
- "tabindex": -1,
279
- "onClick": onClick
280
- }, null)
279
+ "tabindex": props['onClick:prepend'] ? undefined : -1,
280
+ "onClick": isInteractive.value ? onClick : undefined
281
+ }, null) : undefined
281
282
  });
282
283
  });
283
284
  return forwardRefs({}, vTextFieldRef);
@@ -1 +1 @@
1
- {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","useInputIcon","VMenu","makeVTextFieldProps","VTextField","useCalendarRange","useDate","createDateRange","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","pick","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","type","Function","String","default","undefined","location","menu","Boolean","updateOn","Array","pickerProps","Object","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","InputIcon","clampDate","isInAllowedRange","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","isFocused","focused","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","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","filter","confirmEditProps","filterProps","datePickerProps","datePickerSlots","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","event","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel","prepend","prependSlotProps"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useCalendarRange } from '@/composables/calendar'\nimport { useDate } from '@/composables/date'\nimport { createDateRange } from '@/composables/date/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps } 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, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VDatePickerSlots } from '@/components/VDatePicker/VDatePicker'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> &\n Pick<VDatePickerSlots, 'title' | 'header' | 'day' | 'month' | 'year'> & {\n actions: VDateInputActionsSlot\n default: never\n }\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: {\n type: [Function, String] as PropType<string | ((date: unknown) => any)>,\n default: undefined,\n },\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 pickerProps: Object as PropType<VDatePicker['$props']>,\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 }), [\n 'location',\n 'rounded',\n 'height',\n 'minHeight',\n 'maxHeight',\n ]),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n onSave?: (value: TModel) => void\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDateInputSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: unknown) => true,\n cancel: () => true,\n 'update:focused': (val: boolean) => true,\n 'update:modelValue': (val: unknown) => 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 { InputIcon } = useInputIcon(props)\n\n const { clampDate, isInAllowedRange } = useCalendarRange(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 isFocused = shallowRef(props.focused)\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') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n if (props.disabled) return\n\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = !props.readonly\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') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\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 = clampDate(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\n .map(parseDate)\n .map(clampDate)\n .toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = createDateRange(adapter, start, stop)\n } else {\n model.value = parts\n .map(parseDate)\n .filter(isInAllowedRange)\n }\n }\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = {\n ...VDatePicker.filterProps(omit(props, [\n 'active',\n 'bgColor',\n 'color',\n 'location',\n 'rounded',\n 'maxWidth',\n 'minWidth',\n 'width',\n ])),\n ...props.pickerProps,\n }\n const datePickerSlots = pick(slots, ['title', 'header', 'day', 'month', 'year'])\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={['v-date-input', 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 onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ onClick }\n onUpdate:modelValue={ onUpdateDisplayModel }\n onUpdate:focused={ event => isFocused.value = event }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n minWidth=\"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 ...datePickerSlots,\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 prepend: prependSlotProps => (\n slots.prepend\n ? slots.prepend(prependSlotProps)\n : (props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n tabindex={ -1 }\n onClick={ onClick }\n />\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","useInputIcon","VMenu","makeVTextFieldProps","VTextField","useCalendarRange","useDate","createDateRange","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","pick","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","type","Function","String","default","undefined","location","menu","Boolean","updateOn","Array","pickerProps","Object","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","InputIcon","clampDate","isInAllowedRange","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","isFocused","focused","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","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","filter","hasPrepend","prepend","confirmEditProps","filterProps","datePickerProps","datePickerSlots","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","event","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel","prependSlotProps"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useCalendarRange } from '@/composables/calendar'\nimport { useDate } from '@/composables/date'\nimport { createDateRange } from '@/composables/date/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps } 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, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VDatePickerSlots } from '@/components/VDatePicker/VDatePicker'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> &\n Pick<VDatePickerSlots, 'title' | 'header' | 'day' | 'month' | 'year'> & {\n actions: VDateInputActionsSlot\n default: never\n }\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: {\n type: [Function, String] as PropType<string | ((date: unknown) => any)>,\n default: undefined,\n },\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 pickerProps: Object as PropType<VDatePicker['$props']>,\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 }), [\n 'location',\n 'rounded',\n 'height',\n 'minHeight',\n 'maxHeight',\n ]),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n onSave?: (value: TModel) => void\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDateInputSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: unknown) => true,\n cancel: () => true,\n 'update:focused': (val: boolean) => true,\n 'update:modelValue': (val: unknown) => 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 { InputIcon } = useInputIcon(props)\n\n const { clampDate, isInAllowedRange } = useCalendarRange(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 isFocused = shallowRef(props.focused)\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') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n if (props.disabled) return\n\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = !props.readonly\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') && !props.readonly) {\n onUserInput(e.target as HTMLInputElement)\n }\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 = clampDate(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\n .map(parseDate)\n .map(clampDate)\n .toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = createDateRange(adapter, start, stop)\n } else {\n model.value = parts\n .map(parseDate)\n .filter(isInAllowedRange)\n }\n }\n }\n }\n\n useRender(() => {\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = {\n ...VDatePicker.filterProps(omit(props, [\n 'active',\n 'bgColor',\n 'color',\n 'location',\n 'rounded',\n 'maxWidth',\n 'minWidth',\n 'width',\n ])),\n ...props.pickerProps,\n }\n const datePickerSlots = pick(slots, ['title', 'header', 'day', 'month', 'year'])\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={['v-date-input', 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 onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ onClick }\n onUpdate:modelValue={ onUpdateDisplayModel }\n onUpdate:focused={ event => isFocused.value = event }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n minWidth=\"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 ...datePickerSlots,\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 prepend: hasPrepend ? prependSlotProps => (\n slots.prepend\n ? slots.prepend(prependSlotProps)\n : (props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n tabindex={ props['onClick:prepend'] ? undefined : -1 }\n onClick={ isInteractive.value ? onClick : undefined }\n />\n ))\n ) : undefined,\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":[]}
@@ -7,6 +7,17 @@ $color-pack: true !default;
7
7
  $reset: true !default;
8
8
  $layers: false !default;
9
9
 
10
+ $misc: () !default;
11
+ $misc: map-deep-merge(
12
+ (
13
+ elevation: true,
14
+ hidden: true,
15
+ 'sr-only': true,
16
+ 'pointer-events': true,
17
+ ),
18
+ $misc
19
+ );
20
+
10
21
  $body-font-family: 'Roboto', sans-serif !default;
11
22
  $font-size-root: 1rem !default;
12
23
  $line-height-root: 1.5 !default;
@@ -1,8 +1,9 @@
1
1
  @use 'sass:list'
2
+ @use 'sass:map'
2
3
  @use '../settings'
3
4
  @use '../tools'
4
5
 
5
- @if (settings.$utilities != false and list.length(settings.$utilities) > 0)
6
+ @if (settings.$utilities != false and map.get(settings.$misc, 'hidden') != false and list.length(settings.$utilities) > 0)
6
7
  @include tools.layer('utilities')
7
8
  @each $size, $media_query in settings.$display-breakpoints
8
9
  .hidden
@@ -1,8 +1,9 @@
1
1
  @use 'sass:list';
2
+ @use 'sass:map';
2
3
  @use '../tools';
3
4
  @use '../settings';
4
5
 
5
- @if (settings.$utilities != false and list.length(settings.$utilities) > 0) {
6
+ @if (settings.$utilities != false and map.get(settings.$misc, 'elevation') != false and list.length(settings.$utilities) > 0) {
6
7
  @include tools.layer('utilities') {
7
8
  $z: 24;
8
9
  @while $z >= 0 {
@@ -1,8 +1,9 @@
1
1
  @use 'sass:list'
2
+ @use 'sass:map'
2
3
  @use '../settings'
3
4
  @use '../tools'
4
5
 
5
- @if (settings.$utilities != false and list.length(settings.$utilities) > 0)
6
+ @if (settings.$utilities != false and map.get(settings.$misc, 'pointer-events') != false and list.length(settings.$utilities) > 0)
6
7
  @include tools.layer('utilities')
7
8
  .pointer-events-none
8
9
  pointer-events: none !important
@@ -1,9 +1,10 @@
1
1
  // Source: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss
2
2
  @use 'sass:list'
3
+ @use 'sass:map'
3
4
  @use '../settings'
4
5
  @use '../tools'
5
6
 
6
- @if (settings.$utilities != false and list.length(settings.$utilities) > 0)
7
+ @if (settings.$utilities != false and map.get(settings.$misc, 'sr-only') != false and list.length(settings.$utilities) > 0)
7
8
  @include tools.layer('utilities')
8
9
  .d-sr-only,
9
10
  .d-sr-only-focusable:not(:focus)
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.11.4-dev.2025-12-21",
4
+ "version": "3.11.4-dev.2025-12-22",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"