@vuetify/nightly 3.8.6-master.2025-05-22 → 3.8.6-master.2025-05-24

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 (37) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/dist/json/attributes.json +3419 -3419
  3. package/dist/json/importMap-labs.json +32 -32
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/web-types.json +6126 -6126
  6. package/dist/vuetify-labs.cjs +37 -11
  7. package/dist/vuetify-labs.css +3740 -3740
  8. package/dist/vuetify-labs.d.ts +60 -60
  9. package/dist/vuetify-labs.esm.js +37 -11
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +37 -11
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +37 -11
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +2094 -2094
  16. package/dist/vuetify.d.ts +60 -60
  17. package/dist/vuetify.esm.js +37 -11
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +37 -11
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +11 -8
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VField/VField.js +4 -2
  25. package/lib/components/VField/VField.js.map +1 -1
  26. package/lib/components/VInput/InputIcon.d.ts +1 -1
  27. package/lib/components/VInput/InputIcon.js +5 -4
  28. package/lib/components/VInput/InputIcon.js.map +1 -1
  29. package/lib/components/VNumberInput/VNumberInput.js +12 -4
  30. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  31. package/lib/entry-bundler.js +1 -1
  32. package/lib/framework.d.ts +60 -60
  33. package/lib/framework.js +1 -1
  34. package/lib/util/helpers.d.ts +1 -0
  35. package/lib/util/helpers.js +15 -0
  36. package/lib/util/helpers.js.map +1 -1
  37. package/package.json +1 -1
@@ -101749,48 +101749,50 @@ declare module 'vue' {
101749
101749
  $children?: VNodeChild
101750
101750
  }
