@vuetify/nightly 3.8.10-master.2025-06-19 → 3.8.11-master.2025-06-27

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 (54) hide show
  1. package/CHANGELOG.md +12 -7
  2. package/dist/json/attributes.json +3005 -3005
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/web-types.json +5874 -5874
  6. package/dist/vuetify-labs.cjs +37 -37
  7. package/dist/vuetify-labs.css +6315 -6321
  8. package/dist/vuetify-labs.d.ts +58 -58
  9. package/dist/vuetify-labs.esm.js +37 -37
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +37 -37
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +36 -37
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3938 -3944
  16. package/dist/vuetify.d.ts +58 -58
  17. package/dist/vuetify.esm.js +36 -37
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +36 -37
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +36 -36
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VCarousel/VCarousel.css +0 -1
  25. package/lib/components/VCarousel/VCarousel.js +1 -0
  26. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  27. package/lib/components/VCarousel/VCarousel.sass +0 -1
  28. package/lib/components/VDataTable/VDataTableColumn.js +0 -1
  29. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  30. package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
  31. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  32. package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
  33. package/lib/components/VDatePicker/VDatePickerMonth.js +8 -3
  34. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  35. package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
  36. package/lib/components/VField/VField.js +2 -10
  37. package/lib/components/VField/VField.js.map +1 -1
  38. package/lib/components/VList/VList.js +1 -1
  39. package/lib/components/VList/VList.js.map +1 -1
  40. package/lib/components/VNumberInput/VNumberInput.js +4 -10
  41. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  42. package/lib/components/VNumberInput/hold.js +4 -0
  43. package/lib/components/VNumberInput/hold.js.map +1 -1
  44. package/lib/components/VTextField/VTextField.js +1 -1
  45. package/lib/components/VTextField/VTextField.js.map +1 -1
  46. package/lib/composables/calendar.d.ts +1 -0
  47. package/lib/composables/calendar.js +7 -3
  48. package/lib/composables/calendar.js.map +1 -1
  49. package/lib/entry-bundler.js +1 -1
  50. package/lib/framework.d.ts +58 -58
  51. package/lib/framework.js +1 -1
  52. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  53. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  54. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.10-master.2025-06-19
2
+ * Vuetify v3.8.11-master.2025-06-27
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -9713,7 +9713,7 @@
9713
9713
  function transformItem$2(props, item) {
9714
9714
  const type = getPropertyFromItem(item, props.itemType, 'item');
9715
9715
  const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
9716
- const value = getPropertyFromItem(item, props.itemValue, undefined);
9716
+ const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, undefined);
9717
9717
  const children = getPropertyFromItem(item, props.itemChildren);
9718
9718
  const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);
9719
9719
  const _props = {
@@ -11958,11 +11958,7 @@
11958
11958
  default: slots.loader
11959
11959
  }), hasPrepend && vue.createElementVNode("div", {
11960
11960
  "key": "prepend",
11961
- "class": "v-field__prepend-inner",
11962
- "onMousedown": e => {
11963
- e.preventDefault();
11964
- e.stopPropagation();
11965
- }
11961
+ "class": "v-field__prepend-inner"
11966
11962
  }, [props.prependInnerIcon && vue.createVNode(InputIcon, {
11967
11963
  "key": "prepend-icon",
11968
11964
  "name": "prependInner",
@@ -12031,11 +12027,7 @@
12031
12027
  })]), [[vue.vShow, props.dirty]])]
12032
12028
  }), hasAppend && vue.createElementVNode("div", {
12033
12029
  "key": "append",
12034
- "class": "v-field__append-inner",
12035
- "onMousedown": e => {
12036
- e.preventDefault();
12037
- e.stopPropagation();
12038
- }
12030
+ "class": "v-field__append-inner"
12039
12031
  }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && vue.createVNode(InputIcon, {
12040
12032
  "key": "append-icon",
12041
12033
  "name": "appendInner",
@@ -12146,7 +12138,7 @@
12146
12138
  if (!isFocused.value) focus();
12147
12139
  vue.nextTick(() => {
12148
12140
  if (inputRef.value !== document.activeElement) {
12149
- inputRef.value?.focus();
12141
+ vue.nextTick(() => inputRef.value?.focus());
12150
12142
  }
12151
12143
  });
12152
12144
  }
@@ -15229,6 +15221,7 @@
15229
15221
  }) : vue.createVNode(VBtn, vue.mergeProps(item, props), null);
15230
15222
  })]
