@vuetify/nightly 3.8.9-master.2025-06-12 → 3.8.9-master.2025-06-14

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 (47) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/json/attributes.json +3361 -3361
  3. package/dist/json/importMap-labs.json +30 -30
  4. package/dist/json/importMap.json +156 -156
  5. package/dist/json/web-types.json +6102 -6102
  6. package/dist/vuetify-labs.cjs +44 -22
  7. package/dist/vuetify-labs.css +3398 -3395
  8. package/dist/vuetify-labs.d.ts +59 -59
  9. package/dist/vuetify-labs.esm.js +44 -22
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +44 -22
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +41 -22
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4550 -4547
  16. package/dist/vuetify.d.ts +59 -59
  17. package/dist/vuetify.esm.js +41 -22
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +41 -22
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +19 -17
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTable.css +6 -3
  25. package/lib/components/VDataTable/VDataTable.sass +4 -2
  26. package/lib/components/VDatePicker/VDatePicker.js +19 -13
  27. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  28. package/lib/components/VDatePicker/VDatePickerYears.js +1 -3
  29. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  30. package/lib/components/VField/VField.js +10 -2
  31. package/lib/components/VField/VField.js.map +1 -1
  32. package/lib/composables/hotkey.d.ts +9 -0
  33. package/lib/composables/hotkey.js +131 -0
  34. package/lib/composables/hotkey.js.map +1 -0
  35. package/lib/composables/transition.js +3 -3
  36. package/lib/composables/transition.js.map +1 -1
  37. package/lib/entry-bundler.js +1 -1
  38. package/lib/framework.d.ts +59 -59
  39. package/lib/framework.js +1 -1
  40. package/lib/labs/VFileUpload/VFileUploadItem.js +1 -0
  41. package/lib/labs/VFileUpload/VFileUploadItem.js.map +1 -1
  42. package/lib/labs/VTimePicker/VTimePickerClock.js +3 -1
  43. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  44. package/lib/util/helpers.d.ts +3 -0
  45. package/lib/util/helpers.js +7 -0
  46. package/lib/util/helpers.js.map +1 -1
  47. package/package.json +1 -1
package/dist/vuetify.d.ts CHANGED
@@ -85908,22 +85908,20 @@ declare module 'vue' {
85908
85908
  $children?: VNodeChild
85909
85909
  }
