@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.
- package/CHANGELOG.md +13 -3
- package/dist/json/attributes.json +3362 -3362
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +182 -182
- package/dist/json/web-types.json +6228 -6228
- package/dist/vuetify-labs.cjs +71 -13
- package/dist/vuetify-labs.css +5702 -5702
- package/dist/vuetify-labs.d.ts +63 -63
- package/dist/vuetify-labs.esm.js +71 -13
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +71 -13
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +71 -13
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4058 -4058
- package/dist/vuetify.d.ts +63 -63
- package/dist/vuetify.esm.js +71 -13
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +71 -13
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +12 -7
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +12 -4
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +16 -8
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +63 -63
- package/lib/framework.js +1 -1
- package/lib/util/box.d.ts +1 -0
- package/lib/util/box.js +27 -0
- package/lib/util/box.js.map +1 -1
- package/lib/util/helpers.d.ts +1 -0
- package/lib/util/helpers.js +15 -0
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.d.ts
CHANGED
@@ -85877,74 +85877,74 @@ declare module 'vue' {
|
|
85877
85877
|
$children?: VNodeChild
|
85878
85878
|
}
|
85879
85879
|
export interface GlobalComponents {
|
85880
|
-
VApp: VApp
|
85881
|
-
VAutocomplete: VAutocomplete
|
85882
|
-
VAlert: VAlert
|
85883
|
-
VAlertTitle: VAlertTitle
|
85884
|
-
VBadge: VBadge
|
85885
85880
|
VAppBar: VAppBar
|
85886
85881
|
VAppBarNavIcon: VAppBarNavIcon
|
85887
85882
|
VAppBarTitle: VAppBarTitle
|
85888
|
-
VAvatar: VAvatar
|
85889
|
-
VBreadcrumbs: VBreadcrumbs
|
85890
|
-
VBreadcrumbsItem: VBreadcrumbsItem
|
85891
|
-
VBreadcrumbsDivider: VBreadcrumbsDivider
|
85892
|
-
VBottomNavigation: VBottomNavigation
|
85893
|
-
VBtn: VBtn
|
85894
85883
|
VBanner: VBanner
|
85895
85884
|
VBannerActions: VBannerActions
|
85896
85885
|
VBannerText: VBannerText
|
85897
|
-
|
85898
|
-
|
85899
|
-
|
85886
|
+
VApp: VApp
|
85887
|
+
VAlert: VAlert
|
85888
|
+
VAlertTitle: VAlertTitle
|
85889
|
+
VAutocomplete: VAutocomplete
|
85890
|
+
VBadge: VBadge
|
85900
85891
|
VBottomSheet: VBottomSheet
|
85892
|
+
VAvatar: VAvatar
|
85893
|
+
VBottomNavigation: VBottomNavigation
|
85894
|
+
VBtnGroup: VBtnGroup
|
85895
|
+
VBtn: VBtn
|
85901
85896
|
VCard: VCard
|
85902
85897
|
VCardActions: VCardActions
|
85903
85898
|
VCardItem: VCardItem
|
85904
85899
|
VCardSubtitle: VCardSubtitle
|
85905
85900
|
VCardText: VCardText
|
85906
85901
|
VCardTitle: VCardTitle
|
85902
|
+
VBtnToggle: VBtnToggle
|
85903
|
+
VCarousel: VCarousel
|
85904
|
+
VCarouselItem: VCarouselItem
|
85907
85905
|
VChip: VChip
|
85906
|
+
VChipGroup: VChipGroup
|
85908
85907
|
VCheckbox: VCheckbox
|
85909
85908
|
VCheckboxBtn: VCheckboxBtn
|
85910
|
-
|
85909
|
+
VBreadcrumbs: VBreadcrumbs
|
85910
|
+
VBreadcrumbsItem: VBreadcrumbsItem
|
85911
|
+
VBreadcrumbsDivider: VBreadcrumbsDivider
|
85911
85912
|
VCode: VCode
|
85912
85913
|
VCombobox: VCombobox
|
85913
85914
|
VCounter: VCounter
|
85914
|
-
VChipGroup: VChipGroup
|
85915
85915
|
VColorPicker: VColorPicker
|
85916
|
-
|
85916
|
+
VDataTable: VDataTable
|
85917
|
+
VDataTableHeaders: VDataTableHeaders
|
85918
|
+
VDataTableFooter: VDataTableFooter
|
85919
|
+
VDataTableRows: VDataTableRows
|
85920
|
+
VDataTableRow: VDataTableRow
|
85921
|
+
VDataTableVirtual: VDataTableVirtual
|
85922
|
+
VDataTableServer: VDataTableServer
|
85917
85923
|
VDatePicker: VDatePicker
|
85918
85924
|
VDatePickerControls: VDatePickerControls
|
85919
85925
|
VDatePickerHeader: VDatePickerHeader
|
85920
85926
|
VDatePickerMonth: VDatePickerMonth
|
85921
85927
|
VDatePickerMonths: VDatePickerMonths
|
85922
85928
|
VDatePickerYears: VDatePickerYears
|
85929
|
+
VDialog: VDialog
|
85923
85930
|
VDivider: VDivider
|
85924
|
-
VEmptyState: VEmptyState
|
85925
85931
|
VExpansionPanels: VExpansionPanels
|
85926
85932
|
VExpansionPanel: VExpansionPanel
|
85927
85933
|
VExpansionPanelText: VExpansionPanelText
|
85928
85934
|
VExpansionPanelTitle: VExpansionPanelTitle
|
85929
85935
|
VField: VField
|
85930
85936
|
VFieldLabel: VFieldLabel
|
85931
|
-
VFab: VFab
|
85932
|
-
VIcon: VIcon
|
85933
|
-
VComponentIcon: VComponentIcon
|
85934
|
-
VSvgIcon: VSvgIcon
|
85935
|
-
VLigatureIcon: VLigatureIcon
|
85936
|
-
VClassIcon: VClassIcon
|
85937
85937
|
VFileInput: VFileInput
|
85938
85938
|
VFooter: VFooter
|
85939
|
-
|
85940
|
-
|
85939
|
+
VEmptyState: VEmptyState
|
85940
|
+
VImg: VImg
|
85941
|
+
VFab: VFab
|
85941
85942
|
VInput: VInput
|
85943
|
+
VKbd: VKbd
|
85944
|
+
VInfiniteScroll: VInfiniteScroll
|
85942
85945
|
VItemGroup: VItemGroup
|
85943
85946
|
VItem: VItem
|
85944
|
-
|
85945
|
-
VKbd: VKbd
|
85946
|
-
VMessages: VMessages
|
85947
|
-
VMenu: VMenu
|
85947
|
+
VLabel: VLabel
|
85948
85948
|
VList: VList
|
85949
85949
|
VListGroup: VListGroup
|
85950
85950
|
VListImg: VListImg
|
@@ -85954,68 +85954,70 @@ declare module 'vue' {
|
|
85954
85954
|
VListItemSubtitle: VListItemSubtitle
|
85955
85955
|
VListItemTitle: VListItemTitle
|
85956
85956
|
VListSubheader: VListSubheader
|
85957
|
+
VMessages: VMessages
|
85958
|
+
VMain: VMain
|
85959
|
+
VNumberInput: VNumberInput
|
85957
85960
|
VNavigationDrawer: VNavigationDrawer
|
85958
85961
|
VOtpInput: VOtpInput
|
85959
|
-
VNumberInput: VNumberInput
|
85960
85962
|
VOverlay: VOverlay
|
85963
|
+
VPagination: VPagination
|
85961
85964
|
VProgressCircular: VProgressCircular
|
85962
85965
|
VRadioGroup: VRadioGroup
|
85963
85966
|
VProgressLinear: VProgressLinear
|
85964
|
-
VPagination: VPagination
|
85965
|
-
VSelectionControlGroup: VSelectionControlGroup
|
85966
85967
|
VRating: VRating
|
85967
85968
|
VSelect: VSelect
|
85968
85969
|
VSelectionControl: VSelectionControl
|
85970
|
+
VSelectionControlGroup: VSelectionControlGroup
|
85969
85971
|
VSkeletonLoader: VSkeletonLoader
|
85970
|
-
|
85972
|
+
VMenu: VMenu
|
85973
|
+
VSheet: VSheet
|
85971
85974
|
VSlideGroup: VSlideGroup
|
85972
85975
|
VSlideGroupItem: VSlideGroupItem
|
85976
|
+
VSnackbar: VSnackbar
|
85977
|
+
VSlider: VSlider
|
85973
85978
|
VStepper: VStepper
|
85974
85979
|
VStepperActions: VStepperActions
|
85975
85980
|
VStepperHeader: VStepperHeader
|
85976
85981
|
VStepperItem: VStepperItem
|
85977
85982
|
VStepperWindow: VStepperWindow
|
85978
85983
|
VStepperWindowItem: VStepperWindowItem
|
85979
|
-
VSlider: VSlider
|
85980
|
-
VSheet: VSheet
|
85981
85984
|
VSwitch: VSwitch
|
85982
|
-
VSnackbar: VSnackbar
|
85983
|
-
VTab: VTab
|
85984
|
-
VTabs: VTabs
|
85985
|
-
VTabsWindow: VTabsWindow
|
85986
|
-
VTabsWindowItem: VTabsWindowItem
|
85987
|
-
VTextField: VTextField
|
85988
85985
|
VSystemBar: VSystemBar
|
85986
|
+
VTextarea: VTextarea
|
85987
|
+
VTextField: VTextField
|
85989
85988
|
VTable: VTable
|
85990
|
-
VTimeline: VTimeline
|
85991
|
-
VTimelineItem: VTimelineItem
|
85992
85989
|
VToolbar: VToolbar
|
85993
85990
|
VToolbarTitle: VToolbarTitle
|
85994
85991
|
VToolbarItems: VToolbarItems
|
85995
85992
|
VTooltip: VTooltip
|
85996
|
-
|
85993
|
+
VTimeline: VTimeline
|
85994
|
+
VTimelineItem: VTimelineItem
|
85995
|
+
VTab: VTab
|
85996
|
+
VTabs: VTabs
|
85997
|
+
VTabsWindow: VTabsWindow
|
85998
|
+
VTabsWindowItem: VTabsWindowItem
|
85997
85999
|
VWindow: VWindow
|
85998
86000
|
VWindowItem: VWindowItem
|
85999
86001
|
VConfirmEdit: VConfirmEdit
|
86000
86002
|
VDataIterator: VDataIterator
|
86001
|
-
VDefaultsProvider: VDefaultsProvider
|
86002
86003
|
VContainer: VContainer
|
86003
86004
|
VCol: VCol
|
86004
86005
|
VRow: VRow
|
86005
86006
|
VSpacer: VSpacer
|
86007
|
+
VHover: VHover
|
86006
86008
|
VForm: VForm
|
86009
|
+
VLazy: VLazy
|
86007
86010
|
VLayout: VLayout
|
86008
86011
|
VLayoutItem: VLayoutItem
|
86009
86012
|
VLocaleProvider: VLocaleProvider
|
86010
|
-
VHover: VHover
|
86011
86013
|
VNoSsr: VNoSsr
|
86012
86014
|
VParallax: VParallax
|
86013
86015
|
VRadio: VRadio
|
86014
86016
|
VRangeSlider: VRangeSlider
|
86015
86017
|
VResponsive: VResponsive
|
86016
86018
|
VSnackbarQueue: VSnackbarQueue
|
86017
|
-
VSparkline: VSparkline
|
86018
86019
|
VSpeedDial: VSpeedDial
|
86020
|
+
VValidation: VValidation
|
86019
86021
|
VThemeProvider: VThemeProvider
|
86020
86022
|
VVirtualScroll: VVirtualScroll
|
86021
86023
|
VFabTransition: VFabTransition
|
@@ -86034,33 +86036,31 @@ declare module 'vue' {
|
|
86034
86036
|
VExpandTransition: VExpandTransition
|
86035
86037
|
VExpandXTransition: VExpandXTransition
|
86036
86038
|
VDialogTransition: VDialogTransition
|
86037
|
-
|
86038
|
-
|
86039
|
-
|
86040
|
-
|
86041
|
-
|
86042
|
-
|
86043
|
-
|
86044
|
-
VValidation: VValidation
|
86045
|
-
VLazy: VLazy
|
86039
|
+
VSparkline: VSparkline
|
86040
|
+
VIcon: VIcon
|
86041
|
+
VComponentIcon: VComponentIcon
|
86042
|
+
VSvgIcon: VSvgIcon
|
86043
|
+
VLigatureIcon: VLigatureIcon
|
86044
|
+
VClassIcon: VClassIcon
|
86045
|
+
VDefaultsProvider: VDefaultsProvider
|
86046
86046
|
VCalendar: VCalendar
|
86047
86047
|
VCalendarDay: VCalendarDay
|
86048
86048
|
VCalendarHeader: VCalendarHeader
|
86049
86049
|
VCalendarInterval: VCalendarInterval
|
86050
86050
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
86051
86051
|
VCalendarMonthDay: VCalendarMonthDay
|
86052
|
-
VColorInput: VColorInput
|
86053
86052
|
VIconBtn: VIconBtn
|
86054
|
-
VPicker: VPicker
|
86055
|
-
VPickerTitle: VPickerTitle
|
86056
86053
|
VFileUpload: VFileUpload
|
86057
86054
|
VFileUploadItem: VFileUploadItem
|
86058
|
-
|
86059
|
-
|
86060
|
-
|
86055
|
+
VColorInput: VColorInput
|
86056
|
+
VPicker: VPicker
|
86057
|
+
VPickerTitle: VPickerTitle
|
86061
86058
|
VStepperVertical: VStepperVertical
|
86062
86059
|
VStepperVerticalItem: VStepperVerticalItem
|
86063
86060
|
VStepperVerticalActions: VStepperVerticalActions
|
86061
|
+
VTimePicker: VTimePicker
|
86062
|
+
VTimePickerClock: VTimePickerClock
|
86063
|
+
VTimePickerControls: VTimePickerControls
|
86064
86064
|
VTreeview: VTreeview
|
86065
86065
|
VTreeviewItem: VTreeviewItem
|
86066
86066
|
VTreeviewGroup: VTreeviewGroup
|
package/dist/vuetify.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.6-master.2025-05-
|
2
|
+
* Vuetify v3.8.6-master.2025-05-23
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -510,6 +510,21 @@ function checkPrintable(e) {
|
|
510
510
|
function isPrimitive(value) {
|
511
511
|
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
|
512
512
|
}
|
513
|
+
function extractNumber(text, decimalDigitsLimit) {
|
514
|
+
const cleanText = text.split('').filter(x => /[\d\-.]/.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||
|
515
|
+
// sign allowed at the start
|
516
|
+
x === '.' && i === all.indexOf('.') ||
|
517
|
+
// decimal separator allowed only once
|
518
|
+
/\d/.test(x)).join('');
|
519
|
+
if (decimalDigitsLimit === 0) {
|
520
|
+
return cleanText.split('.')[0];
|
521
|
+
}
|
522
|
+
if (decimalDigitsLimit !== null && /\.\d/.test(cleanText)) {
|
523
|
+
const parts = cleanText.split('.');
|
524
|
+
return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join('.');
|
525
|
+
}
|
526
|
+
return cleanText;
|
527
|
+
}
|
513
528
|
|
514
529
|
// Utilities
|
515
530
|
const block = ['top', 'bottom'];
|
@@ -614,6 +629,33 @@ function getTargetBox(target) {
|
|
614
629
|
return target.getBoundingClientRect();
|
615
630
|
}
|
616
631
|
}
|
632
|
+
function getElementBox(el) {
|
633
|
+
if (el === document.documentElement) {
|
634
|
+
if (!visualViewport) {
|
635
|
+
return new Box({
|
636
|
+
x: 0,
|
637
|
+
y: 0,
|
638
|
+
width: document.documentElement.clientWidth,
|
639
|
+
height: document.documentElement.clientHeight
|
640
|
+
});
|
641
|
+
} else {
|
642
|
+
return new Box({
|
643
|
+
x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
|
644
|
+
y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
|
645
|
+
width: visualViewport.width * visualViewport.scale,
|
646
|
+
height: visualViewport.height * visualViewport.scale
|
647
|
+
});
|
648
|
+
}
|
649
|
+
} else {
|
650
|
+
const rect = el.getBoundingClientRect();
|
651
|
+
return new Box({
|
652
|
+
x: rect.x,
|
653
|
+
y: rect.y,
|
654
|
+
width: el.clientWidth,
|
655
|
+
height: el.clientHeight
|
656
|
+
});
|
657
|
+
}
|
658
|
+
}
|
617
659
|
|
618
660
|
// Utilities
|
619
661
|
|
@@ -10274,11 +10316,19 @@ function useLocationStrategies(props, data) {
|
|
10274
10316
|
watch(() => props.locationStrategy, reset);
|
10275
10317
|
onScopeDispose(() => {
|
10276
10318
|
window.removeEventListener('resize', onResize);
|
10319
|
+
visualViewport?.removeEventListener('resize', onVisualResize);
|
10320
|
+
visualViewport?.removeEventListener('scroll', onVisualScroll);
|
10277
10321
|
updateLocation.value = undefined;
|
10278
10322
|
});
|
10279
10323
|
window.addEventListener('resize', onResize, {
|
10280
10324
|
passive: true
|
10281
10325
|
});
|
10326
|
+
visualViewport?.addEventListener('resize', onVisualResize, {
|
10327
|
+
passive: true
|
10328
|
+
});
|
10329
|
+
visualViewport?.addEventListener('scroll', onVisualScroll, {
|
10330
|
+
passive: true
|
10331
|
+
});
|
10282
10332
|
if (typeof props.locationStrategy === 'function') {
|
10283
10333
|
updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation;
|
10284
10334
|
} else {
|
@@ -10289,6 +10339,12 @@ function useLocationStrategies(props, data) {
|
|
10289
10339
|
function onResize(e) {
|
10290
10340
|
updateLocation.value?.(e);
|
10291
10341
|
}
|
10342
|
+
function onVisualResize(e) {
|
10343
|
+
updateLocation.value?.(e);
|
10344
|
+
}
|
10345
|
+
function onVisualScroll(e) {
|
10346
|
+
updateLocation.value?.(e);
|
10347
|
+
}
|
10292
10348
|
return {
|
10293
10349
|
contentStyles,
|
10294
10350
|
updateLocation
|
@@ -10440,13 +10496,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
10440
10496
|
}
|
10441
10497
|
}
|
10442
10498
|
const viewport = scrollParents.reduce((box, el) => {
|
10443
|
-
const
|
10444
|
-
const scrollBox = new Box({
|
10445
|
-
x: el === document.documentElement ? 0 : rect.x,
|
10446
|
-
y: el === document.documentElement ? 0 : rect.y,
|
10447
|
-
width: el.clientWidth,
|
10448
|
-
height: el.clientHeight
|
10449
|
-
});
|
10499
|
+
const scrollBox = getElementBox(el);
|
10450
10500
|
if (box) {
|
10451
10501
|
return new Box({
|
10452
10502
|
x: Math.max(box.left, scrollBox.left),
|
@@ -25136,25 +25186,33 @@ const VNumberInput = genericComponent()({
|
|
25136
25186
|
}
|
25137
25187
|
function onBeforeinput(e) {
|
25138
25188
|
if (!e.data) return;
|
25139
|
-
const
|
25140
|
-
const
|
25141
|
-
|
25189
|
+
const inputElement = e.target;
|
25190
|
+
const {
|
25191
|
+
value: existingTxt,
|
25192
|
+
selectionStart,
|
25193
|
+
selectionEnd
|
25194
|
+
} = inputElement ?? {};
|
25142
25195
|
const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e.data + existingTxt.slice(selectionEnd) : e.data;
|
25196
|
+
const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision);
|
25197
|
+
|
25143
25198
|
// Only numbers, "-", "." are allowed
|
25144
25199
|
// AND "-", "." are allowed only once
|
25145
25200
|
// AND "-" is only allowed at the start
|
25146
25201
|
if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
|
25147
25202
|
e.preventDefault();
|
25203
|
+
inputElement.value = potentialNewNumber;
|
25148
25204
|
}
|
25149
25205
|
if (props.precision == null) return;
|
25150
25206
|
|
25151
25207
|
// Ignore decimal digits above precision limit
|
25152
25208
|
if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
|
25153
25209
|
e.preventDefault();
|
25210
|
+
inputElement.value = potentialNewNumber;
|
25154
25211
|
}
|
25155
25212
|
// Ignore decimal separator when precision = 0
|
25156
25213
|
if (props.precision === 0 && potentialNewInputVal.includes('.')) {
|
25157
25214
|
e.preventDefault();
|
25215
|
+
inputElement.value = potentialNewNumber;
|
25158
25216
|
}
|
25159
25217
|
}
|
25160
25218
|
async function onKeydown(e) {
|
@@ -29255,7 +29313,7 @@ function createVuetify$1() {
|
|
29255
29313
|
};
|
29256
29314
|
});
|
29257
29315
|
}
|
29258
|
-
const version$1 = "3.8.6-master.2025-05-
|
29316
|
+
const version$1 = "3.8.6-master.2025-05-23";
|
29259
29317
|
createVuetify$1.version = version$1;
|
29260
29318
|
|
29261
29319
|
// Vue's inject() can only be used in setup
|
@@ -29280,7 +29338,7 @@ const createVuetify = function () {
|
|
29280
29338
|
...options
|
29281
29339
|
});
|
29282
29340
|
};
|
29283
|
-
const version = "3.8.6-master.2025-05-
|
29341
|
+
const version = "3.8.6-master.2025-05-23";
|
29284
29342
|
createVuetify.version = version;
|
29285
29343
|
|
29286
29344
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|