@vuetify/nightly 3.8.9-master.2025-06-11 → 3.8.9-master.2025-06-13

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 (48) hide show
  1. package/CHANGELOG.md +19 -3
  2. package/dist/json/attributes.json +3262 -3262
  3. package/dist/json/importMap-labs.json +22 -22
  4. package/dist/json/importMap.json +176 -176
  5. package/dist/json/web-types.json +6344 -6344
  6. package/dist/vuetify-labs.cjs +43 -22
  7. package/dist/vuetify-labs.css +4907 -4905
  8. package/dist/vuetify-labs.d.ts +60 -60
  9. package/dist/vuetify-labs.esm.js +43 -22
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +43 -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 +3650 -3648
  16. package/dist/vuetify.d.ts +60 -60
  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/VDatePicker/VDatePicker.js +19 -13
  25. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  26. package/lib/components/VDatePicker/VDatePickerYears.js +1 -3
  27. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  28. package/lib/components/VField/VField.js +10 -2
  29. package/lib/components/VField/VField.js.map +1 -1
  30. package/lib/components/VList/VListItem.css +2 -0
  31. package/lib/components/VList/VListItem.sass +2 -0
  32. package/lib/components/VList/_variables.scss +1 -0
  33. package/lib/components/VSpeedDial/VSpeedDial.css +1 -1
  34. package/lib/components/VSpeedDial/VSpeedDial.sass +3 -1
  35. package/lib/composables/hotkey.d.ts +9 -0
  36. package/lib/composables/hotkey.js +131 -0
  37. package/lib/composables/hotkey.js.map +1 -0
  38. package/lib/composables/transition.js +3 -3
  39. package/lib/composables/transition.js.map +1 -1
  40. package/lib/entry-bundler.js +1 -1
  41. package/lib/framework.d.ts +60 -60
  42. package/lib/framework.js +1 -1
  43. package/lib/labs/VTimePicker/VTimePickerClock.js +3 -1
  44. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  45. package/lib/util/helpers.d.ts +3 -0
  46. package/lib/util/helpers.js +7 -0
  47. package/lib/util/helpers.js.map +1 -1
  48. package/package.json +1 -1
package/dist/vuetify.d.ts CHANGED
@@ -85908,61 +85908,64 @@ declare module 'vue' {
85908
85908
  $children?: VNodeChild
85909
85909
  }
