@vuetify/nightly 3.10.9-dev.2025-11-05 → 3.10.9-dev.2025-11-08

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 (62) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/json/attributes.json +1165 -1113
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +166 -166
  5. package/dist/json/tags.json +14 -1
  6. package/dist/json/web-types.json +2215 -2091
  7. package/dist/vuetify-labs.cjs +79 -38
  8. package/dist/vuetify-labs.css +5133 -5126
  9. package/dist/vuetify-labs.d.ts +398 -133
  10. package/dist/vuetify-labs.esm.js +79 -38
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +79 -38
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +79 -38
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +2945 -2938
  17. package/dist/vuetify.d.ts +338 -113
  18. package/dist/vuetify.esm.js +79 -38
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +79 -38
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +23 -22
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +33 -11
  26. package/lib/components/VBottomSheet/VBottomSheet.d.ts +25 -0
  27. package/lib/components/VBreadcrumbs/VBreadcrumbs.d.ts +13 -0
  28. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +3 -2
  29. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  30. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.d.ts +20 -0
  31. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +7 -2
  32. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  33. package/lib/components/VCombobox/VCombobox.d.ts +33 -11
  34. package/lib/components/VDialog/VDialog.d.ts +52 -9
  35. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +7 -0
  36. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +3 -1
  37. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  38. package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +10 -0
  39. package/lib/components/VMenu/VMenu.d.ts +52 -9
  40. package/lib/components/VOverlay/VOverlay.d.ts +25 -0
  41. package/lib/components/VOverlay/locationStrategies.d.ts +12 -0
  42. package/lib/components/VOverlay/locationStrategies.js +10 -7
  43. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  44. package/lib/components/VSelect/VSelect.d.ts +51 -17
  45. package/lib/components/VSnackbar/VSnackbar.d.ts +27 -9
  46. package/lib/components/VSnackbar/VSnackbar.js +1 -1
  47. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  48. package/lib/components/VSpeedDial/VSpeedDial.d.ts +25 -0
  49. package/lib/components/VTabs/VTab.d.ts +20 -0
  50. package/lib/components/VTabs/VTab.js +46 -17
  51. package/lib/components/VTabs/VTab.js.map +1 -1
  52. package/lib/components/VTabs/VTabs.d.ts +20 -0
  53. package/lib/components/VTabs/VTabs.js +9 -7
  54. package/lib/components/VTabs/VTabs.js.map +1 -1
  55. package/lib/components/VTooltip/VTooltip.d.ts +52 -9
  56. package/lib/entry-bundler.js +1 -1
  57. package/lib/framework.d.ts +90 -71
  58. package/lib/framework.js +1 -1
  59. package/lib/labs/VVideo/VVideo.d.ts +63 -21
  60. package/lib/labs/VVideo/VVideoControls.d.ts +30 -10
  61. package/lib/labs/VVideo/VVideoVolume.d.ts +30 -10
  62. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.10.9-dev.2025-11-05
2
+ * Vuetify v3.10.9-dev.2025-11-08
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -10999,7 +10999,11 @@ const makeLocationStrategyProps = propsFactory({
10999
10999
  default: 'auto'
11000
11000
  },
11001
11001
  offset: [Number, String, Array],
11002
- stickToTarget: Boolean
11002
+ stickToTarget: Boolean,
11003
+ viewportMargin: {
11004
+ type: [Number, String],
11005
+ default: 12
11006
+ }
11003
11007
  }, 'VOverlay-location-strategies');