101751
101751
  export interface GlobalComponents {
101752
- VAppBar: VAppBar
101753
- VAppBarNavIcon: VAppBarNavIcon
101754
- VAppBarTitle: VAppBarTitle
101755
- VAutocomplete: VAutocomplete
101756
- VAvatar: VAvatar
101757
101752
  VAlert: VAlert
101758
101753
  VAlertTitle: VAlertTitle
101759
101754
  VApp: VApp
101755
+ VAutocomplete: VAutocomplete
101756
+ VAvatar: VAvatar
101760
101757
  VBadge: VBadge
101758
+ VAppBar: VAppBar
101759
+ VAppBarNavIcon: VAppBarNavIcon
101760
+ VAppBarTitle: VAppBarTitle
101761
+ VBreadcrumbs: VBreadcrumbs
101762
+ VBreadcrumbsItem: VBreadcrumbsItem
101763
+ VBreadcrumbsDivider: VBreadcrumbsDivider
101764
+ VBottomSheet: VBottomSheet
101761
101765
  VBottomNavigation: VBottomNavigation
101766
+ VBtnToggle: VBtnToggle
101762
101767
  VBanner: VBanner
101763
101768
  VBannerActions: VBannerActions
101764
101769
  VBannerText: VBannerText
101765
- VBottomSheet: VBottomSheet
101770
+ VBtn: VBtn
101766
101771
  VBtnGroup: VBtnGroup
101767
- VBreadcrumbs: VBreadcrumbs
101768
- VBreadcrumbsItem: VBreadcrumbsItem
101769
- VBreadcrumbsDivider: VBreadcrumbsDivider
101772
+ VChipGroup: VChipGroup
101773
+ VCarousel: VCarousel
101774
+ VCarouselItem: VCarouselItem
101775
+ VChip: VChip
101770
101776
  VCard: VCard
101771
101777
  VCardActions: VCardActions
101772
101778
  VCardItem: VCardItem
101773
101779
  VCardSubtitle: VCardSubtitle
101774
101780
  VCardText: VCardText
101775
101781
  VCardTitle: VCardTitle
101776
- VBtnToggle: VBtnToggle
101777
- VCarousel: VCarousel
101778
- VCarouselItem: VCarouselItem
101779
- VBtn: VBtn
101780
101782
  VCheckbox: VCheckbox
101781
101783
  VCheckboxBtn: VCheckboxBtn
101784
+ VColorPicker: VColorPicker
101782
101785
  VCode: VCode
101783
- VChip: VChip
101784
101786
  VCombobox: VCombobox
101785
- VColorPicker: VColorPicker
101786
- VCounter: VCounter
101787
101787
  VDatePicker: VDatePicker
101788
101788
  VDatePickerControls: VDatePickerControls
101789
101789
  VDatePickerHeader: VDatePickerHeader
101790
101790
  VDatePickerMonth: VDatePickerMonth
101791
101791
  VDatePickerMonths: VDatePickerMonths
101792
101792
  VDatePickerYears: VDatePickerYears
101793
- VChipGroup: VChipGroup
101793
+ VDialog: VDialog
101794
+ VDivider: VDivider
101795
+ VCounter: VCounter
101794
101796
  VDataTable: VDataTable
101795
101797
  VDataTableHeaders: VDataTableHeaders
101796
101798
  VDataTableFooter: VDataTableFooter
@@ -101799,27 +101801,26 @@ declare module 'vue' {
101799
101801
  VDataTableVirtual: VDataTableVirtual
101800
101802
  VDataTableServer: VDataTableServer
101801
101803
  VEmptyState: VEmptyState
101802
- VDivider: VDivider
101803
- VFab: VFab
101804
- VField: VField
101805
- VFieldLabel: VFieldLabel
101806
101804
  VExpansionPanels: VExpansionPanels
101807
101805
  VExpansionPanel: VExpansionPanel
101808
101806
  VExpansionPanelText: VExpansionPanelText
101809
101807
  VExpansionPanelTitle: VExpansionPanelTitle
101810
- VFileInput: VFileInput
101811
- VDialog: VDialog
101808
+ VFab: VFab
101809
+ VField: VField
101810
+ VFieldLabel: VFieldLabel
101811
+ VFooter: VFooter
101812
101812
  VIcon: VIcon
101813
101813
  VComponentIcon: VComponentIcon
101814
101814
  VSvgIcon: VSvgIcon
101815
101815
  VLigatureIcon: VLigatureIcon
101816
101816
  VClassIcon: VClassIcon
101817
- VImg: VImg
101818
- VInput: VInput
101819
101817
  VInfiniteScroll: VInfiniteScroll
101820
- VKbd: VKbd
101821
- VFooter: VFooter
101818
+ VFileInput: VFileInput
101819
+ VInput: VInput
101820
+ VItemGroup: VItemGroup
101821
+ VItem: VItem
101822
101822
  VLabel: VLabel
101823
+ VKbd: VKbd
101823
101824
  VList: VList
101824
101825
  VListGroup: VListGroup
101825
101826
  VListImg: VListImg
@@ -101829,73 +101830,74 @@ declare module 'vue' {
101829
101830
  VListItemSubtitle: VListItemSubtitle
101830
101831
  VListItemTitle: VListItemTitle
101831
101832
  VListSubheader: VListSubheader
101832
- VItemGroup: VItemGroup
101833
- VItem: VItem
101834
101833
  VMenu: VMenu
101834
+ VImg: VImg
101835
101835
  VMessages: VMessages
101836
- VNumberInput: VNumberInput
101836
+ VNavigationDrawer: VNavigationDrawer
101837
+ VMain: VMain
101837
101838
  VOtpInput: VOtpInput
101838
101839
  VOverlay: VOverlay
101840
+ VProgressLinear: VProgressLinear
101841
+ VNumberInput: VNumberInput
101839
101842
  VPagination: VPagination
101840
- VNavigationDrawer: VNavigationDrawer
101841
101843
  VProgressCircular: VProgressCircular
101842
- VProgressLinear: VProgressLinear
101843
101844
  VRadioGroup: VRadioGroup
101844
101845
  VRating: VRating
101845
- VSelect: VSelect
101846
- VSheet: VSheet
101846
+ VSelectionControl: VSelectionControl
101847
101847
  VSelectionControlGroup: VSelectionControlGroup
101848
- VSnackbar: VSnackbar
101849
- VSlider: VSlider
101848
+ VSkeletonLoader: VSkeletonLoader
101850
101849
  VSlideGroup: VSlideGroup
101851
101850
  VSlideGroupItem: VSlideGroupItem
101852
- VSkeletonLoader: VSkeletonLoader
101851
+ VSheet: VSheet
101852
+ VSlider: VSlider
101853
+ VSelect: VSelect
101854
+ VSnackbar: VSnackbar
101855
+ VSystemBar: VSystemBar
101853
101856
  VStepper: VStepper
101854
101857
  VStepperActions: VStepperActions
101855
101858
  VStepperHeader: VStepperHeader
101856
101859
  VStepperItem: VStepperItem
101857
101860
  VStepperWindow: VStepperWindow
101858
101861
  VStepperWindowItem: VStepperWindowItem
101859
- VSelectionControl: VSelectionControl
101860
101862
  VSwitch: VSwitch
101861
101863
  VTab: VTab
101862
101864
  VTabs: VTabs
101863
101865
  VTabsWindow: VTabsWindow
101864
101866
  VTabsWindowItem: VTabsWindowItem
101865
- VSystemBar: VSystemBar
101866
- VTable: VTable
101867
- VTextarea: VTextarea
101868
101867
  VTextField: VTextField
101868
+ VTextarea: VTextarea
101869
101869
  VTimeline: VTimeline
101870
101870
  VTimelineItem: VTimelineItem
101871
- VTooltip: VTooltip
101872
101871
  VToolbar: VToolbar
101873
101872
  VToolbarTitle: VToolbarTitle
101874
101873
  VToolbarItems: VToolbarItems
101875
101874
  VWindow: VWindow
101876
101875
  VWindowItem: VWindowItem
101876
+ VDataIterator: VDataIterator
101877
101877
  VConfirmEdit: VConfirmEdit
101878
101878
  VDefaultsProvider: VDefaultsProvider
101879
- VDataIterator: VDataIterator
101880
- VForm: VForm
101881
101879
  VContainer: VContainer
101882
101880
  VCol: VCol
101883
101881
  VRow: VRow
101884
101882
  VSpacer: VSpacer
101883
+ VForm: VForm
101885
101884
  VHover: VHover
101886
101885
  VLayout: VLayout
101887
101886
  VLayoutItem: VLayoutItem
101887
+ VLazy: VLazy
101888
+ VLocaleProvider: VLocaleProvider
101888
101889
  VNoSsr: VNoSsr
101889
101890
  VParallax: VParallax
101890
- VRangeSlider: VRangeSlider
101891
- VResponsive: VResponsive
101892
101891
  VRadio: VRadio
101893
- VSparkline: VSparkline
101892
+ VRangeSlider: VRangeSlider
101894
101893
  VSpeedDial: VSpeedDial
101894
+ VResponsive: VResponsive
101895
101895
  VSnackbarQueue: VSnackbarQueue
101896
- VValidation: VValidation
101897
- VVirtualScroll: VVirtualScroll
101896
+ VSparkline: VSparkline
101898
101897
  VThemeProvider: VThemeProvider
101898
+ VValidation: VValidation
101899
+ VTooltip: VTooltip
101900
+ VTable: VTable
101899
101901
  VFabTransition: VFabTransition
101900
101902
  VDialogBottomTransition: VDialogBottomTransition
101901
101903
  VDialogTopTransition: VDialogTopTransition
@@ -101912,9 +101914,9 @@ declare module 'vue' {
101912
101914
  VExpandTransition: VExpandTransition
101913
101915
  VExpandXTransition: VExpandXTransition
101914
101916
  VDialogTransition: VDialogTransition
101915
- VMain: VMain
101916
- VLocaleProvider: VLocaleProvider
101917
- VLazy: VLazy
101917
+ VVirtualScroll: VVirtualScroll
101918
+ VIconBtn: VIconBtn
101919
+ VColorInput: VColorInput
101918
101920
  VCalendar: VCalendar
101919
101921
  VCalendarDay: VCalendarDay
101920
101922
  VCalendarHeader: VCalendarHeader
@@ -101923,20 +101925,18 @@ declare module 'vue' {
101923
101925
  VCalendarMonthDay: VCalendarMonthDay
101924
101926
  VFileUpload: VFileUpload
101925
101927
  VFileUploadItem: VFileUploadItem
101926
- VStepperVertical: VStepperVertical
101927
- VStepperVerticalItem: VStepperVerticalItem
101928
- VStepperVerticalActions: VStepperVerticalActions
101929
- VColorInput: VColorInput
101930
- VIconBtn: VIconBtn
101931
- VPicker: VPicker
101932
- VPickerTitle: VPickerTitle
101933
101928
  VTreeview: VTreeview
101934
101929
  VTreeviewItem: VTreeviewItem
101935
101930
  VTreeviewGroup: VTreeviewGroup
101936
- VDateInput: VDateInput
101937
101931
  VTimePicker: VTimePicker
101938
101932
  VTimePickerClock: VTimePickerClock
101939
101933
  VTimePickerControls: VTimePickerControls
101934
+ VStepperVertical: VStepperVertical
101935
+ VStepperVerticalItem: VStepperVerticalItem
101936
+ VStepperVerticalActions: VStepperVerticalActions
101937
+ VDateInput: VDateInput
101940
101938
  VPullToRefresh: VPullToRefresh
101939
+ VPicker: VPicker
101940
+ VPickerTitle: VPickerTitle
101941
101941
  }
101942
101942
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.6-master.2025-05-22
2
+ * Vuetify v3.8.6-master.2025-05-24
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -587,6 +587,21 @@ function checkPrintable(e) {
587
587
  function isPrimitive(value) {
588
588
  return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
589
589
  }
590
+ function extractNumber(text, decimalDigitsLimit) {
591
+ const cleanText = text.split('').filter(x => /[\d\-.]/.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||
592
+ // sign allowed at the start
593
+ x === '.' && i === all.indexOf('.') ||
594
+ // decimal separator allowed only once
595
+ /\d/.test(x)).join('');
596
+ if (decimalDigitsLimit === 0) {
597
+ return cleanText.split('.')[0];
598
+ }
599
+ if (decimalDigitsLimit !== null && /\.\d/.test(cleanText)) {
600
+ const parts = cleanText.split('.');
601
+ return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join('.');
602
+ }
603
+ return cleanText;
604
+ }
590
605
 
591
606
  // Utilities
592
607
  const block = ['top', 'bottom'];
@@ -6542,7 +6557,8 @@ function useInputIcon(props) {
6542
6557
  function InputIcon(_ref) {
6543
6558
  let {
6544
6559
  name,
6545
- color
6560
+ color,
6561
+ ...attrs
6546
6562
  } = _ref;
6547
6563
  const localeKey = {
6548
6564
  prepend: 'prependAction',
@@ -6559,13 +6575,13 @@ function useInputIcon(props) {
6559
6575
  callEvent(listener, new PointerEvent('click', e));
6560
6576
  }
6561
6577
  const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined;
6562
- return createVNode(VIcon, {
6578
+ return createVNode(VIcon, mergeProps({
6563
6579
  "icon": props[`${name}Icon`],
6564
6580
  "aria-label": label,
6565
6581
  "onClick": listener,
6566
6582
  "onKeydown": onKeydown,
6567
6583
  "color": color
6568
- }, null);
6584
+ }, attrs), null);
6569
6585
  }
6570
6586
  return {
6571
6587
  InputIcon
@@ -11978,12 +11994,14 @@ const VField = genericComponent()({
11978
11994
  props: {
11979
11995
  onFocus: focus,
11980
11996
  onBlur: blur,
11981
- onClick: props['onClick:clear']
11997
+ onClick: props['onClick:clear'],
11998
+ tabindex: -1
11982
11999
  }
11983
12000
  }) : createVNode(InputIcon, {
11984
12001
  "name": "clear",
11985
12002
  "onFocus": focus,
11986
- "onBlur": blur
12003
+ "onBlur": blur,
12004
+ "tabindex": -1
11987
12005
  }, null)]
11988
12006
  })]), [[vShow, props.dirty]])]
11989
12007
  }), hasAppend && createVNode("div", {
@@ -24893,25 +24911,33 @@ const VNumberInput = genericComponent()({
24893
24911
  }
24894
24912
  function onBeforeinput(e) {
24895
24913
  if (!e.data) return;
24896
- const existingTxt = e.target?.value;
24897
- const selectionStart = e.target?.selectionStart;
24898
- const selectionEnd = e.target?.selectionEnd;
24914
+ const inputElement = e.target;
24915
+ const {
24916
+ value: existingTxt,
24917
+ selectionStart,
24918
+ selectionEnd
24919
+ } = inputElement ?? {};
24899
24920
  const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e.data + existingTxt.slice(selectionEnd) : e.data;
24921
+ const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision);
24922
+
24900
24923
  // Only numbers, "-", "." are allowed
24901
24924
  // AND "-", "." are allowed only once
24902
24925
  // AND "-" is only allowed at the start
24903
24926
  if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
24904
24927
  e.preventDefault();
24928
+ inputElement.value = potentialNewNumber;
24905
24929
  }
24906
24930
  if (props.precision == null) return;
24907
24931
 
24908
24932
  // Ignore decimal digits above precision limit
24909
24933
  if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
24910
24934
  e.preventDefault();
24935
+ inputElement.value = potentialNewNumber;
24911
24936
  }
24912
24937
  // Ignore decimal separator when precision = 0
24913
24938
  if (props.precision === 0 && potentialNewInputVal.includes('.')) {
24914
24939
  e.preventDefault();
24940
+ inputElement.value = potentialNewNumber;
24915
24941
  }
24916
24942
  }
24917
24943
  async function onKeydown(e) {
@@ -31985,7 +32011,7 @@ function createVuetify$1() {
31985
32011
  };
31986
32012
  });
31987
32013
  }
31988
- const version$1 = "3.8.6-master.2025-05-22";
32014
+ const version$1 = "3.8.6-master.2025-05-24";
31989
32015
  createVuetify$1.version = version$1;
31990
32016
 
31991
32017
  // Vue's inject() can only be used in setup
@@ -32283,7 +32309,7 @@ var index = /*#__PURE__*/Object.freeze({
32283
32309
 
32284
32310
  /* eslint-disable local-rules/sort-imports */
32285
32311
 
32286
- const version = "3.8.6-master.2025-05-22";
32312
+ const version = "3.8.6-master.2025-05-24";
32287
32313
 
32288
32314
  /* eslint-disable local-rules/sort-imports */
32289
32315