@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
@@ -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
  */
@@ -3452,10 +3452,10 @@
3452
3452
  "style": {
3453
3453
  objectPosition: props.position
3454
3454
  },
3455
+ "crossorigin": props.crossorigin,
3455
3456
  "src": normalisedSrc.value.src,
3456
3457
  "srcset": normalisedSrc.value.srcset,
3457
3458
  "alt": props.alt,
3458
- "crossorigin": props.crossorigin,
3459
3459
  "referrerpolicy": props.referrerpolicy,
3460
3460
  "draggable": props.draggable,
3461
3461
  "sizes": props.sizes,
@@ -3481,9 +3481,9 @@
3481
3481
  "style": {
3482
3482
  objectPosition: props.position
3483
3483
  },
3484
+ "crossorigin": props.crossorigin,
3484
3485
  "src": normalisedSrc.value.lazySrc,
3485
3486
  "alt": props.alt,
3486
- "crossorigin": props.crossorigin,
3487
3487
  "referrerpolicy": props.referrerpolicy,
3488
3488
  "draggable": props.draggable
3489
3489
  }, null)]
@@ -5219,10 +5219,10 @@
5219
5219
  let popped = false;
5220
5220
  let removeBefore;
5221
5221
  let removeAfter;
5222
- if (IN_BROWSER) {
5222
+ if (IN_BROWSER && router?.beforeEach) {
5223
5223
  vue.nextTick(() => {
5224
5224
  window.addEventListener('popstate', onPopstate);
5225
- removeBefore = router?.beforeEach((to, from, next) => {
5225
+ removeBefore = router.beforeEach((to, from, next) => {
5226
5226
  if (!inTransition) {
5227
5227
  setTimeout(() => popped ? cb(next) : next());
5228
5228
  } else {
@@ -6517,9 +6517,7 @@
6517
6517
  "transition": props.transition,
6518
6518
  "tag": "div",
6519
6519
  "class": ['v-messages', textColorClasses.value, props.class],
6520
- "style": [textColorStyles.value, props.style],
6521
- "role": "alert",
6522
- "aria-live": "polite"
6520
+ "style": [textColorStyles.value, props.style]
6523
6521
  }, {
6524
6522
  default: () => [props.active && messages.value.map((message, i) => vue.createVNode("div", {
6525
6523
  "class": "v-messages__message",
@@ -6988,9 +6986,11 @@
6988
6986
  "key": "append-icon",
6989
6987
  "name": "append"
6990
6988
  }, null), slots.append?.(slotProps.value)]), hasDetails && vue.createVNode("div", {
6991
- "class": "v-input__details"
6992
- }, [vue.createVNode(VMessages, {
6993
6989
  "id": messagesId.value,
6990
+ "class": "v-input__details",
6991
+ "role": "alert",
6992
+ "aria-live": "polite"
6993
+ }, [vue.createVNode(VMessages, {
6994
6994
  "active": hasMessages,
6995
6995
  "messages": messages.value
6996
6996
  }, {
@@ -11336,7 +11336,7 @@
11336
11336
  const activatorProps = vue.computed(() => vue.mergeProps({
11337
11337
  'aria-haspopup': 'menu',
11338
11338
  'aria-expanded': String(isActive.value),
11339
- 'aria-owns': id.value,
11339
+ 'aria-controls': id.value,
11340
11340
  onKeydown: onActivatorKeydown
11341
11341
  }, props.activatorProps));
11342
11342
  useRender(() => {
@@ -11526,7 +11526,8 @@
11526
11526
  rtlClasses
11527
11527
  } = useRtl();
11528
11528
  const isActive = vue.computed(() => props.dirty || props.active);
11529
- const hasLabel = vue.computed(() => !props.singleLine && !!(props.label || slots.label));
11529
+ const hasLabel = vue.computed(() => !!(props.label || slots.label));
11530
+ const hasFloatingLabel = vue.computed(() => !props.singleLine && hasLabel.value);
11530
11531
  const uid = getUid();
11531
11532
  const id = vue.computed(() => props.id || `input-${uid}`);
11532
11533
  const messagesId = vue.computed(() => `${id.value}-messages`);
@@ -11545,7 +11546,7 @@
11545
11546
  return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
11546
11547
  }));
11547
11548
  vue.watch(isActive, val => {
11548
- if (hasLabel.value) {
11549
+ if (hasFloatingLabel.value) {
11549
11550
  const el = labelRef.value.$el;
11550
11551
  const targetEl = floatingLabelRef.value.$el;
11551
11552
  requestAnimationFrame(() => {
@@ -11641,7 +11642,7 @@
11641
11642
  }, null), slots['prepend-inner']?.(slotProps.value)]), vue.createVNode("div", {
11642
11643
  "class": "v-field__field",
11643
11644
  "data-no-activator": ""
11644
- }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasLabel.value && vue.createVNode(VFieldLabel, {
11645
+ }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && vue.createVNode(VFieldLabel, {
11645
11646
  "key": "floating-label",
11646
11647
  "ref": floatingLabelRef,
11647
11648
  "class": [textColorClasses.value],
@@ -11705,7 +11706,7 @@
11705
11706
  "style": textColorStyles.value
11706
11707
  }, [isOutlined && vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
11707
11708
  "class": "v-field__outline__start"
11708
- }, null), hasLabel.value && vue.createVNode("div", {
11709
+ }, null), hasFloatingLabel.value && vue.createVNode("div", {
11709
11710
  "class": "v-field__outline__notch"
11710
11711
  }, [vue.createVNode(VFieldLabel, {
11711
11712
  "ref": floatingLabelRef,
@@ -11715,7 +11716,7 @@
11715
11716
  default: () => [label()]
11716
11717
  })]), vue.createVNode("div", {
11717
11718
  "class": "v-field__outline__end"
11718
- }, null)]), isPlainOrUnderlined.value && hasLabel.value && vue.createVNode(VFieldLabel, {
11719
+ }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && vue.createVNode(VFieldLabel, {
11719
11720
  "ref": floatingLabelRef,
11720
11721
  "floating": true,
11721
11722
  "for": id.value
@@ -12538,7 +12539,7 @@
12538
12539
  // html select hotkeys
12539
12540
  const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
12540
12541
 
12541
- if (props.multiple || !checkPrintable(e)) return;
12542
+ if (!checkPrintable(e)) return;
12542
12543
  const now = performance.now();
12543
12544
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
12544
12545
  keyboardLookupPrefix = '';
@@ -13928,6 +13929,7 @@
13928
13929
  slots
13929
13930
  } = _ref;
13930
13931
  useRender(() => vue.createVNode("li", {
13932
+ "aria-hidden": "true",
13931
13933
  "class": ['v-breadcrumbs-divider', props.class],
13932
13934
  "style": props.style
13933
13935
  }, [slots?.default?.() ?? props.divider]));
@@ -18286,7 +18288,7 @@
18286
18288
  arr.push(item);
18287
18289
  }
18288
18290
  }
18289
- return arr;
18291
+ return [...new Set(arr)];
18290
18292
  }
18291
18293
  return dive({
18292
18294
  type: 'group',
@@ -18512,6 +18514,8 @@
18512
18514
  });
18513
18515
  vue.watch(paginatedItems, val => {
18514
18516
  vm.emit('update:currentItems', val);
18517
+ }, {
18518
+ immediate: true
18515
18519
  });
18516
18520
  return {
18517
18521
  paginatedItems
@@ -21589,12 +21593,15 @@
21589
21593
  const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
21590
21594
  return adapter.setMonth(date, value);
21591
21595
  }, v => adapter.getMonth(v));
21596
+ const defaultFirstDayOfWeek = vue.computed(() => {
21597
+ return props.firstDayOfWeek ?? props.weekdays[0];
21598
+ });
21592
21599
  const weekDays = vue.computed(() => {
21593
21600
  const firstDayOfWeek = Number(props.firstDayOfWeek ?? 0);
21594
21601
  return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
21595
21602
  });
21596
21603
  const weeksInMonth = vue.computed(() => {
21597
- const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
21604
+ const weeks = adapter.getWeekArray(month.value, defaultFirstDayOfWeek.value);
21598
21605
  const days = weeks.flat();
21599
21606
 
21600
21607
  // Make sure there's always 6 weeks in month (6 * 7 days)
@@ -28893,8 +28900,7 @@
28893
28900
  hasCompleted: hasCompleted.value,
28894
28901
  title: props.title,
28895
28902
  subtitle: props.subtitle,
28896
- step: step.value,
28897
- value: props.value
28903
+ step: step.value
28898
28904
  }));
28899
28905
  const actionProps = vue.computed(() => ({
28900
28906
  ...slotProps.value,
@@ -30792,7 +30798,7 @@
30792
30798
  goTo
30793
30799
  };
30794
30800
  }
30795
- const version$1 = "3.7.7-master.2025-01-23";
30801
+ const version$1 = "3.7.7-master.2025-01-25";
30796
30802
  createVuetify$1.version = version$1;
30797
30803
 
30798
30804
  // Vue's inject() can only be used in setup
@@ -31045,7 +31051,7 @@
31045
31051
 
31046
31052
  /* eslint-disable local-rules/sort-imports */
31047
31053
 
31048
- const version = "3.7.7-master.2025-01-23";
31054
+ const version = "3.7.7-master.2025-01-25";
31049
31055
 
31050
31056
  /* eslint-disable local-rules/sort-imports */
31051
31057