11004
11008
  function useLocationStrategies(props, data) {
11005
11009
  const contentStyles = ref({});
@@ -11186,8 +11190,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
11186
11190
 
11187
11191
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
11188
11192
  const scrollParents = getScrollParents(data.contentEl.value);
11189
- const viewportMargin = props.stickToTarget ? 0 : 12; // TOOD: prop.viewportMargin
11190
-
11193
+ const viewportMargin = Number(props.viewportMargin);
11191
11194
  if (!scrollParents.length) {
11192
11195
  scrollParents.push(document.documentElement);
11193
11196
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
@@ -11208,10 +11211,10 @@ function connectedLocationStrategy(data, props, contentStyles) {
11208
11211
  return scrollBox;
11209
11212
  }, undefined);
11210
11213
  if (props.stickToTarget) {
11211
- viewport.x += Math.min(0, targetBox.x);
11212
- viewport.y += Math.min(0, targetBox.y);
11213
- viewport.width = Math.max(viewport.width, targetBox.x + targetBox.width);
11214
- viewport.height = Math.max(viewport.height, targetBox.y + targetBox.height);
11214
+ viewport.x += Math.min(viewportMargin, targetBox.x);
11215
+ viewport.y += Math.min(viewportMargin, targetBox.y);
11216
+ viewport.width = Math.max(viewport.width - viewportMargin * 2, targetBox.x + targetBox.width - viewportMargin);
11217
+ viewport.height = Math.max(viewport.height - viewportMargin * 2, targetBox.y + targetBox.height - viewportMargin);
11215
11218
  } else {
11216
11219
  viewport.x += viewportMargin;
11217
11220
  viewport.y += viewportMargin;
@@ -15407,6 +15410,7 @@ const makeVBreadcrumbsItemProps = propsFactory({
15407
15410
  disabled: Boolean,
15408
15411
  title: String,
15409
15412
  ...makeComponentProps(),
15413
+ ...pick(makeDimensionProps(), ['width', 'maxWidth']),
15410
15414
  ...makeRouterProps(),
15411
15415
  ...makeTagProps({
15412
15416
  tag: 'li'
@@ -15422,6 +15426,9 @@ const VBreadcrumbsItem = genericComponent()({
15422
15426
  } = _ref;
15423
15427
  const link = useLink(props, attrs);
15424
15428
  const isActive = computed(() => props.active || link.isActive?.value);
15429
+ const {
15430
+ dimensionStyles
15431
+ } = useDimension(props);
15425
15432
  const {
15426
15433
  textColorClasses,
15427
15434
  textColorStyles
@@ -15433,7 +15440,7 @@ const VBreadcrumbsItem = genericComponent()({
15433
15440
  'v-breadcrumbs-item--disabled': props.disabled,
15434
15441
  [`${props.activeClass}`]: isActive.value && props.activeClass
15435
15442
  }, textColorClasses.value, props.class]),
15436
- "style": normalizeStyle([textColorStyles.value, props.style]),
15443
+ "style": normalizeStyle([textColorStyles.value, dimensionStyles.value, props.style]),
15437
15444
  "aria-current": isActive.value ? 'page' : undefined
15438
15445
  }, {
15439
15446
  default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createElementVNode("a", mergeProps({
@@ -15463,6 +15470,7 @@ const makeVBreadcrumbsProps = propsFactory({
15463
15470
  type: Array,
15464
15471
  default: () => []
15465
15472
  },
15473
+ itemProps: Boolean,
15466
15474
  ...makeComponentProps(),
15467
15475
  ...makeDensityProps(),
15468
15476
  ...makeRoundedProps(),
@@ -15544,7 +15552,7 @@ const VBreadcrumbs = genericComponent()({
15544
15552
  "disabled": index >= array.length - 1
15545
15553
  }, typeof item === 'string' ? {
15546
15554
  title: item
15547
- } : item), {
15555
+ } : item, props.itemProps && isObject(raw) ? raw : {}), {
15548
15556
  default: slots.title ? () => slots.title?.({
15549
15557
  item,
15550
15558
  index
@@ -26135,7 +26143,9 @@ const VInfiniteScroll = genericComponent()({
26135
26143
  const effectiveSide = side ?? props.side;
26136
26144
  setStatus(effectiveSide, 'ok');
26137
26145
  nextTick(() => {
26138
- setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
26146
+ if (effectiveSide !== 'end') {
26147
+ setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
26148
+ }
26139
26149
  if (props.mode !== 'manual') {
26140
26150
  nextTick(() => {
26141
26151
  // See #17475
@@ -28597,7 +28607,7 @@ const makeVSnackbarProps = propsFactory({
28597
28607
  ...makeThemeProps(),
28598
28608
  ...omit(makeVOverlayProps({
28599
28609
  transition: 'v-snackbar-transition'
28600
- }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget'])
28610
+ }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget', 'viewportMargin'])
28601
28611
  }, 'VSnackbar');
28602
28612
  const VSnackbar = genericComponent()({
28603
28613
  name: 'VSnackbar',
@@ -30035,6 +30045,8 @@ const VTabsSymbol = Symbol.for('vuetify:v-tabs');
30035
30045
  const makeVTabProps = propsFactory({
30036
30046
  fixed: Boolean,
30037
30047
  sliderColor: String,
30048
+ sliderTransition: String,
30049
+ sliderTransitionDuration: [String, Number],
30038
30050
  hideSlider: Boolean,
30039
30051
  direction: {
30040
30052
  type: String,
@@ -30061,6 +30073,38 @@ const VTab = genericComponent()({
30061
30073
  const sliderEl = ref();
30062
30074
  const isHorizontal = computed(() => props.direction === 'horizontal');
30063
30075
  const isSelected = computed(() => rootEl.value?.group?.isSelected.value ?? false);
30076
+ function fade(nextEl, prevEl) {
30077
+ return {
30078
+ opacity: [0, 1]
30079
+ };
30080
+ }
30081
+ function grow(nextEl, prevEl) {
30082
+ return props.direction === 'vertical' ? {
30083
+ transform: ['scaleY(0)', 'scaleY(1)']
30084
+ } : {
30085
+ transform: ['scaleX(0)', 'scaleX(1)']
30086
+ };
30087
+ }
30088
+ function shift(nextEl, prevEl) {
30089
+ const prevBox = prevEl.getBoundingClientRect();
30090
+ const nextBox = nextEl.getBoundingClientRect();
30091
+ const xy = isHorizontal.value ? 'x' : 'y';
30092
+ const XY = isHorizontal.value ? 'X' : 'Y';
30093
+ const rightBottom = isHorizontal.value ? 'right' : 'bottom';
30094
+ const widthHeight = isHorizontal.value ? 'width' : 'height';
30095
+ const prevPos = prevBox[xy];
30096
+ const nextPos = nextBox[xy];
30097
+ const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
30098
+ const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
30099
+ const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
30100
+ const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
30101
+ const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
30102
+ const sigma = 1.5;
30103
+ return {
30104
+ transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
30105
+ transformOrigin: Array(3).fill(origin)
30106
+ };
30107
+ }
30064
30108
  function updateSlider(_ref2) {
30065
30109
  let {
30066
30110
  value
@@ -30070,26 +30114,21 @@ const VTab = genericComponent()({
30070
30114
  const nextEl = sliderEl.value;
30071
30115
  if (!prevEl || !nextEl) return;
30072
30116
  const color = getComputedStyle(prevEl).color;
30073
- const prevBox = prevEl.getBoundingClientRect();
30074
- const nextBox = nextEl.getBoundingClientRect();
30075
- const xy = isHorizontal.value ? 'x' : 'y';
30076
- const XY = isHorizontal.value ? 'X' : 'Y';
30077
- const rightBottom = isHorizontal.value ? 'right' : 'bottom';
30078
- const widthHeight = isHorizontal.value ? 'width' : 'height';
30079
- const prevPos = prevBox[xy];
30080
- const nextPos = nextBox[xy];
30081
- const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
30082
- const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
30083
- const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
30084
- const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
30085
- const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
30086
- const sigma = 1.5;
30117
+ const keyframes = {
30118
+ fade,
30119
+ grow,
30120
+ shift
30121
+ }[props.sliderTransition ?? 'shift'] ?? shift;
30122
+ const duration = Number(props.sliderTransitionDuration) || ({
30123
+ fade: 400,
30124
+ grow: 350,
30125
+ shift: 225
30126
+ }[props.sliderTransition ?? 'shift'] ?? 225);
30087
30127
  animate(nextEl, {
30088
30128
  backgroundColor: [color, 'currentcolor'],
30089
- transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
30090
- transformOrigin: Array(3).fill(origin)
30129
+ ...keyframes(nextEl, prevEl)
30091
30130
  }, {
30092
- duration: 225,
30131
+ duration,
30093
30132
  easing: standardEasing
30094
30133
  });
30095
30134
  }
@@ -30223,7 +30262,7 @@ const makeVTabsProps = propsFactory({
30223
30262
  },
30224
30263
  hideSlider: Boolean,
30225
30264
  sliderColor: String,
30226
- ...pick(makeVTabProps(), ['spaced']),
30265
+ ...pick(makeVTabProps(), ['spaced', 'sliderTransition', 'sliderTransitionDuration']),
30227
30266
  ...makeVSlideGroupProps({
30228
30267
  mandatory: 'force',
30229
30268
  selectedClass: 'v-tab-item--selected'
@@ -30256,12 +30295,14 @@ const VTabs = genericComponent()({
30256
30295
  } = useScopeId();
30257
30296
  provideDefaults({
30258
30297
  VTab: {
30259
- color: toRef(() => props.color),
30260
- direction: toRef(() => props.direction),
30261
- stacked: toRef(() => props.stacked),
30262
- fixed: toRef(() => props.fixedTabs),
30263
- sliderColor: toRef(() => props.sliderColor),
30264
- hideSlider: toRef(() => props.hideSlider)
30298
+ color: toRef(props, 'color'),
30299
+ direction: toRef(props, 'direction'),
30300
+ stacked: toRef(props, 'stacked'),
30301
+ fixed: toRef(props, 'fixedTabs'),
30302
+ sliderColor: toRef(props, 'sliderColor'),
30303
+ sliderTransition: toRef(props, 'sliderTransition'),
30304
+ sliderTransitionDuration: toRef(props, 'sliderTransitionDuration'),
30305
+ hideSlider: toRef(props, 'hideSlider')
30265
30306
  }
30266
30307
  });
30267
30308
  useRender(() => {
@@ -32714,7 +32755,7 @@ function createVuetify$1() {
32714
32755
  };
32715
32756
  });
32716
32757
  }
32717
- const version$1 = "3.10.9-dev.2025-11-05";
32758
+ const version$1 = "3.10.9-dev.2025-11-08";
32718
32759
  createVuetify$1.version = version$1;
32719
32760
 
32720
32761
  // Vue's inject() can only be used in setup
@@ -32739,7 +32780,7 @@ const createVuetify = function () {
32739
32780
  ...options
32740
32781
  });
32741
32782
  };
32742
- const version = "3.10.9-dev.2025-11-05";
32783
+ const version = "3.10.9-dev.2025-11-08";
32743
32784
  createVuetify.version = version;
32744
32785
 
32745
32786
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useHotkey, useLayout, useLocale, useMask, useRtl, useTheme, version };