@vuetify/nightly 3.8.7-master.2025-06-02 → 3.8.8-master.2025-06-04

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 (55) hide show
  1. package/CHANGELOG.md +5 -16
  2. package/dist/json/attributes.json +1935 -1935
  3. package/dist/json/importMap-labs.json +12 -12
  4. package/dist/json/importMap.json +172 -172
  5. package/dist/json/web-types.json +3629 -3629
  6. package/dist/vuetify-labs.cjs +29 -11
  7. package/dist/vuetify-labs.css +3132 -3126
  8. package/dist/vuetify-labs.d.ts +61 -55
  9. package/dist/vuetify-labs.esm.js +30 -12
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +29 -11
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +29 -11
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +1342 -1336
  16. package/dist/vuetify.d.ts +61 -55
  17. package/dist/vuetify.esm.js +30 -12
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +29 -11
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +1002 -999
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAutocomplete/VAutocomplete.css +6 -6
  25. package/lib/components/VAutocomplete/VAutocomplete.sass +3 -9
  26. package/lib/components/VChip/VChip.js +1 -0
  27. package/lib/components/VChip/VChip.js.map +1 -1
  28. package/lib/components/VCombobox/VCombobox.css +6 -6
  29. package/lib/components/VCombobox/VCombobox.sass +3 -9
  30. package/lib/components/VSelect/VSelect.css +6 -0
  31. package/lib/components/VSelect/VSelect.sass +3 -0
  32. package/lib/components/VSelect/_mixins.scss +14 -0
  33. package/lib/components/VSlider/VSliderThumb.js +12 -6
  34. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  35. package/lib/components/VSlider/slider.js +4 -1
  36. package/lib/components/VSlider/slider.js.map +1 -1
  37. package/lib/composables/icons.d.ts +6 -0
  38. package/lib/composables/icons.js.map +1 -1
  39. package/lib/composables/list-items.js +2 -2
  40. package/lib/composables/list-items.js.map +1 -1
  41. package/lib/entry-bundler.js +1 -1
  42. package/lib/framework.d.ts +61 -55
  43. package/lib/framework.js +1 -1
  44. package/lib/iconsets/fa.js +3 -1
  45. package/lib/iconsets/fa.js.map +1 -1
  46. package/lib/iconsets/fa4.js +3 -1
  47. package/lib/iconsets/fa4.js.map +1 -1
  48. package/lib/iconsets/md.js +3 -1
  49. package/lib/iconsets/md.js.map +1 -1
  50. package/lib/iconsets/mdi-svg.js +3 -1
  51. package/lib/iconsets/mdi-svg.js.map +1 -1
  52. package/lib/util/helpers.d.ts +1 -0
  53. package/lib/util/helpers.js +9 -1
  54. package/lib/util/helpers.js.map +1 -1
  55. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.7-master.2025-06-02
2
+ * Vuetify v3.8.8-master.2025-06-04
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -606,6 +606,14 @@
606
606
  }
607
607
  return cleanText;
608
608
  }
609
+ function camelizeProps(props) {
610
+ if (!props) return;
611
+ const out = {};
612
+ for (const prop in props) {
613
+ out[vue.camelize(prop)] = props[prop];
614
+ }
615
+ return out;
616
+ }
609
617
 
610
618
  // Utilities
611
619
  const block = ['top', 'bottom'];
@@ -8100,6 +8108,7 @@
8100
8108
  const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
8101
8109
  const closeProps = vue.toRef(() => ({
8102
8110
  'aria-label': t(props.closeLabel),
8111
+ disabled: props.disabled,
8103
8112
  onClick(e) {
8104
8113
  e.preventDefault();
8105
8114
  e.stopPropagation();
@@ -9581,7 +9590,7 @@
9581
9590
  const _props = {
9582
9591
  title,
9583
9592
  value,
9584
- ...itemProps
9593
+ ...camelizeProps(itemProps)
9585
9594
  };
9586
9595
  return {
9587
9596
  title: String(_props.title ?? ''),
@@ -15888,7 +15897,10 @@
15888
15897
  if (step.value <= 0) return value;
15889
15898
  const clamped = clamp(value, min.value, max.value);
15890
15899
  const offset = min.value % step.value;
15891
- const newValue = Math.round((clamped - offset) / step.value) * step.value + offset;
15900
+ let newValue = Math.round((clamped - offset) / step.value) * step.value + offset;
15901
+ if (clamped > newValue && newValue + step.value > max.value) {
15902
+ newValue = max.value;
15903
+ }
15892
15904
  return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value));
15893
15905
  }
15894
15906
  return {
@@ -16144,6 +16156,8 @@
16144
16156
  } = useRtl();
16145
16157
  if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider');
16146
16158
  const {
16159
+ min,
16160
+ max,
16147
16161
  thumbColor,
16148
16162
  step,
16149
16163
  disabled,
@@ -16184,16 +16198,20 @@
16184
16198
  if (!relevantKeys.includes(e.key)) return;
16185
16199
  e.preventDefault();
16186
16200
  const _step = step.value || 0.1;
16187
- const steps = (props.max - props.min) / _step;
16201
+ const steps = (max.value - min.value) / _step;
16188
16202
  if ([left, right, down, up].includes(e.key)) {
16189
16203
  const increase = vertical.value ? [isRtl.value ? left : right, isReversed.value ? down : up] : indexFromEnd.value !== isRtl.value ? [left, up] : [right, up];
16190
16204
  const direction = increase.includes(e.key) ? 1 : -1;
16191
16205
  const multiplier = e.shiftKey ? 2 : e.ctrlKey ? 1 : 0;
16192
- value = value + direction * _step * multipliers.value[multiplier];
16206
+ if (direction === -1 && value === max.value && !multiplier && !Number.isInteger(steps)) {
16207
+ value = value - steps % 1 * _step;
16208
+ } else {
16209
+ value = value + direction * _step * multipliers.value[multiplier];
16210
+ }
16193
16211
  } else if (e.key === home) {
16194
- value = props.min;
16212
+ value = min.value;
16195
16213
  } else if (e.key === end) {
16196
- value = props.max;
16214
+ value = max.value;
16197
16215
  } else {
16198
16216
  const direction = e.key === pagedown ? 1 : -1;
16199
16217
  value = value - direction * _step * (steps > 100 ? steps / 10 : 10);
@@ -16218,8 +16236,8 @@
16218
16236
  "role": "slider",
16219
16237
  "tabindex": disabled.value ? -1 : 0,
16220
16238
  "aria-label": props.name,
16221
- "aria-valuemin": props.min,
16222
- "aria-valuemax": props.max,
16239
+ "aria-valuemin": min.value,
16240
+ "aria-valuemax": max.value,
16223
16241
  "aria-valuenow": props.modelValue,
16224
16242
  "aria-readonly": !!readonly.value,
16225
16243
  "aria-orientation": direction.value,
@@ -32077,7 +32095,7 @@
32077
32095
  };
32078
32096
  });
32079
32097
  }
32080
- const version$1 = "3.8.7-master.2025-06-02";
32098
+ const version$1 = "3.8.8-master.2025-06-04";
32081
32099
  createVuetify$1.version = version$1;
32082
32100
 
32083
32101
  // Vue's inject() can only be used in setup
@@ -32375,7 +32393,7 @@
32375
32393
 
32376
32394
  /* eslint-disable local-rules/sort-imports */
32377
32395
 
32378
- const version = "3.8.7-master.2025-06-02";
32396
+ const version = "3.8.8-master.2025-06-04";
32379
32397
 
32380
32398
  /* eslint-disable local-rules/sort-imports */
32381
32399