85910
85910
  export interface GlobalComponents {
85911
- VAutocomplete: VAutocomplete
85912
- VApp: VApp
85913
85911
  VAlert: VAlert
85914
85912
  VAlertTitle: VAlertTitle
85915
- VAvatar: VAvatar
85916
- VBadge: VBadge
85917
- VBottomSheet: VBottomSheet
85913
+ VAppBar: VAppBar
85914
+ VAppBarNavIcon: VAppBarNavIcon
85915
+ VAppBarTitle: VAppBarTitle
85916
+ VApp: VApp
85917
+ VAutocomplete: VAutocomplete
85918
85918
  VBanner: VBanner
85919
85919
  VBannerActions: VBannerActions
85920
85920
  VBannerText: VBannerText
85921
85921
  VBottomNavigation: VBottomNavigation
85922
- VBtn: VBtn
85922
+ VBadge: VBadge
85923
85923
  VBtnGroup: VBtnGroup
85924
- VAppBar: VAppBar
85925
- VAppBarNavIcon: VAppBarNavIcon
85926
- VAppBarTitle: VAppBarTitle
85924
+ VAvatar: VAvatar
85927
85925
  VCard: VCard
85928
85926
  VCardActions: VCardActions
85929
85927
  VCardItem: VCardItem
@@ -85931,16 +85929,20 @@ declare module 'vue' {
85931
85929
  VCardText: VCardText
85932
85930
  VCardTitle: VCardTitle
85933
85931
  VBtnToggle: VBtnToggle
85934
- VChipGroup: VChipGroup
85935
- VChip: VChip
85936
- VCarousel: VCarousel
85937
- VCarouselItem: VCarouselItem
85932
+ VBottomSheet: VBottomSheet
85933
+ VBreadcrumbs: VBreadcrumbs
85934
+ VBreadcrumbsItem: VBreadcrumbsItem
85935
+ VBreadcrumbsDivider: VBreadcrumbsDivider
85938
85936
  VCheckbox: VCheckbox
85939
85937
  VCheckboxBtn: VCheckboxBtn
85938
+ VBtn: VBtn
85939
+ VCarousel: VCarousel
85940
+ VCarouselItem: VCarouselItem
85941
+ VChip: VChip
85942
+ VCode: VCode
85943
+ VCombobox: VCombobox
85940
85944
  VCounter: VCounter
85941
85945
  VColorPicker: VColorPicker
85942
- VCombobox: VCombobox
85943
- VCode: VCode
85944
85946
  VDataTable: VDataTable
85945
85947
  VDataTableHeaders: VDataTableHeaders
85946
85948
  VDataTableFooter: VDataTableFooter
@@ -85948,38 +85950,40 @@ declare module 'vue' {
85948
85950
  VDataTableRow: VDataTableRow
85949
85951
  VDataTableVirtual: VDataTableVirtual
85950
85952
  VDataTableServer: VDataTableServer
85953
+ VChipGroup: VChipGroup
85951
85954
  VDatePicker: VDatePicker
85952
85955
  VDatePickerControls: VDatePickerControls
85953
85956
  VDatePickerHeader: VDatePickerHeader
85954
85957
  VDatePickerMonth: VDatePickerMonth
85955
85958
  VDatePickerMonths: VDatePickerMonths
85956
85959
  VDatePickerYears: VDatePickerYears
85957
- VDivider: VDivider
85958
85960
  VDialog: VDialog
85959
- VField: VField
85960
- VFieldLabel: VFieldLabel
85961
- VEmptyState: VEmptyState
85962
- VFileInput: VFileInput
85963
85961
  VExpansionPanels: VExpansionPanels
85964
85962
  VExpansionPanel: VExpansionPanel
85965
85963
  VExpansionPanelText: VExpansionPanelText
85966
85964
  VExpansionPanelTitle: VExpansionPanelTitle
85965
+ VDivider: VDivider
85967
85966
  VFooter: VFooter
85968
85967
  VFab: VFab
85969
- VImg: VImg
85970
- VInfiniteScroll: VInfiniteScroll
85968
+ VField: VField
85969
+ VFieldLabel: VFieldLabel
85970
+ VEmptyState: VEmptyState
85971
+ VFileInput: VFileInput
85971
85972
  VIcon: VIcon
85972
85973
  VComponentIcon: VComponentIcon
85973
85974
  VSvgIcon: VSvgIcon
85974
85975
  VLigatureIcon: VLigatureIcon
85975
85976
  VClassIcon: VClassIcon
85976
- VKbd: VKbd
85977
+ VImg: VImg
85978
+ VInfiniteScroll: VInfiniteScroll
85977
85979
  VItemGroup: VItemGroup
85978
85980
  VItem: VItem
85979
85981
  VInput: VInput
85982
+ VMenu: VMenu
85983
+ VKbd: VKbd
85980
85984
  VLabel: VLabel
85981
- VMain: VMain
85982
85985
  VNavigationDrawer: VNavigationDrawer
85986
+ VMessages: VMessages
85983
85987
  VList: VList
85984
85988
  VListGroup: VListGroup
85985
85989
  VListImg: VListImg
@@ -85989,24 +85993,21 @@ declare module 'vue' {
85989
85993
  VListItemSubtitle: VListItemSubtitle
85990
85994
  VListItemTitle: VListItemTitle
85991
85995
  VListSubheader: VListSubheader
85992
- VMenu: VMenu
85993
- VMessages: VMessages
85994
85996
  VNumberInput: VNumberInput
85995
- VOverlay: VOverlay
85996
85997
  VOtpInput: VOtpInput
85998
+ VOverlay: VOverlay
85999
+ VProgressCircular: VProgressCircular
86000
+ VRadioGroup: VRadioGroup
85997
86001
  VProgressLinear: VProgressLinear
85998
86002
  VPagination: VPagination
85999
- VRadioGroup: VRadioGroup
86000
- VProgressCircular: VProgressCircular
86001
- VRating: VRating
86003
+ VSelect: VSelect
86002
86004
  VSelectionControl: VSelectionControl
86003
86005
  VSelectionControlGroup: VSelectionControlGroup
86006
+ VRating: VRating
86007
+ VSheet: VSheet
86008
+ VSkeletonLoader: VSkeletonLoader
86004
86009
  VSlideGroup: VSlideGroup
86005
86010
  VSlideGroupItem: VSlideGroupItem
86006
- VSkeletonLoader: VSkeletonLoader
86007
- VSheet: VSheet
86008
- VSelect: VSelect
86009
- VSlider: VSlider
86010
86011
  VStepper: VStepper
86011
86012
  VStepperActions: VStepperActions
86012
86013
  VStepperHeader: VStepperHeader
@@ -86014,49 +86015,49 @@ declare module 'vue' {
86014
86015
  VStepperWindow: VStepperWindow
86015
86016
  VStepperWindowItem: VStepperWindowItem
86016
86017
  VSnackbar: VSnackbar
86017
- VSwitch: VSwitch
86018
+ VSlider: VSlider
86018
86019
  VSystemBar: VSystemBar
86019
- VTimeline: VTimeline
86020
- VTimelineItem: VTimelineItem
86020
+ VSwitch: VSwitch
86021
86021
  VTextarea: VTextarea
86022
+ VTable: VTable
86023
+ VTextField: VTextField
86022
86024
  VTab: VTab
86023
86025
  VTabs: VTabs
86024
86026
  VTabsWindow: VTabsWindow
86025
86027
  VTabsWindowItem: VTabsWindowItem
86026
- VTable: VTable
86027
- VTextField: VTextField
86028
- VToolbar: VToolbar
86029
- VToolbarTitle: VToolbarTitle
86030
- VToolbarItems: VToolbarItems
86031
86028
  VTooltip: VTooltip
86032
86029
  VWindow: VWindow
86033
86030
  VWindowItem: VWindowItem
86034
- VBreadcrumbs: VBreadcrumbs
86035
- VBreadcrumbsItem: VBreadcrumbsItem
86036
- VBreadcrumbsDivider: VBreadcrumbsDivider
86031
+ VTimeline: VTimeline
86032
+ VTimelineItem: VTimelineItem
86033
+ VToolbar: VToolbar
86034
+ VToolbarTitle: VToolbarTitle
86035
+ VToolbarItems: VToolbarItems
86036
+ VMain: VMain
86037
86037
  VConfirmEdit: VConfirmEdit
86038
86038
  VDataIterator: VDataIterator
86039
86039
  VDefaultsProvider: VDefaultsProvider
86040
+ VForm: VForm
86040
86041
  VContainer: VContainer
86041
86042
  VCol: VCol
86042
86043
  VRow: VRow
86043
86044
  VSpacer: VSpacer
86044
- VForm: VForm
86045
86045
  VHover: VHover
86046
- VLocaleProvider: VLocaleProvider
86047
86046
  VLayout: VLayout
86048
86047
  VLayoutItem: VLayoutItem
86049
86048
  VLazy: VLazy
86049
+ VLocaleProvider: VLocaleProvider
86050
86050
  VNoSsr: VNoSsr
86051
- VParallax: VParallax
86052
86051
  VRadio: VRadio
86052
+ VParallax: VParallax
86053
86053
  VRangeSlider: VRangeSlider
86054
+ VResponsive: VResponsive
86054
86055
  VSnackbarQueue: VSnackbarQueue
86055
86056
  VSparkline: VSparkline
86056
86057
  VSpeedDial: VSpeedDial
86057
- VThemeProvider: VThemeProvider
86058
- VVirtualScroll: VVirtualScroll
86059
86058
  VValidation: VValidation
86059
+ VVirtualScroll: VVirtualScroll
86060
+ VThemeProvider: VThemeProvider
86060
86061
  VFabTransition: VFabTransition
86061
86062
  VDialogBottomTransition: VDialogBottomTransition
86062
86063
  VDialogTopTransition: VDialogTopTransition
@@ -86073,29 +86074,28 @@ declare module 'vue' {
86073
86074
  VExpandTransition: VExpandTransition
86074
86075
  VExpandXTransition: VExpandXTransition
86075
86076
  VDialogTransition: VDialogTransition
86076
- VResponsive: VResponsive
86077
86077
  VCalendar: VCalendar
86078
86078
  VCalendarDay: VCalendarDay
86079
86079
  VCalendarHeader: VCalendarHeader
86080
86080
  VCalendarInterval: VCalendarInterval
86081
86081
  VCalendarIntervalEvent: VCalendarIntervalEvent
86082
86082
  VCalendarMonthDay: VCalendarMonthDay
86083
- VIconBtn: VIconBtn
86084
- VColorInput: VColorInput
86085
86083
  VFileUpload: VFileUpload
86086
86084
  VFileUploadItem: VFileUploadItem
86087
- VTreeview: VTreeview
86088
- VTreeviewItem: VTreeviewItem
86089
- VTreeviewGroup: VTreeviewGroup
86090
- VStepperVertical: VStepperVertical
86091
- VStepperVerticalItem: VStepperVerticalItem
86092
- VStepperVerticalActions: VStepperVerticalActions
86085
+ VIconBtn: VIconBtn
86093
86086
  VTimePicker: VTimePicker
86094
86087
  VTimePickerClock: VTimePickerClock
86095
86088
  VTimePickerControls: VTimePickerControls
86096
86089
  VPicker: VPicker
86097
86090
  VPickerTitle: VPickerTitle
86091
+ VStepperVertical: VStepperVertical
86092
+ VStepperVerticalItem: VStepperVerticalItem
86093
+ VStepperVerticalActions: VStepperVerticalActions
86098
86094
  VDateInput: VDateInput
86099
86095
  VPullToRefresh: VPullToRefresh
86096
+ VColorInput: VColorInput
86097
+ VTreeview: VTreeview
86098
+ VTreeviewItem: VTreeviewItem
86099
+ VTreeviewGroup: VTreeviewGroup
86100
86100
  }
86101
86101
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.9-master.2025-06-12
2
+ * Vuetify v3.8.9-master.2025-06-14
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -532,6 +532,13 @@ function camelizeProps(props) {
532
532
  }
533
533
  return out;
534
534
  }
535
+ function onlyDefinedProps(props) {
536
+ const booleanAttributes = ['checked', 'disabled'];
537
+ return Object.fromEntries(Object.entries(props).filter(_ref => {
538
+ let [key, v] = _ref;
539
+ return booleanAttributes.includes(key) ? !!v : v !== undefined;
540
+ }));
541
+ }
535
542
 
536
543
  // Utilities
537
544
  const block = ['top', 'bottom'];
@@ -3808,10 +3815,10 @@ const MaybeTransition = (props, _ref) => {
3808
3815
  } = isObject(transition) ? transition : {};
3809
3816
  let transitionProps;
3810
3817
  if (isObject(transition)) {
3811
- transitionProps = mergeProps(customProps, JSON.parse(JSON.stringify({
3818
+ transitionProps = mergeProps(customProps, onlyDefinedProps({
3812
3819
  disabled,
3813
3820
  group
3814
- })), rest);
3821
+ }), rest);
3815
3822
  } else {
3816
3823
  transitionProps = mergeProps({
3817
3824
  name: disabled || !transition ? '' : transition
@@ -12223,7 +12230,11 @@ const VField = genericComponent()({
12223
12230
  default: slots.loader
12224
12231
  }), hasPrepend && createElementVNode("div", {
12225
12232
  "key": "prepend",
12226
- "class": "v-field__prepend-inner"
12233
+ "class": "v-field__prepend-inner",
12234
+ "onMousedown": e => {
12235
+ e.preventDefault();
12236
+ e.stopPropagation();
12237
+ }
12227
12238
  }, [props.prependInnerIcon && createVNode(InputIcon, {
12228
12239
  "key": "prepend-icon",
12229
12240
  "name": "prependInner",
@@ -12292,7 +12303,11 @@ const VField = genericComponent()({
12292
12303
  })]), [[vShow, props.dirty]])]
12293
12304
  }), hasAppend && createElementVNode("div", {
12294
12305
  "key": "append",
12295
- "class": "v-field__append-inner"
12306
+ "class": "v-field__append-inner",
12307
+ "onMousedown": e => {
12308
+ e.preventDefault();
12309
+ e.stopPropagation();
12310
+ }
12296
12311
  }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && createVNode(InputIcon, {
12297
12312
  "key": "append-icon",
12298
12313
  "name": "appendInner",
@@ -22751,9 +22766,7 @@ const VDatePickerYears = genericComponent()({
22751
22766
  const yearRef = templateRef();
22752
22767
  onMounted(async () => {
22753
22768
  await nextTick();
22754
- yearRef.el?.scrollIntoView({
22755
- block: 'center'
22756
- });
22769
+ yearRef.el?.focus();
22757
22770
  });
22758
22771
  function isYearAllowed(year) {
22759
22772
  if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
@@ -22889,8 +22902,16 @@ const VDatePicker = genericComponent()({
22889
22902
  return value && adapter.isValid(value) ? value : today;
22890
22903
  });
22891
22904
  const headerColor = toRef(() => props.headerColor ?? props.color);
22892
- const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
22893
- const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
22905
+ const _month = useProxiedModel(props, 'month');
22906
+ const month = computed({
22907
+ get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))),
22908
+ set: v => _month.value = v
22909
+ });
22910
+ const _year = useProxiedModel(props, 'year');
22911
+ const year = computed({
22912
+ get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))),
22913
+ set: v => _year.value = v
22914
+ });
22894
22915
  const isReversing = shallowRef(false);
22895
22916
  const header = computed(() => {
22896
22917
  if (props.multiple && model.value.length > 1) {
@@ -22974,9 +22995,9 @@ const VDatePicker = genericComponent()({
22974
22995
  } else {
22975
22996
  year.value++;
22976
22997
  month.value = 0;
22977
- onUpdateYear(year.value);
22998
+ onUpdateYear();
22978
22999
  }
22979
- onUpdateMonth(month.value);
23000
+ onUpdateMonth();
22980
23001
  }
22981
23002
  function onClickPrev() {
22982
23003
  if (month.value > 0) {
@@ -22984,9 +23005,9 @@ const VDatePicker = genericComponent()({
22984
23005
  } else {
22985
23006
  year.value--;
22986
23007
  month.value = 11;
22987
- onUpdateYear(year.value);
23008
+ onUpdateYear();
22988
23009
  }
22989
- onUpdateMonth(month.value);
23010
+ onUpdateMonth();
22990
23011
  }
22991
23012
  function onClickDate() {
22992
23013
  viewMode.value = 'month';
@@ -22997,13 +23018,11 @@ const VDatePicker = genericComponent()({
22997
23018
  function onClickYear() {
22998
23019
  viewMode.value = viewMode.value === 'year' ? 'month' : 'year';
22999
23020
  }
23000
- function onUpdateMonth(value) {
23021
+ function onUpdateMonth() {
23001
23022
  if (viewMode.value === 'months') onClickMonth();
23002
- emit('update:month', value);
23003
23023
  }
23004
- function onUpdateYear(value) {
23024
+ function onUpdateYear() {
23005
23025
  if (viewMode.value === 'year') onClickYear();
23006
- emit('update:year', value);
23007
23026
  }
23008
23027
  watch(model, (val, oldVal) => {
23009
23028
  const arrBefore = wrapInArray(oldVal);
@@ -23015,11 +23034,11 @@ const VDatePicker = genericComponent()({
23015
23034
  const newYear = adapter.getYear(after);
23016
23035
  if (newMonth !== month.value) {
23017
23036
  month.value = newMonth;
23018
- onUpdateMonth(month.value);
23037
+ onUpdateMonth();
23019
23038
  }
23020
23039
  if (newYear !== year.value) {
23021
23040
  year.value = newYear;
23022
- onUpdateYear(year.value);
23041
+ onUpdateYear();
23023
23042
  }
23024
23043
  isReversing.value = adapter.isBefore(before, after);
23025
23044
  });
@@ -29464,7 +29483,7 @@ function createVuetify$1() {
29464
29483
  };
29465
29484
  });
29466
29485
  }
29467
- const version$1 = "3.8.9-master.2025-06-12";
29486
+ const version$1 = "3.8.9-master.2025-06-14";
29468
29487
  createVuetify$1.version = version$1;
29469
29488
 
29470
29489
  // Vue's inject() can only be used in setup
@@ -29489,7 +29508,7 @@ const createVuetify = function () {
29489
29508
  ...options
29490
29509
  });
29491
29510
  };
29492
- const version = "3.8.9-master.2025-06-12";
29511
+ const version = "3.8.9-master.2025-06-14";
29493
29512
  createVuetify.version = version;
29494
29513
 
29495
29514
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };