@vuetify/nightly 3.7.6-master.2025-01-15 → 3.7.6-master.2025-01-18

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 (44) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/json/attributes.json +3622 -3622
  3. package/dist/json/importMap-labs.json +14 -14
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/web-types.json +6178 -6158
  6. package/dist/vuetify-labs.css +3425 -3422
  7. package/dist/vuetify-labs.d.ts +129 -104
  8. package/dist/vuetify-labs.esm.js +53 -20
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +53 -20
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2764 -2761
  13. package/dist/vuetify.d.ts +62 -65
  14. package/dist/vuetify.esm.js +33 -15
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +33 -15
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +29 -23
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -3
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VCombobox/VCombobox.mjs +6 -3
  24. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  25. package/lib/components/VDialog/VDialog.css +5 -2
  26. package/lib/components/VDialog/VDialog.sass +6 -2
  27. package/lib/components/VSlideGroup/VSlideGroup.mjs +12 -2
  28. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  29. package/lib/components/VSparkline/VBarline.mjs +3 -2
  30. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  31. package/lib/components/VSparkline/VTrendline.mjs +2 -1
  32. package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
  33. package/lib/components/VSparkline/index.d.mts +7 -10
  34. package/lib/components/VSparkline/util/line.mjs +1 -1
  35. package/lib/components/VSparkline/util/line.mjs.map +1 -1
  36. package/lib/components/index.d.mts +7 -10
  37. package/lib/entry-bundler.mjs +1 -1
  38. package/lib/framework.mjs +1 -1
  39. package/lib/index.d.mts +55 -55
  40. package/lib/labs/VDateInput/VDateInput.mjs +19 -5
  41. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  42. package/lib/labs/VDateInput/index.d.mts +176 -97
  43. package/lib/labs/components.d.mts +227 -199
  44. package/package.json +1 -1
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.7.6-master.2025-01-15";
100
+ export const version = "3.7.6-master.2025-01-18";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
package/lib/index.d.mts CHANGED
@@ -486,48 +486,41 @@ declare module 'vue' {
486
486
  $children?: VNodeChild
487
487
  }