85910
85910
  export interface GlobalComponents {
85911
- VApp: VApp
85912
85911
  VAppBar: VAppBar
85913
85912
  VAppBarNavIcon: VAppBarNavIcon
85914
85913
  VAppBarTitle: VAppBarTitle
85915
- VBadge: VBadge
85916
- VAvatar: VAvatar
85917
- VAutocomplete: VAutocomplete
85918
- VBanner: VBanner
85919
- VBannerActions: VBannerActions
85920
- VBannerText: VBannerText
85914
+ VApp: VApp
85921
85915
  VAlert: VAlert
85922
85916
  VAlertTitle: VAlertTitle
85923
- VBtn: VBtn
85924
- VBottomNavigation: VBottomNavigation
85917
+ VAvatar: VAvatar
85918
+ VAutocomplete: VAutocomplete
85925
85919
  VBreadcrumbs: VBreadcrumbs
85926
85920
  VBreadcrumbsItem: VBreadcrumbsItem
85927
85921
  VBreadcrumbsDivider: VBreadcrumbsDivider
85922
+ VBadge: VBadge
85928
85923
  VBottomSheet: VBottomSheet
85924
+ VBottomNavigation: VBottomNavigation
85925
+ VBtnToggle: VBtnToggle
85926
+ VBtn: VBtn
85929
85927
  VCard: VCard
85930
85928
  VCardActions: VCardActions
85931
85929
  VCardItem: VCardItem
85932
85930
  VCardSubtitle: VCardSubtitle
85933
85931
  VCardText: VCardText
85934
85932
  VCardTitle: VCardTitle
85933
+ VBtnGroup: VBtnGroup
85935
85934
  VCheckbox: VCheckbox
85936
85935
  VCheckboxBtn: VCheckboxBtn
85937
- VBtnGroup: VBtnGroup
85938
- VBtnToggle: VBtnToggle
85939
- VCarousel: VCarousel
85940
- VCarouselItem: VCarouselItem
85941
85936
  VChip: VChip
85937
+ VCombobox: VCombobox
85942
85938
  VChipGroup: VChipGroup
85943
- VColorPicker: VColorPicker
85939
+ VCode: VCode
85940
+ VCarousel: VCarousel
85941
+ VCarouselItem: VCarouselItem
85944
85942
  VDatePicker: VDatePicker
85945
85943
  VDatePickerControls: VDatePickerControls
85946
85944
  VDatePickerHeader: VDatePickerHeader
85947
85945
  VDatePickerMonth: VDatePickerMonth
85948
85946
  VDatePickerMonths: VDatePickerMonths
85949
85947
  VDatePickerYears: VDatePickerYears
85950
- VCode: VCode
85951
- VCombobox: VCombobox
85952
- VDivider: VDivider
85948
+ VDataTable: VDataTable
85949
+ VDataTableHeaders: VDataTableHeaders
85950
+ VDataTableFooter: VDataTableFooter
85951
+ VDataTableRows: VDataTableRows
85952
+ VDataTableRow: VDataTableRow
85953
+ VDataTableVirtual: VDataTableVirtual
85954
+ VDataTableServer: VDataTableServer
85955
+ VColorPicker: VColorPicker
85953
85956
  VCounter: VCounter
85957
+ VDialog: VDialog
85954
85958
  VExpansionPanels: VExpansionPanels
85955
85959
  VExpansionPanel: VExpansionPanel
85956
85960
  VExpansionPanelText: VExpansionPanelText
85957
85961
  VExpansionPanelTitle: VExpansionPanelTitle
85958
85962
  VFab: VFab
85963
+ VEmptyState: VEmptyState
85959
85964
  VField: VField
85960
85965
  VFieldLabel: VFieldLabel
85961
- VEmptyState: VEmptyState
85962
85966
  VFooter: VFooter
85963
- VFileInput: VFileInput
85964
85967
  VInfiniteScroll: VInfiniteScroll
85965
- VInput: VInput
85968
+ VFileInput: VFileInput
85966
85969
  VIcon: VIcon
85967
85970
  VComponentIcon: VComponentIcon
85968
85971
  VSvgIcon: VSvgIcon
@@ -85970,11 +85973,9 @@ declare module 'vue' {
85970
85973
  VClassIcon: VClassIcon
85971
85974
  VImg: VImg
85972
85975
  VKbd: VKbd
85973
- VDialog: VDialog
85974
- VMenu: VMenu
85975
- VLabel: VLabel
85976
85976
  VItemGroup: VItemGroup
85977
85977
  VItem: VItem
85978
+ VInput: VInput
85978
85979
  VList: VList
85979
85980
  VListGroup: VListGroup
85980
85981
  VListImg: VListImg
@@ -85984,68 +85985,78 @@ declare module 'vue' {
85984
85985
  VListItemSubtitle: VListItemSubtitle
85985
85986
  VListItemTitle: VListItemTitle
85986
85987
  VListSubheader: VListSubheader
85988
+ VLabel: VLabel
85989
+ VMenu: VMenu
85987
85990
  VMessages: VMessages
85988
85991
  VMain: VMain
85989
85992
  VNavigationDrawer: VNavigationDrawer
85990
- VOverlay: VOverlay
85991
85993
  VOtpInput: VOtpInput
85992
- VProgressCircular: VProgressCircular
85994
+ VDivider: VDivider
85995
+ VOverlay: VOverlay
85993
85996
  VNumberInput: VNumberInput
85994
- VProgressLinear: VProgressLinear
85997
+ VPagination: VPagination
85998
+ VProgressCircular: VProgressCircular
85995
85999
  VRadioGroup: VRadioGroup
86000
+ VProgressLinear: VProgressLinear
86001
+ VSelect: VSelect
85996
86002
  VRating: VRating
85997
86003
  VSelectionControl: VSelectionControl
85998
- VPagination: VPagination
85999
86004
  VSelectionControlGroup: VSelectionControlGroup
86000
- VSelect: VSelect
86001
86005
  VSlideGroup: VSlideGroup
86002
86006
  VSlideGroupItem: VSlideGroupItem
86003
- VSkeletonLoader: VSkeletonLoader
86004
- VSheet: VSheet
86005
86007
  VSnackbar: VSnackbar
86006
- VSlider: VSlider
86008
+ VSheet: VSheet
86009
+ VSkeletonLoader: VSkeletonLoader
86007
86010
  VStepper: VStepper
86008
86011
  VStepperActions: VStepperActions
86009
86012
  VStepperHeader: VStepperHeader
86010
86013
  VStepperItem: VStepperItem
86011
86014
  VStepperWindow: VStepperWindow
86012
86015
  VStepperWindowItem: VStepperWindowItem
86016
+ VSlider: VSlider
86013
86017
  VSwitch: VSwitch
86018
+ VSystemBar: VSystemBar
86019
+ VTable: VTable
86014
86020
  VTab: VTab
86015
86021
  VTabs: VTabs
86016
86022
  VTabsWindow: VTabsWindow
86017
86023
  VTabsWindowItem: VTabsWindowItem
86018
- VSystemBar: VSystemBar
86024
+ VTextarea: VTextarea
86025
+ VTextField: VTextField
86019
86026
  VTimeline: VTimeline
86020
86027
  VTimelineItem: VTimelineItem
86021
- VTextField: VTextField
86022
- VTable: VTable
86023
- VTooltip: VTooltip
86024
- VTextarea: VTextarea
86025
86028
  VToolbar: VToolbar
86026
86029
  VToolbarTitle: VToolbarTitle
86027
86030
  VToolbarItems: VToolbarItems
86028
86031
  VWindow: VWindow
86029
86032
  VWindowItem: VWindowItem
86033
+ VTooltip: VTooltip
86034
+ VDataIterator: VDataIterator
86030
86035
  VConfirmEdit: VConfirmEdit
86031
86036
  VDefaultsProvider: VDefaultsProvider
86032
- VDataIterator: VDataIterator
86033
86037
  VForm: VForm
86038
+ VContainer: VContainer
86039
+ VCol: VCol
86040
+ VRow: VRow
86041
+ VSpacer: VSpacer
86034
86042
  VHover: VHover
86035
- VLazy: VLazy
86036
86043
  VLayout: VLayout
86037
86044
  VLayoutItem: VLayoutItem
86045
+ VLazy: VLazy
86038
86046
  VLocaleProvider: VLocaleProvider
86047
+ VNoSsr: VNoSsr
86039
86048
  VParallax: VParallax
86040
- VRangeSlider: VRangeSlider
86049
+ VRadio: VRadio
86041
86050
  VResponsive: VResponsive
86042
86051
  VSnackbarQueue: VSnackbarQueue
86043
86052
  VSparkline: VSparkline
86044
86053
  VSpeedDial: VSpeedDial
86054
+ VBanner: VBanner
86055
+ VBannerActions: VBannerActions
86056
+ VBannerText: VBannerText
86045
86057
  VThemeProvider: VThemeProvider
86046
- VVirtualScroll: VVirtualScroll
86047
- VRadio: VRadio
86048
86058
  VValidation: VValidation
86059
+ VVirtualScroll: VVirtualScroll
86049
86060
  VFabTransition: VFabTransition
86050
86061
  VDialogBottomTransition: VDialogBottomTransition
86051
86062
  VDialogTopTransition: VDialogTopTransition
@@ -86062,40 +86073,29 @@ declare module 'vue' {
86062
86073
  VExpandTransition: VExpandTransition
86063
86074
  VExpandXTransition: VExpandXTransition
86064
86075
  VDialogTransition: VDialogTransition
86065
- VContainer: VContainer
86066
- VCol: VCol
86067
- VRow: VRow
86068
- VSpacer: VSpacer
86069
- VNoSsr: VNoSsr
86070
- VDataTable: VDataTable
86071
- VDataTableHeaders: VDataTableHeaders
86072
- VDataTableFooter: VDataTableFooter
86073
- VDataTableRows: VDataTableRows
86074
- VDataTableRow: VDataTableRow
86075
- VDataTableVirtual: VDataTableVirtual
86076
- VDataTableServer: VDataTableServer
86076
+ VRangeSlider: VRangeSlider
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
- VColorInput: VColorInput
86084
- VFileUpload: VFileUpload
86085
- VFileUploadItem: VFileUploadItem
86083
+ VIconBtn: VIconBtn
86084
+ VStepperVertical: VStepperVertical
86085
+ VStepperVerticalItem: VStepperVerticalItem
86086
+ VStepperVerticalActions: VStepperVerticalActions
86086
86087
  VPicker: VPicker
86087
86088
  VPickerTitle: VPickerTitle
86088
86089
  VTimePicker: VTimePicker
86089
86090
  VTimePickerClock: VTimePickerClock
86090
86091
  VTimePickerControls: VTimePickerControls
86092
+ VFileUpload: VFileUpload
86093
+ VFileUploadItem: VFileUploadItem
86091
86094
  VTreeview: VTreeview
86092
86095
  VTreeviewItem: VTreeviewItem
86093
86096
  VTreeviewGroup: VTreeviewGroup
86094
- VIconBtn: VIconBtn
86095
- VStepperVertical: VStepperVertical
86096
- VStepperVerticalItem: VStepperVerticalItem
86097
- VStepperVerticalActions: VStepperVerticalActions
86098
86097
  VDateInput: VDateInput
86099
86098
  VPullToRefresh: VPullToRefresh
86099
+ VColorInput: VColorInput
86100
86100
  }
86101
86101
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.9-master.2025-06-11
2
+ * Vuetify v3.8.9-master.2025-06-13
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-11";
29486
+ const version$1 = "3.8.9-master.2025-06-13";
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-11";
29511
+ const version = "3.8.9-master.2025-06-13";
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 };