@vuetify/nightly 3.6.13-3.7.0-beta.0.0-dev.2024-07-12 → 3.6.13-3.7.0-beta.0.0-dev.2024-07-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 (174) hide show
  1. package/CHANGELOG.md +0 -13
  2. package/dist/json/attributes.json +30 -22
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +152 -152
  5. package/dist/json/tags.json +2 -0
  6. package/dist/json/web-types.json +53 -42
  7. package/dist/vuetify-labs.css +1255 -1257
  8. package/dist/vuetify-labs.d.ts +12304 -12192
  9. package/dist/vuetify-labs.esm.js +118 -68
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +118 -68
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +1293 -1295
  14. package/dist/vuetify.d.ts +10496 -10404
  15. package/dist/vuetify.esm.js +110 -64
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +110 -64
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +1078 -1080
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/index.d.mts +55 -55
  23. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  24. package/lib/components/VAppBar/index.d.mts +169 -169
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -8
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/index.d.mts +615 -609
  28. package/lib/components/VAvatar/index.d.mts +36 -36
  29. package/lib/components/VBadge/index.d.mts +58 -58
  30. package/lib/components/VBanner/index.d.mts +59 -59
  31. package/lib/components/VBottomNavigation/index.d.mts +58 -58
  32. package/lib/components/VBottomSheet/index.d.mts +118 -118
  33. package/lib/components/VBreadcrumbs/index.d.mts +34 -34
  34. package/lib/components/VBtn/VBtn.css +3 -0
  35. package/lib/components/VBtn/VBtn.sass +3 -0
  36. package/lib/components/VBtn/index.d.mts +107 -107
  37. package/lib/components/VBtnGroup/index.d.mts +23 -23
  38. package/lib/components/VBtnToggle/index.d.mts +40 -40
  39. package/lib/components/VCard/index.d.mts +93 -93
  40. package/lib/components/VCarousel/index.d.mts +128 -128
  41. package/lib/components/VCheckbox/index.d.mts +174 -168
  42. package/lib/components/VChip/index.d.mts +86 -86
  43. package/lib/components/VChipGroup/index.d.mts +46 -46
  44. package/lib/components/VColorPicker/index.d.mts +96 -96
  45. package/lib/components/VCombobox/VCombobox.mjs +15 -8
  46. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  47. package/lib/components/VCombobox/index.d.mts +615 -609
  48. package/lib/components/VConfirmEdit/index.d.mts +2 -2
  49. package/lib/components/VCounter/index.d.mts +27 -27
  50. package/lib/components/VDataIterator/index.d.mts +51 -50
  51. package/lib/components/VDataTable/VDataTable.mjs +10 -3
  52. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  53. package/lib/components/VDataTable/VDataTableServer.mjs +6 -2
  54. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  55. package/lib/components/VDataTable/VDataTableVirtual.mjs +10 -3
  56. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  57. package/lib/components/VDataTable/composables/group.mjs +2 -1
  58. package/lib/components/VDataTable/composables/group.mjs.map +1 -1
  59. package/lib/components/VDataTable/composables/sort.mjs +4 -4
  60. package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
  61. package/lib/components/VDataTable/index.d.mts +275 -274
  62. package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -0
  63. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  64. package/lib/components/VDatePicker/index.d.mts +134 -134
  65. package/lib/components/VDialog/index.d.mts +353 -353
  66. package/lib/components/VDivider/index.d.mts +15 -15
  67. package/lib/components/VEmptyState/index.d.mts +47 -47
  68. package/lib/components/VExpansionPanel/index.d.mts +134 -134
  69. package/lib/components/VFab/index.d.mts +227 -227
  70. package/lib/components/VField/VField.css +6 -11
  71. package/lib/components/VField/VField.mjs +7 -5
  72. package/lib/components/VField/VField.mjs.map +1 -1
  73. package/lib/components/VField/VField.sass +2 -6
  74. package/lib/components/VField/index.d.mts +58 -52
  75. package/lib/components/VFileInput/index.d.mts +255 -249
  76. package/lib/components/VFooter/index.d.mts +50 -50
  77. package/lib/components/VForm/index.d.mts +9 -9
  78. package/lib/components/VGrid/index.d.mts +150 -150
  79. package/lib/components/VIcon/index.d.mts +24 -24
  80. package/lib/components/VImg/index.d.mts +85 -85
  81. package/lib/components/VInfiniteScroll/index.d.mts +22 -22
  82. package/lib/components/VInput/VInput.css +5 -5
  83. package/lib/components/VInput/VInput.mjs +4 -1
  84. package/lib/components/VInput/VInput.mjs.map +1 -1
  85. package/lib/components/VInput/VInput.sass +1 -1
  86. package/lib/components/VInput/index.d.mts +61 -55
  87. package/lib/components/VItemGroup/index.d.mts +17 -17
  88. package/lib/components/VLabel/index.d.mts +8 -8
  89. package/lib/components/VLayout/index.d.mts +36 -36
  90. package/lib/components/VLazy/index.d.mts +31 -31
  91. package/lib/components/VList/index.d.mts +178 -178
  92. package/lib/components/VLocaleProvider/index.d.mts +7 -7
  93. package/lib/components/VMain/index.d.mts +10 -10
  94. package/lib/components/VMenu/VMenu.mjs +7 -5
  95. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  96. package/lib/components/VMenu/index.d.mts +396 -396
  97. package/lib/components/VMessages/index.d.mts +20 -20
  98. package/lib/components/VNavigationDrawer/index.d.mts +72 -72
  99. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  100. package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
  101. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  102. package/lib/components/VOtpInput/index.d.mts +88 -88
  103. package/lib/components/VOverlay/index.d.mts +97 -97
  104. package/lib/components/VOverlay/locationStrategies.mjs +0 -6
  105. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  106. package/lib/components/VPagination/index.d.mts +55 -55
  107. package/lib/components/VParallax/index.d.mts +7 -7
  108. package/lib/components/VProgressCircular/index.d.mts +24 -24
  109. package/lib/components/VProgressLinear/index.d.mts +52 -52
  110. package/lib/components/VRadio/index.d.mts +41 -41
  111. package/lib/components/VRadioGroup/index.d.mts +105 -99
  112. package/lib/components/VRangeSlider/index.d.mts +102 -96
  113. package/lib/components/VRating/index.d.mts +22 -22
  114. package/lib/components/VResponsive/index.d.mts +23 -23
  115. package/lib/components/VSelect/VSelect.mjs +15 -13
  116. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  117. package/lib/components/VSelect/index.d.mts +615 -609
  118. package/lib/components/VSelect/useScrolling.mjs +3 -3
  119. package/lib/components/VSelect/useScrolling.mjs.map +1 -1
  120. package/lib/components/VSelectionControl/index.d.mts +43 -43
  121. package/lib/components/VSelectionControlGroup/index.d.mts +39 -39
  122. package/lib/components/VSheet/index.d.mts +34 -34
  123. package/lib/components/VSkeletonLoader/index.d.mts +17 -17
  124. package/lib/components/VSlideGroup/index.d.mts +33 -33
  125. package/lib/components/VSlider/index.d.mts +95 -89
  126. package/lib/components/VSnackbar/index.d.mts +411 -411
  127. package/lib/components/VSparkline/index.d.mts +38 -38
  128. package/lib/components/VSpeedDial/index.d.mts +176 -176
  129. package/lib/components/VStepper/index.d.mts +119 -119
  130. package/lib/components/VSwitch/index.d.mts +108 -102
  131. package/lib/components/VSystemBar/index.d.mts +39 -39
  132. package/lib/components/VTable/index.d.mts +4 -4
  133. package/lib/components/VTabs/index.d.mts +512 -512
  134. package/lib/components/VTextField/VTextField.mjs +1 -1
  135. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  136. package/lib/components/VTextField/index.d.mts +421 -415
  137. package/lib/components/VTextarea/VTextarea.mjs +5 -5
  138. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  139. package/lib/components/VTextarea/index.d.mts +359 -344
  140. package/lib/components/VTimeline/index.d.mts +26 -26
  141. package/lib/components/VToolbar/index.d.mts +53 -53
  142. package/lib/components/VTooltip/index.d.mts +424 -424
  143. package/lib/components/VValidation/index.d.mts +19 -19
  144. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +2 -0
  145. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  146. package/lib/components/VVirtualScroll/index.d.mts +13 -10
  147. package/lib/components/VWindow/index.d.mts +31 -31
  148. package/lib/components/index.d.mts +10657 -10566
  149. package/lib/components/transitions/index.d.mts +200 -200
  150. package/lib/composables/nested/nested.mjs +0 -1
  151. package/lib/composables/nested/nested.mjs.map +1 -1
  152. package/lib/composables/virtual.mjs +1 -0
  153. package/lib/composables/virtual.mjs.map +1 -1
  154. package/lib/entry-bundler.mjs +1 -1
  155. package/lib/framework.mjs +1 -1
  156. package/lib/index.d.mts +81 -80
  157. package/lib/labs/VCalendar/index.d.mts +52 -52
  158. package/lib/labs/VDateInput/VDateInput.mjs +6 -3
  159. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  160. package/lib/labs/VDateInput/index.d.mts +256 -250
  161. package/lib/labs/VNumberInput/index.d.mts +247 -241
  162. package/lib/labs/VPicker/index.d.mts +45 -45
  163. package/lib/labs/VSnackbarQueue/index.d.mts +611 -611
  164. package/lib/labs/VStepperVertical/index.d.mts +212 -212
  165. package/lib/labs/VTimePicker/VTimePickerClock.mjs +0 -1
  166. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  167. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -1
  168. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  169. package/lib/labs/VTimePicker/index.d.mts +131 -122
  170. package/lib/labs/VTreeview/index.d.mts +199 -199
  171. package/lib/labs/components.d.mts +1754 -1733
  172. package/lib/util/helpers.mjs +5 -0
  173. package/lib/util/helpers.mjs.map +1 -1
  174. package/package.json +9 -4
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.13-3.7.0-beta.0.0-dev.2024-07-12
2
+ * Vuetify v3.6.13-3.7.0-beta.0.0-dev.2024-07-25
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -498,6 +498,11 @@ function templateRef() {
498
498
  });
