@vuetify/nightly 3.7.7-master.2025-01-23 → 3.7.7-master.2025-01-25

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 (58) hide show
  1. package/CHANGELOG.md +25 -8
  2. package/dist/json/attributes.json +3992 -3992
  3. package/dist/json/importMap-labs.json +14 -14
  4. package/dist/json/importMap.json +150 -150
  5. package/dist/json/web-types.json +6640 -6749
  6. package/dist/vuetify-labs.css +3224 -3224
  7. package/dist/vuetify-labs.d.ts +625 -839
  8. package/dist/vuetify-labs.esm.js +29 -23
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +29 -23
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +6079 -6079
  13. package/dist/vuetify.d.ts +122 -122
  14. package/dist/vuetify.esm.js +28 -21
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +28 -21
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +31 -31
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +1 -0
  22. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  23. package/lib/components/VDataTable/VDataTable.css +2 -2
  24. package/lib/components/VDataTable/VDataTable.sass +2 -2
  25. package/lib/components/VDataTable/composables/group.mjs +1 -1
  26. package/lib/components/VDataTable/composables/group.mjs.map +1 -1
  27. package/lib/components/VDataTable/composables/paginate.mjs +2 -0
  28. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  29. package/lib/components/VField/VField.css +1 -1
  30. package/lib/components/VField/VField.mjs +6 -5
  31. package/lib/components/VField/VField.mjs.map +1 -1
  32. package/lib/components/VField/VField.sass +1 -1
  33. package/lib/components/VImg/VImg.mjs +2 -2
  34. package/lib/components/VImg/VImg.mjs.map +1 -1
  35. package/lib/components/VInput/VInput.mjs +4 -2
  36. package/lib/components/VInput/VInput.mjs.map +1 -1
  37. package/lib/components/VMenu/VMenu.mjs +1 -1
  38. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  39. package/lib/components/VMessages/VMessages.mjs +1 -3
  40. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  41. package/lib/components/VSelect/VSelect.mjs +1 -1
  42. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  43. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  44. package/lib/components/VStepper/index.d.mts +66 -66
  45. package/lib/components/index.d.mts +66 -66
  46. package/lib/composables/calendar.mjs +4 -1
  47. package/lib/composables/calendar.mjs.map +1 -1
  48. package/lib/composables/router.mjs +2 -2
  49. package/lib/composables/router.mjs.map +1 -1
  50. package/lib/entry-bundler.mjs +1 -1
  51. package/lib/framework.mjs +1 -1
  52. package/lib/index.d.mts +56 -56
  53. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -1
  54. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -2
  55. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -1
  56. package/lib/labs/VStepperVertical/index.d.mts +585 -774
  57. package/lib/labs/components.d.mts +567 -781
  58. package/package.json +1 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.7-master.2025-01-23
2
+ * Vuetify v3.7.7-master.2025-01-25
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3893,10 +3893,10 @@
3893
3893
  "style": {
3894
3894
  objectPosition: props.position
3895
3895
  },
3896
+ "crossorigin": props.crossorigin,
3896
3897
  "src": normalisedSrc.value.src,
3897
3898
  "srcset": normalisedSrc.value.srcset,
3898
3899
  "alt": props.alt,
3899
- "crossorigin": props.crossorigin,
3900
3900
  "referrerpolicy": props.referrerpolicy,
3901
3901
  "draggable": props.draggable,
3902
3902
  "sizes": props.sizes,
@@ -3922,9 +3922,9 @@
3922
3922
  "style": {
3923
3923
  objectPosition: props.position
3924
3924
  },
3925
+ "crossorigin": props.crossorigin,
3925
3926
  "src": normalisedSrc.value.lazySrc,
3926
3927
  "alt": props.alt,
3927
- "crossorigin": props.crossorigin,
3928
3928
  "referrerpolicy": props.referrerpolicy,
3929
3929
  "draggable": props.draggable
3930
3930
  }, null)]
@@ -5452,10 +5452,10 @@
5452
5452
  let popped = false;
