@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
  */
@@ -10679,7 +10679,11 @@
10679
10679
  default: 'auto'
10680
10680
  },
10681
10681
  offset: [Number, String, Array],
10682
- stickToTarget: Boolean
10682
+ stickToTarget: Boolean,
10683
+ viewportMargin: {
10684
+ type: [Number, String],
10685
+ default: 12
10686
+ }
10683
10687
  }, 'VOverlay-location-strategies');
10684
10688
  function useLocationStrategies(props, data) {
10685
10689
  const contentStyles = vue.ref({});
@@ -10866,8 +10870,7 @@
10866
10870
 
10867
10871
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
10868
10872
  const scrollParents = getScrollParents(data.contentEl.value);
10869
- const viewportMargin = props.stickToTarget ? 0 : 12; // TOOD: prop.viewportMargin
10870
-
10873
+ const viewportMargin = Number(props.viewportMargin);
10871
10874
  if (!scrollParents.length) {
10872
10875
  scrollParents.push(document.documentElement);
10873
10876
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
@@ -10888,10 +10891,10 @@
10888
10891
  return scrollBox;
10889
10892
  }, undefined);
10890
10893
  if (props.stickToTarget) {
10891
- viewport.x += Math.min(0, targetBox.x);
10892
- viewport.y += Math.min(0, targetBox.y);
10893
- viewport.width = Math.max(viewport.width, targetBox.x + targetBox.width);
10894
- viewport.height = Math.max(viewport.height, targetBox.y + targetBox.height);
10894
+ viewport.x += Math.min(viewportMargin, targetBox.x);
10895
+ viewport.y += Math.min(viewportMargin, targetBox.y);
10896
+ viewport.width = Math.max(viewport.width - viewportMargin * 2, targetBox.x + targetBox.width - viewportMargin);
10897
+ viewport.height = Math.max(viewport.height - viewportMargin * 2, targetBox.y + targetBox.height - viewportMargin);
10895
10898
  } else {
10896
10899
  viewport.x += viewportMargin;
10897
10900
  viewport.y += viewportMargin;
@@ -15087,6 +15090,7 @@
15087
15090
  disabled: Boolean,
15088
15091
  title: String,
15089
15092
  ...makeComponentProps(),
15093
+ ...pick(makeDimensionProps(), ['width', 'maxWidth']),
15090
15094
  ...makeRouterProps(),
15091
15095
  ...makeTagProps({
15092
15096
  tag: 'li'
@@ -15102,6 +15106,9 @@
15102
15106
  } = _ref;
15103
15107
  const link = useLink(props, attrs);
15104
15108
  const isActive = vue.computed(() => props.active || link.isActive?.value);
15109
+ const {
15110
+ dimensionStyles
15111
+ } = useDimension(props);
15105
15112
  const {
15106
15113
  textColorClasses,
15107
15114
  textColorStyles
@@ -15113,7 +15120,7 @@
15113
15120
  'v-breadcrumbs-item--disabled': props.disabled,
15114
15121
  [`${props.activeClass}`]: isActive.value && props.activeClass
15115
15122
  }, textColorClasses.value, props.class]),
15116
- "style": vue.normalizeStyle([textColorStyles.value, props.style]),
15123
+ "style": vue.normalizeStyle([textColorStyles.value, dimensionStyles.value, props.style]),
15117
15124
  "aria-current": isActive.value ? 'page' : undefined
15118
15125
  }, {
15119
15126
  default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createElementVNode("a", vue.mergeProps({
@@ -15143,6 +15150,7 @@
15143
15150
  type: Array,
15144
15151
  default: () => []
15145
15152
  },
15153
+ itemProps: Boolean,
15146
15154
  ...makeComponentProps(),
15147
15155
  ...makeDensityProps(),
15148
15156
  ...makeRoundedProps(),
@@ -15224,7 +15232,7 @@
15224
15232
  "disabled": index >= array.length - 1
15225
15233
  }, typeof item === 'string' ? {
15226
15234
  title: item
15227
- } : item), {
15235
+ } : item, props.itemProps && isObject(raw) ? raw : {}), {
15228
15236
  default: slots.title ? () => slots.title?.({
15229
15237
  item,
15230
15238
  index
@@ -25824,7 +25832,9 @@
25824
25832
  const effectiveSide = side ?? props.side;
25825
25833
  setStatus(effectiveSide, 'ok');
25826
25834
  vue.nextTick(() => {
25827
- setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
25835
+ if (effectiveSide !== 'end') {
25836
+ setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
25837
+ }
25828
25838
  if (props.mode !== 'manual') {
25829
25839
  vue.nextTick(() => {
25830
25840
  // See #17475
@@ -28286,7 +28296,7 @@
28286
28296
  ...makeThemeProps(),
28287
28297
  ...omit(makeVOverlayProps({
28288
28298
  transition: 'v-snackbar-transition'
28289
- }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget'])
28299
+ }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy', 'stickToTarget', 'viewportMargin'])
28290
28300
  }, 'VSnackbar');
28291
28301
  const VSnackbar = genericComponent()({
28292
28302
  name: 'VSnackbar',
@@ -29724,6 +29734,8 @@
29724
29734
  const makeVTabProps = propsFactory({
29725
29735
  fixed: Boolean,
29726
29736
  sliderColor: String,
29737
+ sliderTransition: String,
29738
+ sliderTransitionDuration: [String, Number],
29727
29739
  hideSlider: Boolean,
29728
29740
  direction: {
29729
29741
  type: String,
@@ -29750,6 +29762,38 @@
29750
29762
  const sliderEl = vue.ref();
29751
29763
  const isHorizontal = vue.computed(() => props.direction === 'horizontal');
29752
29764
  const isSelected = vue.computed(() => rootEl.value?.group?.isSelected.value ?? false);
29765
+ function fade(nextEl, prevEl) {
29766
+ return {
29767
+ opacity: [0, 1]
29768
+ };
29769
+ }
29770
+ function grow(nextEl, prevEl) {
29771
+ return props.direction === 'vertical' ? {
29772
+ transform: ['scaleY(0)', 'scaleY(1)']
29773
+ } : {
29774
+ transform: ['scaleX(0)', 'scaleX(1)']
29775
+ };
29776
+ }
29777
+ function shift(nextEl, prevEl) {
29778
+ const prevBox = prevEl.getBoundingClientRect();
29779
+ const nextBox = nextEl.getBoundingClientRect();
29780
+ const xy = isHorizontal.value ? 'x' : 'y';
29781
+ const XY = isHorizontal.value ? 'X' : 'Y';
29782
+ const rightBottom = isHorizontal.value ? 'right' : 'bottom';
29783
+ const widthHeight = isHorizontal.value ? 'width' : 'height';
29784
+ const prevPos = prevBox[xy];
29785
+ const nextPos = nextBox[xy];
29786
+ const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
29787
+ const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
29788
+ const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
29789
+ const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
29790
+ const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
29791
+ const sigma = 1.5;
29792
+ return {
29793
+ transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
29794
+ transformOrigin: Array(3).fill(origin)
29795
+ };
29796
+ }
29753
29797
  function updateSlider(_ref2) {
29754
29798
  let {
29755
29799
  value
@@ -29759,26 +29803,21 @@
29759
29803
  const nextEl = sliderEl.value;
29760
29804
  if (!prevEl || !nextEl) return;
29761
29805
  const color = getComputedStyle(prevEl).color;
29762
- const prevBox = prevEl.getBoundingClientRect();
29763
- const nextBox = nextEl.getBoundingClientRect();
29764
- const xy = isHorizontal.value ? 'x' : 'y';
29765
- const XY = isHorizontal.value ? 'X' : 'Y';
29766
- const rightBottom = isHorizontal.value ? 'right' : 'bottom';
29767
- const widthHeight = isHorizontal.value ? 'width' : 'height';
29768
- const prevPos = prevBox[xy];
29769
- const nextPos = nextBox[xy];
29770
- const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];
29771
- const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';
29772
- const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);
29773
- const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;
29774
- const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;
29775
- const sigma = 1.5;
29806
+ const keyframes = {
29807
+ fade,
29808
+ grow,
29809
+ shift
29810
+ }[props.sliderTransition ?? 'shift'] ?? shift;
29811
+ const duration = Number(props.sliderTransitionDuration) || ({
29812
+ fade: 400,
29813
+ grow: 350,
29814
+ shift: 225
29815
+ }[props.sliderTransition ?? 'shift'] ?? 225);
29776
29816
  animate(nextEl, {
29777
29817
  backgroundColor: [color, 'currentcolor'],
29778
- transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
29779
- transformOrigin: Array(3).fill(origin)
29818
+ ...keyframes(nextEl, prevEl)
29780
29819
  }, {
29781
- duration: 225,
29820
+ duration,
29782
29821
  easing: standardEasing
29783
29822
  });
29784
29823
  }
@@ -29912,7 +29951,7 @@
29912
29951
  },
29913
29952
  hideSlider: Boolean,
29914
29953
  sliderColor: String,
29915
- ...pick(makeVTabProps(), ['spaced']),
29954
+ ...pick(makeVTabProps(), ['spaced', 'sliderTransition', 'sliderTransitionDuration']),
29916
29955
  ...makeVSlideGroupProps({
29917
29956
  mandatory: 'force',
29918
29957
  selectedClass: 'v-tab-item--selected'
@@ -29945,12 +29984,14 @@
29945
29984
  } = useScopeId();
29946
29985
  provideDefaults({
29947
29986
  VTab: {
29948
- color: vue.toRef(() => props.color),
29949
- direction: vue.toRef(() => props.direction),
29950
- stacked: vue.toRef(() => props.stacked),
29951
- fixed: vue.toRef(() => props.fixedTabs),
29952
- sliderColor: vue.toRef(() => props.sliderColor),
29953
- hideSlider: vue.toRef(() => props.hideSlider)
29987
+ color: vue.toRef(props, 'color'),
29988
+ direction: vue.toRef(props, 'direction'),
29989
+ stacked: vue.toRef(props, 'stacked'),
29990
+ fixed: vue.toRef(props, 'fixedTabs'),
29991
+ sliderColor: vue.toRef(props, 'sliderColor'),
29992
+ sliderTransition: vue.toRef(props, 'sliderTransition'),
29993
+ sliderTransitionDuration: vue.toRef(props, 'sliderTransitionDuration'),
29994
+ hideSlider: vue.toRef(props, 'hideSlider')
29954
29995
  }
29955
29996
  });
29956
29997
  useRender(() => {
@@ -38354,7 +38395,7 @@
38354
38395
  };
38355
38396
  });
38356
38397
  }
38357
- const version$1 = "3.10.9-dev.2025-11-05";
38398
+ const version$1 = "3.10.9-dev.2025-11-08";
38358
38399
  createVuetify$1.version = version$1;
38359
38400
 
38360
38401
  // Vue's inject() can only be used in setup
@@ -38652,7 +38693,7 @@
38652
38693
 
38653
38694
  /* eslint-disable local-rules/sort-imports */
38654
38695
 
38655
- const version = "3.10.9-dev.2025-11-05";
38696
+ const version = "3.10.9-dev.2025-11-08";
38656
38697
 
38657
38698
  /* eslint-disable local-rules/sort-imports */
38658
38699