vuetify 3.10.5 → 3.10.6

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 (89) hide show
  1. package/README.md +0 -6
  2. package/dist/json/attributes.json +3568 -3592
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +152 -152
  5. package/dist/json/tags.json +3 -9
  6. package/dist/json/web-types.json +6916 -6969
  7. package/dist/vuetify-labs.cjs +178 -72
  8. package/dist/vuetify-labs.css +4389 -4339
  9. package/dist/vuetify-labs.d.ts +108 -163
  10. package/dist/vuetify-labs.esm.js +178 -72
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +178 -72
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +159 -62
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4349 -4321
  17. package/dist/vuetify.d.ts +108 -128
  18. package/dist/vuetify.esm.js +159 -62
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +159 -62
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +113 -102
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +0 -61
  26. package/lib/components/VAutocomplete/VAutocomplete.js +13 -11
  27. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  28. package/lib/components/VChipGroup/VChipGroup.d.ts +37 -0
  29. package/lib/components/VChipGroup/VChipGroup.js +3 -1
  30. package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
  31. package/lib/components/VCombobox/VCombobox.d.ts +6 -67
  32. package/lib/components/VCombobox/VCombobox.js +26 -28
  33. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  34. package/lib/components/VCounter/VCounter.css +1 -0
  35. package/lib/components/VCounter/VCounter.sass +1 -0
  36. package/lib/components/VDatePicker/VDatePicker.js +1 -1
  37. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  38. package/lib/components/VList/VListItem.css +14 -12
  39. package/lib/components/VList/VListItem.js +4 -2
  40. package/lib/components/VList/VListItem.js.map +1 -1
  41. package/lib/components/VList/VListItem.sass +20 -18
  42. package/lib/components/VMenu/VMenu.js +22 -4
  43. package/lib/components/VMenu/VMenu.js.map +1 -1
  44. package/lib/components/VNumberInput/VNumberInput.css +8 -0
  45. package/lib/components/VNumberInput/VNumberInput.js +5 -2
  46. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  47. package/lib/components/VNumberInput/VNumberInput.sass +10 -4
  48. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +17 -0
  49. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +3 -3
  50. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  51. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +7 -0
  52. package/lib/components/VSlideGroup/VSlideGroup.d.ts +25 -0
  53. package/lib/components/VSlideGroup/VSlideGroup.js +5 -1
  54. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  55. package/lib/components/VTabs/VTabs.d.ts +25 -0
  56. package/lib/components/VTextField/VTextField.js +0 -3
  57. package/lib/components/VTextField/VTextField.js.map +1 -1
  58. package/lib/components/VTextarea/VTextarea.css +2 -2
  59. package/lib/components/VTextarea/VTextarea.js +20 -1
  60. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  61. package/lib/components/VTextarea/VTextarea.sass +4 -2
  62. package/lib/components/VWindow/VWindow.js +43 -3
  63. package/lib/components/VWindow/VWindow.js.map +1 -1
  64. package/lib/composables/date/date.js +1 -1
  65. package/lib/composables/date/date.js.map +1 -1
  66. package/lib/composables/group.js +1 -1
  67. package/lib/composables/group.js.map +1 -1
  68. package/lib/composables/nested/nested.js +12 -2
  69. package/lib/composables/nested/nested.js.map +1 -1
  70. package/lib/composables/virtual.js +2 -2
  71. package/lib/composables/virtual.js.map +1 -1
  72. package/lib/entry-bundler.js +1 -1
  73. package/lib/framework.d.ts +54 -54
  74. package/lib/framework.js +1 -1
  75. package/lib/labs/VColorInput/VColorInput.d.ts +0 -40
  76. package/lib/labs/VColorInput/VColorInput.js +2 -2
  77. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  78. package/lib/labs/VDateInput/VDateInput.d.ts +0 -30
  79. package/lib/labs/VDateInput/VDateInput.js +16 -7
  80. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  81. package/lib/labs/VIconBtn/VIconBtn.css +22 -0
  82. package/lib/labs/VIconBtn/VIconBtn.scss +32 -0
  83. package/lib/labs/VMaskInput/VMaskInput.js +1 -1
  84. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
  85. package/lib/labs/rules/rules.js +1 -1
  86. package/lib/labs/rules/rules.js.map +1 -1
  87. package/lib/util/helpers.js +4 -2
  88. package/lib/util/helpers.js.map +1 -1
  89. package/package.json +1 -1
@@ -2712,43 +2712,44 @@ declare module 'vue' {
2712
2712
  $children?: VNodeChild
2713
2713
  }