5453
5453
  let removeBefore;
5454
5454
  let removeAfter;
5455
- if (IN_BROWSER) {
5455
+ if (IN_BROWSER && router?.beforeEach) {
5456
5456
  vue.nextTick(() => {
5457
5457
  window.addEventListener('popstate', onPopstate);
5458
- removeBefore = router?.beforeEach((to, from, next) => {
5458
+ removeBefore = router.beforeEach((to, from, next) => {
5459
5459
  if (!inTransition) {
5460
5460
  setTimeout(() => popped ? cb(next) : next());
5461
5461
  } else {
@@ -6750,9 +6750,7 @@
6750
6750
  "transition": props.transition,
6751
6751
  "tag": "div",
6752
6752
  "class": ['v-messages', textColorClasses.value, props.class],
6753
- "style": [textColorStyles.value, props.style],
6754
- "role": "alert",
6755
- "aria-live": "polite"
6753
+ "style": [textColorStyles.value, props.style]
6756
6754
  }, {
6757
6755
  default: () => [props.active && messages.value.map((message, i) => vue.createVNode("div", {
6758
6756
  "class": "v-messages__message",
@@ -7221,9 +7219,11 @@
7221
7219
  "key": "append-icon",
7222
7220
  "name": "append"
7223
7221
  }, null), slots.append?.(slotProps.value)]), hasDetails && vue.createVNode("div", {
7224
- "class": "v-input__details"
7225
- }, [vue.createVNode(VMessages, {
7226
7222
  "id": messagesId.value,
7223
+ "class": "v-input__details",
7224
+ "role": "alert",
7225
+ "aria-live": "polite"
7226
+ }, [vue.createVNode(VMessages, {
7227
7227
  "active": hasMessages,
7228
7228
  "messages": messages.value
7229
7229
  }, {
@@ -11569,7 +11569,7 @@
11569
11569
  const activatorProps = vue.computed(() => vue.mergeProps({
11570
11570
  'aria-haspopup': 'menu',
11571
11571
  'aria-expanded': String(isActive.value),
11572
- 'aria-owns': id.value,
11572
+ 'aria-controls': id.value,
11573
11573
  onKeydown: onActivatorKeydown
11574
11574
  }, props.activatorProps));
11575
11575
  useRender(() => {
@@ -11759,7 +11759,8 @@
11759
11759
  rtlClasses
11760
11760
  } = useRtl();
11761
11761
  const isActive = vue.computed(() => props.dirty || props.active);
11762
- const hasLabel = vue.computed(() => !props.singleLine && !!(props.label || slots.label));
11762
+ const hasLabel = vue.computed(() => !!(props.label || slots.label));
11763
+ const hasFloatingLabel = vue.computed(() => !props.singleLine && hasLabel.value);
11763
11764
  const uid = getUid();
11764
11765
  const id = vue.computed(() => props.id || `input-${uid}`);
11765
11766
  const messagesId = vue.computed(() => `${id.value}-messages`);
@@ -11778,7 +11779,7 @@
11778
11779
  return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
11779
11780
  }));
11780
11781
  vue.watch(isActive, val => {
11781
- if (hasLabel.value) {
11782
+ if (hasFloatingLabel.value) {
11782
11783
  const el = labelRef.value.$el;
11783
11784
  const targetEl = floatingLabelRef.value.$el;
11784
11785
  requestAnimationFrame(() => {
@@ -11874,7 +11875,7 @@
11874
11875
  }, null), slots['prepend-inner']?.(slotProps.value)]), vue.createVNode("div", {
11875
11876
  "class": "v-field__field",
11876
11877
  "data-no-activator": ""
11877
- }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasLabel.value && vue.createVNode(VFieldLabel, {
11878
+ }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && vue.createVNode(VFieldLabel, {
11878
11879
  "key": "floating-label",
11879
11880
  "ref": floatingLabelRef,
11880
11881
  "class": [textColorClasses.value],
@@ -11938,7 +11939,7 @@
11938
11939
  "style": textColorStyles.value
11939
11940
  }, [isOutlined && vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
11940
11941
  "class": "v-field__outline__start"
11941
- }, null), hasLabel.value && vue.createVNode("div", {
11942
+ }, null), hasFloatingLabel.value && vue.createVNode("div", {
11942
11943
  "class": "v-field__outline__notch"
11943
11944
  }, [vue.createVNode(VFieldLabel, {
11944
11945
  "ref": floatingLabelRef,
@@ -11948,7 +11949,7 @@
11948
11949
  default: () => [label()]
11949
11950
  })]), vue.createVNode("div", {
11950
11951
  "class": "v-field__outline__end"
11951
- }, null)]), isPlainOrUnderlined.value && hasLabel.value && vue.createVNode(VFieldLabel, {
11952
+ }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && vue.createVNode(VFieldLabel, {
11952
11953
  "ref": floatingLabelRef,
11953
11954
  "floating": true,
11954
11955
  "for": id.value
@@ -12771,7 +12772,7 @@
12771
12772
  // html select hotkeys
12772
12773
  const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
12773
12774
 
12774
- if (props.multiple || !checkPrintable(e)) return;
12775
+ if (!checkPrintable(e)) return;
12775
12776
  const now = performance.now();
12776
12777
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
12777
12778
  keyboardLookupPrefix = '';
@@ -14161,6 +14162,7 @@
14161
14162
  slots
14162
14163
  } = _ref;
14163
14164
  useRender(() => vue.createVNode("li", {
14165
+ "aria-hidden": "true",
14164
14166
  "class": ['v-breadcrumbs-divider', props.class],
14165
14167
  "style": props.style
14166
14168
  }, [slots?.default?.() ?? props.divider]));
@@ -18519,7 +18521,7 @@
18519
18521
  arr.push(item);
18520
18522
  }
18521
18523
  }
18522
- return arr;
18524
+ return [...new Set(arr)];
18523
18525
  }
18524
18526
  return dive({
18525
18527
  type: 'group',
@@ -18745,6 +18747,8 @@
18745
18747
  });
18746
18748
  vue.watch(paginatedItems, val => {
18747
18749
  vm.emit('update:currentItems', val);
18750
+ }, {
18751
+ immediate: true
18748
18752
  });
18749
18753
  return {
18750
18754
  paginatedItems
@@ -21822,12 +21826,15 @@
21822
21826
  const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
21823
21827
  return adapter.setMonth(date, value);
21824
21828
  }, v => adapter.getMonth(v));
21829
+ const defaultFirstDayOfWeek = vue.computed(() => {
21830
+ return props.firstDayOfWeek ?? props.weekdays[0];
21831
+ });
21825
21832
  const weekDays = vue.computed(() => {
21826
21833
  const firstDayOfWeek = Number(props.firstDayOfWeek ?? 0);
21827
21834
  return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
21828
21835
  });
21829
21836
  const weeksInMonth = vue.computed(() => {
21830
- const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
21837
+ const weeks = adapter.getWeekArray(month.value, defaultFirstDayOfWeek.value);
21831
21838
  const days = weeks.flat();
21832
21839
 
21833
21840
  // Make sure there's always 6 weeks in month (6 * 7 days)
@@ -28313,7 +28320,7 @@
28313
28320
  goTo
28314
28321
  };
28315
28322
  }
28316
- const version$1 = "3.7.7-master.2025-01-23";
28323
+ const version$1 = "3.7.7-master.2025-01-25";
28317
28324
  createVuetify$1.version = version$1;
28318
28325
 
28319
28326
  // Vue's inject() can only be used in setup
@@ -28338,7 +28345,7 @@
28338
28345
  ...options
28339
28346
  });
28340
28347
  };
28341
- const version = "3.7.7-master.2025-01-23";
28348
+ const version = "3.7.7-master.2025-01-25";
28342
28349
  createVuetify.version = version;
28343
28350
 
28344
28351
  exports.blueprints = index;