vuetify 3.5.1 → 3.5.2

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 (57) hide show
  1. package/dist/json/attributes.json +15 -27
  2. package/dist/json/importMap.json +132 -132
  3. package/dist/json/tags.json +0 -3
  4. package/dist/json/web-types.json +47 -65
  5. package/dist/vuetify-labs.css +1337 -1350
  6. package/dist/vuetify-labs.d.ts +59 -80
  7. package/dist/vuetify-labs.esm.js +27 -24
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +27 -24
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1157 -1170
  12. package/dist/vuetify.d.ts +90 -111
  13. package/dist/vuetify.esm.js +27 -24
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +27 -24
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +21 -22
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VColorPicker/VColorPickerEdit.mjs +1 -1
  21. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  22. package/lib/components/VColorPicker/util/index.mjs +1 -1
  23. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  24. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  25. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  26. package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -3
  27. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  28. package/lib/components/VDatePicker/index.d.mts +45 -63
  29. package/lib/components/VLabel/VLabel.mjs +5 -4
  30. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  31. package/lib/components/VLabel/index.d.mts +6 -9
  32. package/lib/components/VMenu/VMenu.mjs +1 -0
  33. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  34. package/lib/components/VOverlay/scrollStrategies.mjs +3 -0
  35. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  36. package/lib/components/VSelectionControl/VSelectionControl.mjs +4 -2
  37. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  38. package/lib/components/VTable/VTable.css +15 -28
  39. package/lib/components/VTable/VTable.sass +6 -13
  40. package/lib/components/VTable/_variables.scss +1 -1
  41. package/lib/components/VWindow/VWindow.css +1 -1
  42. package/lib/components/VWindow/VWindow.sass +1 -1
  43. package/lib/components/index.d.mts +51 -72
  44. package/lib/composables/calendar.mjs +1 -1
  45. package/lib/composables/calendar.mjs.map +1 -1
  46. package/lib/composables/date/adapters/vuetify.mjs +2 -8
  47. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  48. package/lib/composables/group.mjs +4 -1
  49. package/lib/composables/group.mjs.map +1 -1
  50. package/lib/composables/validation.mjs +1 -1
  51. package/lib/composables/validation.mjs.map +1 -1
  52. package/lib/entry-bundler.mjs +1 -1
  53. package/lib/framework.mjs +1 -1
  54. package/lib/index.d.mts +39 -39
  55. package/lib/labs/VCalendar/index.d.mts +8 -8
  56. package/lib/labs/components.d.mts +8 -8
  57. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.5.1
2
+ * Vuetify v3.5.2
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -4143,6 +4143,9 @@
4143
4143
  const key = Symbol.for(`${injectKey.description}:id`);
4144
4144
  const children = findChildrenWithProvide(key, groupVm?.vnode);
4145
4145
  const index = children.indexOf(vm);
4146
+ if (vue.unref(unwrapped.value) == null) {
4147
+ unwrapped.value = index;
4148
+ }
4146
4149
  if (index > -1) {
4147
4150
  items.splice(index, 0, unwrapped);
4148
4151
  } else {
@@ -5903,7 +5906,7 @@
5903
5906
 
5904
5907
  const makeVLabelProps = propsFactory({
5905
5908
  text: String,
5906
- clickable: Boolean,
5909
+ onClick: EventProp(),
5907
5910
  ...makeComponentProps(),
5908
5911
  ...makeThemeProps()
5909
5912
  }, 'VLabel');
@@ -5916,9 +5919,10 @@
5916
5919
  } = _ref;
5917
5920
  useRender(() => vue.createVNode("label", {
5918
5921
  "class": ['v-label', {
5919
- 'v-label--clickable': props.clickable
5922
+ 'v-label--clickable': !!props.onClick
5920
5923
  }, props.class],
5921
- "style": props.style
5924
+ "style": props.style,
5925
+ "onClick": props.onClick
5922
5926
  }, [props.text, slots.default?.()]));
5923
5927
  return {};
5924
5928
  }
@@ -6137,6 +6141,9 @@
6137
6141
  isFocused.value = false;
6138
6142
  isFocusVisible.value = false;
6139
6143
  }
6144
+ function onClickLabel(e) {
6145
+ e.stopPropagation();
6146
+ }
6140
6147
  function onInput(e) {
6141
6148
  if (!isInteractive.value) return;
6142
6149
  if (props.readonly && group) {
@@ -6203,8 +6210,7 @@
6203
6210
  "icon": icon.value
6204
6211
  }, null), inputNode])]), [[vue.resolveDirective("ripple"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && vue.createVNode(VLabel, {
6205
6212
  "for": id.value,
6206
- "clickable": true,
6207
- "onClick": e => e.stopPropagation()
6213
+ "onClick": onClickLabel
6208
6214
  }, {
6209
6215
  default: () => [label]
6210
6216
  })]);
@@ -6617,7 +6623,7 @@
6617
6623
  if (!val) validate();
6618
6624
  });
6619
6625
  });
