@vuetify/nightly 3.8.2-master.2025-04-27 → 3.8.3-master.2025-04-29

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/dist/vuetify.d.ts CHANGED
@@ -1021,6 +1021,10 @@ declare function connectedLocationStrategy(data: LocationStrategyData, props: St
1021
1021
  y: number;
1022
1022
  };
1023
1023
  contentBox: Box;
1024
+ flipped: {
1025
+ x: boolean;
1026
+ y: boolean;
1027
+ };
1024
1028
  } | undefined;
1025
1029
  };
1026
1030
 
@@ -82963,21 +82967,19 @@ declare module 'vue' {
82963
82967
  VAppBar: VAppBar
82964
82968
  VAppBarNavIcon: VAppBarNavIcon
82965
82969
  VAppBarTitle: VAppBarTitle
82970
+ VAutocomplete: VAutocomplete
82971
+ VApp: VApp
82966
82972
  VAlert: VAlert
82967
82973
  VAlertTitle: VAlertTitle
82968
- VAutocomplete: VAutocomplete
82974
+ VBadge: VBadge
82975
+ VBottomNavigation: VBottomNavigation
82969
82976
  VBanner: VBanner
82970
82977
  VBannerActions: VBannerActions
82971
82978
  VBannerText: VBannerText
82972
- VBadge: VBadge
82973
- VBottomSheet: VBottomSheet
82974
- VAvatar: VAvatar
82975
- VBottomNavigation: VBottomNavigation
82976
82979
  VBreadcrumbs: VBreadcrumbs
82977
82980
  VBreadcrumbsItem: VBreadcrumbsItem
82978
82981
  VBreadcrumbsDivider: VBreadcrumbsDivider
82979
- VBtnToggle: VBtnToggle
82980
- VBtn: VBtn
82982
+ VBottomSheet: VBottomSheet
82981
82983
  VCard: VCard
82982
82984
  VCardActions: VCardActions
82983
82985
  VCardItem: VCardItem
@@ -82985,16 +82987,18 @@ declare module 'vue' {
82985
82987
  VCardText: VCardText
82986
82988
  VCardTitle: VCardTitle
82987
82989
  VBtnGroup: VBtnGroup
82988
- VCheckbox: VCheckbox
82989
- VCheckboxBtn: VCheckboxBtn
82990
+ VBtnToggle: VBtnToggle
82991
+ VBtn: VBtn
82990
82992
  VCarousel: VCarousel
82991
82993
  VCarouselItem: VCarouselItem
82992
- VChip: VChip
82994
+ VCheckbox: VCheckbox
82995
+ VCheckboxBtn: VCheckboxBtn
82993
82996
  VColorPicker: VColorPicker
82997
+ VChip: VChip
82994
82998
  VCombobox: VCombobox
82999
+ VCode: VCode
82995
83000
  VCounter: VCounter
82996
83001
  VChipGroup: VChipGroup
82997
- VCode: VCode
82998
83002
  VDataTable: VDataTable
82999
83003
  VDataTableHeaders: VDataTableHeaders
83000
83004
  VDataTableFooter: VDataTableFooter
@@ -83002,36 +83006,33 @@ declare module 'vue' {
83002
83006
  VDataTableRow: VDataTableRow
83003
83007
  VDataTableVirtual: VDataTableVirtual
83004
83008
  VDataTableServer: VDataTableServer
83009
+ VDivider: VDivider
83005
83010
  VDatePicker: VDatePicker
83006
83011
  VDatePickerControls: VDatePickerControls
83007
83012
  VDatePickerHeader: VDatePickerHeader
83008
83013
  VDatePickerMonth: VDatePickerMonth
83009
83014
  VDatePickerMonths: VDatePickerMonths
83010
83015
  VDatePickerYears: VDatePickerYears
83011
- VDivider: VDivider
83012
83016
  VDialog: VDialog
83017
+ VEmptyState: VEmptyState
83018
+ VFab: VFab
83013
83019
  VExpansionPanels: VExpansionPanels
83014
83020
  VExpansionPanel: VExpansionPanel
83015
83021
  VExpansionPanelText: VExpansionPanelText
83016
83022
  VExpansionPanelTitle: VExpansionPanelTitle
83017
- VEmptyState: VEmptyState
83023
+ VFooter: VFooter
83018
83024
  VField: VField
83019
83025
  VFieldLabel: VFieldLabel
83020
83026
  VFileInput: VFileInput
83021
- VFooter: VFooter
83022
- VFab: VFab
83023
83027
  VIcon: VIcon
83024
83028
  VComponentIcon: VComponentIcon
83025
83029
  VSvgIcon: VSvgIcon
83026
83030
  VLigatureIcon: VLigatureIcon
83027
83031
  VClassIcon: VClassIcon
83028
83032
  VImg: VImg
83029
- VInfiniteScroll: VInfiniteScroll
83030
- VItemGroup: VItemGroup
83031
- VItem: VItem
83032
- VLabel: VLabel
83033
- VKbd: VKbd
83034
83033
  VInput: VInput
83034
+ VKbd: VKbd
83035
+ VInfiniteScroll: VInfiniteScroll
83035
83036
  VList: VList
83036
83037
  VListGroup: VListGroup
83037
83038
  VListImg: VListImg
@@ -83041,28 +83042,30 @@ declare module 'vue' {
83041
83042
  VListItemSubtitle: VListItemSubtitle
83042
83043
  VListItemTitle: VListItemTitle
83043
83044
  VListSubheader: VListSubheader
83044
- VMain: VMain
83045
- VMessages: VMessages
83045
+ VItemGroup: VItemGroup
83046
+ VItem: VItem
83047
+ VLabel: VLabel
83046
83048
  VMenu: VMenu
83047
- VApp: VApp
83048
- VNavigationDrawer: VNavigationDrawer
83049
+ VMessages: VMessages
83049
83050
  VNumberInput: VNumberInput
83050
- VOverlay: VOverlay
83051
+ VMain: VMain
83052
+ VPagination: VPagination
83051
83053
  VOtpInput: VOtpInput
83054
+ VOverlay: VOverlay
83052
83055
  VProgressLinear: VProgressLinear
83053
- VPagination: VPagination
83054
- VRadioGroup: VRadioGroup
83056
+ VProgressCircular: VProgressCircular
83055
83057
  VRating: VRating
83056
- VSelectionControlGroup: VSelectionControlGroup
83057
- VSheet: VSheet
83058
+ VSelect: VSelect
83059
+ VRadioGroup: VRadioGroup
83058
83060
  VSelectionControl: VSelectionControl
83059
83061
  VSlideGroup: VSlideGroup
83060
83062
  VSlideGroupItem: VSlideGroupItem
83063
+ VSelectionControlGroup: VSelectionControlGroup
83064
+ VSheet: VSheet
83065
+ VSkeletonLoader: VSkeletonLoader
83061
83066
  VSnackbar: VSnackbar
83062
- VProgressCircular: VProgressCircular
83063
- VSelect: VSelect
83064
83067
  VSlider: VSlider
83065
- VSkeletonLoader: VSkeletonLoader
83068
+ VSystemBar: VSystemBar
83066
83069
  VSwitch: VSwitch
83067
83070
  VStepper: VStepper
83068
83071
  VStepperActions: VStepperActions
@@ -83070,42 +83073,47 @@ declare module 'vue' {
83070
83073
  VStepperItem: VStepperItem
83071
83074
  VStepperWindow: VStepperWindow
83072
83075
  VStepperWindowItem: VStepperWindowItem
83073
- VSystemBar: VSystemBar
83076
+ VTable: VTable
83074
83077
  VTab: VTab
83075
83078
  VTabs: VTabs
83076
83079
  VTabsWindow: VTabsWindow
83077
83080
  VTabsWindowItem: VTabsWindowItem
83078
83081
  VTextarea: VTextarea
83082
+ VTooltip: VTooltip
83079
83083
  VTextField: VTextField
83080
- VTable: VTable
83081
83084
  VToolbar: VToolbar
83082
83085
  VToolbarTitle: VToolbarTitle
83083
83086
  VToolbarItems: VToolbarItems
83084
- VTooltip: VTooltip
83085
83087
  VTimeline: VTimeline
83086
83088
  VTimelineItem: VTimelineItem
83087
83089
  VWindow: VWindow
83088
83090
  VWindowItem: VWindowItem
83091
+ VAvatar: VAvatar
83092
+ VNavigationDrawer: VNavigationDrawer
83089
83093
  VDataIterator: VDataIterator
83094
+ VConfirmEdit: VConfirmEdit
83090
83095
  VDefaultsProvider: VDefaultsProvider
83091
83096
  VForm: VForm
83092
83097
  VContainer: VContainer
83093
83098
  VCol: VCol
83094
83099
  VRow: VRow
83095
83100
  VSpacer: VSpacer
83096
- VLazy: VLazy
83101
+ VHover: VHover
83097
83102
  VLayout: VLayout
83098
83103
  VLayoutItem: VLayoutItem
83099
- VNoSsr: VNoSsr
83104
+ VLazy: VLazy
83100
83105
  VLocaleProvider: VLocaleProvider
83101
83106
  VParallax: VParallax
83102
- VRangeSlider: VRangeSlider
83107
+ VNoSsr: VNoSsr
83103
83108
  VRadio: VRadio
83109
+ VRangeSlider: VRangeSlider
83104
83110
  VResponsive: VResponsive
83105
- VSpeedDial: VSpeedDial
83106
83111
  VSnackbarQueue: VSnackbarQueue
83112
+ VSparkline: VSparkline
83113
+ VSpeedDial: VSpeedDial
83107
83114
  VThemeProvider: VThemeProvider
83108
83115
  VVirtualScroll: VVirtualScroll
83116
+ VValidation: VValidation
83109
83117
  VFabTransition: VFabTransition
83110
83118
  VDialogBottomTransition: VDialogBottomTransition
83111
83119
  VDialogTopTransition: VDialogTopTransition
@@ -83122,31 +83130,27 @@ declare module 'vue' {
83122
83130
  VExpandTransition: VExpandTransition
83123
83131
  VExpandXTransition: VExpandXTransition
83124
83132
  VDialogTransition: VDialogTransition
83125
- VValidation: VValidation
83126
- VHover: VHover
83127
- VConfirmEdit: VConfirmEdit
83128
- VSparkline: VSparkline
83133
+ VIconBtn: VIconBtn
83134
+ VFileUpload: VFileUpload
83135
+ VFileUploadItem: VFileUploadItem
83129
83136
  VCalendar: VCalendar
83130
83137
  VCalendarDay: VCalendarDay
83131
83138
  VCalendarHeader: VCalendarHeader
83132
83139
  VCalendarInterval: VCalendarInterval
83133
83140
  VCalendarIntervalEvent: VCalendarIntervalEvent
83134
83141
  VCalendarMonthDay: VCalendarMonthDay
83135
- VIconBtn: VIconBtn
83142
+ VPicker: VPicker
83143
+ VPickerTitle: VPickerTitle
83136
83144
  VStepperVertical: VStepperVertical
83137
83145
  VStepperVerticalItem: VStepperVerticalItem
83138
83146
  VStepperVerticalActions: VStepperVerticalActions
83139
- VPicker: VPicker
83140
- VPickerTitle: VPickerTitle
83141
83147
  VTimePicker: VTimePicker
83142
83148
  VTimePickerClock: VTimePickerClock
83143
83149
  VTimePickerControls: VTimePickerControls
83144
- VFileUpload: VFileUpload
83145
- VFileUploadItem: VFileUploadItem
83146
83150
  VTreeview: VTreeview
83147
83151
  VTreeviewItem: VTreeviewItem
83148
83152
  VTreeviewGroup: VTreeviewGroup
83149
- VDateInput: VDateInput
83150
83153
  VPullToRefresh: VPullToRefresh
83154
+ VDateInput: VDateInput
83151
83155
  }
83152
83156
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.2-master.2025-04-27
2
+ * Vuetify v3.8.3-master.2025-04-29
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -335,6 +335,9 @@ class CircularBuffer {
335
335
  _classPrivateFieldInitSpec(this, _pointer, 0);
336
336
  this.size = size;
337
337
  }
338
+ get isFull() {
339
+ return _classPrivateFieldGet(_arr, this).length === this.size;
340
+ }
338
341
  push(val) {
339
342
  _classPrivateFieldGet(_arr, this)[_classPrivateFieldGet(_pointer, this)] = val;
340
343
  _classPrivateFieldSet(_pointer, this, (_classPrivateFieldGet(_pointer, this) + 1) % this.size);
@@ -342,6 +345,10 @@ class CircularBuffer {
342
345
  values() {
343
346
  return _classPrivateFieldGet(_arr, this).slice(_classPrivateFieldGet(_pointer, this)).concat(_classPrivateFieldGet(_arr, this).slice(0, _classPrivateFieldGet(_pointer, this)));
344
347
  }
348
+ clear() {
349
+ _classPrivateFieldGet(_arr, this).length = 0;
350
+ _classPrivateFieldSet(_pointer, this, 0);
351
+ }
345
352
  }
346
353
  function getEventCoordinates(e) {
347
354
  if ('touches' in e) {
@@ -1332,7 +1339,7 @@ function provideDefaults(defaults, options) {
1332
1339
  return newDefaults;
1333
1340
  }
1334
1341
  function propIsDefined(vnode, prop) {
1335
- return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
1342
+ return vnode.props && (typeof vnode.props[prop] !== 'undefined' || typeof vnode.props[toKebabCase(prop)] !== 'undefined');
1336
1343
  }
1337
1344
  function internalUseDefaults() {
1338
1345
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1349,9 +1356,12 @@ function internalUseDefaults() {
1349
1356
  const propValue = Reflect.get(target, prop);
1350
1357
  if (prop === 'class' || prop === 'style') {
1351
1358
  return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
1352
- } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
1353
- return componentDefaults.value?.[prop] !== undefined ? componentDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;
1354
1359
  }
1360
+ if (propIsDefined(vm.vnode, prop)) return propValue;
1361
+ const _componentDefault = componentDefaults.value?.[prop];
1362
+ if (_componentDefault !== undefined) return _componentDefault;
1363
+ const _globalDefault = defaults.value?.global?.[prop];
1364
+ if (_globalDefault !== undefined) return _globalDefault;
1355
1365
  return propValue;
1356
1366
  }
1357
1367
  });
@@ -10382,8 +10392,27 @@ function connectedLocationStrategy(data, props, contentStyles) {
10382
10392
  return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];
10383
10393
  });
10384
10394
  let observe = false;
10395
+ let lastFrame = -1;
10396
+ const flipped = new CircularBuffer(4);
10385
10397
  const observer = new ResizeObserver(() => {
10386
- if (observe) updateLocation();
10398
+ if (!observe) return;
10399
+
10400
+ // Detect consecutive frames
10401
+ requestAnimationFrame(newTime => {
10402
+ if (newTime !== lastFrame) flipped.clear();
10403
+ requestAnimationFrame(newNewTime => {
10404
+ lastFrame = newNewTime;
10405
+ });
10406
+ });
10407
+ if (flipped.isFull) {
10408
+ const values = flipped.values();
10409
+ if (deepEqual(values.at(-1), values.at(-3))) {
10410
+ // Flipping is causing a container resize loop
10411
+ return;
10412
+ }
10413
+ }
10414
+ const result = updateLocation();
10415
+ if (result) flipped.push(result.flipped);
10387
10416
  });
10388
10417
  watch([data.target, data.contentEl], (_ref, _ref2) => {
10389
10418
  let [newTarget, newContentEl] = _ref;
@@ -10598,7 +10627,8 @@ function connectedLocationStrategy(data, props, contentStyles) {
10598
10627
  });
10599
10628
  return {
10600
10629
  available,
10601
- contentBox
10630
+ contentBox,
10631
+ flipped
10602
10632
  };
10603
10633
  }
10604
10634
  watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
@@ -29181,7 +29211,7 @@ function createVuetify$1() {
29181
29211
  };
29182
29212
  });
29183
29213
  }
29184
- const version$1 = "3.8.2-master.2025-04-27";
29214
+ const version$1 = "3.8.3-master.2025-04-29";
29185
29215
  createVuetify$1.version = version$1;
29186
29216
 
29187
29217
  // Vue's inject() can only be used in setup
@@ -29206,7 +29236,7 @@ const createVuetify = function () {
29206
29236
  ...options
29207
29237
  });
29208
29238
  };
29209
- const version = "3.8.2-master.2025-04-27";
29239
+ const version = "3.8.3-master.2025-04-29";
29210
29240
  createVuetify.version = version;
29211
29241
 
29212
29242
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };