vuetify 3.10.9 → 3.10.10

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 (57) hide show
  1. package/dist/json/attributes.json +3507 -3507
  2. package/dist/json/importMap-labs.json +22 -22
  3. package/dist/json/importMap.json +170 -170
  4. package/dist/json/web-types.json +6186 -6186
  5. package/dist/vuetify-labs.cjs +201 -213
  6. package/dist/vuetify-labs.css +5293 -5301
  7. package/dist/vuetify-labs.d.ts +79 -79
  8. package/dist/vuetify-labs.esm.js +201 -213
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +201 -213
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.cjs +133 -96
  13. package/dist/vuetify.cjs.map +1 -1
  14. package/dist/vuetify.css +3094 -3090
  15. package/dist/vuetify.d.ts +63 -63
  16. package/dist/vuetify.esm.js +133 -96
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +133 -96
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +332 -328
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VAvatar/VAvatar.css +1 -1
  24. package/lib/components/VAvatar/_variables.scss +1 -1
  25. package/lib/components/VBtnToggle/VBtnToggle.sass +1 -1
  26. package/lib/components/VCard/VCard.js +8 -1
  27. package/lib/components/VCard/VCard.js.map +1 -1
  28. package/lib/components/VDatePicker/VDatePicker.js +7 -16
  29. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  30. package/lib/components/VTextField/VTextField.js +17 -7
  31. package/lib/components/VTextField/VTextField.js.map +1 -1
  32. package/lib/components/VTextarea/VTextarea.js +17 -7
  33. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  34. package/lib/composables/calendar.d.ts +6 -0
  35. package/lib/composables/calendar.js +37 -2
  36. package/lib/composables/calendar.js.map +1 -1
  37. package/lib/composables/delay.js +3 -2
  38. package/lib/composables/delay.js.map +1 -1
  39. package/lib/composables/hotkey/hotkey.js +42 -53
  40. package/lib/composables/hotkey/hotkey.js.map +1 -1
  41. package/lib/entry-bundler.js +1 -1
  42. package/lib/entry-bundler.js.map +1 -1
  43. package/lib/framework.d.ts +63 -63
  44. package/lib/framework.js +1 -1
  45. package/lib/framework.js.map +1 -1
  46. package/lib/labs/VDateInput/VDateInput.js +8 -12
  47. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  48. package/lib/labs/VHotkey/VHotkey.css +4 -16
  49. package/lib/labs/VHotkey/VHotkey.d.ts +29 -29
  50. package/lib/labs/VHotkey/VHotkey.js +62 -106
  51. package/lib/labs/VHotkey/VHotkey.js.map +1 -1
  52. package/lib/labs/VHotkey/VHotkey.scss +8 -25
  53. package/lib/styles/main.css +4 -0
  54. package/lib/styles/settings/_variables.scss +1 -0
  55. package/lib/util/box.js +3 -8
  56. package/lib/util/box.js.map +1 -1
  57. package/package.json +1 -1