6620
- vue.watch(isValid, () => {
6626
+ vue.watch([isValid, errorMessages], () => {
6621
6627
  form?.update(uid.value, isValid.value, errorMessages.value);
6622
6628
  });
6623
6629
  function reset() {
@@ -9562,12 +9568,15 @@
9562
9568
  scrollElements.forEach((el, i) => {
9563
9569
  const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'));
9564
9570
  const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'));
9571
+ const scrollBehavior = el.style.scrollBehavior;
9572
+ el.style.scrollBehavior = 'auto';
9565
9573
  el.style.removeProperty('--v-body-scroll-x');
9566
9574
  el.style.removeProperty('--v-body-scroll-y');
9567
9575
  el.style.removeProperty('--v-scrollbar-offset');
9568
9576
  el.classList.remove('v-overlay-scroll-blocked');
9569
9577
  el.scrollLeft = -x;
9570
9578
  el.scrollTop = -y;
9579
+ el.style.scrollBehavior = scrollBehavior;
9571
9580
  });
9572
9581
  if (scrollableParent) {
9573
9582
  data.root.value.classList.remove('v-overlay--scroll-blocked');
@@ -10623,6 +10632,7 @@
10623
10632
  const overlayProps = VOverlay.filterProps(props);
10624
10633
  return vue.createVNode(VOverlay, vue.mergeProps({
10625
10634
  "ref": overlay,
10635
+ "id": id.value,
10626
10636
  "class": ['v-menu', props.class],
10627
10637
  "style": props.style
10628
10638
  }, overlayProps, {
@@ -14305,7 +14315,7 @@
14305
14315
  const nullColor = {
14306
14316
  h: 0,
14307
14317
  s: 0,
14308
- v: 1,
14318
+ v: 0,
14309
14319
  a: 1
14310
14320
  };
14311
14321
  const rgba = {
@@ -14506,7 +14516,7 @@
14506
14516
  onChange: e => {
14507
14517
  const target = e.target;
14508
14518
  if (!target) return;
14509
- emit('update:color', mode.from(getColor(color ?? nullColor, target.value)));
14519
+ emit('update:color', mode.from(getColor(color ?? mode.to(nullColor), target.value)));
14510
14520
  }
14511
14521
  };
14512
14522
  });
@@ -17108,16 +17118,13 @@
17108
17118
  return null;
17109
17119
  }
17110
17120
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
17111
-
17112
- // The number of letters returned by getWeekday() varies by date library
17113
- // So we've opted for 3-letter abbreviations for all locales
17114
17121
  function getWeekdays(locale) {
17115
17122
  const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
17116
17123
  return createRange(7).map(i => {
17117
17124
  const weekday = new Date(sundayJanuarySecond2000);
17118
17125
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
17119
17126
  return new Intl.DateTimeFormat(locale, {
17120
- weekday: 'short'
17127
+ weekday: 'narrow'
17121
17128
  }).format(weekday);
17122
17129
  });
17123
17130
  }
@@ -17180,10 +17187,7 @@
17180
17187
  };
17181
17188
  break;
17182
17189
  case 'dayOfMonth':
17183
- options = {
17184
- day: 'numeric'
17185
- };
17186
- break;
17190
+ return new Intl.NumberFormat(locale).format(newDate.getDate());
17187
17191
  case 'shortDate':
17188
17192
  options = {
17189
17193
  year: '2-digit',
@@ -20344,7 +20348,7 @@
20344
20348
  }, v => adapter.getYear(v));
20345
20349
  const month = useProxiedModel(props, 'month', undefined, v => {
20346
20350
  const value = v != null ? Number(v) : adapter.getMonth(displayValue.value);
20347
- const date = adapter.setYear(adapter.date(), adapter.getYear(year.value));
20351
+ const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
20348
20352
  return adapter.setMonth(date, value);
20349
20353
  }, v => adapter.getMonth(v));
20350
20354
  const weeksInMonth = vue.computed(() => {
@@ -20446,7 +20450,6 @@
20446
20450
  color: String,
20447
20451
  hideWeekdays: Boolean,
20448
20452
  multiple: [Boolean, Number, String],
20449
- range: Boolean,
20450
20453
  showWeek: Boolean,
20451
20454
  ...makeCalendarProps()
20452
20455
  }, 'VDatePickerMonth');
@@ -20468,7 +20471,7 @@
20468
20471
  daysInMonth,
20469
20472
  model,
20470
20473
  weekNumbers
20471
- } = useCalendar(props); // TODO: fix typing
20474
+ } = useCalendar(props);
20472
20475
  const adapter = useDate();
20473
20476
  const rangeStart = vue.shallowRef();
20474
20477
  const rangeStop = vue.shallowRef();
@@ -20540,7 +20543,7 @@
20540
20543
  "class": "v-date-picker-month__days"
20541
20544
  }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => vue.createVNode("div", {
20542
20545
  "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
20543
- }, [weekDay[0]])), daysInMonth.value.map((item, i) => {
20546
+ }, [weekDay])), daysInMonth.value.map((item, i) => {
20544
20547
  const slotProps = {
20545
20548
  props: {
20546
20549
  onClick: () => onClick(item.date)
@@ -20864,7 +20867,7 @@
20864
20867
  return props.multiple && model.value.length > 1 ? t('$vuetify.datePicker.itemsSelected', model.value.length) : model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(model.value[0], 'normalDateWithWeekday') : t(props.header);
20865
20868
  });
20866
20869
  const text = vue.computed(() => {
20867
- return adapter.format(adapter.setYear(adapter.setMonth(adapter.startOfMonth(adapter.date()), month.value), year.value), 'monthAndYear');
20870
+ return adapter.format(adapter.parseISO(`${year.value}-${month.value + 1}-01`), 'monthAndYear');
20868
20871
  });
20869
20872
  // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
20870
20873
  const headerTransition = vue.computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
@@ -26205,7 +26208,7 @@
26205
26208
  goTo
26206
26209
  };
26207
26210
  }
26208
- const version$1 = "3.5.1";
26211
+ const version$1 = "3.5.2";
26209
26212
  createVuetify$1.version = version$1;
26210
26213
 
26211
26214
  // Vue's inject() can only be used in setup
@@ -26219,7 +26222,7 @@
26219
26222
 
26220
26223
  /* eslint-disable local-rules/sort-imports */
26221
26224
 
26222
- const version = "3.5.1";
26225
+ const version = "3.5.2";
26223
26226
 
26224
26227
  /* eslint-disable local-rules/sort-imports */
26225
26228