499
499
  return fn;
500
500
  }
501
+ function checkPrintable(e) {
502
+ const isPrintableChar = e.key.length === 1;
503
+ const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
504
+ return isPrintableChar && noModifier;
505
+ }
501
506
 
502
507
  // Utilities
503
508
  const block = ['top', 'bottom'];
@@ -7050,7 +7055,10 @@ function useValidation(props) {
7050
7055
  const makeVInputProps = propsFactory({
7051
7056
  id: String,
7052
7057
  appendIcon: IconValue,
7053
- centerAffix: Boolean,
7058
+ centerAffix: {
7059
+ type: Boolean,
7060
+ default: true
7061
+ },
7054
7062
  prependIcon: IconValue,
7055
7063
  hideDetails: [Boolean, String],
7056
7064
  hideSpinButtons: Boolean,
@@ -8800,7 +8808,6 @@ const useNested = props => {
8800
8808
  children.value.set(parent, list.filter(child => child !== id));
8801
8809
  }
8802
8810
  parents.value.delete(id);
8803
- opened.value.delete(id);
8804
8811
  },
8805
8812
  open: (id, value, event) => {
8806
8813
  vm.emit('click:open', {
@@ -9974,12 +9981,6 @@ function getIntrinsicSize(el, isRtl) {
9974
9981
  // el.style.removeProperty('max-width')
9975
9982
  // el.style.removeProperty('max-height')
9976
9983
 
9977
- if (isRtl) {
9978
- el.style.removeProperty('left');
9979
- } else {
9980
- el.style.removeProperty('right');
9981
- }
9982
-
9983
9984
  /* eslint-disable-next-line sonarjs/prefer-immediate-return */
9984
9985
  const contentBox = nullifyTransforms(el);
9985
9986
  if (isRtl) {
@@ -11371,23 +11372,25 @@ const VMenu = genericComponent()({
11371
11372
  const id = computed(() => props.id || `v-menu-${uid}`);
11372
11373
  const overlay = ref();
11373
11374
  const parent = inject$1(VMenuSymbol, null);
11374
- const openChildren = shallowRef(0);
11375
+ const openChildren = shallowRef(new Set());
11375
11376
  provide(VMenuSymbol, {
11376
11377
  register() {
11377
- ++openChildren.value;
11378
+ openChildren.value.add(uid);
11378
11379
  },
11379
11380
  unregister() {
11380
- --openChildren.value;
11381
+ openChildren.value.delete(uid);
11381
11382
  },
11382
11383
  closeParents(e) {
11383
11384
  setTimeout(() => {
11384
- if (!openChildren.value && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
11385
+ if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
11385
11386
  isActive.value = false;
11386
11387
  parent?.closeParents();
11387
11388
  }
11388
11389
  }, 40);
11389
11390
  }
11390
11391
  });
11392
+ onBeforeUnmount(() => parent?.unregister());
11393
+ onDeactivated(() => isActive.value = false);
11391
11394
  async function onFocusIn(e) {
11392
11395
  const before = e.relatedTarget;
11393
11396
  const after = e.target;
@@ -11570,7 +11573,10 @@ const makeVFieldProps = propsFactory({
11570
11573
  default: '$clear'
11571
11574
  },
11572
11575
  active: Boolean,
11573
- centerAffix: Boolean,
11576
+ centerAffix: {
11577
+ type: Boolean,
11578
+ default: undefined
11579
+ },
11574
11580
  color: String,
11575
11581
  baseColor: String,
11576
11582
  dirty: Boolean,
@@ -11637,9 +11643,8 @@ const VField = genericComponent()({
11637
11643
  const {
11638
11644
  rtlClasses
11639
11645
  } = useRtl();
11640
- const isSingleLine = computed(() => props.singleLine || props.centerAffix);
11641
11646
  const isActive = computed(() => props.dirty || props.active);
11642
- const hasLabel = computed(() => !isSingleLine.value && !!(props.label || slots.label));
11647
+ const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));
11643
11648
  const uid = getUid();
11644
11649
  const id = computed(() => props.id || `input-${uid}`);
11645
11650
  const messagesId = computed(() => `${id.value}-messages`);
@@ -11728,7 +11733,7 @@ const VField = genericComponent()({
11728
11733
  "class": ['v-field', {
11729
11734
  'v-field--active': isActive.value,
11730
11735
  'v-field--appended': hasAppend,
11731
- 'v-field--center-affix': props.centerAffix,
11736
+ 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,
11732
11737
  'v-field--disabled': props.disabled,
11733
11738
  'v-field--dirty': props.dirty,
11734
11739
  'v-field--error': props.error,
@@ -11737,7 +11742,7 @@ const VField = genericComponent()({
11737
11742
  'v-field--persistent-clear': props.persistentClear,
11738
11743
  'v-field--prepended': hasPrepend,
11739
11744
  'v-field--reverse': props.reverse,
11740
- 'v-field--single-line': isSingleLine.value,
11745
+ 'v-field--single-line': props.singleLine,
11741
11746
  'v-field--no-label': !label(),
11742
11747
  [`v-field--variant-${props.variant}`]: true
11743
11748
  }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
@@ -11972,6 +11977,7 @@ const VTextField = genericComponent()({
11972
11977
  }, props.class],
11973
11978
  "style": props.style
11974
11979
  }, rootAttrs, inputProps, {
11980
+ "centerAffix": !isPlainOrUnderlined.value,
11975
11981
  "focused": isFocused.value
11976
11982
  }), {
11977
11983
  ...slots,
@@ -11997,7 +12003,6 @@ const VTextField = genericComponent()({
11997
12003
  "dirty": isDirty.value || props.dirty,
11998
12004
  "disabled": isDisabled.value,
11999
12005
  "focused": isFocused.value,
12000
- "centerAffix": props.centerAffix,
12001
12006
  "error": isValid.value === false
12002
12007
  }), {
12003
12008
  ...slots,
@@ -12297,6 +12302,7 @@ function useVirtual(props, items) {
12297
12302
  deep: true
12298
12303
  });
12299
12304
  return {
12305
+ calculateVisibleItems,
12300
12306
  containerRef,
12301
12307
  markerRef,
12302
12308
  computedItems,
@@ -12360,6 +12366,7 @@ const VVirtualScroll = genericComponent()({
12360
12366
  dimensionStyles
12361
12367
  } = useDimension(props);
12362
12368
  const {
12369
+ calculateVisibleItems,
12363
12370
  containerRef,
12364
12371
  markerRef,
12365
12372
  handleScroll,
@@ -12431,6 +12438,7 @@ const VVirtualScroll = genericComponent()({
12431
12438
  }, [children])]);
12432
12439
  });
12433
12440
  return {
12441
+ calculateVisibleItems,
12434
12442
  scrollToIndex
12435
12443
  };
12436
12444
  }
@@ -12499,9 +12507,9 @@ function useScrolling(listRef, textFieldRef) {
12499
12507
  }
12500
12508
  }
12501
12509
  return {
12502
- onListScroll,
12503
- onListKeydown
12504
- };
12510
+ onScrollPassive: onListScroll,
12511
+ onKeydown: onListKeydown
12512
+ }; // typescript doesn't know about vue's event merging
12505
12513
  }
12506
12514
 
12507
12515
  // Types
@@ -12576,7 +12584,7 @@ const VSelect = genericComponent()({
12576
12584
  const menu = computed({
12577
12585
  get: () => _menu.value,
12578
12586
  set: v => {
12579
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
12587
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
12580
12588
  _menu.value = v;
12581
12589
  }
12582
12590
  });
@@ -12615,10 +12623,7 @@ const VSelect = genericComponent()({
12615
12623
  };
12616
12624
  });
12617
12625
  const listRef = ref();
12618
- const {
12619
- onListScroll,
12620
- onListKeydown
12621
- } = useScrolling(listRef, vTextFieldRef);
12626
+ const listEvents = useScrolling(listRef, vTextFieldRef);
12622
12627
  function onClear(e) {
12623
12628
  if (props.openOnClear) {
12624
12629
  menu.value = true;
@@ -12628,6 +12633,11 @@ const VSelect = genericComponent()({
12628
12633
  if (menuDisabled.value) return;
12629
12634
  menu.value = !menu.value;
12630
12635
  }
12636
+ function onListKeydown(e) {
12637
+ if (checkPrintable(e)) {
12638
+ onKeydown(e);
12639
+ }
12640
+ }
12631
12641
  function onKeydown(e) {
12632
12642
  if (!e.key || props.readonly || form?.isReadonly.value) return;
12633
12643
  if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
@@ -12648,11 +12658,6 @@ const VSelect = genericComponent()({
12648
12658
  // html select hotkeys
12649
12659
  const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
12650
12660
 
12651
- function checkPrintable(e) {
12652
- const isPrintableChar = e.key.length === 1;
12653
- const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
12654
- return isPrintableChar && noModifier;
12655
- }
12656
12661
  if (props.multiple || !checkPrintable(e)) return;
12657
12662
  const now = performance.now();
12658
12663
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
@@ -12697,6 +12702,11 @@ const VSelect = genericComponent()({
12697
12702
  menu.value = false;
12698
12703
  }
12699
12704
  }
12705
+ function onAfterEnter() {
12706
+ if (props.eager) {
12707
+ vVirtualScrollRef.value?.calculateVisibleItems();
12708
+ }
12709
+ }
12700
12710
  function onAfterLeave() {
12701
12711
  if (isFocused.value) {
12702
12712
  vTextFieldRef.value?.focus();
@@ -12775,6 +12785,7 @@ const VSelect = genericComponent()({
12775
12785
  "openOnClick": false,
12776
12786
  "closeOnContentClick": false,
12777
12787
  "transition": props.transition,
12788
+ "onAfterEnter": onAfterEnter,
12778
12789
  "onAfterLeave": onAfterLeave
12779
12790
  }, computedMenuProps.value), {
12780
12791
  default: () => [hasList && createVNode(VList, mergeProps({
@@ -12784,11 +12795,10 @@ const VSelect = genericComponent()({
12784
12795
  "onMousedown": e => e.preventDefault(),
12785
12796
  "onKeydown": onListKeydown,
12786
12797
  "onFocusin": onFocusin,
12787
- "onScrollPassive": onListScroll,
12788
12798
  "tabindex": "-1",
12789
12799
  "aria-live": "polite",
12790
12800
  "color": props.itemColor ?? props.color
12791
- }, props.listProps), {
12801
+ }, listEvents, props.listProps), {
12792
12802
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
12793
12803
  "title": t(props.noDataText)
12794
12804
  }, null)), createVNode(VVirtualScroll, {
@@ -13083,7 +13093,7 @@ const VAutocomplete = genericComponent()({
13083
13093
  const menu = computed({
13084
13094
  get: () => _menu.value,
13085
13095
  set: v => {
13086
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
13096
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
13087
13097
  _menu.value = v;
13088
13098
  }
13089
13099
  });
@@ -13127,10 +13137,7 @@ const VAutocomplete = genericComponent()({
13127
13137
  });
13128
13138
  const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
13129
13139
  const listRef = ref();
13130
- const {
13131
- onListScroll,
13132
- onListKeydown
13133
- } = useScrolling(listRef, vTextFieldRef);
13140
+ const listEvents = useScrolling(listRef, vTextFieldRef);
13134
13141
  function onClear(e) {
13135
13142
  if (props.openOnClear) {
13136
13143
  menu.value = true;
@@ -13149,6 +13156,11 @@ const VAutocomplete = genericComponent()({
13149
13156
  }
13150
13157
  menu.value = !menu.value;
13151
13158
  }
13159
+ function onListKeydown(e) {
13160
+ if (checkPrintable(e)) {
13161
+ vTextFieldRef.value?.focus();
13162
+ }
13163
+ }
13152
13164
  function onKeydown(e) {
13153
13165
  if (props.readonly || form?.isReadonly.value) return;
13154
13166
  const selectionStart = vTextFieldRef.value.selectionStart;
@@ -13213,6 +13225,11 @@ const VAutocomplete = genericComponent()({
13213
13225
  }
13214
13226
  }
13215
13227
  }
13228
+ function onAfterEnter() {
13229
+ if (props.eager) {
13230
+ vVirtualScrollRef.value?.calculateVisibleItems();
13231
+ }
13232
+ }
13216
13233
  function onAfterLeave() {
13217
13234
  if (isFocused.value) {
13218
13235
  isPristine.value = true;
@@ -13341,6 +13358,7 @@ const VAutocomplete = genericComponent()({
13341
13358
  "openOnClick": false,
13342
13359
  "closeOnContentClick": false,
13343
13360
  "transition": props.transition,
13361
+ "onAfterEnter": onAfterEnter,
13344
13362
  "onAfterLeave": onAfterLeave
13345
13363
  }, props.menuProps), {
13346
13364
  default: () => [hasList && createVNode(VList, mergeProps({
@@ -13351,11 +13369,10 @@ const VAutocomplete = genericComponent()({
13351
13369
  "onKeydown": onListKeydown,
13352
13370
  "onFocusin": onFocusin,
13353
13371
  "onFocusout": onFocusout,
13354
- "onScrollPassive": onListScroll,
13355
13372
  "tabindex": "-1",
13356
13373
  "aria-live": "polite",
13357
13374
  "color": props.itemColor ?? props.color
13358
- }, props.listProps), {
13375
+ }, listEvents, props.listProps), {
13359
13376
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
13360
13377
  "title": t(props.noDataText)
13361
13378
  }, null)), createVNode(VVirtualScroll, {
@@ -16916,7 +16933,7 @@ const VCombobox = genericComponent()({
16916
16933
  const menu = computed({
16917
16934
  get: () => _menu.value,
16918
16935
  set: v => {
16919
- if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
16936
+ if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
16920
16937
  _menu.value = v;
16921
16938
  }
16922
16939
  });
@@ -16999,10 +17016,7 @@ const VCombobox = genericComponent()({
16999
17016
  });
17000
17017
  const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
17001
17018
  const listRef = ref();
17002
- const {
17003
- onListScroll,
17004
- onListKeydown
17005
- } = useScrolling(listRef, vTextFieldRef);
17019
+ const listEvents = useScrolling(listRef, vTextFieldRef);
17006
17020
  function onClear(e) {
17007
17021
  cleared = true;
17008
17022
  if (props.openOnClear) {
@@ -17021,6 +17035,11 @@ const VCombobox = genericComponent()({
17021
17035
  }
17022
17036
  menu.value = !menu.value;
17023
17037
  }
17038
+ function onListKeydown(e) {
17039
+ if (checkPrintable(e)) {
17040
+ vTextFieldRef.value?.focus();
17041
+ }
17042
+ }
17024
17043
  // eslint-disable-next-line complexity
17025
17044
  function onKeydown(e) {
17026
17045
  if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
@@ -17085,6 +17104,11 @@ const VCombobox = genericComponent()({
17085
17104
  }
17086
17105
  }
17087
17106
  }
17107
+ function onAfterEnter() {
17108
+ if (props.eager) {
17109
+ vVirtualScrollRef.value?.calculateVisibleItems();
17110
+ }
17111
+ }
17088
17112
  function onAfterLeave() {
17089
17113
  if (isFocused.value) {
17090
17114
  isPristine.value = true;
@@ -17209,6 +17233,7 @@ const VCombobox = genericComponent()({
17209
17233
  "openOnClick": false,
17210
17234
  "closeOnContentClick": false,
17211
17235
  "transition": props.transition,
17236
+ "onAfterEnter": onAfterEnter,
17212
17237
  "onAfterLeave": onAfterLeave
17213
17238
  }, props.menuProps), {
17214
17239
  default: () => [hasList && createVNode(VList, mergeProps({
@@ -17219,11 +17244,10 @@ const VCombobox = genericComponent()({
17219
17244
  "onKeydown": onListKeydown,
17220
17245
  "onFocusin": onFocusin,
17221
17246
  "onFocusout": onFocusout,
17222
- "onScrollPassive": onListScroll,
17223
17247
  "tabindex": "-1",
17224
17248
  "aria-live": "polite",
17225
17249
  "color": props.itemColor ?? props.color
17226
- }, props.listProps), {
17250
+ }, listEvents, props.listProps), {
17227
17251
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
17228
17252
  "title": t(props.noDataText)
17229
17253
  }, null)), createVNode(VVirtualScroll, {
@@ -18338,6 +18362,7 @@ function createGroupBy(props) {
18338
18362
  }
18339
18363
  function provideGroupBy(options) {
18340
18364
  const {
18365
+ disableSort,
18341
18366
  groupBy,
18342
18367
  sortBy
18343
18368
  } = options;
@@ -18346,7 +18371,7 @@ function provideGroupBy(options) {
18346
18371
  return groupBy.value.map(val => ({
18347
18372
  ...val,
18348
18373
  order: val.order ?? false
18349
- })).concat(sortBy.value);
18374
+ })).concat(disableSort?.value ? [] : sortBy.value);
18350
18375
  });
18351
18376
  function isGroupOpen(group) {
18352
18377
  return opened.value.has(group.id);
@@ -18855,7 +18880,7 @@ function useSort() {
18855
18880
  function useSortedItems(props, items, sortBy, options) {
18856
18881
  const locale = useLocale();
18857
18882
  const sortedItems = computed(() => {
18858
- if (!sortBy.value.length || props.disableSort) return items.value;
18883
+ if (!sortBy.value.length) return items.value;
18859
18884
  return sortItems(items.value, sortBy.value, locale.current.value, {
18860
18885
  transform: options?.transform,
18861
18886
  sortFunctions: {
@@ -18881,8 +18906,8 @@ function sortItems(items, sortByItems, locale, options) {
18881
18906
  const sortKey = sortByItems[i].key;
18882
18907
  const sortOrder = sortByItems[i].order ?? 'asc';
18883
18908
  if (sortOrder === false) continue;
18884
- let sortA = a[1][sortKey];
18885
- let sortB = b[1][sortKey];
18909
+ let sortA = getObjectValueByPath(a[1], sortKey);
18910
+ let sortB = getObjectValueByPath(b[1], sortKey);
18886
18911
  let sortARaw = a[0].raw;
18887
18912
  let sortBRaw = b[0].raw;
18888
18913
  if (sortOrder === 'desc') {
@@ -20607,6 +20632,9 @@ const VDataTable = genericComponent()({
20607
20632
  page,
20608
20633
  itemsPerPage
20609
20634
  } = createPagination(props);
20635
+ const {
20636
+ disableSort
20637
+ } = toRefs(props);
20610
20638
  const {
20611
20639
  columns,
20612
20640
  headers,
@@ -20644,12 +20672,16 @@ const VDataTable = genericComponent()({
20644
20672
  toggleGroup
20645
20673
  } = provideGroupBy({
20646
20674
  groupBy,
20647
- sortBy
20675
+ sortBy,
20676
+ disableSort
20648
20677
  });
20649
20678
  const {
20650
20679
  sortedItems
20651
20680
  } = useSortedItems(props, filteredItems, sortByWithGroups, {
20652
- transform: item => item.columns,
20681
+ transform: item => ({
20682
+ ...item.raw,
20683
+ ...item.columns
20684
+ }),
20653
20685
  sortFunctions,
20654
20686
  sortRawFunctions
20655
20687
  });
@@ -20787,6 +20819,9 @@ const VDataTableVirtual = genericComponent()({
20787
20819
  multiSort,
20788
20820
  mustSort
20789
20821
  } = createSort(props);
20822
+ const {
20823
+ disableSort
20824
+ } = toRefs(props);
20790
20825
  const {
20791
20826
  columns,
20792
20827
  headers,
@@ -20823,12 +20858,16 @@ const VDataTableVirtual = genericComponent()({
20823
20858
  toggleGroup
20824
20859
  } = provideGroupBy({
20825
20860
  groupBy,
20826
- sortBy
20861
+ sortBy,
20862
+ disableSort
20827
20863
  });
20828
20864
  const {
20829
20865
  sortedItems
20830
20866
  } = useSortedItems(props, filteredItems, sortByWithGroups, {
20831
- transform: item => item.columns,
20867
+ transform: item => ({
20868
+ ...item.raw,
20869
+ ...item.columns
20870
+ }),
20832
20871
  sortFunctions,
20833
20872
  sortRawFunctions
20834
20873
  });
@@ -21012,6 +21051,9 @@ const VDataTableServer = genericComponent()({
21012
21051
  page,
21013
21052
  itemsPerPage
21014
21053
  } = createPagination(props);
21054
+ const {
21055
+ disableSort
21056
+ } = toRefs(props);
21015
21057
  const itemsLength = computed(() => parseInt(props.itemsLength, 10));
21016
21058
  const {
21017
21059
  columns,
@@ -21039,7 +21081,8 @@ const VDataTableServer = genericComponent()({
21039
21081
  extractRows
21040
21082
  } = provideGroupBy({
21041
21083
  groupBy,
21042
- sortBy
21084
+ sortBy,
21085
+ disableSort
21043
21086
  });
21044
21087
  const {
21045
21088
  pageCount,
@@ -21803,6 +21846,9 @@ const VDatePickerMonth = genericComponent()({
21803
21846
  const _value = adapter.startOfDay(value);
21804
21847
  if (model.value.length === 0) {
21805
21848
  rangeStart.value = undefined;
21849
+ } else if (model.value.length === 1) {
21850
+ rangeStart.value = model.value[0];
21851
+ rangeStop.value = undefined;
21806
21852
  }
21807
21853
  if (!rangeStart.value) {
21808
21854
  rangeStart.value = _value;
@@ -24487,7 +24533,7 @@ const VOtpInput = genericComponent()({
24487
24533
  function onPaste(index, e) {
24488
24534
  e.preventDefault();
24489
24535
  e.stopPropagation();
24490
- const clipboardText = e?.clipboardData?.getData('Text') ?? '';
24536
+ const clipboardText = e?.clipboardData?.getData('Text').slice(0, length.value) ?? '';
24491
24537
  if (isValidNumber(clipboardText)) return;
24492
24538
  model.value = clipboardText.split('');
24493
24539
  inputRef.value?.[index].blur();
@@ -27032,8 +27078,8 @@ const makeVTextareaProps = propsFactory({
27032
27078
  },
27033
27079
  suffix: String,
27034
27080
  modelModifiers: Object,
27035
- ...omit(makeVInputProps(), ['centerAffix']),
27036
- ...omit(makeVFieldProps(), ['centerAffix'])
27081
+ ...makeVInputProps(),
27082
+ ...makeVFieldProps()
27037
27083
  }, 'VTextarea');
27038
27084
  const VTextarea = genericComponent()({
27039
27085
  name: 'VTextarea',
@@ -27172,7 +27218,7 @@ const VTextarea = genericComponent()({
27172
27218
  }, props.class],
27173
27219
  "style": props.style
27174
27220
  }, rootAttrs, inputProps, {
27175
- "centerAffix": false,
27221
+ "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
27176
27222
  "focused": isFocused.value
27177
27223
  }), {
27178
27224
  ...slots,
@@ -27197,7 +27243,7 @@ const VTextarea = genericComponent()({
27197
27243
  }, fieldProps, {
27198
27244
  "id": id.value,
27199
27245
  "active": isActive.value || isDirty.value,
27200
- "centerAffix": false,
27246
+ "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
27201
27247
  "dirty": isDirty.value || props.dirty,
27202
27248
  "disabled": isDisabled.value,
27203
27249
  "focused": isFocused.value,
@@ -28129,7 +28175,7 @@ function createVuetify$1() {
28129
28175
  goTo
28130
28176
  };
28131
28177
  }
28132
- const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-12";
28178
+ const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
28133
28179
  createVuetify$1.version = version$1;
28134
28180
 
28135
28181
  // Vue's inject() can only be used in setup
@@ -28154,7 +28200,7 @@ const createVuetify = function () {
28154
28200
  ...options
28155
28201
  });
28156
28202
  };
28157
- const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-12";
28203
+ const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
28158
28204
  createVuetify.version = version;
28159
28205
 
28160
28206
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };