@vuetify/nightly 3.8.8-master.2025-06-06 → 3.8.8-master.2025-06-07

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 (41) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/dist/json/attributes.json +2176 -2176
  3. package/dist/json/importMap-labs.json +28 -28
  4. package/dist/json/importMap.json +148 -148
  5. package/dist/json/web-types.json +4180 -4180
  6. package/dist/vuetify-labs.cjs +29 -35
  7. package/dist/vuetify-labs.css +4211 -4211
  8. package/dist/vuetify-labs.d.ts +64 -54
  9. package/dist/vuetify-labs.esm.js +29 -35
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +29 -35
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +23 -20
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3951 -3951
  16. package/dist/vuetify.d.ts +59 -54
  17. package/dist/vuetify.esm.js +23 -20
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +23 -20
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +30 -30
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableFooter.js +3 -1
  25. package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
  26. package/lib/components/VNumberInput/VNumberInput.d.ts +5 -0
  27. package/lib/components/VNumberInput/VNumberInput.js +7 -11
  28. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  29. package/lib/components/VOtpInput/VOtpInput.js +5 -2
  30. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  31. package/lib/components/VTextField/VTextField.js +5 -4
  32. package/lib/components/VTextField/VTextField.js.map +1 -1
  33. package/lib/entry-bundler.js +1 -1
  34. package/lib/framework.d.ts +54 -54
  35. package/lib/framework.js +1 -1
  36. package/lib/labs/VColorInput/VColorInput.js +3 -8
  37. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  38. package/lib/labs/VDateInput/VDateInput.d.ts +5 -0
  39. package/lib/labs/VDateInput/VDateInput.js +5 -9
  40. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  41. package/package.json +1 -1
package/dist/vuetify.d.ts CHANGED
@@ -51075,6 +51075,7 @@ declare const VNumberInput: {
51075
51075
  "v-slot:increment"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
51076
51076
  "v-slot:decrement"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
51077
51077
  } & {
51078
+ "onUpdate:focused"?: ((val: boolean) => any) | undefined;
51078
51079
  "onUpdate:modelValue"?: ((val: number) => any) | undefined;
51079
51080
  }, Omit<Omit<{
51080
51081
  $: vue.ComponentInternalInstance;
@@ -53015,6 +53016,7 @@ declare const VNumberInput: {
53015
53016
  } | {};
53016
53017
  }) | {};
53017
53018
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
53019
+ 'update:focused': (val: boolean) => true;
53018
53020
  'update:modelValue': (val: number) => true;
53019
53021
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
53020
53022
  flat: boolean;
@@ -53211,6 +53213,7 @@ declare const VNumberInput: {
53211
53213
  "v-slot:increment"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
53212
53214
  "v-slot:decrement"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
53213
53215
  } & {
53216
+ "onUpdate:focused"?: ((val: boolean) => any) | undefined;
53214
53217
  "onUpdate:modelValue"?: ((val: number) => any) | undefined;
53215
53218
  }, Omit<Omit<{
53216
53219
  $: vue.ComponentInternalInstance;
@@ -55324,6 +55327,7 @@ declare const VNumberInput: {
55324
55327
  "v-slot:increment"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
55325
55328
  "v-slot:decrement"?: false | ((arg: ControlSlot$1) => vue.VNodeChild) | undefined;
55326
55329
  } & {
55330
+ "onUpdate:focused"?: ((val: boolean) => any) | undefined;
55327
55331
  "onUpdate:modelValue"?: ((val: number) => any) | undefined;
55328
55332
  }, Omit<Omit<{
55329
55333
  $: vue.ComponentInternalInstance;
@@ -57264,6 +57268,7 @@ declare const VNumberInput: {
57264
57268
  } | {};
57265
57269
  }) | {};
57266
57270
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
57271
+ 'update:focused': (val: boolean) => true;
57267
57272
  'update:modelValue': (val: number) => true;
57268
57273
  }, string, {
57269
57274
  flat: boolean;
@@ -85907,41 +85912,34 @@ declare module 'vue' {
85907
85912
  $children?: VNodeChild
85908
85913
  }
85909
85914
  export interface GlobalComponents {
85910
- VApp: VApp
85911
85915
  VAppBar: VAppBar
85912
85916
  VAppBarNavIcon: VAppBarNavIcon
85913
85917
  VAppBarTitle: VAppBarTitle
85914
85918
  VAlert: VAlert
85915
85919
  VAlertTitle: VAlertTitle
85916
- VAutocomplete: VAutocomplete
85917
85920
  VAvatar: VAvatar
85921
+ VApp: VApp
85918
85922
  VBadge: VBadge
85919
85923
  VBanner: VBanner
85920
85924
  VBannerActions: VBannerActions
85921
85925
  VBannerText: VBannerText
85926
+ VAutocomplete: VAutocomplete
85922
85927
  VBottomSheet: VBottomSheet
85923
- VBottomNavigation: VBottomNavigation
85924
85928
  VBreadcrumbs: VBreadcrumbs
85925
85929
  VBreadcrumbsItem: VBreadcrumbsItem
85926
85930
  VBreadcrumbsDivider: VBreadcrumbsDivider
85931
+ VBottomNavigation: VBottomNavigation
85927
85932
  VBtn: VBtn
85933
+ VBtnToggle: VBtnToggle
85934
+ VBtnGroup: VBtnGroup
85935
+ VCarousel: VCarousel
85936
+ VCarouselItem: VCarouselItem
85928
85937
  VCard: VCard
85929
85938
  VCardActions: VCardActions
85930
85939
  VCardItem: VCardItem
85931
85940
  VCardSubtitle: VCardSubtitle
85932
85941
  VCardText: VCardText
85933
85942
  VCardTitle: VCardTitle
85934
- VCarousel: VCarousel
85935
- VCarouselItem: VCarouselItem
85936
- VChipGroup: VChipGroup
85937
- VCode: VCode
85938
- VBtnToggle: VBtnToggle
85939
- VCheckbox: VCheckbox
85940
- VCheckboxBtn: VCheckboxBtn
85941
- VCombobox: VCombobox
85942
- VCounter: VCounter
85943
- VColorPicker: VColorPicker
85944
- VBtnGroup: VBtnGroup
85945
85943
  VDataTable: VDataTable
85946
85944
  VDataTableHeaders: VDataTableHeaders
85947
85945
  VDataTableFooter: VDataTableFooter
@@ -85949,8 +85947,14 @@ declare module 'vue' {
85949
85947
  VDataTableRow: VDataTableRow
85950
85948
  VDataTableVirtual: VDataTableVirtual
85951
85949
  VDataTableServer: VDataTableServer
85950
+ VCode: VCode
85951
+ VCheckbox: VCheckbox
85952
+ VCheckboxBtn: VCheckboxBtn
85952
85953
  VChip: VChip
85953
- VEmptyState: VEmptyState
85954
+ VCounter: VCounter
85955
+ VChipGroup: VChipGroup
85956
+ VCombobox: VCombobox
85957
+ VColorPicker: VColorPicker
85954
85958
  VDatePicker: VDatePicker
85955
85959
  VDatePickerControls: VDatePickerControls
85956
85960
  VDatePickerHeader: VDatePickerHeader
@@ -85958,28 +85962,28 @@ declare module 'vue' {
85958
85962
  VDatePickerMonths: VDatePickerMonths
85959
85963
  VDatePickerYears: VDatePickerYears
85960
85964
  VDivider: VDivider
85961
- VFab: VFab
85965
+ VDialog: VDialog
85962
85966
  VExpansionPanels: VExpansionPanels
85963
85967
  VExpansionPanel: VExpansionPanel
85964
85968
  VExpansionPanelText: VExpansionPanelText
85965
85969
  VExpansionPanelTitle: VExpansionPanelTitle
85966
- VDialog: VDialog
85970
+ VFab: VFab
85971
+ VFooter: VFooter
85972
+ VFileInput: VFileInput
85967
85973
  VField: VField
85968
85974
  VFieldLabel: VFieldLabel
85969
- VFileInput: VFileInput
85970
- VFooter: VFooter
85971
- VInput: VInput
85972
85975
  VIcon: VIcon
85973
85976
  VComponentIcon: VComponentIcon
85974
85977
  VSvgIcon: VSvgIcon
85975
85978
  VLigatureIcon: VLigatureIcon
85976
85979
  VClassIcon: VClassIcon
85977
85980
  VInfiniteScroll: VInfiniteScroll
85981
+ VInput: VInput
85982
+ VKbd: VKbd
85978
85983
  VItemGroup: VItemGroup
85979
85984
  VItem: VItem
85980
- VImg: VImg
85981
85985
  VLabel: VLabel
85982
- VKbd: VKbd
85986
+ VImg: VImg
85983
85987
  VList: VList
85984
85988
  VListGroup: VListGroup
85985
85989
  VListImg: VListImg
@@ -85989,68 +85993,69 @@ declare module 'vue' {
85989
85993
  VListItemSubtitle: VListItemSubtitle
85990
85994
  VListItemTitle: VListItemTitle
85991
85995
  VListSubheader: VListSubheader
85996
+ VMenu: VMenu
85992
85997
  VMain: VMain
85993
85998
  VNavigationDrawer: VNavigationDrawer
85994
- VMenu: VMenu
85999
+ VNumberInput: VNumberInput
86000
+ VOverlay: VOverlay
85995
86001
  VMessages: VMessages
85996
86002
  VOtpInput: VOtpInput
85997
- VNumberInput: VNumberInput
86003
+ VProgressCircular: VProgressCircular
85998
86004
  VPagination: VPagination
85999
86005
  VProgressLinear: VProgressLinear
86000
- VOverlay: VOverlay
86001
- VProgressCircular: VProgressCircular
86002
86006
  VRadioGroup: VRadioGroup
86003
86007
  VRating: VRating
86004
- VSelectionControl: VSelectionControl
86005
- VSheet: VSheet
86006
86008
  VSelect: VSelect
86007
- VSkeletonLoader: VSkeletonLoader
86008
86009
  VSelectionControlGroup: VSelectionControlGroup
86010
+ VSkeletonLoader: VSkeletonLoader
86011
+ VSheet: VSheet
86012
+ VSelectionControl: VSelectionControl
86009
86013
  VSlideGroup: VSlideGroup
86010
86014
  VSlideGroupItem: VSlideGroupItem
86011
- VSlider: VSlider
86012
- VTextField: VTextField
86013
86015
  VStepper: VStepper
86014
86016
  VStepperActions: VStepperActions
86015
86017
  VStepperHeader: VStepperHeader
86016
86018
  VStepperItem: VStepperItem
86017
86019
  VStepperWindow: VStepperWindow
86018
86020
  VStepperWindowItem: VStepperWindowItem
86019
- VSystemBar: VSystemBar
86020
86021
  VSnackbar: VSnackbar
86022
+ VSlider: VSlider
86023
+ VSystemBar: VSystemBar
86024
+ VSwitch: VSwitch
86025
+ VTimeline: VTimeline
86026
+ VTimelineItem: VTimelineItem
86021
86027
  VTab: VTab
86022
86028
  VTabs: VTabs
86023
86029
  VTabsWindow: VTabsWindow
86024
86030
  VTabsWindowItem: VTabsWindowItem
86031
+ VTextField: VTextField
86025
86032
  VTextarea: VTextarea
86026
- VTable: VTable
86027
- VWindow: VWindow
86028
- VWindowItem: VWindowItem
86029
86033
  VToolbar: VToolbar
86030
86034
  VToolbarTitle: VToolbarTitle
86031
86035
  VToolbarItems: VToolbarItems
86032
86036
  VTooltip: VTooltip
86033
- VSwitch: VSwitch
86037
+ VWindow: VWindow
86038
+ VWindowItem: VWindowItem
86034
86039
  VConfirmEdit: VConfirmEdit
86040
+ VTable: VTable
86035
86041
  VDataIterator: VDataIterator
86036
86042
  VDefaultsProvider: VDefaultsProvider
86043
+ VForm: VForm
86037
86044
  VContainer: VContainer
86038
86045
  VCol: VCol
86039
86046
  VRow: VRow
86040
86047
  VSpacer: VSpacer
86041
86048
  VHover: VHover
86042
- VForm: VForm
86043
86049
  VLazy: VLazy
86044
- VLayout: VLayout
86045
- VLayoutItem: VLayoutItem
86046
86050
  VLocaleProvider: VLocaleProvider
86047
86051
  VNoSsr: VNoSsr
86052
+ VRadio: VRadio
86048
86053
  VParallax: VParallax
86049
86054
  VRangeSlider: VRangeSlider
86050
86055
  VResponsive: VResponsive
86051
- VRadio: VRadio
86052
- VSparkline: VSparkline
86056
+ VSnackbarQueue: VSnackbarQueue
86053
86057
  VSpeedDial: VSpeedDial
86058
+ VSparkline: VSparkline
86054
86059
  VThemeProvider: VThemeProvider
86055
86060
  VValidation: VValidation
86056
86061
  VVirtualScroll: VVirtualScroll
@@ -86070,31 +86075,31 @@ declare module 'vue' {
86070
86075
  VExpandTransition: VExpandTransition
86071
86076
  VExpandXTransition: VExpandXTransition
86072
86077
  VDialogTransition: VDialogTransition
86073
- VTimeline: VTimeline
86074
- VTimelineItem: VTimelineItem
86075
- VSnackbarQueue: VSnackbarQueue
86078
+ VEmptyState: VEmptyState
86079
+ VLayout: VLayout
86080
+ VLayoutItem: VLayoutItem
86076
86081
  VCalendar: VCalendar
86077
86082
  VCalendarDay: VCalendarDay
86078
86083
  VCalendarHeader: VCalendarHeader
86079
86084
  VCalendarInterval: VCalendarInterval
86080
86085
  VCalendarIntervalEvent: VCalendarIntervalEvent
86081
86086
  VCalendarMonthDay: VCalendarMonthDay
86087
+ VIconBtn: VIconBtn
86082
86088
  VPicker: VPicker
86083
86089
  VPickerTitle: VPickerTitle
86084
- VIconBtn: VIconBtn
86085
- VStepperVertical: VStepperVertical
86086
- VStepperVerticalItem: VStepperVerticalItem
86087
- VStepperVerticalActions: VStepperVerticalActions
86088
- VTreeview: VTreeview
86089
- VTreeviewItem: VTreeviewItem
86090
- VTreeviewGroup: VTreeviewGroup
86091
86090
  VColorInput: VColorInput
86092
- VFileUpload: VFileUpload
86093
- VFileUploadItem: VFileUploadItem
86094
86091
  VTimePicker: VTimePicker
86095
86092
  VTimePickerClock: VTimePickerClock
86096
86093
  VTimePickerControls: VTimePickerControls
86097
- VPullToRefresh: VPullToRefresh
86094
+ VFileUpload: VFileUpload
86095
+ VFileUploadItem: VFileUploadItem
86096
+ VTreeview: VTreeview
86097
+ VTreeviewItem: VTreeviewItem
86098
+ VTreeviewGroup: VTreeviewGroup
86099
+ VStepperVertical: VStepperVertical
86100
+ VStepperVerticalItem: VStepperVerticalItem
86101
+ VStepperVerticalActions: VStepperVerticalActions
86098
86102
  VDateInput: VDateInput
86103
+ VPullToRefresh: VPullToRefresh
86099
86104
  }
86100
86105
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.8-master.2025-06-06
2
+ * Vuetify v3.8.8-master.2025-06-07
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -12392,10 +12392,12 @@ const VTextField = genericComponent()({
12392
12392
  const inputRef = ref();
12393
12393
  const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
12394
12394
  function onFocus() {
12395
- if (inputRef.value !== document.activeElement) {
12396
- inputRef.value?.focus();
12397
- }
12398
12395
  if (!isFocused.value) focus();
12396
+ nextTick(() => {
12397
+ if (inputRef.value !== document.activeElement) {
12398
+ inputRef.value?.focus();
12399
+ }
12400
+ });
12399
12401
  }
12400
12402
  function onControlMousedown(e) {
12401
12403
  emit('mousedown:control', e);
@@ -12404,7 +12406,6 @@ const VTextField = genericComponent()({
12404
12406
  e.preventDefault();
12405
12407
  }
12406
12408
  function onControlClick(e) {
12407
- onFocus();
12408
12409
  emit('click:control', e);
12409
12410
  }
12410
12411
  function onClear(e, reset) {
@@ -20217,7 +20218,9 @@ const VDataTableFooter = genericComponent()({
20217
20218
  "class": "v-data-table-footer"
20218
20219
  }, [slots.prepend?.(), createElementVNode("div", {
20219
20220
  "class": "v-data-table-footer__items-per-page"
20220
- }, [createElementVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
20221
+ }, [createElementVNode("span", {
20222
+ "aria-label": t(props.itemsPerPageText)
20223
+ }, [t(props.itemsPerPageText)]), createVNode(VSelect, {
20221
20224
  "items": itemsPerPageOptions.value,
20222
20225
  "modelValue": itemsPerPage.value,
20223
20226
  "onUpdate:modelValue": v => setItemsPerPage(Number(v)),
@@ -25163,6 +25166,7 @@ const VNumberInput = genericComponent()({
25163
25166
  ...makeVNumberInputProps()
25164
25167
  },
25165
25168
  emits: {
25169
+ 'update:focused': val => true,
25166
25170
  'update:modelValue': val => true
25167
25171
  },
25168
25172
  setup(props, _ref) {
@@ -25178,11 +25182,7 @@ const VNumberInput = genericComponent()({
25178
25182
  });
25179
25183
  const form = useForm(props);
25180
25184
  const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
25181
- const {
25182
- isFocused,
25183
- focus,
25184
- blur
25185
- } = useFocus(props);
25185
+ const isFocused = shallowRef(props.focused);
25186
25186
  function correctPrecision(val) {
25187
25187
  let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
25188
25188
  const fixed = precision == null ? String(val) : val.toFixed(precision);
@@ -25367,11 +25367,9 @@ const VNumberInput = genericComponent()({
25367
25367
  inputText.value = model.value.toString();
25368
25368
  }
25369
25369
  function onFocus() {
25370
- focus();
25371
25370
  trimDecimalZeros();
25372
25371
  }
25373
25372
  function onBlur() {
25374
- blur();
25375
25373
  clampModel();
25376
25374
  }
25377
25375
  useRender(() => {
@@ -25464,9 +25462,12 @@ const VNumberInput = genericComponent()({
25464
25462
  }, null)]) : props.reverse && controlVariant.value !== 'hidden' ? createElementVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
25465
25463
  const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
25466
25464
  return createVNode(VTextField, mergeProps({
25467
- "ref": vTextFieldRef,
25465
+ "ref": vTextFieldRef
25466
+ }, textFieldProps, {
25468
25467
  "modelValue": inputText.value,
25469
25468
  "onUpdate:modelValue": $event => inputText.value = $event,
25469
+ "focused": isFocused.value,
25470
+ "onUpdate:focused": $event => isFocused.value = $event,
25470
25471
  "validationValue": model.value,
25471
25472
  "onBeforeinput": onBeforeinput,
25472
25473
  "onFocus": onFocus,
@@ -25479,8 +25480,7 @@ const VNumberInput = genericComponent()({
25479
25480
  'v-number-input--reverse': props.reverse,
25480
25481
  'v-number-input--split': controlVariant.value === 'split',
25481
25482
  'v-number-input--stacked': controlVariant.value === 'stacked'
25482
- }, props.class]
25483
- }, textFieldProps, {
25483
+ }, props.class],
25484
25484
  "style": props.style,
25485
25485
  "inputmode": "decimal"
25486
25486
  }), {
@@ -25615,7 +25615,7 @@ const VOtpInput = genericComponent()({
25615
25615
  function onPaste(index, e) {
25616
25616
  e.preventDefault();
25617
25617
  e.stopPropagation();
25618
- const clipboardText = e?.clipboardData?.getData('Text').slice(0, length.value) ?? '';
25618
+ const clipboardText = e?.clipboardData?.getData('Text').trim().slice(0, length.value) ?? '';
25619
25619
  if (isValidNumber(clipboardText)) return;
25620
25620
  model.value = clipboardText.split('');
25621
25621
  inputRef.value?.[index].blur();
@@ -25647,7 +25647,10 @@ const VOtpInput = genericComponent()({
25647
25647
  scoped: true
25648
25648
  });
25649
25649
  watch(model, val => {
25650
- if (val.length === length.value) emit('finish', val.join(''));
25650
+ if (val.length === length.value) {
25651
+ focusIndex.value = length.value - 1;
25652
+ emit('finish', val.join(''));
25653
+ }
25651
25654
  }, {
25652
25655
  deep: true
25653
25656
  });
@@ -29400,7 +29403,7 @@ function createVuetify$1() {
29400
29403
  };
29401
29404
  });
29402
29405
  }
29403
- const version$1 = "3.8.8-master.2025-06-06";
29406
+ const version$1 = "3.8.8-master.2025-06-07";
29404
29407
  createVuetify$1.version = version$1;
29405
29408
 
29406
29409
  // Vue's inject() can only be used in setup
@@ -29425,7 +29428,7 @@ const createVuetify = function () {
29425
29428
  ...options
29426
29429
  });
29427
29430
  };
29428
- const version = "3.8.8-master.2025-06-06";
29431
+ const version = "3.8.8-master.2025-06-07";
29429
29432
  createVuetify.version = version;
29430
29433
 
29431
29434
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };