@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
  */
@@ -10675,7 +10675,11 @@ const makeLocationStrategyProps = propsFactory({
10675
10675
  default: 'auto'
10676
10676
  },
10677
10677
  offset: [Number, String, Array],
10678
- stickToTarget: Boolean
10678
+ stickToTarget: Boolean,
10679
+ viewportMargin: {
10680
+ type: [Number, String],
10681
+ default: 12
10682
+ }
10679
10683
  }, 'VOverlay-location-strategies');
10680
10684
  function useLocationStrategies(props, data) {
10681
10685
  const contentStyles = ref({});
@@ -10862,8 +10866,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
10862
10866
 
10863
10867
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
10864
10868
  const scrollParents = getScrollParents(data.contentEl.value);
10865
- const viewportMargin = props.stickToTarget ? 0 : 12; // TOOD: prop.viewportMargin
10866
-
10869
+ const viewportMargin = Number(props.viewportMargin);
10867
10870
  if (!scrollParents.length) {
10868
10871
  scrollParents.push(document.documentElement);
10869
10872
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
@@ -10884,10 +10887,10 @@ function connectedLocationStrategy(data, props, contentStyles) {
10884
10887
  return scrollBox;
10885
10888
  }, undefined);
10886
10889
  if (props.stickToTarget) {
10887
- viewport.x += Math.min(0, targetBox.x);
10888
- viewport.y += Math.min(0, targetBox.y);
10889
- viewport.width = Math.max(viewport.width, targetBox.x + targetBox.width);
10890
- viewport.height = Math.max(viewport.height, targetBox.y + targetBox.height);
10890
+ viewport.x += Math.min(viewportMargin, targetBox.x);
10891
+ viewport.y += Math.min(viewportMargin, targetBox.y);
10892
+ viewport.width = Math.max(viewport.width - viewportMargin * 2, targetBox.x + targetBox.width - viewportMargin);
10893
+ viewport.height = Math.max(viewport.height - viewportMargin * 2, targetBox.y + targetBox.height - viewportMargin);
10891
10894
  } else {
10892
10895
  viewport.x += viewportMargin;
10893
10896
  viewport.y += viewportMargin;
@@ -15083,6 +15086,7 @@ const makeVBreadcrumbsItemProps = propsFactory({
15083
15086
  disabled: Boolean,
15084
15087
  title: String,
15085
15088
  ...makeComponentProps(),
15089
+ ...pick(makeDimensionProps(), ['width', 'maxWidth']),
15086
15090
  ...makeRouterProps(),
15087
15091
  ...makeTagProps({
15088
15092
  tag: 'li'
@@ -15098,6 +15102,9 @@ const VBreadcrumbsItem = genericComponent()({
15098
15102
  } = _ref;
15099
15103
  const link = useLink(props, attrs);
15100
15104
  const isActive = computed(() => props.active || link.isActive?.value);
15105
+ const {
15106
+ dimensionStyles
15107
+ } = useDimension(props);
15101
15108
  const {
15102
15109
  textColorClasses,
15103
15110
  textColorStyles
@@ -15109,7 +15116,7 @@ const VBreadcrumbsItem = genericComponent()({
15109
15116
  'v-breadcrumbs-item--disabled': props.disabled,
15110
15117
  [`${props.activeClass}`]: isActive.value && props.activeClass
15111
15118
  }, textColorClasses.value, props.class]),
15112
- "style": normalizeStyle([textColorStyles.value, props.style]),
15119
+ "style": normalizeStyle([textColorStyles.value, dimensionStyles.value, props.style]),
15113
15120
  "aria-current": isActive.value ? 'page' : undefined
15114
15121
  }, {
15115
15122
  default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createElementVNode("a", mergeProps({
@@ -15139,6 +15146,7 @@ const makeVBreadcrumbsProps = propsFactory({
15139
15146
  type: Array,
15140
15147
  default: () => []
15141
15148
  },
15149
+ itemProps: Boolean,
15142
15150
  ...makeComponentProps(),
15143
15151
  ...makeDensityProps(),
15144
15152
  ...makeRoundedProps(),
@@ -15220,7 +15228,7 @@ const VBreadcrumbs = genericComponent()({
15220
15228
  "disabled": index >= array.length - 1
15221
15229
  }, typeof item === 'string' ? {
15222
15230
  title: item
15223
- } : item), {
15231
+ } : item, props.itemProps && isObject(raw) ? raw : {}), {
15224
15232
  default: slots.title ? () => slots.title?.({
15225
15233
  item,
15226
15234
  index
@@ -25820,7 +25828,9 @@ const VInfiniteScroll = genericComponent()({
25820
25828
  const effectiveSide = side ?? props.side;
25821
25829
  setStatus(effectiveSide, 'ok');
25822
25830
  nextTick(() => {
25823
- setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
25831
+ if (effectiveSide !== 'end') {
25832
+ setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
25833
+ }
25824
25834
  if (props.mode !== 'manual') {
25825
25835
  nextTick(() => {
25826
25836
  // See #17475
@@ -28282,7 +28292,7 @@ const makeVSnackbarProps = propsFactory({
28282
28292
  ...makeThemeProps(),
28283
28293
  ...omit(makeVOverlayProps({
28284
28294
  transition: 'v-snackbar-transition'
28285
- }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget'])
28295
+ }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget', 'viewportMargin'])
28286
28296
  }, 'VSnackbar');
28287
28297
  const VSnackbar = genericComponent()({
28288
28298
  name: 'VSnackbar',
@@ -29720,6 +29730,8 @@ const VTabsSymbol = Symbol.for('vuetify:v-tabs');
29720
29730
  const makeVTabProps = propsFactory({
29721
29731
  fixed: Boolean,
29722
29732
  sliderColor: String,
29733
+ sliderTransition: String,
29734
+ sliderTransitionDuration: [String, Number],
29723
29735
  hideSlider: Boolean,
29724
29736
  direction: {
29725
29737
  type: String,
@@ -29746,6 +29758,38 @@ const VTab = genericComponent()({
29746
29758
  const sliderEl = ref();
29747
29759
  const isHorizontal = computed(() => props.direction === 'horizontal');
29748
29760
  const isSelected = computed(() => rootEl.value?.group?.isSelected.value ?? false);
29761
+ function fade(nextEl, prevEl) {
29762
+ return {
29763
+ opacity: [0, 1]
29764
+ };
29765
+ }
29766
+ function grow(nextEl, prevEl) {
29767
+ return props.direction === 'vertical' ? {
29768
+ transform: ['scaleY(0)', 'scaleY(1)']
29769
+ } : {
29770
+ transform: ['scaleX(0)', 'scaleX(1)']
29771
+ };
29772
+ }
29773
+ function shift(nextEl, prevEl) {
29774
+ const prevBox = prevEl.getBoundingClientRect();
29775
+ const nextBox = nextEl.getBoundingClientRect();
29776
+ const xy = isHorizontal.value ? 'x' : 'y';
29777
+ const XY = isHorizontal.value ? 'X' : 'Y';
29778
+ const rightBottom = isHorizontal.value ? 'right' : 'bottom';
29779
+ const widthHeight = isHorizontal.value ? 'width' : 'height';
29780
+ const prevPos = prevBox[xy];
29781
+ const nextPos = nextBox[xy];
29782
+ const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
29783
+ const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
29784
+ const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
29785
+ const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
29786
+ const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
29787
+ const sigma = 1.5;
29788
+ return {
29789
+ transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
29790
+ transformOrigin: Array(3).fill(origin)
29791
+ };
29792
+ }
29749
29793
  function updateSlider(_ref2) {
29750
29794
  let {
29751
29795
  value
@@ -29755,26 +29799,21 @@ const VTab = genericComponent()({
29755
29799
  const nextEl = sliderEl.value;
29756
29800
  if (!prevEl || !nextEl) return;
29757
29801
  const color = getComputedStyle(prevEl).color;
29758
- const prevBox = prevEl.getBoundingClientRect();
29759
- const nextBox = nextEl.getBoundingClientRect();
29760
- const xy = isHorizontal.value ? 'x' : 'y';
29761
- const XY = isHorizontal.value ? 'X' : 'Y';
29762
- const rightBottom = isHorizontal.value ? 'right' : 'bottom';
29763
- const widthHeight = isHorizontal.value ? 'width' : 'height';
29764
- const prevPos = prevBox[xy];
29765
- const nextPos = nextBox[xy];
29766
- const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
29767
- const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
29768
- const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
29769
- const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
29770
- const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
29771
- const sigma = 1.5;
29802
+ const keyframes = {
29803
+ fade,
29804
+ grow,
29805
+ shift
29806
+ }[props.sliderTransition ?? 'shift'] ?? shift;
29807
+ const duration = Number(props.sliderTransitionDuration) || ({
29808
+ fade: 400,
29809
+ grow: 350,
29810
+ shift: 225
29811
+ }[props.sliderTransition ?? 'shift'] ?? 225);
29772
29812
  animate(nextEl, {
29773
29813
  backgroundColor: [color, 'currentcolor'],
29774
- transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
29775
- transformOrigin: Array(3).fill(origin)
29814
+ ...keyframes(nextEl, prevEl)
29776
29815
  }, {
29777
- duration: 225,
29816
+ duration,
29778
29817
  easing: standardEasing
29779
29818
  });
29780
29819
  }
@@ -29908,7 +29947,7 @@ const makeVTabsProps = propsFactory({
29908
29947
  },
29909
29948
  hideSlider: Boolean,
29910
29949
  sliderColor: String,
29911
- ...pick(makeVTabProps(), ['spaced']),
29950
+ ...pick(makeVTabProps(), ['spaced', 'sliderTransition', 'sliderTransitionDuration']),
29912
29951
  ...makeVSlideGroupProps({
29913
29952
  mandatory: 'force',
29914
29953
  selectedClass: 'v-tab-item--selected'
@@ -29941,12 +29980,14 @@ const VTabs = genericComponent()({
29941
29980
  } = useScopeId();
29942
29981
  provideDefaults({
29943
29982
  VTab: {
29944
- color: toRef(() => props.color),
29945
- direction: toRef(() => props.direction),
29946
- stacked: toRef(() => props.stacked),
29947
- fixed: toRef(() => props.fixedTabs),
29948
- sliderColor: toRef(() => props.sliderColor),
29949
- hideSlider: toRef(() => props.hideSlider)
29983
+ color: toRef(props, 'color'),
29984
+ direction: toRef(props, 'direction'),
29985
+ stacked: toRef(props, 'stacked'),
29986
+ fixed: toRef(props, 'fixedTabs'),
29987
+ sliderColor: toRef(props, 'sliderColor'),
29988
+ sliderTransition: toRef(props, 'sliderTransition'),
29989
+ sliderTransitionDuration: toRef(props, 'sliderTransitionDuration'),
29990
+ hideSlider: toRef(props, 'hideSlider')
29950
29991
  }
29951
29992
  });
29952
29993
  useRender(() => {
@@ -38350,7 +38391,7 @@ function createVuetify$1() {
38350
38391
  };
38351
38392
  });
38352
38393
  }
38353
- const version$1 = "3.10.9-dev.2025-11-05";
38394
+ const version$1 = "3.10.9-dev.2025-11-08";
38354
38395
  createVuetify$1.version = version$1;
38355
38396
 
38356
38397
  // Vue's inject() can only be used in setup
@@ -38648,7 +38689,7 @@ var index = /*#__PURE__*/Object.freeze({
38648
38689
 
38649
38690
  /* eslint-disable local-rules/sort-imports */
38650
38691
 
38651
- const version = "3.10.9-dev.2025-11-05";
38692
+ const version = "3.10.9-dev.2025-11-08";
38652
38693
 
38653
38694
  /* eslint-disable local-rules/sort-imports */
38654
38695