@vuetify/nightly 3.8.6-master.2025-05-21 → 3.8.6-master.2025-05-23

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.
@@ -101749,74 +101749,74 @@ declare module 'vue' {
101749
101749
  $children?: VNodeChild
101750
101750
  }
101751
101751
  export interface GlobalComponents {
101752
- VApp: VApp
101753
- VAutocomplete: VAutocomplete
101754
- VAlert: VAlert
101755
- VAlertTitle: VAlertTitle
101756
- VBadge: VBadge
101757
101752
  VAppBar: VAppBar
101758
101753
  VAppBarNavIcon: VAppBarNavIcon
101759
101754
  VAppBarTitle: VAppBarTitle
101760
- VAvatar: VAvatar
101761
- VBreadcrumbs: VBreadcrumbs
101762
- VBreadcrumbsItem: VBreadcrumbsItem
101763
- VBreadcrumbsDivider: VBreadcrumbsDivider
101764
- VBottomNavigation: VBottomNavigation
101765
- VBtn: VBtn
101766
101755
  VBanner: VBanner
101767
101756
  VBannerActions: VBannerActions
101768
101757
  VBannerText: VBannerText
101769
- VBtnToggle: VBtnToggle
101770
- VCarousel: VCarousel
101771
- VCarouselItem: VCarouselItem
101758
+ VApp: VApp
101759
+ VAlert: VAlert
101760
+ VAlertTitle: VAlertTitle
101761
+ VAutocomplete: VAutocomplete
101762
+ VBadge: VBadge
101772
101763
  VBottomSheet: VBottomSheet
101764
+ VAvatar: VAvatar
101765
+ VBottomNavigation: VBottomNavigation
101766
+ VBtnGroup: VBtnGroup
101767
+ VBtn: VBtn
101773
101768
  VCard: VCard
101774
101769
  VCardActions: VCardActions
101775
101770
  VCardItem: VCardItem
101776
101771
  VCardSubtitle: VCardSubtitle
101777
101772
  VCardText: VCardText
101778
101773
  VCardTitle: VCardTitle
101774
+ VBtnToggle: VBtnToggle
101775
+ VCarousel: VCarousel
101776
+ VCarouselItem: VCarouselItem
101779
101777
  VChip: VChip
101778
+ VChipGroup: VChipGroup
101780
101779
  VCheckbox: VCheckbox
101781
101780
  VCheckboxBtn: VCheckboxBtn
101782
- VBtnGroup: VBtnGroup
101781
+ VBreadcrumbs: VBreadcrumbs
101782
+ VBreadcrumbsItem: VBreadcrumbsItem
101783
+ VBreadcrumbsDivider: VBreadcrumbsDivider
101783
101784
  VCode: VCode
101784
101785
  VCombobox: VCombobox
101785
101786
  VCounter: VCounter
101786
- VChipGroup: VChipGroup
101787
101787
  VColorPicker: VColorPicker
101788
- VDialog: VDialog
101788
+ VDataTable: VDataTable
101789
+ VDataTableHeaders: VDataTableHeaders
101790
+ VDataTableFooter: VDataTableFooter
101791
+ VDataTableRows: VDataTableRows
101792
+ VDataTableRow: VDataTableRow
101793
+ VDataTableVirtual: VDataTableVirtual
101794
+ VDataTableServer: VDataTableServer
101789
101795
  VDatePicker: VDatePicker
101790
101796
  VDatePickerControls: VDatePickerControls
101791
101797
  VDatePickerHeader: VDatePickerHeader
101792
101798
  VDatePickerMonth: VDatePickerMonth
101793
101799
  VDatePickerMonths: VDatePickerMonths
101794
101800
  VDatePickerYears: VDatePickerYears
101801
+ VDialog: VDialog
101795
101802
  VDivider: VDivider
101796
- VEmptyState: VEmptyState
101797
101803
  VExpansionPanels: VExpansionPanels
101798
101804
  VExpansionPanel: VExpansionPanel
101799
101805
  VExpansionPanelText: VExpansionPanelText
101800
101806
  VExpansionPanelTitle: VExpansionPanelTitle
101801
101807
  VField: VField
101802
101808
  VFieldLabel: VFieldLabel
101803
- VFab: VFab
101804
- VIcon: VIcon
101805
- VComponentIcon: VComponentIcon
101806
- VSvgIcon: VSvgIcon
101807
- VLigatureIcon: VLigatureIcon
101808
- VClassIcon: VClassIcon
101809
101809
  VFileInput: VFileInput
101810
101810
  VFooter: VFooter
101811
- VInfiniteScroll: VInfiniteScroll
101812
- VLabel: VLabel
101811
+ VEmptyState: VEmptyState
101812
+ VImg: VImg
101813
+ VFab: VFab
101813
101814
  VInput: VInput
101815
+ VKbd: VKbd
101816
+ VInfiniteScroll: VInfiniteScroll
101814
101817
  VItemGroup: VItemGroup
101815
101818
  VItem: VItem
101816
- VImg: VImg
101817
- VKbd: VKbd
101818
- VMessages: VMessages
101819
- VMenu: VMenu
101819
+ VLabel: VLabel
101820
101820
  VList: VList
101821
101821
  VListGroup: VListGroup
101822
101822
  VListImg: VListImg
@@ -101826,68 +101826,70 @@ declare module 'vue' {
101826
101826
  VListItemSubtitle: VListItemSubtitle
101827
101827
  VListItemTitle: VListItemTitle
101828
101828
  VListSubheader: VListSubheader
101829
+ VMessages: VMessages
101830
+ VMain: VMain
101831
+ VNumberInput: VNumberInput
101829
101832
  VNavigationDrawer: VNavigationDrawer
101830
101833
  VOtpInput: VOtpInput
101831
- VNumberInput: VNumberInput
101832
101834
  VOverlay: VOverlay
101835
+ VPagination: VPagination
101833
101836
  VProgressCircular: VProgressCircular
101834
101837
  VRadioGroup: VRadioGroup
101835
101838
  VProgressLinear: VProgressLinear
101836
- VPagination: VPagination
101837
- VSelectionControlGroup: VSelectionControlGroup
101838
101839
  VRating: VRating
101839
101840
  VSelect: VSelect
101840
101841
  VSelectionControl: VSelectionControl
101842
+ VSelectionControlGroup: VSelectionControlGroup
101841
101843
  VSkeletonLoader: VSkeletonLoader
101842
- VMain: VMain
101844
+ VMenu: VMenu
101845
+ VSheet: VSheet
101843
101846
  VSlideGroup: VSlideGroup
101844
101847
  VSlideGroupItem: VSlideGroupItem
101848
+ VSnackbar: VSnackbar
101849
+ VSlider: VSlider
101845
101850
  VStepper: VStepper
101846
101851
  VStepperActions: VStepperActions
101847
101852
  VStepperHeader: VStepperHeader
101848
101853
  VStepperItem: VStepperItem
101849
101854
  VStepperWindow: VStepperWindow
101850
101855
  VStepperWindowItem: VStepperWindowItem
101851
- VSlider: VSlider
101852
- VSheet: VSheet
101853
101856
  VSwitch: VSwitch
101854
- VSnackbar: VSnackbar
101855
- VTab: VTab
101856
- VTabs: VTabs
101857
- VTabsWindow: VTabsWindow
101858
- VTabsWindowItem: VTabsWindowItem
101859
- VTextField: VTextField
101860
101857
  VSystemBar: VSystemBar
101858
+ VTextarea: VTextarea
101859
+ VTextField: VTextField
101861
101860
  VTable: VTable
101862
- VTimeline: VTimeline
101863
- VTimelineItem: VTimelineItem
101864
101861
  VToolbar: VToolbar
101865
101862
  VToolbarTitle: VToolbarTitle
101866
101863
  VToolbarItems: VToolbarItems
101867
101864
  VTooltip: VTooltip
101868
- VTextarea: VTextarea
101865
+ VTimeline: VTimeline
101866
+ VTimelineItem: VTimelineItem
101867
+ VTab: VTab
101868
+ VTabs: VTabs
101869
+ VTabsWindow: VTabsWindow
101870
+ VTabsWindowItem: VTabsWindowItem
101869
101871
  VWindow: VWindow
101870
101872
  VWindowItem: VWindowItem
101871
101873
  VConfirmEdit: VConfirmEdit
101872
101874
  VDataIterator: VDataIterator
101873
- VDefaultsProvider: VDefaultsProvider
101874
101875
  VContainer: VContainer
101875
101876
  VCol: VCol
101876
101877
  VRow: VRow
101877
101878
  VSpacer: VSpacer
101879
+ VHover: VHover
101878
101880
  VForm: VForm
101881
+ VLazy: VLazy
101879
101882
  VLayout: VLayout
101880
101883
  VLayoutItem: VLayoutItem
101881
101884
  VLocaleProvider: VLocaleProvider
101882
- VHover: VHover
101883
101885
  VNoSsr: VNoSsr
101884
101886
  VParallax: VParallax
101885
101887
  VRadio: VRadio
101886
101888
  VRangeSlider: VRangeSlider
101887
101889
  VResponsive: VResponsive
101888
101890
  VSnackbarQueue: VSnackbarQueue
101889
- VSparkline: VSparkline
101890
101891
  VSpeedDial: VSpeedDial
101892
+ VValidation: VValidation
101891
101893
  VThemeProvider: VThemeProvider
101892
101894
  VVirtualScroll: VVirtualScroll
101893
101895
  VFabTransition: VFabTransition
@@ -101906,33 +101908,31 @@ declare module 'vue' {
101906
101908
  VExpandTransition: VExpandTransition
101907
101909
  VExpandXTransition: VExpandXTransition
101908
101910
  VDialogTransition: VDialogTransition
101909
- VDataTable: VDataTable
101910
- VDataTableHeaders: VDataTableHeaders
101911
- VDataTableFooter: VDataTableFooter
101912
- VDataTableRows: VDataTableRows
101913
- VDataTableRow: VDataTableRow
101914
- VDataTableVirtual: VDataTableVirtual
101915
- VDataTableServer: VDataTableServer
101916
- VValidation: VValidation
101917
- VLazy: VLazy
101911
+ VSparkline: VSparkline
101912
+ VIcon: VIcon
101913
+ VComponentIcon: VComponentIcon
101914
+ VSvgIcon: VSvgIcon
101915
+ VLigatureIcon: VLigatureIcon
101916
+ VClassIcon: VClassIcon
101917
+ VDefaultsProvider: VDefaultsProvider
101918
101918
  VCalendar: VCalendar
101919
101919
  VCalendarDay: VCalendarDay
101920
101920
  VCalendarHeader: VCalendarHeader
101921
101921
  VCalendarInterval: VCalendarInterval
101922
101922
  VCalendarIntervalEvent: VCalendarIntervalEvent
101923
101923
  VCalendarMonthDay: VCalendarMonthDay
101924
- VColorInput: VColorInput
101925
101924
  VIconBtn: VIconBtn
101926
- VPicker: VPicker
101927
- VPickerTitle: VPickerTitle
101928
101925
  VFileUpload: VFileUpload
101929
101926
  VFileUploadItem: VFileUploadItem
101930
- VTimePicker: VTimePicker
101931
- VTimePickerClock: VTimePickerClock
101932
- VTimePickerControls: VTimePickerControls
101927
+ VColorInput: VColorInput
101928
+ VPicker: VPicker
101929
+ VPickerTitle: VPickerTitle
101933
101930
  VStepperVertical: VStepperVertical
101934
101931
  VStepperVerticalItem: VStepperVerticalItem
101935
101932
  VStepperVerticalActions: VStepperVerticalActions
101933
+ VTimePicker: VTimePicker
101934
+ VTimePickerClock: VTimePickerClock
101935
+ VTimePickerControls: VTimePickerControls
101936
101936
  VTreeview: VTreeview
101937
101937
  VTreeviewItem: VTreeviewItem
101938
101938
  VTreeviewGroup: VTreeviewGroup
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.6-master.2025-05-21
2
+ * Vuetify v3.8.6-master.2025-05-23
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'];
@@ -691,6 +706,33 @@ function getTargetBox(target) {
691
706
  return target.getBoundingClientRect();
692
707
  }
693
708
  }
709
+ function getElementBox(el) {
710
+ if (el === document.documentElement) {
711
+ if (!visualViewport) {
712
+ return new Box({
713
+ x: 0,
714
+ y: 0,
715
+ width: document.documentElement.clientWidth,
716
+ height: document.documentElement.clientHeight
717
+ });
718
+ } else {
719
+ return new Box({
720
+ x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
721
+ y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
722
+ width: visualViewport.width * visualViewport.scale,
723
+ height: visualViewport.height * visualViewport.scale
724
+ });
725
+ }
726
+ } else {
727
+ const rect = el.getBoundingClientRect();
728
+ return new Box({
729
+ x: rect.x,
730
+ y: rect.y,
731
+ width: el.clientWidth,
732
+ height: el.clientHeight
733
+ });
734
+ }
735
+ }
694
736
 
695
737
  // Utilities
696
738
 
@@ -9996,11 +10038,19 @@ function useLocationStrategies(props, data) {
9996
10038
  watch(() => props.locationStrategy, reset);
9997
10039
  onScopeDispose(() => {
9998
10040
  window.removeEventListener('resize', onResize);
10041
+ visualViewport?.removeEventListener('resize', onVisualResize);
10042
+ visualViewport?.removeEventListener('scroll', onVisualScroll);
9999
10043
  updateLocation.value = undefined;
10000
10044
  });
10001
10045
  window.addEventListener('resize', onResize, {
10002
10046
  passive: true
10003
10047
  });
10048
+ visualViewport?.addEventListener('resize', onVisualResize, {
10049
+ passive: true
10050
+ });
10051
+ visualViewport?.addEventListener('scroll', onVisualScroll, {
10052
+ passive: true
10053
+ });
10004
10054
  if (typeof props.locationStrategy === 'function') {
10005
10055
  updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation;
10006
10056
  } else {
@@ -10011,6 +10061,12 @@ function useLocationStrategies(props, data) {
10011
10061
  function onResize(e) {
10012
10062
  updateLocation.value?.(e);
10013
10063
  }
10064
+ function onVisualResize(e) {
10065
+ updateLocation.value?.(e);
10066
+ }
10067
+ function onVisualScroll(e) {
10068
+ updateLocation.value?.(e);
10069
+ }
10014
10070
  return {
10015
10071
  contentStyles,
10016
10072
  updateLocation
@@ -10162,13 +10218,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
10162
10218
  }
10163
10219
  }
10164
10220
  const viewport = scrollParents.reduce((box, el) => {
10165
- const rect = el.getBoundingClientRect();
10166
- const scrollBox = new Box({
10167
- x: el === document.documentElement ? 0 : rect.x,
10168
- y: el === document.documentElement ? 0 : rect.y,
10169
- width: el.clientWidth,
10170
- height: el.clientHeight
10171
- });
10221
+ const scrollBox = getElementBox(el);
10172
10222
  if (box) {
10173
10223
  return new Box({
10174
10224
  x: Math.max(box.left, scrollBox.left),
@@ -24858,25 +24908,33 @@ const VNumberInput = genericComponent()({
24858
24908
  }
24859
24909
  function onBeforeinput(e) {
24860
24910
  if (!e.data) return;
24861
- const existingTxt = e.target?.value;
24862
- const selectionStart = e.target?.selectionStart;
24863
- const selectionEnd = e.target?.selectionEnd;
24911
+ const inputElement = e.target;
24912
+ const {
24913
+ value: existingTxt,
24914
+ selectionStart,
24915
+ selectionEnd
24916
+ } = inputElement ?? {};
24864
24917
  const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e.data + existingTxt.slice(selectionEnd) : e.data;
24918
+ const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision);
24919
+
24865
24920
  // Only numbers, "-", "." are allowed
24866
24921
  // AND "-", "." are allowed only once
24867
24922
  // AND "-" is only allowed at the start
24868
24923
  if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
24869
24924
  e.preventDefault();
24925
+ inputElement.value = potentialNewNumber;
24870
24926
  }
24871
24927
  if (props.precision == null) return;
24872
24928
 
24873
24929
  // Ignore decimal digits above precision limit
24874
24930
  if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
24875
24931
  e.preventDefault();
24932
+ inputElement.value = potentialNewNumber;
24876
24933
  }
24877
24934
  // Ignore decimal separator when precision = 0
24878
24935
  if (props.precision === 0 && potentialNewInputVal.includes('.')) {
24879
24936
  e.preventDefault();
24937
+ inputElement.value = potentialNewNumber;
24880
24938
  }
24881
24939
  }
24882
24940
  async function onKeydown(e) {
@@ -31950,7 +32008,7 @@ function createVuetify$1() {
31950
32008
  };
31951
32009
  });
31952
32010
  }
31953
- const version$1 = "3.8.6-master.2025-05-21";
32011
+ const version$1 = "3.8.6-master.2025-05-23";
31954
32012
  createVuetify$1.version = version$1;
31955
32013
 
31956
32014
  // Vue's inject() can only be used in setup
@@ -32248,7 +32306,7 @@ var index = /*#__PURE__*/Object.freeze({
32248
32306
 
32249
32307
  /* eslint-disable local-rules/sort-imports */
32250
32308
 
32251
- const version = "3.8.6-master.2025-05-21";
32309
+ const version = "3.8.6-master.2025-05-23";
32252
32310
 
32253
32311
  /* eslint-disable local-rules/sort-imports */
32254
32312