15231
15223
  })]), props.progress && vue.createVNode(VProgressLinear, {
15224
+ "absolute": true,
15232
15225
  "class": "v-carousel__progress",
15233
15226
  "color": typeof props.progress === 'string' ? props.progress : undefined,
15234
15227
  "modelValue": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100
@@ -20023,7 +20016,6 @@
20023
20016
  } = _ref;
20024
20017
  const Tag = props.tag ?? 'td';
20025
20018
  return vue.createVNode(Tag, {
20026
- "tabindex": "0",
20027
20019
  "class": vue.normalizeClass(['v-data-table__td', {
20028
20020
  'v-data-table-column--fixed': props.fixed,
20029
20021
  'v-data-table-column--last-fixed': props.lastFixed,
@@ -20424,14 +20416,14 @@
20424
20416
  },
20425
20417
  "colspan": column.colspan,
20426
20418
  "rowspan": column.rowspan,
20427
- "onClick": column.sortable ? () => toggleSort(column) : undefined,
20428
20419
  "fixed": column.fixed,
20429
20420
  "nowrap": column.nowrap,
20430
20421
  "lastFixed": column.lastFixed,
20431
- "noPadding": noPadding
20432
- }, headerProps, {
20433
- "onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
20434
- }), {
20422
+ "noPadding": noPadding,
20423
+ "tabindex": column.sortable ? 0 : undefined,
20424
+ "onClick": column.sortable ? () => toggleSort(column) : undefined,
20425
+ "onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
20426
+ }, headerProps), {
20435
20427
  default: () => {
20436
20428
  const columnSlotName = `header.${column.key}`;
20437
20429
  const columnSlotProps = {
@@ -22109,8 +22101,11 @@
22109
22101
  }, v => adapter.getMonth(v));
22110
22102
  const weekDays = vue.computed(() => {
22111
22103
  const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22112
- // Always generate all days, regardless of props.weekdays
22113
- return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
22104
+ return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
22105
+ });
22106
+ const weekdayLabels = vue.computed(() => {
22107
+ const labels = adapter.getWeekdays(props.firstDayOfWeek);
22108
+ return weekDays.value.map(day => labels[day]);
22114
22109
  });
22115
22110
  const weeksInMonth = vue.computed(() => {
22116
22111
  const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
@@ -22191,7 +22186,7 @@
22191
22186
  if (typeof props.allowedDates === 'function') {
22192
22187
  return !props.allowedDates(date);
22193
22188
  }
22194
- return !props.weekdays.includes(adapter.toJsDate(date).getDay());
22189
+ return false;
22195
22190
  }
22196
22191
  return {
22197
22192
  displayValue,
@@ -22201,6 +22196,7 @@
22201
22196
  model,
22202
22197
  weeksInMonth,
22203
22198
  weekDays,
22199
+ weekdayLabels,
22204
22200
  weekNumbers
22205
22201
  };
22206
22202
  }
@@ -22239,7 +22235,9 @@
22239
22235
  const {
22240
22236
  daysInMonth,
22241
22237
  model,
22242
- weekNumbers
22238
+ weekNumbers,
22239
+ weekDays,
22240
+ weekdayLabels
22243
22241
  } = useCalendar(props);
22244
22242
  const adapter = useDate();
22245
22243
  const rangeStart = vue.shallowRef();
@@ -22311,7 +22309,10 @@
22311
22309
  }
22312
22310
  }
22313
22311
  useRender(() => vue.createElementVNode("div", {
22314
- "class": "v-date-picker-month"
22312
+ "class": "v-date-picker-month",
22313
+ "style": {
22314
+ '--v-date-picker-days-in-week': weekDays.value.length
22315
+ }
22315
22316
  }, [props.showWeek && vue.createElementVNode("div", {
22316
22317
  "key": "weeks",
22317
22318
  "class": "v-date-picker-month__weeks"
@@ -22327,7 +22328,7 @@
22327
22328
  "ref": daysRef,
22328
22329
  "key": daysInMonth.value[0].date?.toString(),
22329
22330
  "class": "v-date-picker-month__days"
22330
- }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => vue.createElementVNode("div", {
22331
+ }, [!props.hideWeekdays && weekdayLabels.value.map(weekDay => vue.createElementVNode("div", {
22331
22332
  "class": vue.normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
22332
22333
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22333
22334
  const slotProps = {
@@ -24929,6 +24930,8 @@
24929
24930
  function holdStart(value) {
24930
24931
  holdStop();
24931
24932
  tick(value);
24933
+ window.addEventListener('pointerup', holdStop);
24934
+ document.addEventListener('blur', holdStop);
24932
24935
  timeout = window.setTimeout(() => {
24933
24936
  interval = window.setInterval(() => tick(value), HOLD_REPEAT);
24934
24937
  }, HOLD_DELAY);
@@ -24936,6 +24939,8 @@
24936
24939
  function holdStop() {
24937
24940
  window.clearTimeout(timeout);
24938
24941
  window.clearInterval(interval);
24942
+ window.removeEventListener('pointerup', holdStop);
24943
+ document.removeEventListener('blur', holdStop);
24939
24944
  }
24940
24945
  function tick(value) {
24941
24946
  toggleUpDown(value === 'up');
@@ -25047,7 +25052,7 @@
25047
25052
  onClick: onControlClick,
25048
25053
  onPointerup: onControlMouseup,
25049
25054
  onPointerdown: onUpControlMousedown,
25050
- onPointercancel: onControlPointerCancel
25055
+ onPointercancel: onControlMouseup
25051
25056
  }
25052
25057
  };
25053
25058
  const decrementSlotProps = {
@@ -25055,7 +25060,7 @@
25055
25060
  onClick: onControlClick,
25056
25061
  onPointerup: onControlMouseup,
25057
25062
  onPointerdown: onDownControlMousedown,
25058
- onPointercancel: onControlPointerCancel
25063
+ onPointercancel: onControlMouseup
25059
25064
  }
25060
25065
  };
25061
25066
  vue.watch(() => props.precision, () => formatInputValue());
@@ -25135,7 +25140,6 @@
25135
25140
  const el = e.currentTarget;
25136
25141
  el?.releasePointerCapture(e.pointerId);
25137
25142
  e.preventDefault();
25138
- e.stopPropagation();
25139
25143
  holdStop();
25140
25144
  }
25141
25145
  function onUpControlMousedown(e) {
@@ -25152,11 +25156,6 @@
25152
25156
  e.stopPropagation();
25153
25157
  holdStart('down');
25154
25158
  }
25155
- function onControlPointerCancel(e) {
25156
- const el = e.currentTarget;
25157
- el?.releasePointerCapture(e.pointerId);
25158
- holdStop();
25159
- }
25160
25159
  function clampModel() {
25161
25160
  if (controlsDisabled.value) return;
25162
25161
  if (!vTextFieldRef.value) return;
@@ -25206,7 +25205,7 @@
25206
25205
  "onClick": onControlClick,
25207
25206
  "onPointerdown": onUpControlMousedown,
25208
25207
  "onPointerup": onControlMouseup,
25209
- "onPointercancel": onControlPointerCancel,
25208
+ "onPointercancel": onControlMouseup,
25210
25209
  "size": controlNodeSize.value,
25211
25210
  "tabindex": "-1"
25212
25211
  }, null) : vue.createVNode(VDefaultsProvider, {
@@ -25236,7 +25235,7 @@
25236
25235
  "onClick": onControlClick,
25237
25236
  "onPointerdown": onDownControlMousedown,
25238
25237
  "onPointerup": onControlMouseup,
25239
- "onPointercancel": onControlPointerCancel,
25238
+ "onPointercancel": onControlMouseup,
25240
25239
  "size": controlNodeSize.value,
25241
25240
  "tabindex": "-1"
25242
25241
  }, null) : vue.createVNode(VDefaultsProvider, {
@@ -30250,6 +30249,7 @@
30250
30249
  opacity: props.opacity
30251
30250
  };
30252
30251
  return vue.createVNode(props.tag, {
30252
+ "type": props.tag === 'button' ? 'button' : undefined,
30253
30253
  "class": vue.normalizeClass([{
30254
30254
  'v-icon-btn': true,
30255
30255
  'v-icon-btn--active': isActive.value,
@@ -32202,7 +32202,7 @@
32202
32202
  };
32203
32203
  });
32204
32204
  }
32205
- const version$1 = "3.8.10-master.2025-06-19";
32205
+ const version$1 = "3.8.11-master.2025-06-27";
32206
32206
  createVuetify$1.version = version$1;
32207
32207
 
32208
32208
  // Vue's inject() can only be used in setup
@@ -32500,7 +32500,7 @@
32500
32500
 
32501
32501
  /* eslint-disable local-rules/sort-imports */
32502
32502
 
32503
- const version = "3.8.10-master.2025-06-19";
32503
+ const version = "3.8.11-master.2025-06-27";
32504
32504
 
32505
32505
  /* eslint-disable local-rules/sort-imports */
32506
32506