@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
package/dist/vuetify.js CHANGED
@@ -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
  */
@@ -11003,7 +11003,11 @@
11003
11003
  default: 'auto'
11004
11004
  },
11005
11005
  offset: [Number, String, Array],
11006
- stickToTarget: Boolean
11006
+ stickToTarget: Boolean,
11007
+ viewportMargin: {
11008
+ type: [Number, String],
11009
+ default: 12
11010
+ }
11007
11011
  }, 'VOverlay-location-strategies');
11008
11012
  function useLocationStrategies(props, data) {
11009
11013
  const contentStyles = vue.ref({});
@@ -11190,8 +11194,7 @@
11190
11194
 
11191
11195
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
11192
11196
  const scrollParents = getScrollParents(data.contentEl.value);
11193
- const viewportMargin = props.stickToTarget ? 0 : 12; // TOOD: prop.viewportMargin
11194
-
11197
+ const viewportMargin = Number(props.viewportMargin);
11195
11198
  if (!scrollParents.length) {
11196
11199
  scrollParents.push(document.documentElement);
11197
11200
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
@@ -11212,10 +11215,10 @@
11212
11215
  return scrollBox;
11213
11216
  }, undefined);
11214
11217
  if (props.stickToTarget) {
11215
- viewport.x += Math.min(0, targetBox.x);
11216
- viewport.y += Math.min(0, targetBox.y);
11217
- viewport.width = Math.max(viewport.width, targetBox.x + targetBox.width);
11218
- viewport.height = Math.max(viewport.height, targetBox.y + targetBox.height);
11218
+ viewport.x += Math.min(viewportMargin, targetBox.x);
11219
+ viewport.y += Math.min(viewportMargin, targetBox.y);
11220
+ viewport.width = Math.max(viewport.width - viewportMargin * 2, targetBox.x + targetBox.width - viewportMargin);
11221
+ viewport.height = Math.max(viewport.height - viewportMargin * 2, targetBox.y + targetBox.height - viewportMargin);
11219
11222
  } else {
11220
11223
  viewport.x += viewportMargin;
11221
11224
  viewport.y += viewportMargin;
@@ -15411,6 +15414,7 @@
15411
15414
  disabled: Boolean,
15412
15415
  title: String,
15413
15416
  ...makeComponentProps(),
15417
+ ...pick(makeDimensionProps(), ['width', 'maxWidth']),
15414
15418
  ...makeRouterProps(),
15415
15419
  ...makeTagProps({
15416
15420
  tag: 'li'
@@ -15426,6 +15430,9 @@
15426
15430
  } = _ref;
15427
15431
  const link = useLink(props, attrs);
15428
15432
  const isActive = vue.computed(() => props.active || link.isActive?.value);
15433
+ const {
15434
+ dimensionStyles
15435
+ } = useDimension(props);
15429
15436
  const {
15430
15437
  textColorClasses,
15431
15438
  textColorStyles
@@ -15437,7 +15444,7 @@
15437
15444
  'v-breadcrumbs-item--disabled': props.disabled,
15438
15445
  [`${props.activeClass}`]: isActive.value && props.activeClass
15439
15446
  }, textColorClasses.value, props.class]),
15440
- "style": vue.normalizeStyle([textColorStyles.value, props.style]),
15447
+ "style": vue.normalizeStyle([textColorStyles.value, dimensionStyles.value, props.style]),
15441
15448
  "aria-current": isActive.value ? 'page' : undefined