2714
2714
  export interface GlobalComponents {
2715
- VAvatar: typeof import('vuetify/components')['VAvatar']
2716
2715
  VApp: typeof import('vuetify/components')['VApp']
2716
+ VAlert: typeof import('vuetify/components')['VAlert']
2717
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2717
2718
  VAppBar: typeof import('vuetify/components')['VAppBar']
2718
2719
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2719
2720
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2720
- VBadge: typeof import('vuetify/components')['VBadge']
2721
2721
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2722
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2723
2722
  VBanner: typeof import('vuetify/components')['VBanner']
2724
2723
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2725
2724
  VBannerText: typeof import('vuetify/components')['VBannerText']
2725
+ VBadge: typeof import('vuetify/components')['VBadge']
2726
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2727
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2728
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2729
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2730
+ VBtn: typeof import('vuetify/components')['VBtn']
2726
2731
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2727
2732
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2728
2733
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2729
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2730
- VAlert: typeof import('vuetify/components')['VAlert']
2731
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2734
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2735
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2736
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2737
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2738
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2739
+ VChip: typeof import('vuetify/components')['VChip']
2732
2740
  VCard: typeof import('vuetify/components')['VCard']
2733
2741
  VCardActions: typeof import('vuetify/components')['VCardActions']
2734
2742
  VCardItem: typeof import('vuetify/components')['VCardItem']
2735
2743
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2736
2744
  VCardText: typeof import('vuetify/components')['VCardText']
2737
2745
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2738
- VBtn: typeof import('vuetify/components')['VBtn']
2739
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2740
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2741
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2742
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2743
- VChip: typeof import('vuetify/components')['VChip']
2744
- VCombobox: typeof import('vuetify/components')['VCombobox']
2746
+ VCounter: typeof import('vuetify/components')['VCounter']
2745
2747
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2746
- VCarousel: typeof import('vuetify/components')['VCarousel']
2747
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2748
2748
  VCode: typeof import('vuetify/components')['VCode']
2749
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2749
2750
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2750
- VCounter: typeof import('vuetify/components')['VCounter']
2751
- VDialog: typeof import('vuetify/components')['VDialog']
2751
+ VField: typeof import('vuetify/components')['VField']
2752
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2752
2753
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2753
2754
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2754
2755
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
@@ -2763,25 +2764,24 @@ declare module 'vue' {
2763
2764
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2764
2765
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2765
2766
  VDivider: typeof import('vuetify/components')['VDivider']
2767
+ VDialog: typeof import('vuetify/components')['VDialog']
2768
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2766
2769
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2767
2770
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2768
2771
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2769
2772
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2770
- VFab: typeof import('vuetify/components')['VFab']
2771
- VField: typeof import('vuetify/components')['VField']
2772
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2773
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2774
2773
  VFooter: typeof import('vuetify/components')['VFooter']
2774
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2775
+ VFab: typeof import('vuetify/components')['VFab']
2776
+ VImg: typeof import('vuetify/components')['VImg']
2777
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2778
+ VInput: typeof import('vuetify/components')['VInput']
2779
+ VKbd: typeof import('vuetify/components')['VKbd']
2775
2780
  VIcon: typeof import('vuetify/components')['VIcon']
2776
2781
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2777
2782
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2778
2783
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2779
2784
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2780
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2781
- VFileInput: typeof import('vuetify/components')['VFileInput']
2782
- VKbd: typeof import('vuetify/components')['VKbd']
2783
- VImg: typeof import('vuetify/components')['VImg']
2784
- VInput: typeof import('vuetify/components')['VInput']
2785
2785
  VLabel: typeof import('vuetify/components')['VLabel']
2786
2786
  VList: typeof import('vuetify/components')['VList']
2787
2787
  VListGroup: typeof import('vuetify/components')['VListGroup']
@@ -2795,27 +2795,27 @@ declare module 'vue' {
2795
2795
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2796
2796
  VItem: typeof import('vuetify/components')['VItem']
2797
2797
  VMessages: typeof import('vuetify/components')['VMessages']
2798
- VMain: typeof import('vuetify/components')['VMain']
2799
2798
  VMenu: typeof import('vuetify/components')['VMenu']
2799
+ VMain: typeof import('vuetify/components')['VMain']
2800
+ VPagination: typeof import('vuetify/components')['VPagination']
2800
2801
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2802
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2801
2803
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2802
- VPagination: typeof import('vuetify/components')['VPagination']
2803
2804
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2804
- VOverlay: typeof import('vuetify/components')['VOverlay']
2805
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2806
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2807
2805
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2808
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2806
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2807
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2809
2808
  VRating: typeof import('vuetify/components')['VRating']
2810
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2811
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2812
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2813
2809
  VSelect: typeof import('vuetify/components')['VSelect']
2814
2810
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2815
2811
  VSheet: typeof import('vuetify/components')['VSheet']
2812
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2813
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2814
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2815
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2816
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2816
2817
  VSlider: typeof import('vuetify/components')['VSlider']
2817
2818
  VSwitch: typeof import('vuetify/components')['VSwitch']
2818
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2819
2819
  VTab: typeof import('vuetify/components')['VTab']
2820
2820
  VTabs: typeof import('vuetify/components')['VTabs']
2821
2821
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
@@ -2826,16 +2826,19 @@ declare module 'vue' {
2826
2826
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2827
2827
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2828
2828
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2829
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2830
+ VTable: typeof import('vuetify/components')['VTable']
2831
+ VTimePicker: typeof import('vuetify/components')['VTimePicker']
2832
+ VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2833
+ VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2829
2834
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2830
2835
  VTextField: typeof import('vuetify/components')['VTextField']
2831
- VTable: typeof import('vuetify/components')['VTable']
2832
- VTextarea: typeof import('vuetify/components')['VTextarea']
2836
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2833
2837
  VTimeline: typeof import('vuetify/components')['VTimeline']
2834
2838
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2835
2839
  VTreeview: typeof import('vuetify/components')['VTreeview']
2836
2840
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2837
2841
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2838
- VTooltip: typeof import('vuetify/components')['VTooltip']
2839
2842
  VToolbar: typeof import('vuetify/components')['VToolbar']
2840
2843
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2841
2844
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
@@ -2844,27 +2847,27 @@ declare module 'vue' {
2844
2847
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2845
2848
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2846
2849
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2847
- VForm: typeof import('vuetify/components')['VForm']
2848
2850
  VHover: typeof import('vuetify/components')['VHover']
2851
+ VForm: typeof import('vuetify/components')['VForm']
2849
2852
  VContainer: typeof import('vuetify/components')['VContainer']
2850
2853
  VCol: typeof import('vuetify/components')['VCol']
2851
2854
  VRow: typeof import('vuetify/components')['VRow']
2852
2855
  VSpacer: typeof import('vuetify/components')['VSpacer']
2856
+ VLazy: typeof import('vuetify/components')['VLazy']
2853
2857
  VLayout: typeof import('vuetify/components')['VLayout']
2854
2858
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2855
- VLazy: typeof import('vuetify/components')['VLazy']
2856
2859
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2857
2860
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2858
2861
  VParallax: typeof import('vuetify/components')['VParallax']
2859
2862
  VRadio: typeof import('vuetify/components')['VRadio']
2860
2863
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2861
2864
  VResponsive: typeof import('vuetify/components')['VResponsive']
2865
+ VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2862
2866
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2863
2867
  VSparkline: typeof import('vuetify/components')['VSparkline']
2864
- VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2865
2868
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2866
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2867
2869
  VValidation: typeof import('vuetify/components')['VValidation']
2870
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2868
2871
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2869
2872
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2870
2873
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2881,24 +2884,21 @@ declare module 'vue' {
2881
2884
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2882
2885
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2883
2886
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2884
- VTimePicker: typeof import('vuetify/components')['VTimePicker']
2885
- VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2886
- VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2887
- VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2888
2887
  VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2888
+ VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2889
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2890
+ VVideo: typeof import('vuetify/labs/components')['VVideo']
2891
+ VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2892
+ VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2889
2893
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2890
2894
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2891
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2892
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2893
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2894
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2895
2895
  VPie: typeof import('vuetify/labs/components')['VPie']
2896
2896
  VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2897
2897
  VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2898
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2899
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2900
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2898
2901
  VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2899
- VVideo: typeof import('vuetify/labs/components')['VVideo']
2900
- VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2901
- VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2902
2902
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2903
2903
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2904
2904
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.10.5";
112
+ export const version = "3.10.6";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -33,13 +33,9 @@ export declare const makeVColorInputProps: <Defaults extends {
33
33
  rounded?: unknown;
34
34
  tile?: unknown;
35
35
  tag?: unknown;
36
- height?: unknown;
37
- maxHeight?: unknown;
38
36
  maxWidth?: unknown;
39
- minHeight?: unknown;
40
37
  minWidth?: unknown;
41
38
  width?: unknown;
42
- location?: unknown;
43
39
  loading?: unknown;
44
40
  position?: unknown;
45
41
  id?: unknown;
@@ -244,22 +240,10 @@ export declare const makeVColorInputProps: <Defaults extends {
244
240
  type: PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | Defaults["tag"] | import("../../util/index.js").JSXComponent>;
245
241
  default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable<string | import("../../util/index.js").JSXComponent>;
246
242
  };
247
- height: unknown extends Defaults["height"] ? (NumberConstructor | StringConstructor)[] : {
248
- type: PropType<unknown extends Defaults["height"] ? string | number : string | number | Defaults["height"]>;
249
- default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable<string | number>;
250
- };
251
- maxHeight: unknown extends Defaults["maxHeight"] ? (NumberConstructor | StringConstructor)[] : {
252
- type: PropType<unknown extends Defaults["maxHeight"] ? string | number : string | number | Defaults["maxHeight"]>;
253
- default: unknown extends Defaults["maxHeight"] ? string | number : Defaults["maxHeight"] | NonNullable<string | number>;
254
- };
255
243
  maxWidth: unknown extends Defaults["maxWidth"] ? (NumberConstructor | StringConstructor)[] : {
256
244
  type: PropType<unknown extends Defaults["maxWidth"] ? string | number : string | number | Defaults["maxWidth"]>;
257
245
  default: unknown extends Defaults["maxWidth"] ? string | number : Defaults["maxWidth"] | NonNullable<string | number>;
258
246
  };
259
- minHeight: unknown extends Defaults["minHeight"] ? (NumberConstructor | StringConstructor)[] : {
260
- type: PropType<unknown extends Defaults["minHeight"] ? string | number : string | number | Defaults["minHeight"]>;
261
- default: unknown extends Defaults["minHeight"] ? string | number : Defaults["minHeight"] | NonNullable<string | number>;
262
- };
263
247
  minWidth: unknown extends Defaults["minWidth"] ? (NumberConstructor | StringConstructor)[] : {
264
248
  type: PropType<unknown extends Defaults["minWidth"] ? string | number : string | number | Defaults["minWidth"]>;
265
249
  default: unknown extends Defaults["minWidth"] ? string | number : Defaults["minWidth"] | NonNullable<string | number>;
@@ -268,10 +252,6 @@ export declare const makeVColorInputProps: <Defaults extends {
268
252
  type: PropType<unknown extends Defaults["width"] ? string | number : string | number | Defaults["width"]>;
269
253
  default: unknown extends Defaults["width"] ? string | number : Defaults["width"] | NonNullable<string | number>;
270
254
  };
271
- location: unknown extends Defaults["location"] ? PropType<import("../../util/index.js").Anchor | null> : {
272
- type: PropType<unknown extends Defaults["location"] ? import("../../util/index.js").Anchor | null : Defaults["location"] | import("../../util/index.js").Anchor | null>;
273
- default: unknown extends Defaults["location"] ? import("../../util/index.js").Anchor | null : Defaults["location"] | NonNullable<import("../../util/index.js").Anchor | null>;
274
- };
275
255
  loading: unknown extends Defaults["loading"] ? (BooleanConstructor | StringConstructor)[] : {
276
256
  type: PropType<unknown extends Defaults["loading"] ? string | boolean : string | boolean | Defaults["loading"]>;
277
257
  default: unknown extends Defaults["loading"] ? string | boolean : Defaults["loading"] | NonNullable<string | boolean>;
@@ -841,13 +821,9 @@ export declare const VColorInput: {
841
821
  border?: string | number | boolean | undefined;
842
822
  elevation?: string | number | undefined;
843
823
  rounded?: string | number | boolean | undefined;
844
- height?: string | number | undefined;
845
- maxHeight?: string | number | undefined;
846
824
  maxWidth?: string | number | undefined;
847
- minHeight?: string | number | undefined;
848
825
  minWidth?: string | number | undefined;
849
826
  width?: string | number | undefined;
850
- location?: import("../../util/index.js").Anchor | null | undefined;
851
827
  loading?: string | boolean | undefined;
852
828
  position?: "absolute" | "fixed" | "relative" | "static" | "sticky" | undefined;
853
829
  id?: string | undefined;
@@ -1126,13 +1102,9 @@ export declare const VColorInput: {
1126
1102
  border?: string | number | boolean | undefined;
1127
1103
  elevation?: string | number | undefined;
1128
1104
  rounded?: string | number | boolean | undefined;
1129
- height?: string | number | undefined;
1130
- maxHeight?: string | number | undefined;
1131
1105
  maxWidth?: string | number | undefined;
1132
- minHeight?: string | number | undefined;
1133
1106
  minWidth?: string | number | undefined;
1134
1107
  width?: string | number | undefined;
1135
- location?: import("../../util/index.js").Anchor | null | undefined;
1136
1108
  loading?: string | boolean | undefined;
1137
1109
  position?: "absolute" | "fixed" | "relative" | "static" | "sticky" | undefined;
1138
1110
  id?: string | undefined;
@@ -1364,13 +1336,9 @@ export declare const VColorInput: {
1364
1336
  border?: string | number | boolean | undefined;
1365
1337
  elevation?: string | number | undefined;
1366
1338
  rounded?: string | number | boolean | undefined;
1367
- height?: string | number | undefined;
1368
- maxHeight?: string | number | undefined;
1369
1339
  maxWidth?: string | number | undefined;
1370
- minHeight?: string | number | undefined;
1371
1340
  minWidth?: string | number | undefined;
1372
1341
  width?: string | number | undefined;
1373
- location?: import("../../util/index.js").Anchor | null | undefined;
1374
1342
  loading?: string | boolean | undefined;
1375
1343
  position?: "absolute" | "fixed" | "relative" | "static" | "sticky" | undefined;
1376
1344
  id?: string | undefined;
@@ -1625,13 +1593,9 @@ export declare const VColorInput: {
1625
1593
  type: PropType<string | import("../../util/index.js").JSXComponent>;
1626
1594
  default: string;
1627
1595
  };
1628
- height: (NumberConstructor | StringConstructor)[];
1629
- maxHeight: (NumberConstructor | StringConstructor)[];
1630
1596
  maxWidth: (NumberConstructor | StringConstructor)[];
1631
- minHeight: (NumberConstructor | StringConstructor)[];
1632
1597
  minWidth: (NumberConstructor | StringConstructor)[];
1633
1598
  width: (NumberConstructor | StringConstructor)[];
1634
- location: PropType<import("../../util/index.js").Anchor | null>;
1635
1599
  loading: (BooleanConstructor | StringConstructor)[];
1636
1600
  position: {
1637
1601
  type: PropType<"absolute" | "fixed" | "relative" | "static" | "sticky">;
@@ -1833,13 +1797,9 @@ export declare const VColorInput: {
1833
1797
  type: PropType<string | import("../../util/index.js").JSXComponent>;
1834
1798
  default: string;
1835
1799
  };
1836
- height: (NumberConstructor | StringConstructor)[];
1837
- maxHeight: (NumberConstructor | StringConstructor)[];
1838
1800
  maxWidth: (NumberConstructor | StringConstructor)[];
1839
- minHeight: (NumberConstructor | StringConstructor)[];
1840
1801
  minWidth: (NumberConstructor | StringConstructor)[];
1841
1802
  width: (NumberConstructor | StringConstructor)[];
1842
- location: PropType<import("../../util/index.js").Anchor | null>;
1843
1803
  loading: (BooleanConstructor | StringConstructor)[];
1844
1804
  position: {
1845
1805
  type: PropType<"absolute" | "fixed" | "relative" | "static" | "sticky">;
@@ -32,7 +32,7 @@ export const makeVColorInputProps = propsFactory({
32
32
  ...makeFocusProps(),
33
33
  ...makeVConfirmEditProps(),
34
34
  ...makeVTextFieldProps(),
35
- ...omit(makeVColorPickerProps(), ['width'])
35
+ ...omit(makeVColorPickerProps(), ['location', 'height', 'minHeight', 'maxHeight'])
36
36
  }, 'VColorInput');
37
37
  export const VColorInput = genericComponent()({
38
38
  name: 'VColorInput',
@@ -71,7 +71,7 @@ export const VColorInput = genericComponent()({
71
71
  }
72
72
  useRender(() => {
73
73
  const confirmEditProps = VConfirmEdit.filterProps(props);
74
- const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']));
74
+ const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'bgColor', 'color', 'rounded', 'maxWidth', 'minWidth', 'width']));
75
75
  const textFieldProps = VTextField.filterProps(props);
76
76
  const slotWithPip = props.hidePip ? undefined : {
77
77
  [props.pipLocation]: arg => _createElementVNode(_Fragment, null, [_createVNode(VAvatar, {
@@ -1 +1 @@
1
- {"version":3,"file":"VColorInput.js","names":["VAvatar","makeVColorPickerProps","VColorPicker","makeVConfirmEditProps","VConfirmEdit","VMenu","makeVTextFieldProps","VTextField","makeFocusProps","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","availablePipLocations","makeVColorInputProps","hidePip","Boolean","colorPip","pipIcon","type","String","default","pipLocation","validator","v","includes","pipVariant","VColorInput","name","props","emits","val","setup","_ref","slots","model","menu","isFocused","focused","isInteractive","disabled","readonly","display","value","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onSave","onCancel","confirmEditProps","filterProps","colorPickerProps","textFieldProps","slotWithPip","undefined","arg","_createElementVNode","_Fragment","_createVNode","_mergeProps","class","style","event","$event","_ref2","actions","proxyModel","save","cancel","isPristine","onUpdateModel","hideActions"],"sources":["../../../src/labs/VColorInput/VColorInput.tsx"],"sourcesContent":["// Styles\nimport './VColorInput.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { makeVColorPickerProps, VColorPicker } from '@/components/VColorPicker/VColorPicker'\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { makeFocusProps } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VColorInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VColorInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VColorInputActionsSlot\n default: never\n}\n\nconst availablePipLocations = ['prepend', 'prepend-inner', 'append', 'append-inner'] as const\nexport type PipLocation = typeof availablePipLocations[number]\n\nexport const makeVColorInputProps = propsFactory({\n hidePip: Boolean,\n colorPip: Boolean,\n pipIcon: {\n type: String,\n default: '$color',\n },\n pipLocation: {\n type: String as PropType<PipLocation>,\n default: 'prepend',\n validator: (v: any) => availablePipLocations.includes(v),\n },\n pipVariant: {\n type: String as PropType<VAvatar['$props']['variant']>,\n default: 'text',\n },\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps(),\n ...omit(makeVColorPickerProps(), ['width']),\n}, 'VColorInput')\n\nexport const VColorInput = genericComponent<VColorInputSlots>()({\n name: 'VColorInput',\n\n props: makeVColorInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const menu = shallowRef(false)\n const isFocused = shallowRef(props.focused)\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const display = computed(() => model.value || null)\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 return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onSave () {\n menu.value = false\n }\n\n function onCancel () {\n menu.value = false\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']))\n const textFieldProps = VTextField.filterProps(props)\n\n const slotWithPip = props.hidePip\n ? undefined\n : {\n [props.pipLocation]: (arg: any) => (\n <>\n <VAvatar\n class=\"v-color-input__pip\"\n color={ props.colorPip ? model.value as string : undefined }\n variant={ props.pipVariant }\n icon={ props.pipIcon }\n />\n { slots[props.pipLocation]?.(arg) }\n </>\n ),\n }\n\n return (\n <VTextField\n { ...textFieldProps }\n class={[\n 'v-color-input',\n props.class,\n ]}\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prependInner={ isInteractive.value ? onClick : undefined }\n onUpdate:focused={ event => isFocused.value = event }\n onClick:appendInner={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ val => {\n model.value = val\n }}\n >\n {{\n ...slots,\n ...slotWithPip,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n minWidth=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.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 }\n\n return (\n <VColorPicker\n { ...colorPickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VColorPicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VColorInput = InstanceType<typeof VColorInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VColorInput.js","names":["VAvatar","makeVColorPickerProps","VColorPicker","makeVConfirmEditProps","VConfirmEdit","VMenu","makeVTextFieldProps","VTextField","makeFocusProps","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","availablePipLocations","makeVColorInputProps","hidePip","Boolean","colorPip","pipIcon","type","String","default","pipLocation","validator","v","includes","pipVariant","VColorInput","name","props","emits","val","setup","_ref","slots","model","menu","isFocused","focused","isInteractive","disabled","readonly","display","value","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onSave","onCancel","confirmEditProps","filterProps","colorPickerProps","textFieldProps","slotWithPip","undefined","arg","_createElementVNode","_Fragment","_createVNode","_mergeProps","class","style","event","$event","_ref2","actions","proxyModel","save","cancel","isPristine","onUpdateModel","hideActions"],"sources":["../../../src/labs/VColorInput/VColorInput.tsx"],"sourcesContent":["// Styles\nimport './VColorInput.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { makeVColorPickerProps, VColorPicker } from '@/components/VColorPicker/VColorPicker'\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { makeFocusProps } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VColorInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VColorInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VColorInputActionsSlot\n default: never\n}\n\nconst availablePipLocations = ['prepend', 'prepend-inner', 'append', 'append-inner'] as const\nexport type PipLocation = typeof availablePipLocations[number]\n\nexport const makeVColorInputProps = propsFactory({\n hidePip: Boolean,\n colorPip: Boolean,\n pipIcon: {\n type: String,\n default: '$color',\n },\n pipLocation: {\n type: String as PropType<PipLocation>,\n default: 'prepend',\n validator: (v: any) => availablePipLocations.includes(v),\n },\n pipVariant: {\n type: String as PropType<VAvatar['$props']['variant']>,\n default: 'text',\n },\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps(),\n ...omit(makeVColorPickerProps(), [\n 'location',\n 'height',\n 'minHeight',\n 'maxHeight',\n ]),\n}, 'VColorInput')\n\nexport const VColorInput = genericComponent<VColorInputSlots>()({\n name: 'VColorInput',\n\n props: makeVColorInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const menu = shallowRef(false)\n const isFocused = shallowRef(props.focused)\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const display = computed(() => model.value || null)\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 return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onSave () {\n menu.value = false\n }\n\n function onCancel () {\n menu.value = false\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const colorPickerProps = VColorPicker.filterProps(omit(props, [\n 'active',\n 'bgColor',\n 'color',\n 'rounded',\n 'maxWidth',\n 'minWidth',\n 'width',\n ]))\n const textFieldProps = VTextField.filterProps(props)\n\n const slotWithPip = props.hidePip\n ? undefined\n : {\n [props.pipLocation]: (arg: any) => (\n <>\n <VAvatar\n class=\"v-color-input__pip\"\n color={ props.colorPip ? model.value as string : undefined }\n variant={ props.pipVariant }\n icon={ props.pipIcon }\n />\n { slots[props.pipLocation]?.(arg) }\n </>\n ),\n }\n\n return (\n <VTextField\n { ...textFieldProps }\n class={[\n 'v-color-input',\n props.class,\n ]}\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prependInner={ isInteractive.value ? onClick : undefined }\n onUpdate:focused={ event => isFocused.value = event }\n onClick:appendInner={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ val => {\n model.value = val\n }}\n >\n {{\n ...slots,\n ...slotWithPip,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n minWidth=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.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 }\n\n return (\n <VColorPicker\n { ...colorPickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VColorPicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VColorInput = InstanceType<typeof VColorInput>\n"],"mappings":"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","ignoreList":[]}
@@ -34,10 +34,7 @@ export declare const makeVDateInputProps: <Defaults extends {
34
34
  rounded?: unknown;
35
35
  tile?: unknown;
36
36
  tag?: unknown;
37
- height?: unknown;
38
- maxHeight?: unknown;
39
37
  maxWidth?: unknown;
40
- minHeight?: unknown;
41
38
  minWidth?: unknown;
42
39
  width?: unknown;
43
40
  loading?: unknown;
@@ -278,22 +275,10 @@ export declare const makeVDateInputProps: <Defaults extends {
278
275
  type: PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | Defaults["tag"] | import("../../util/index.js").JSXComponent>;
279
276
  default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable<string | import("../../util/index.js").JSXComponent>;
280
277
  };
281
- height: unknown extends Defaults["height"] ? (NumberConstructor | StringConstructor)[] : {
282
- type: PropType<unknown extends Defaults["height"] ? string | number : string | number | Defaults["height"]>;
283
- default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable<string | number>;
284
- };
285
- maxHeight: unknown extends Defaults["maxHeight"] ? (NumberConstructor | StringConstructor)[] : {
286
- type: PropType<unknown extends Defaults["maxHeight"] ? string | number : string | number | Defaults["maxHeight"]>;
287
- default: unknown extends Defaults["maxHeight"] ? string | number : Defaults["maxHeight"] | NonNullable<string | number>;
288
- };
289
278
  maxWidth: unknown extends Defaults["maxWidth"] ? (NumberConstructor | StringConstructor)[] : {
290
279
  type: PropType<unknown extends Defaults["maxWidth"] ? string | number : string | number | Defaults["maxWidth"]>;
291
280
  default: unknown extends Defaults["maxWidth"] ? string | number : Defaults["maxWidth"] | NonNullable<string | number>;
292
281
  };
293
- minHeight: unknown extends Defaults["minHeight"] ? (NumberConstructor | StringConstructor)[] : {
294
- type: PropType<unknown extends Defaults["minHeight"] ? string | number : string | number | Defaults["minHeight"]>;
295
- default: unknown extends Defaults["minHeight"] ? string | number : Defaults["minHeight"] | NonNullable<string | number>;
296
- };
297
282
  minWidth: unknown extends Defaults["minWidth"] ? (NumberConstructor | StringConstructor)[] : {
298
283
  type: PropType<unknown extends Defaults["minWidth"] ? string | number : string | number | Defaults["minWidth"]>;
299
284
  default: unknown extends Defaults["minWidth"] ? string | number : Defaults["minWidth"] | NonNullable<string | number>;
@@ -917,10 +902,7 @@ export declare const VDateInput: {
917
902
  border?: string | number | boolean | undefined;
918
903
  elevation?: string | number | undefined;
919
904
  rounded?: string | number | boolean | undefined;
920
- height?: string | number | undefined;
921
- maxHeight?: string | number | undefined;
922
905
  maxWidth?: string | number | undefined;
923
- minHeight?: string | number | undefined;
924
906
  minWidth?: string | number | undefined;
925
907
  width?: string | number | undefined;
926
908
  loading?: string | boolean | undefined;
@@ -3346,10 +3328,7 @@ export declare const VDateInput: {
3346
3328
  border?: string | number | boolean | undefined;
3347
3329
  elevation?: string | number | undefined;
3348
3330
  rounded?: string | number | boolean | undefined;
3349
- height?: string | number | undefined;
3350
- maxHeight?: string | number | undefined;
3351
3331
  maxWidth?: string | number | undefined;
3352
- minHeight?: string | number | undefined;
3353
3332
  minWidth?: string | number | undefined;
3354
3333
  width?: string | number | undefined;
3355
3334
  loading?: string | boolean | undefined;
@@ -5677,10 +5656,7 @@ export declare const VDateInput: {
5677
5656
  border?: string | number | boolean | undefined;
5678
5657
  elevation?: string | number | undefined;
5679
5658
  rounded?: string | number | boolean | undefined;
5680
- height?: string | number | undefined;
5681
- maxHeight?: string | number | undefined;
5682
5659
  maxWidth?: string | number | undefined;
5683
- minHeight?: string | number | undefined;
5684
5660
  minWidth?: string | number | undefined;
5685
5661
  width?: string | number | undefined;
5686
5662
  loading?: string | boolean | undefined;
@@ -8097,10 +8073,7 @@ export declare const VDateInput: {
8097
8073
  type: PropType<string | import("../../util/index.js").JSXComponent>;
8098
8074
  default: string;
8099
8075
  };
8100
- height: (NumberConstructor | StringConstructor)[];
8101
- maxHeight: (NumberConstructor | StringConstructor)[];
8102
8076
  maxWidth: (NumberConstructor | StringConstructor)[];
8103
- minHeight: (NumberConstructor | StringConstructor)[];
8104
8077
  minWidth: (NumberConstructor | StringConstructor)[];
8105
8078
  width: (NumberConstructor | StringConstructor)[];
8106
8079
  loading: (BooleanConstructor | StringConstructor)[];
@@ -8342,10 +8315,7 @@ export declare const VDateInput: {
8342
8315
  type: PropType<string | import("../../util/index.js").JSXComponent>;
8343
8316
  default: string;
8344
8317
  };
8345
- height: (NumberConstructor | StringConstructor)[];
8346
- maxHeight: (NumberConstructor | StringConstructor)[];
8347
8318
  maxWidth: (NumberConstructor | StringConstructor)[];
8348
- minHeight: (NumberConstructor | StringConstructor)[];
8349
8319
  minWidth: (NumberConstructor | StringConstructor)[];
8350
8320
  width: (NumberConstructor | StringConstructor)[];
8351
8321
  loading: (BooleanConstructor | StringConstructor)[];
@@ -43,7 +43,7 @@ export const makeVDateInputProps = propsFactory({
43
43
  ...omit(makeVDatePickerProps({
44
44
  hideHeader: true,
45
45
  showAdjacentMonths: true
46
- }), ['active', 'location', 'rounded'])
46
+ }), ['active', 'location', 'rounded', 'height', 'minHeight', 'maxHeight'])
47
47
  }, 'VDateInput');
48
48
  export const VDateInput = genericComponent()({
49
49
  name: 'VDateInput',
@@ -74,6 +74,15 @@ export const VDateInput = genericComponent()({
74
74
  const {
75
75
  mobile
76
76
  } = useDisplay(props);
77
+ const clamp = date => {
78
+ if (props.max && adapter.isAfter(date, props.max)) {
79
+ return props.max;
80
+ }
81
+ if (props.min && adapter.isBefore(date, props.min)) {
82
+ return props.min;
83
+ }
84
+ return date;
85
+ };
77
86
  const emptyModelValue = () => props.multiple ? [] : null;
78
87
  const model = useProxiedModel(props, 'modelValue', emptyModelValue(), val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
79
88
  const menu = useProxiedModel(props, 'menu');
@@ -124,7 +133,7 @@ export const VDateInput = genericComponent()({
124
133
  if (!menu.value || !isFocused.value) {
125
134
  menu.value = true;
126
135
  }
127
- if (props.updateOn.includes('enter')) {
136
+ if (props.updateOn.includes('enter') && !props.readonly) {
128
137
  onUserInput(e.target);
129
138
  }
130
139
  }
@@ -151,7 +160,7 @@ export const VDateInput = genericComponent()({
151
160
  model.value = emptyModelValue();
152
161
  }
153
162
  function onBlur(e) {
154
- if (props.updateOn.includes('blur')) {
163
+ if (props.updateOn.includes('blur') && !props.readonly) {
155
164
  onUserInput(e.target);
156
165
  }
157
166
 
@@ -169,23 +178,23 @@ export const VDateInput = genericComponent()({
169
178
  model.value = emptyModelValue();
170
179
  } else if (!props.multiple) {
171
180
  if (isValid(value)) {
172
- model.value = parseDate(value);
181
+ model.value = clamp(parseDate(value));
173
182
  }
174
183
  } else {
175
184
  const parts = value.trim().split(/\D+-\D+|[^\d\-/.]+/);
176
185
  if (parts.every(isValid)) {
177
186
  if (props.multiple === 'range') {
178
- const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
187
+ const [start, stop] = parts.map(parseDate).map(clamp).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
179
188
  model.value = createDateRange(adapter, start, stop);
180
189
  } else {
181
- model.value = parts.map(parseDate);
190
+ model.value = parts.map(parseDate).map(clamp);
182
191
  }
183
192
  }
184
193
  }
185
194
  }
186
195
  useRender(() => {
187
196
  const confirmEditProps = VConfirmEdit.filterProps(props);
188
- const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
197
+ const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'bgColor', 'color', 'location', 'rounded', 'maxWidth', 'minWidth', 'width']));
189
198
  const datePickerSlots = pick(slots, ['title', 'header', 'day', 'month', 'year']);
190
199
  const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']));
191
200
  return _createVNode(VTextField, _mergeProps({