@@ -2725,38 +2725,39 @@ declare module 'vue' {
2725
2725
  VAppBar: typeof import('vuetify/components')['VAppBar']
2726
2726
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2727
2727
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2728
+ VApp: typeof import('vuetify/components')['VApp']
2729
+ VBadge: typeof import('vuetify/components')['VBadge']
2730
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2731
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2728
2732
  VAlert: typeof import('vuetify/components')['VAlert']
2729
2733
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2730
- VAvatar: typeof import('vuetify/components')['VAvatar']
2731
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2732
- VBadge: typeof import('vuetify/components')['VBadge']
2733
- VApp: typeof import('vuetify/components')['VApp']
2734
- VBanner: typeof import('vuetify/components')['VBanner']
2735
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2736
- VBannerText: typeof import('vuetify/components')['VBannerText']
2737
2734
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2738
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2739
- VBtn: typeof import('vuetify/components')['VBtn']
2735
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2740
2736
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2741
2737
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2742
2738
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2743
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2744
2739
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2740
+ VBanner: typeof import('vuetify/components')['VBanner']
2741
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2742
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2743
+ VBtn: typeof import('vuetify/components')['VBtn']
2745
2744
  VCode: typeof import('vuetify/components')['VCode']
2746
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2747
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2748
- VChip: typeof import('vuetify/components')['VChip']
2749
- VCarousel: typeof import('vuetify/components')['VCarousel']
2750
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2751
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2745
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2752
2746
  VCard: typeof import('vuetify/components')['VCard']
2753
2747
  VCardActions: typeof import('vuetify/components')['VCardActions']
2754
2748
  VCardItem: typeof import('vuetify/components')['VCardItem']
2755
2749
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2756
2750
  VCardText: typeof import('vuetify/components')['VCardText']
2757
2751
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2758
- VCombobox: typeof import('vuetify/components')['VCombobox']
2752
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2753
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2754
+ VChip: typeof import('vuetify/components')['VChip']
2759
2755
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2756
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2757
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2758
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2759
+ VFab: typeof import('vuetify/components')['VFab']
2760
+ VCounter: typeof import('vuetify/components')['VCounter']
2760
2761
  VDataTable: typeof import('vuetify/components')['VDataTable']
2761
2762
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2762
2763
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2764,38 +2765,41 @@ declare module 'vue' {
2764
2765
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2765
2766
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2766
2767
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2767
- VCounter: typeof import('vuetify/components')['VCounter']
2768
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2769
+ VDialog: typeof import('vuetify/components')['VDialog']
2768
2770
  VDivider: typeof import('vuetify/components')['VDivider']
2771
+ VFooter: typeof import('vuetify/components')['VFooter']
2772
+ VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2773
+ VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2774
+ VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2775
+ VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2769
2776
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2770
2777
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2771
2778
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2772
2779
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2773
2780
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2774
2781
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2775
- VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2776
- VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2777
- VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2778
- VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2779
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2780
- VFileInput: typeof import('vuetify/components')['VFileInput']
2781
- VFab: typeof import('vuetify/components')['VFab']
2782
2782
  VField: typeof import('vuetify/components')['VField']
2783
2783
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2784
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2785
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2786
+ VImg: typeof import('vuetify/components')['VImg']
2784
2787
  VIcon: typeof import('vuetify/components')['VIcon']
2785
2788
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2786
2789
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2787
2790
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2788
2791
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2789
- VFooter: typeof import('vuetify/components')['VFooter']
2792
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2793
+ VItem: typeof import('vuetify/components')['VItem']
2794
+ VKbd: typeof import('vuetify/components')['VKbd']
2790
2795
  VLabel: typeof import('vuetify/components')['VLabel']
2791
- VImg: typeof import('vuetify/components')['VImg']
2792
2796
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2793
- VInput: typeof import('vuetify/components')['VInput']
2794
- VKbd: typeof import('vuetify/components')['VKbd']
2795
2797
  VMain: typeof import('vuetify/components')['VMain']
2796
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2797
- VItem: typeof import('vuetify/components')['VItem']
2798
- VDialog: typeof import('vuetify/components')['VDialog']
2798
+ VInput: typeof import('vuetify/components')['VInput']
2799
+ VMenu: typeof import('vuetify/components')['VMenu']
2800
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2801
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2802
+ VMessages: typeof import('vuetify/components')['VMessages']
2799
2803
  VList: typeof import('vuetify/components')['VList']
2800
2804
  VListGroup: typeof import('vuetify/components')['VListGroup']
2801
2805
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2805,53 +2809,49 @@ declare module 'vue' {
2805
2809
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2806
2810
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2807
2811
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2808
- VMenu: typeof import('vuetify/components')['VMenu']
2809
- VMessages: typeof import('vuetify/components')['VMessages']
2810
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2811
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2812
2812
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2813
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2813
2814
  VPagination: typeof import('vuetify/components')['VPagination']
2814
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2815
- VOverlay: typeof import('vuetify/components')['VOverlay']
2816
2815
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2816
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2817
2817
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2818
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2819
- VRating: typeof import('vuetify/components')['VRating']
2820
2818
  VSelect: typeof import('vuetify/components')['VSelect']
2819
+ VRating: typeof import('vuetify/components')['VRating']
2821
2820
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2822
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2823
- VSheet: typeof import('vuetify/components')['VSheet']
2824
2821
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2825
2822
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2823
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2824
+ VSheet: typeof import('vuetify/components')['VSheet']
2825
+ VSlider: typeof import('vuetify/components')['VSlider']
2826
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2827
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2826
2828
  VStepper: typeof import('vuetify/components')['VStepper']
2827
2829
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2828
2830
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2829
2831
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2830
2832
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2831
2833
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2832
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2833
- VSlider: typeof import('vuetify/components')['VSlider']
2834
- VSwitch: typeof import('vuetify/components')['VSwitch']
2835
2834
  VTab: typeof import('vuetify/components')['VTab']
2836
2835
  VTabs: typeof import('vuetify/components')['VTabs']
2837
2836
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2838
2837
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2838
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2839
2839
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2840
- VTextField: typeof import('vuetify/components')['VTextField']
2841
- VTextarea: typeof import('vuetify/components')['VTextarea']
2842
2840
  VTable: typeof import('vuetify/components')['VTable']
2843
- VTimeline: typeof import('vuetify/components')['VTimeline']
2844
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2845
- VToolbar: typeof import('vuetify/components')['VToolbar']
2846
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2847
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2841
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2848
2842
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2849
2843
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2850
2844
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2845
+ VTextField: typeof import('vuetify/components')['VTextField']
2846
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2847
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2848
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2849
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2850
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2851
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2851
2852
  VTreeview: typeof import('vuetify/components')['VTreeview']
2852
2853
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2853
2854
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2854
- VTooltip: typeof import('vuetify/components')['VTooltip']
2855
2855
  VWindow: typeof import('vuetify/components')['VWindow']
2856
2856
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2857
2857
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
@@ -2862,18 +2862,18 @@ declare module 'vue' {
2862
2862
  VCol: typeof import('vuetify/components')['VCol']
2863
2863
  VRow: typeof import('vuetify/components')['VRow']
2864
2864
  VSpacer: typeof import('vuetify/components')['VSpacer']
2865
- VLazy: typeof import('vuetify/components')['VLazy']
2866
- VHover: typeof import('vuetify/components')['VHover']
2867
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2868
2865
  VLayout: typeof import('vuetify/components')['VLayout']
2869
2866
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2867
+ VHover: typeof import('vuetify/components')['VHover']
2868
+ VLazy: typeof import('vuetify/components')['VLazy']
2869
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2870
2870
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2871
2871
  VParallax: typeof import('vuetify/components')['VParallax']
2872
2872
  VRadio: typeof import('vuetify/components')['VRadio']
2873
2873
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2874
2874
  VResponsive: typeof import('vuetify/components')['VResponsive']
2875
- VSparkline: typeof import('vuetify/components')['VSparkline']
2876
2875
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2876
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2877
2877
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2878
2878
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2879
2879
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
@@ -2894,23 +2894,23 @@ declare module 'vue' {
2894
2894
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2895
2895
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2896
2896
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2897
+ VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2898
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2897
2899
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2898
2900
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2901
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2902
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2903
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2899
2904
  VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2900
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2901
- VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2905
+ VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2902
2906
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2903
2907
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2904
2908
  VPie: typeof import('vuetify/labs/components')['VPie']
2905
2909
  VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2906
2910
  VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2907
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2908
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2909
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2910
2911
  VVideo: typeof import('vuetify/labs/components')['VVideo']
2911
2912
  VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2912
2913
  VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2913
- VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2914
2914
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2915
2915
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2916
2916
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.10.9";
112
+ export const version = "3.10.10";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { makeVConfirmEditProps, VConfirmEdit } from "../../components/VConfirmEd
4
4
  import { makeVDatePickerProps, VDatePicker } from "../../components/VDatePicker/VDatePicker.js";
5
5
  import { VMenu } from "../../components/VMenu/VMenu.js";
6
6
  import { makeVTextFieldProps, VTextField } from "../../components/VTextField/VTextField.js"; // Composables
7
+ import { useCalendarRange } from "../../composables/calendar.js";
7
8
  import { useDate } from "../../composables/date/index.js";
8
9
  import { createDateRange } from "../../composables/date/date.js";
9
10
  import { makeDateFormatProps, useDateFormat } from "../../composables/dateFormat.js";
@@ -74,15 +75,10 @@ export const VDateInput = genericComponent()({
74
75
  const {
75
76
  mobile
76
77
  } = 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
- };
78
+ const {
79
+ clampDate,
80
+ isInAllowedRange
81
+ } = useCalendarRange(props);
86
82
  const emptyModelValue = () => props.multiple ? [] : null;
87
83
  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);
88
84
  const menu = useProxiedModel(props, 'menu');
@@ -178,16 +174,16 @@ export const VDateInput = genericComponent()({
178
174
  model.value = emptyModelValue();
179
175
  } else if (!props.multiple) {
180
176
  if (isValid(value)) {
181
- model.value = clamp(parseDate(value));
177
+ model.value = clampDate(parseDate(value));
182
178
  }
183
179
  } else {
184
180
  const parts = value.trim().split(/\D+-\D+|[^\d\-/.]+/);
185
181
  if (parts.every(isValid)) {
186
182
  if (props.multiple === 'range') {
187
- const [start, stop] = parts.map(parseDate).map(clamp).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
183
+ const [start, stop] = parts.map(parseDate).map(clampDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
188
184
  model.value = createDateRange(adapter, start, stop);
189
185
  } else {
190
- model.value = parts.map(parseDate).map(clamp);
186
+ model.value = parts.map(parseDate).filter(isInAllowedRange);
191
187
  }
192
188
  }
193
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","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","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","clamp","date","max","isAfter","min","isBefore","emptyModelValue","multiple","model","isArray","map","item","toJsDate","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","confirmEditProps","filterProps","datePickerProps","datePickerSlots","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","event","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { 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\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 'active',\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\n const clamp = (date: unknown) => {\n if (props.max && adapter.isAfter(date, props.max)) {\n return props.max\n }\n if (props.min && adapter.isBefore(date, props.min)) {\n return props.min\n }\n return date\n }\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 e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur') && !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 = clamp(parseDate(value))\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n const [start, stop] = parts.map(parseDate).map(clamp).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n model.value = createDateRange(adapter, start, stop)\n } else {\n model.value = parts.map(parseDate).map(clamp)\n }\n }\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, [\n 'active',\n 'bgColor',\n 'color',\n 'location',\n 'rounded',\n 'maxWidth',\n 'minWidth',\n 'width',\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={ 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={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\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 }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","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","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","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"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { 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\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 'active',\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\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 e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur') && !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 = VDatePicker.filterProps(omit(props, [\n 'active',\n 'bgColor',\n 'color',\n 'location',\n 'rounded',\n 'maxWidth',\n 'minWidth',\n 'width',\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={ 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={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\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 }}\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":[]}
@@ -205,13 +205,10 @@
205
205
  .v-hotkey--variant-flat .v-hotkey__key.v-kbd {
206
206
  box-shadow: none;
207
207
  }
208
- .v-hotkey--variant-outlined .v-hotkey__key.v-kbd {
209
- box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
210
- }
211
208
  .v-hotkey--variant-outlined .v-hotkey__key.v-kbd {
212
209
  background: none;
213
210
  }
214
- .v-hotkey--variant-text .v-hotkey__key.v-kbd {
211
+ .v-hotkey--variant-outlined .v-hotkey__key.v-kbd {
215
212
  box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
216
213
  }
217
214
  .v-hotkey--variant-text .v-hotkey__key.v-kbd {
@@ -221,22 +218,13 @@
221
218
  padding-right: 0;
222
219
  min-width: auto;
223
220
  }
221
+ .v-hotkey--variant-text .v-hotkey__key.v-kbd {
222
+ box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
223
+ }
224
224
  .v-hotkey--variant-text .v-hotkey__combination {
225
225
  gap: 1px;
226
226
  }
227
227
  .v-hotkey--variant-tonal .v-hotkey__key.v-kbd {
228
228
  border: unset;
229
229
  box-shadow: unset;
230
- }
231
-
232
- .sr-only {
233
- position: absolute;
234
- width: 1px;
235
- height: 1px;
236
- padding: 0;
237
- margin: -1px;
238
- overflow: hidden;
239
- clip: rect(0, 0, 0, 0);
240
- white-space: nowrap;
241
- border: 0;
242
230
  }