15442
15449
  }, {
15443
15450
  default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createElementVNode("a", vue.mergeProps({
@@ -15467,6 +15474,7 @@
15467
15474
  type: Array,
15468
15475
  default: () => []
15469
15476
  },
15477
+ itemProps: Boolean,
15470
15478
  ...makeComponentProps(),
15471
15479
  ...makeDensityProps(),
15472
15480
  ...makeRoundedProps(),
@@ -15548,7 +15556,7 @@
15548
15556
  "disabled": index >= array.length - 1
15549
15557
  }, typeof item === 'string' ? {
15550
15558
  title: item
15551
- } : item), {
15559
+ } : item, props.itemProps && isObject(raw) ? raw : {}), {
15552
15560
  default: slots.title ? () => slots.title?.({
15553
15561
  item,
15554
15562
  index
@@ -26139,7 +26147,9 @@
26139
26147
  const effectiveSide = side ?? props.side;
26140
26148
  setStatus(effectiveSide, 'ok');
26141
26149
  vue.nextTick(() => {
26142
- setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
26150
+ if (effectiveSide !== 'end') {
26151
+ setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
26152
+ }
26143
26153
  if (props.mode !== 'manual') {
26144
26154
  vue.nextTick(() => {
26145
26155
  // See #17475
@@ -28601,7 +28611,7 @@
28601
28611
  ...makeThemeProps(),
28602
28612
  ...omit(makeVOverlayProps({
28603
28613
  transition: 'v-snackbar-transition'
28604
- }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget'])
28614
+ }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget', 'viewportMargin'])
28605
28615
  }, 'VSnackbar');
28606
28616
  const VSnackbar = genericComponent()({
28607
28617
  name: 'VSnackbar',
@@ -30039,6 +30049,8 @@
30039
30049
  const makeVTabProps = propsFactory({
30040
30050
  fixed: Boolean,
30041
30051
  sliderColor: String,
30052
+ sliderTransition: String,
30053
+ sliderTransitionDuration: [String, Number],
30042
30054
  hideSlider: Boolean,
30043
30055
  direction: {
30044
30056
  type: String,
@@ -30065,6 +30077,38 @@
30065
30077
  const sliderEl = vue.ref();
30066
30078
  const isHorizontal = vue.computed(() => props.direction === 'horizontal');
30067
30079
  const isSelected = vue.computed(() => rootEl.value?.group?.isSelected.value ?? false);
30080
+ function fade(nextEl, prevEl) {
30081
+ return {
30082
+ opacity: [0, 1]
30083
+ };
30084
+ }
30085
+ function grow(nextEl, prevEl) {
30086
+ return props.direction === 'vertical' ? {
30087
+ transform: ['scaleY(0)', 'scaleY(1)']
30088
+ } : {
30089
+ transform: ['scaleX(0)', 'scaleX(1)']
30090
+ };
30091
+ }
30092
+ function shift(nextEl, prevEl) {
30093
+ const prevBox = prevEl.getBoundingClientRect();
30094
+ const nextBox = nextEl.getBoundingClientRect();
30095
+ const xy = isHorizontal.value ? 'x' : 'y';
30096
+ const XY = isHorizontal.value ? 'X' : 'Y';
30097
+ const rightBottom = isHorizontal.value ? 'right' : 'bottom';
30098
+ const widthHeight = isHorizontal.value ? 'width' : 'height';
30099
+ const prevPos = prevBox[xy];
30100
+ const nextPos = nextBox[xy];
30101
+ const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
30102
+ const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
30103
+ const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
30104
+ const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
30105
+ const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
30106
+ const sigma = 1.5;
30107
+ return {
30108
+ transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
30109
+ transformOrigin: Array(3).fill(origin)
30110
+ };
30111
+ }
30068
30112
  function updateSlider(_ref2) {
30069
30113
  let {
30070
30114
  value
@@ -30074,26 +30118,21 @@
30074
30118
  const nextEl = sliderEl.value;
30075
30119
  if (!prevEl || !nextEl) return;
30076
30120
  const color = getComputedStyle(prevEl).color;
30077
- const prevBox = prevEl.getBoundingClientRect();
30078
- const nextBox = nextEl.getBoundingClientRect();
30079
- const xy = isHorizontal.value ? 'x' : 'y';
30080
- const XY = isHorizontal.value ? 'X' : 'Y';
30081
- const rightBottom = isHorizontal.value ? 'right' : 'bottom';
30082
- const widthHeight = isHorizontal.value ? 'width' : 'height';
30083
- const prevPos = prevBox[xy];
30084
- const nextPos = nextBox[xy];
30085
- const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
30086
- const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
30087
- const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
30088
- const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
30089
- const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
30090
- const sigma = 1.5;
30121
+ const keyframes = {
30122
+ fade,
30123
+ grow,
30124
+ shift
30125
+ }[props.sliderTransition ?? 'shift'] ?? shift;
30126
+ const duration = Number(props.sliderTransitionDuration) || ({
30127
+ fade: 400,
30128
+ grow: 350,
30129
+ shift: 225
30130
+ }[props.sliderTransition ?? 'shift'] ?? 225);
30091
30131
  animate(nextEl, {
30092
30132
  backgroundColor: [color, 'currentcolor'],
30093
- transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
30094
- transformOrigin: Array(3).fill(origin)
30133
+ ...keyframes(nextEl, prevEl)
30095
30134
  }, {
30096
- duration: 225,
30135
+ duration,
30097
30136
  easing: standardEasing
30098
30137
  });
30099
30138
  }
@@ -30227,7 +30266,7 @@
30227
30266
  },
30228
30267
  hideSlider: Boolean,
30229
30268
  sliderColor: String,
30230
- ...pick(makeVTabProps(), ['spaced']),
30269
+ ...pick(makeVTabProps(), ['spaced', 'sliderTransition', 'sliderTransitionDuration']),
30231
30270
  ...makeVSlideGroupProps({
30232
30271
  mandatory: 'force',
30233
30272
  selectedClass: 'v-tab-item--selected'
@@ -30260,12 +30299,14 @@
30260
30299
  } = useScopeId();
30261
30300
  provideDefaults({
30262
30301
  VTab: {
30263
- color: vue.toRef(() => props.color),
30264
- direction: vue.toRef(() => props.direction),
30265
- stacked: vue.toRef(() => props.stacked),
30266
- fixed: vue.toRef(() => props.fixedTabs),
30267
- sliderColor: vue.toRef(() => props.sliderColor),
30268
- hideSlider: vue.toRef(() => props.hideSlider)
30302
+ color: vue.toRef(props, 'color'),
30303
+ direction: vue.toRef(props, 'direction'),
30304
+ stacked: vue.toRef(props, 'stacked'),
30305
+ fixed: vue.toRef(props, 'fixedTabs'),
30306
+ sliderColor: vue.toRef(props, 'sliderColor'),
30307
+ sliderTransition: vue.toRef(props, 'sliderTransition'),
30308
+ sliderTransitionDuration: vue.toRef(props, 'sliderTransitionDuration'),
30309
+ hideSlider: vue.toRef(props, 'hideSlider')
30269
30310
  }
30270
30311
  });
30271
30312
  useRender(() => {
@@ -32718,7 +32759,7 @@
32718
32759
  };
32719
32760
  });
32720
32761
  }
32721
- const version$1 = "3.10.9-dev.2025-11-05";
32762
+ const version$1 = "3.10.9-dev.2025-11-08";
32722
32763
  createVuetify$1.version = version$1;
32723
32764
 
32724
32765
  // Vue's inject() can only be used in setup
@@ -32743,7 +32784,7 @@
32743
32784
  ...options
32744
32785
  });
32745
32786
  };
32746
- const version = "3.10.9-dev.2025-11-05";
32787
+ const version = "3.10.9-dev.2025-11-08";
32747
32788
  createVuetify.version = version;
32748
32789
 
32749
32790
  exports.blueprints = index;