vuetify 3.3.19 → 3.3.20

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 (71) hide show
  1. package/dist/json/attributes.json +25 -25
  2. package/dist/json/importMap.json +20 -20
  3. package/dist/json/web-types.json +63 -63
  4. package/dist/vuetify-labs.css +5122 -5112
  5. package/dist/vuetify-labs.d.ts +172 -172
  6. package/dist/vuetify-labs.esm.js +45 -51
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +45 -51
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +5088 -5082
  11. package/dist/vuetify.d.ts +169 -169
  12. package/dist/vuetify.esm.js +33 -40
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +33 -40
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +201 -202
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VAutocomplete/index.d.mts +14 -14
  20. package/lib/components/VCheckbox/index.d.mts +8 -8
  21. package/lib/components/VCombobox/index.d.mts +14 -14
  22. package/lib/components/VFileInput/index.d.mts +20 -20
  23. package/lib/components/VInput/index.d.mts +8 -8
  24. package/lib/components/VList/VList.css +0 -3
  25. package/lib/components/VList/VList.sass +0 -4
  26. package/lib/components/VList/VListItem.css +9 -1
  27. package/lib/components/VList/VListItem.sass +12 -1
  28. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -7
  29. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  30. package/lib/components/VRadioGroup/index.d.mts +8 -8
  31. package/lib/components/VRangeSlider/index.d.mts +8 -8
  32. package/lib/components/VSelect/index.d.mts +14 -14
  33. package/lib/components/VSlider/VSliderThumb.css +2 -0
  34. package/lib/components/VSlider/VSliderThumb.mjs +7 -6
  35. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  36. package/lib/components/VSlider/VSliderThumb.sass +2 -0
  37. package/lib/components/VSlider/VSliderTrack.mjs +5 -7
  38. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  39. package/lib/components/VSlider/index.d.mts +8 -8
  40. package/lib/components/VSlider/slider.mjs +4 -10
  41. package/lib/components/VSlider/slider.mjs.map +1 -1
  42. package/lib/components/VSwitch/index.d.mts +8 -8
  43. package/lib/components/VTextField/VTextField.mjs +1 -1
  44. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  45. package/lib/components/VTextField/index.d.mts +26 -26
  46. package/lib/components/VTextarea/index.d.mts +20 -20
  47. package/lib/components/VTimeline/VTimeline.css +0 -1
  48. package/lib/components/VTimeline/VTimeline.sass +0 -1
  49. package/lib/components/VValidation/index.d.mts +8 -8
  50. package/lib/components/index.d.mts +164 -164
  51. package/lib/composables/forwardRefs.mjs +4 -4
  52. package/lib/composables/forwardRefs.mjs.map +1 -1
  53. package/lib/composables/validation.mjs +2 -2
  54. package/lib/composables/validation.mjs.map +1 -1
  55. package/lib/entry-bundler.mjs +1 -1
  56. package/lib/framework.mjs +1 -1
  57. package/lib/index.d.mts +5 -5
  58. package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -5
  59. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  60. package/lib/labs/VDataTable/composables/select.mjs +6 -6
  61. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  62. package/lib/labs/VDateInput/index.d.mts +14 -14
  63. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +4 -0
  64. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +2 -1
  65. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  66. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +4 -0
  67. package/lib/labs/VSkeletonLoader/index.d.mts +8 -8
  68. package/lib/labs/components.d.mts +8 -8
  69. package/lib/labs/date/date.mjs +1 -1
  70. package/lib/labs/date/date.mjs.map +1 -1
  71. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.19
2
+ * Vuetify v3.3.20
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -6289,7 +6289,7 @@ function useValidation(props) {
6289
6289
  const isDisabled = computed(() => !!(props.disabled ?? form?.isDisabled.value));
6290
6290
  const isReadonly = computed(() => !!(props.readonly ?? form?.isReadonly.value));
6291
6291
  const errorMessages = computed(() => {
6292
- return props.errorMessages.length ? wrapInArray(props.errorMessages).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6292
+ return props.errorMessages?.length ? wrapInArray(props.errorMessages).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6293
6293
  });
6294
6294
  const validateOn = computed(() => {
6295
6295
  let value = (props.validateOn ?? form?.validateOn.value) || 'input';
@@ -6303,7 +6303,7 @@ function useValidation(props) {
6303
6303
  };
6304
6304
  });
6305
6305
  const isValid = computed(() => {
6306
- if (props.error || props.errorMessages.length) return false;
6306
+ if (props.error || props.errorMessages?.length) return false;
6307
6307
  if (!props.rules.length) return true;
6308
6308
  if (isPristine.value) {
6309
6309
  return internalErrorMessages.value.length || validateOn.value.lazy ? null : true;
@@ -9799,7 +9799,7 @@ function forwardRefs(target) {
9799
9799
  }
9800
9800
 
9801
9801
  // Skip internal properties
9802
- if (typeof key === 'symbol' || key.startsWith('__')) return;
9802
+ if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return;
9803
9803
  for (const ref of refs) {
9804
9804
  if (ref.value && Reflect.has(ref.value, key)) {
9805
9805
  const val = Reflect.get(ref.value, key);
@@ -9813,7 +9813,7 @@ function forwardRefs(target) {
9813
9813
  }
9814
9814
 
9815
9815
  // Skip internal properties
9816
- if (typeof key === 'symbol' || key.startsWith('__')) return false;
9816
+ if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false;
9817
9817
  for (const ref of refs) {
9818
9818
  if (ref.value && Reflect.has(ref.value, key)) {
9819
9819
  return true;
@@ -9827,7 +9827,7 @@ function forwardRefs(target) {
9827
9827
  }
9828
9828
 
9829
9829
  // Skip internal properties
9830
- if (typeof key === 'symbol' || key.startsWith('__')) return false;
9830
+ if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false;
9831
9831
  for (const ref of refs) {
9832
9832
  if (ref.value && Reflect.has(ref.value, key)) {
9833
9833
  return Reflect.set(ref.value, key, value);
@@ -9840,7 +9840,7 @@ function forwardRefs(target) {
9840
9840
  if (descriptor) return descriptor;
9841
9841
 
9842
9842
  // Skip internal properties
9843
- if (typeof key === 'symbol' || key.startsWith('__')) return;
9843
+ if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return;
9844
9844
 
9845
9845
  // Check each ref's own properties
9846
9846
  for (const ref of refs) {
@@ -10453,7 +10453,7 @@ const VTextField = genericComponent()({
10453
10453
  }
10454
10454
  }
10455
10455
  useRender(() => {
10456
- const hasCounter = !!(slots.counter || props.counter || props.counterValue);
10456
+ const hasCounter = !!(slots.counter || props.counter !== false && props.counter != null);
10457
10457
  const hasDetails = !!(hasCounter || slots.details);
10458
10458
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
10459
10459
  const [{
@@ -13620,13 +13620,8 @@ const useSlider = _ref => {
13620
13620
  isRtl
13621
13621
  } = useRtl();
13622
13622
  const isReversed = toRef(props, 'reverse');
13623
- const horizontalDirection = computed(() => {
13624
- let hd = isRtl.value ? 'rtl' : 'ltr';
13625
- if (props.reverse) {
13626
- hd = hd === 'rtl' ? 'ltr' : 'rtl';
13627
- }
13628
- return hd;
13629
- });
13623
+ const vertical = computed(() => props.direction === 'vertical');
13624
+ const indexFromEnd = computed(() => vertical.value !== isReversed.value);
13630
13625
  const {
13631
13626
  min,
13632
13627
  max,
@@ -13639,7 +13634,6 @@ const useSlider = _ref => {
13639
13634
  const trackSize = computed(() => parseInt(props.trackSize, 10));
13640
13635
  const numTicks = computed(() => (max.value - min.value) / step.value);
13641
13636
  const disabled = toRef(props, 'disabled');
13642
- const vertical = computed(() => props.direction === 'vertical');
13643
13637
  const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
13644
13638
  const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
13645
13639
  const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
@@ -13660,7 +13654,7 @@ const useSlider = _ref => {
13660
13654
 
13661
13655
  // It is possible for left to be NaN, force to number
13662
13656
  let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0;
13663
- if (vertical || horizontalDirection.value === 'rtl') clickPos = 1 - clickPos;
13657
+ if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;
13664
13658
  return roundValue(min.value + clickPos * (max.value - min.value));
13665
13659
  }
13666
13660
  const handleStop = e => {
@@ -13764,8 +13758,8 @@ const useSlider = _ref => {
13764
13758
  direction: toRef(props, 'direction'),
13765
13759
  elevation: toRef(props, 'elevation'),
13766
13760
  hasLabels,
13767
- horizontalDirection,
13768
13761
  isReversed,
13762
+ indexFromEnd,
13769
13763
  min,
13770
13764
  max,
13771
13765
  mousePressed,
@@ -13838,23 +13832,24 @@ const VSliderThumb = genericComponent()({
13838
13832
  } = _ref;
13839
13833
  const slider = inject$1(VSliderSymbol);
13840
13834
  const {
13835
+ isRtl,
13841
13836
  rtlClasses
13842
13837
  } = useRtl();
13843
13838
  if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider');
13844
13839
  const {
13845
13840
  thumbColor,
13846
13841
  step,
13847
- vertical,
13848
13842
  disabled,
13849
13843
  thumbSize,
13850
13844
  thumbLabel,
13851
13845
  direction,
13846
+ isReversed,
13847
+ vertical,
13852
13848
  readonly,
13853
13849
  elevation,
13854
- isReversed,
13855
- horizontalDirection,
13856
13850
  mousePressed,
13857
- decimals
13851
+ decimals,
13852
+ indexFromEnd
13858
13853
  } = slider;
13859
13854
  const {
13860
13855
  textColorClasses,
@@ -13880,7 +13875,7 @@ const VSliderThumb = genericComponent()({
13880
13875
  const _step = step.value || 0.1;
13881
13876
  const steps = (props.max - props.min) / _step;
13882
13877
  if ([left, right, down, up].includes(e.key)) {
13883
- const increase = horizontalDirection.value === 'rtl' ? [left, up] : [right, up];
13878
+ const increase = vertical.value ? [isRtl.value ? left : right, isReversed.value ? down : up] : indexFromEnd.value !== isRtl.value ? [left, up] : [right, up];
13884
13879
  const direction = increase.includes(e.key) ? 1 : -1;
13885
13880
  const multiplier = e.shiftKey ? 2 : e.ctrlKey ? 1 : 0;
13886
13881
  value = value + direction * _step * multipliers.value[multiplier];
@@ -13899,7 +13894,7 @@ const VSliderThumb = genericComponent()({
13899
13894
  newValue != null && emit('update:modelValue', newValue);
13900
13895
  }
13901
13896
  useRender(() => {
13902
- const positionPercentage = convertToUnit(vertical.value || isReversed.value ? 100 - props.position : props.position, '%');
13897
+ const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');
13903
13898
  const {
13904
13899
  elevationClasses
13905
13900
  } = useElevation(computed(() => !disabled.value ? elevation.value : undefined));
@@ -13972,7 +13967,6 @@ const VSliderTrack = genericComponent()({
13972
13967
  if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider');
13973
13968
  const {
13974
13969
  color,
13975
- horizontalDirection,
13976
13970
  parsedTicks,
13977
13971
  rounded,
13978
13972
  showTicks,
@@ -13982,7 +13976,8 @@ const VSliderTrack = genericComponent()({
13982
13976
  trackSize,
13983
13977
  vertical,
13984
13978
  min,
13985
- max
13979
+ max,
13980
+ indexFromEnd
13986
13981
  } = slider;
13987
13982
  const {
13988
13983
  roundedClasses
@@ -13995,7 +13990,7 @@ const VSliderTrack = genericComponent()({
13995
13990
  backgroundColorClasses: trackColorClasses,
13996
13991
  backgroundColorStyles: trackColorStyles
13997
13992
  } = useBackgroundColor(trackColor);
13998
- const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`);
13993
+ const startDir = computed(() => `inset-${vertical.value ? 'block' : 'inline'}-${indexFromEnd.value ? 'end' : 'start'}`);
13999
13994
  const endDir = computed(() => vertical.value ? 'height' : 'width');
14000
13995
  const backgroundStyles = computed(() => {
14001
13996
  return {
@@ -14014,7 +14009,6 @@ const VSliderTrack = genericComponent()({
14014
14009
  if (!showTicks.value) return [];
14015
14010
  const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;
14016
14011
  return ticks.map((tick, index) => {
14017
- const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start';
14018
14012
  const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;
14019
14013
  return createVNode("div", {
14020
14014
  "key": tick.value,
@@ -14024,7 +14018,7 @@ const VSliderTrack = genericComponent()({
14024
14018
  'v-slider-track__tick--last': tick.value === max.value
14025
14019
  }],
14026
14020
  "style": {
14027
- [directionProperty]: directionValue
14021
+ [startDir.value]: directionValue
14028
14022
  }
14029
14023
  }, [(tick.label || slots['tick-label']) && createVNode("div", {
14030
14024
  "class": "v-slider-track__tick-label"
@@ -14039,8 +14033,7 @@ const VSliderTrack = genericComponent()({
14039
14033
  "class": ['v-slider-track', roundedClasses.value, props.class],
14040
14034
  "style": [{
14041
14035
  '--v-slider-track-size': convertToUnit(trackSize.value),
14042
- '--v-slider-tick-size': convertToUnit(tickSize.value),
14043
- direction: !vertical.value ? horizontalDirection.value : undefined
14036
+ '--v-slider-tick-size': convertToUnit(tickSize.value)
14044
14037
  }, props.style]
14045
14038
  }, [createVNode("div", {
14046
14039
  "class": ['v-slider-track__background', trackColorClasses.value, {
@@ -16961,15 +16954,15 @@ const VNavigationDrawer = genericComponent()({
16961
16954
  });
16962
16955
  const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));
16963
16956
  const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
16964
- if (props.expandOnHover && props.rail != null) {
16957
+ useToggleScope(() => props.expandOnHover && props.rail != null, () => {
16965
16958
  watch(isHovering, val => emit('update:rail', !val));
16966
- }
16967
- if (!props.disableResizeWatcher) {
16959
+ });
16960
+ useToggleScope(() => !props.disableResizeWatcher, () => {
16968
16961
  watch(isTemporary, val => !props.permanent && nextTick(() => isActive.value = !val));
16969
- }
16970
- if (!props.disableRouteWatcher && router) {
16962
+ });
16963
+ useToggleScope(() => !props.disableRouteWatcher && !!router, () => {
16971
16964
  watch(router.currentRoute, () => isTemporary.value && (isActive.value = false));
16972
- }
16965
+ });
16973
16966
  watch(() => props.permanent, val => {
16974
16967
  if (val) isActive.value = true;
16975
16968
  });
@@ -20010,7 +20003,7 @@ const singleSelectStrategy = {
20010
20003
  items,
20011
20004
  value
20012
20005
  } = _ref;
20013
- return new Set(value ? [toRaw(items[0]?.value)] : []);
20006
+ return new Set(value ? [items[0]?.value] : []);
20014
20007
  },
20015
20008
  selectAll: _ref2 => {
20016
20009
  let {
@@ -20034,7 +20027,7 @@ const pageSelectStrategy = {
20034
20027
  selected
20035
20028
  } = _ref4;
20036
20029
  for (const item of items) {
20037
- if (value) selected.add(toRaw(item.value));else selected.delete(toRaw(item.value));
20030
+ if (value) selected.add(item.value);else selected.delete(item.value);
20038
20031
  }
20039
20032
  return selected;
20040
20033
  },
@@ -20066,7 +20059,7 @@ const allSelectStrategy = {
20066
20059
  selected
20067
20060
  } = _ref7;
20068
20061
  for (const item of items) {
20069
- if (value) selected.add(toRaw(item.value));else selected.delete(toRaw(item.value));
20062
+ if (value) selected.add(item.value);else selected.delete(item.value);
20070
20063
  }
20071
20064
  return selected;
20072
20065
  },
@@ -20126,10 +20119,10 @@ function provideSelection(props, _ref9) {
20126
20119
  }
20127
20120
  });
20128
20121
  function isSelected(items) {
20129
- return wrapInArray(items).every(item => selected.value.has(toRaw(item.value)));
20122
+ return wrapInArray(items).every(item => selected.value.has(item.value));
20130
20123
  }
20131
20124
  function isSomeSelected(items) {
20132
- return wrapInArray(items).some(item => selected.value.has(toRaw(item.value)));
20125
+ return wrapInArray(items).some(item => selected.value.has(item.value));
20133
20126
  }
20134
20127
  function select(items, value) {
20135
20128
  const newSelected = selectStrategy.value.select({
@@ -21583,7 +21576,7 @@ const VDataTableVirtual = genericComponent()({
21583
21576
  }, [createVNode("td", {
21584
21577
  "colspan": columns.value.length,
21585
21578
  "style": {
21586
- height: convertToUnit(paddingTop.value),
21579
+ height: 0,
21587
21580
  border: 0
21588
21581
  }
21589
21582
  }, null)]), createVNode(VDataTableRows, mergeProps(dataTableRowsProps, {
@@ -21591,9 +21584,9 @@ const VDataTableVirtual = genericComponent()({
21591
21584
  }), {
21592
21585
  ...slots,
21593
21586
  item: itemSlotProps => createVNode(VVirtualScrollItem, {
21594
- "key": itemSlotProps.item.index,
21587
+ "key": itemSlotProps.internalItem.index,
21595
21588
  "renderless": true,
21596
- "onUpdate:height": height => handleItemResize(itemSlotProps.item.index, height)
21589
+ "onUpdate:height": height => handleItemResize(itemSlotProps.internalItem.index, height)
21597
21590
  }, {
21598
21591
  default: _ref2 => {
21599
21592
  let {
@@ -21604,7 +21597,7 @@ const VDataTableVirtual = genericComponent()({
21604
21597
  itemRef
21605
21598
  }) ?? createVNode(VDataTableRow, mergeProps(itemSlotProps.props, {
21606
21599
  "ref": itemRef,
21607
- "key": itemSlotProps.item.index
21600
+ "key": itemSlotProps.internalItem.index
21608
21601
  }), slots);
21609
21602
  }
21610
21603
  })
@@ -21616,7 +21609,7 @@ const VDataTableVirtual = genericComponent()({
21616
21609
  }, [createVNode("td", {
21617
21610
  "colspan": columns.value.length,
21618
21611
  "style": {
21619
- height: convertToUnit(paddingBottom.value),
21612
+ height: 0,
21620
21613
  border: 0
21621
21614
  }
21622
21615
  }, null)])])])]),
@@ -22341,7 +22334,7 @@ function createDate(options) {
22341
22334
  lv: 'lv-LV',
22342
22335
  lt: 'lt-LT',
22343
22336
  nl: 'nl-NL',
22344
- no: 'nn-NO',
22337
+ no: 'no-NO',
22345
22338
  pl: 'pl-PL',
22346
22339
  pt: 'pt-PT',
22347
22340
  ro: 'ro-RO',
@@ -23758,6 +23751,7 @@ const rootTypes = {
23758
23751
  'list-item-avatar-two-line': 'avatar, sentences',
23759
23752
  'list-item-three-line': 'paragraph',
23760
23753
  'list-item-avatar-three-line': 'avatar, paragraph',
23754
+ ossein: 'ossein',
23761
23755
  paragraph: 'text@3',
23762
23756
  sentences: 'text@2',
23763
23757
  subtitle: 'text',
@@ -23822,7 +23816,7 @@ const makeVSkeletonLoaderProps = propsFactory({
23822
23816
  },
23823
23817
  type: {
23824
23818
  type: [String, Array],
23825
- default: 'image'
23819
+ default: 'ossein'
23826
23820
  },
23827
23821
  ...makeDimensionProps(),
23828
23822
  ...makeElevationProps(),
@@ -24614,7 +24608,7 @@ function createVuetify$1() {
24614
24608
  date
24615
24609
  };
24616
24610
  }
24617
- const version$1 = "3.3.19";
24611
+ const version$1 = "3.3.20";
24618
24612
  createVuetify$1.version = version$1;
24619
24613
 
24620
24614
  // Vue's inject() can only be used in setup
@@ -24628,7 +24622,7 @@ function inject(key) {
24628
24622
 
24629
24623
  /* eslint-disable local-rules/sort-imports */
24630
24624
 
24631
- const version = "3.3.19";
24625
+ const version = "3.3.20";
24632
24626
 
24633
24627
  /* eslint-disable local-rules/sort-imports */
24634
24628