488
488
  export interface GlobalComponents {
489
- VAvatar: typeof import('vuetify/components')['VAvatar']
490
- VApp: typeof import('vuetify/components')['VApp']
491
- VAlert: typeof import('vuetify/components')['VAlert']
492
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
493
489
  VAppBar: typeof import('vuetify/components')['VAppBar']
494
490
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
495
491
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
492
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
493
+ VAlert: typeof import('vuetify/components')['VAlert']
494
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
495
+ VApp: typeof import('vuetify/components')['VApp']
496
496
  VBanner: typeof import('vuetify/components')['VBanner']
497
497
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
498
498
  VBannerText: typeof import('vuetify/components')['VBannerText']
499
- VBadge: typeof import('vuetify/components')['VBadge']
500
499
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
500
+ VAvatar: typeof import('vuetify/components')['VAvatar']
501
501
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
502
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
503
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
504
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
505
- VBtn: typeof import('vuetify/components')['VBtn']
502
+ VBadge: typeof import('vuetify/components')['VBadge']
506
503
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
507
504
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
508
505
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
506
+ VBtn: typeof import('vuetify/components')['VBtn']
507
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
509
508
  VCard: typeof import('vuetify/components')['VCard']
510
509
  VCardActions: typeof import('vuetify/components')['VCardActions']
511
510
  VCardItem: typeof import('vuetify/components')['VCardItem']
512
511
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
513
512
  VCardText: typeof import('vuetify/components')['VCardText']
514
513
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
514
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
515
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
516
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
517
+ VChip: typeof import('vuetify/components')['VChip']
515
518
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
519
+ VCode: typeof import('vuetify/components')['VCode']
516
520
  VCarousel: typeof import('vuetify/components')['VCarousel']
517
521
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
518
- VChip: typeof import('vuetify/components')['VChip']
519
- VCode: typeof import('vuetify/components')['VCode']
520
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
521
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
522
522
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
523
523
  VCombobox: typeof import('vuetify/components')['VCombobox']
524
- VDataTable: typeof import('vuetify/components')['VDataTable']
525
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
526
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
527
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
528
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
529
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
530
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
531
524
  VCounter: typeof import('vuetify/components')['VCounter']
532
525
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
533
526
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
@@ -536,29 +529,36 @@ declare module 'vue' {
536
529
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
537
530
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
538
531
  VDivider: typeof import('vuetify/components')['VDivider']
532
+ VDialog: typeof import('vuetify/components')['VDialog']
533
+ VDataTable: typeof import('vuetify/components')['VDataTable']
534
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
535
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
536
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
537
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
538
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
539
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
539
540
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
540
- VField: typeof import('vuetify/components')['VField']
541
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
542
541
  VFab: typeof import('vuetify/components')['VFab']
543
- VFileInput: typeof import('vuetify/components')['VFileInput']
544
542
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
545
543
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
546
544
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
547
545
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
546
+ VFileInput: typeof import('vuetify/components')['VFileInput']
547
+ VFooter: typeof import('vuetify/components')['VFooter']
548
+ VField: typeof import('vuetify/components')['VField']
549
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
548
550
  VIcon: typeof import('vuetify/components')['VIcon']
549
551
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
550
552
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
551
553
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
552
554
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
553
- VFooter: typeof import('vuetify/components')['VFooter']
554
555
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
555
- VDialog: typeof import('vuetify/components')['VDialog']
556
- VLabel: typeof import('vuetify/components')['VLabel']
557
- VInput: typeof import('vuetify/components')['VInput']
556
+ VKbd: typeof import('vuetify/components')['VKbd']
558
557
  VImg: typeof import('vuetify/components')['VImg']
559
558
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
560
559
  VItem: typeof import('vuetify/components')['VItem']
561
- VKbd: typeof import('vuetify/components')['VKbd']
560
+ VInput: typeof import('vuetify/components')['VInput']
561
+ VLabel: typeof import('vuetify/components')['VLabel']
562
562
  VList: typeof import('vuetify/components')['VList']
563
563
  VListGroup: typeof import('vuetify/components')['VListGroup']
564
564
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -569,50 +569,50 @@ declare module 'vue' {
569
569
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
570
570
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
571
571
  VMenu: typeof import('vuetify/components')['VMenu']
572
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
573
572
  VMessages: typeof import('vuetify/components')['VMessages']
573
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
574
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
574
575
  VMain: typeof import('vuetify/components')['VMain']
575
- VOverlay: typeof import('vuetify/components')['VOverlay']
576
576
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
577
- VPagination: typeof import('vuetify/components')['VPagination']
578
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
577
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
579
578
  VRating: typeof import('vuetify/components')['VRating']
579
+ VOverlay: typeof import('vuetify/components')['VOverlay']
580
+ VPagination: typeof import('vuetify/components')['VPagination']
580
581
  VSelect: typeof import('vuetify/components')['VSelect']
581
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
582
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
583
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
584
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
585
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
586
582
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
587
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
588
- VSheet: typeof import('vuetify/components')['VSheet']
583
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
589
584
  VSlider: typeof import('vuetify/components')['VSlider']
585
+ VSheet: typeof import('vuetify/components')['VSheet']
586
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
587
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
588
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
590
589
  VStepper: typeof import('vuetify/components')['VStepper']
591
590
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
592
591
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
593
592
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
594
593
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
595
594
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
595
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
596
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
596
597
  VSwitch: typeof import('vuetify/components')['VSwitch']
597
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
598
- VTextField: typeof import('vuetify/components')['VTextField']
598
+ VTable: typeof import('vuetify/components')['VTable']
599
599
  VTab: typeof import('vuetify/components')['VTab']
600
600
  VTabs: typeof import('vuetify/components')['VTabs']
601
601
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
602
602
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
603
- VTable: typeof import('vuetify/components')['VTable']
603
+ VTextarea: typeof import('vuetify/components')['VTextarea']
604
604
  VTimeline: typeof import('vuetify/components')['VTimeline']
605
605
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
606
- VTextarea: typeof import('vuetify/components')['VTextarea']
606
+ VTooltip: typeof import('vuetify/components')['VTooltip']
607
+ VWindow: typeof import('vuetify/components')['VWindow']
608
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
609
+ VTextField: typeof import('vuetify/components')['VTextField']
607
610
  VToolbar: typeof import('vuetify/components')['VToolbar']
608
611
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
609
612
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
610
- VWindow: typeof import('vuetify/components')['VWindow']
611
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
612
- VTooltip: typeof import('vuetify/components')['VTooltip']
613
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
614
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
613
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
615
614
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
615
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
616
616
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
617
617
  VForm: typeof import('vuetify/components')['VForm']
618
618
  VContainer: typeof import('vuetify/components')['VContainer']
@@ -620,14 +620,14 @@ declare module 'vue' {
620
620
  VRow: typeof import('vuetify/components')['VRow']
621
621
  VSpacer: typeof import('vuetify/components')['VSpacer']
622
622
  VHover: typeof import('vuetify/components')['VHover']
623
- VLazy: typeof import('vuetify/components')['VLazy']
624
623
  VLayout: typeof import('vuetify/components')['VLayout']
625
624
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
626
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
625
+ VLazy: typeof import('vuetify/components')['VLazy']
627
626
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
627
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
628
628
  VParallax: typeof import('vuetify/components')['VParallax']
629
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
630
629
  VRadio: typeof import('vuetify/components')['VRadio']
630
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
631
631
  VResponsive: typeof import('vuetify/components')['VResponsive']
632
632
  VSparkline: typeof import('vuetify/components')['VSparkline']
633
633
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
@@ -660,18 +660,18 @@ declare module 'vue' {
660
660
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
661
661
  VPicker: typeof import('vuetify/labs/components')['VPicker']
662
662
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
663
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
664
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
665
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
663
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
666
664
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
667
665
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
668
666
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
667
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
668
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
669
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
669
670
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
670
671
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
671
672
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
672
673
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
673
674
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
674
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
675
675
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
676
676
  }
677
677
  }
@@ -10,8 +10,13 @@ import { useLocale } from "../../composables/locale.mjs";
10
10
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
11
11
  import { computed, shallowRef } from 'vue';
12
12
  import { genericComponent, omit, propsFactory, useRender, wrapInArray } from "../../util/index.mjs"; // Types
13
+ // Types
13
14
  export const makeVDateInputProps = propsFactory({
14
15
  hideActions: Boolean,
16
+ location: {
17
+ type: String,
18
+ default: 'bottom start'
19
+ },
15
20
  ...makeFocusProps(),
16
21
  ...makeVConfirmEditProps(),
17
22
  ...makeVTextFieldProps({
@@ -21,7 +26,7 @@ export const makeVDateInputProps = propsFactory({
21
26
  ...omit(makeVDatePickerProps({
22
27
  weeksInMonth: 'dynamic',
23
28
  hideHeader: true
24
- }), ['active'])
29
+ }), ['active', 'location'])
25
30
  }, 'VDateInput');
26
31
  export const VDateInput = genericComponent()({
27
32
  name: 'VDateInput',
@@ -77,7 +82,7 @@ export const VDateInput = genericComponent()({
77
82
  }
78
83
  useRender(() => {
79
84
  const confirmEditProps = VConfirmEdit.filterProps(props);
80
- const datePickerProps = VDatePicker.filterProps(omit(props, ['active']));
85
+ const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location']));
81
86
  const textFieldProps = VTextField.filterProps(props);
82
87
  return _createVNode(VTextField, _mergeProps(textFieldProps, {
83
88
  "class": props.class,
@@ -95,18 +100,23 @@ export const VDateInput = genericComponent()({
95
100
  "onUpdate:modelValue": $event => menu.value = $event,
96
101
  "activator": "parent",
97
102
  "min-width": "0",
103
+ "location": props.location,
98
104
  "closeOnContentClick": false,
99
105
  "openOnClick": false
100
106
  }, {
101
107
  default: () => [_createVNode(VConfirmEdit, _mergeProps(confirmEditProps, {
102
108
  "modelValue": model.value,
103
109
  "onUpdate:modelValue": $event => model.value = $event,
104
- "onSave": onSave
110
+ "onSave": onSave,
111
+ "onCancel": () => menu.value = false
105
112
  }), {
106
113
  default: _ref2 => {
107
114
  let {
108
115
  actions,
109
- model: proxyModel
116
+ model: proxyModel,
117
+ save,
118
+ cancel,
119
+ isPristine
110
120
  } = _ref2;
111
121
  return _createVNode(VDatePicker, _mergeProps(datePickerProps, {
112
122
  "modelValue": props.hideActions ? model.value : proxyModel.value,
@@ -120,7 +130,11 @@ export const VDateInput = genericComponent()({
120
130
  },
121
131
  "onMousedown": e => e.preventDefault()
122
132
  }), {
123
- actions: !props.hideActions ? actions : undefined
133
+ actions: !props.hideActions ? () => slots.actions?.({
134
+ save,
135
+ cancel,
136
+ isPristine
137
+ }) ?? actions() : undefined
124
138
  });
125
139
  }
126
140
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"VDateInput.mjs","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeFocusProps","useFocus","useLocale","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","hideActions","Boolean","placeholder","prependIcon","weeksInMonth","hideHeader","VDateInput","name","props","emits","val","setup","_ref","slots","t","adapter","isFocused","focus","blur","model","multiple","menu","display","value","length","start","end","isValid","format","isInteractive","disabled","readonly","onKeydown","e","key","target","date","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","undefined","default","$event","_ref2","actions","proxyModel"],"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 { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nexport interface VDateInputSlots {\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n hideActions: Boolean,\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n weeksInMonth: 'dynamic' as const,\n hideHeader: true,\n }), ['active']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null)\n const menu = shallowRef(false)\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 return adapter.isValid(start) && adapter.isValid(end)\n ? `${adapter.format(start, 'keyboardDate')} - ${adapter.format(end, 'keyboardDate')}`\n : ''\n }\n\n return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : ''\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\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 = adapter.date(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 useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n >\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n >\n {{\n default: ({ actions, model: proxyModel }) => {\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ val => {\n if (!props.hideActions) {\n proxyModel.value = val\n } else {\n model.value = val\n\n if (!props.multiple) menu.value = false\n }\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? actions : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </VTextField>\n )\n })\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDateInput.mjs","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeFocusProps","useFocus","useLocale","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","hideActions","Boolean","location","type","String","default","placeholder","prependIcon","weeksInMonth","hideHeader","VDateInput","name","props","emits","val","setup","_ref","slots","t","adapter","isFocused","focus","blur","model","multiple","menu","display","value","length","start","end","isValid","format","isInteractive","disabled","readonly","onKeydown","e","key","target","date","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","undefined","$event","onCancel","_ref2","actions","proxyModel","save","cancel","isPristine"],"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 { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n hideActions: Boolean,\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n weeksInMonth: 'dynamic' as const,\n hideHeader: true,\n }), ['active', 'location']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null)\n const menu = shallowRef(false)\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 return adapter.isValid(start) && adapter.isValid(end)\n ? `${adapter.format(start, 'keyboardDate')} - ${adapter.format(end, 'keyboardDate')}`\n : ''\n }\n\n return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : ''\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\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 = adapter.date(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 useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n >\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n onCancel={ () => menu.value = false }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ val => {\n if (!props.hideActions) {\n proxyModel.value = val\n } else {\n model.value = val\n\n if (!props.multiple) menu.value = false\n }\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </VTextField>\n )\n })\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}