vuetify 3.4.0-beta.0 → 3.4.0

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 (204) hide show
  1. package/dist/json/attributes.json +1980 -2004
  2. package/dist/json/importMap.json +110 -110
  3. package/dist/json/tags.json +1 -7
  4. package/dist/json/web-types.json +3767 -3807
  5. package/dist/vuetify-labs.css +1045 -1032
  6. package/dist/vuetify-labs.d.ts +227 -305
  7. package/dist/vuetify-labs.esm.js +115 -87
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +115 -87
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +546 -533
  12. package/dist/vuetify.d.ts +260 -338
  13. package/dist/vuetify.esm.js +115 -87
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +115 -87
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +963 -961
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAlert/index.d.mts +1 -1
  21. package/lib/components/VApp/index.d.mts +1 -1
  22. package/lib/components/VAppBar/VAppBar.mjs +1 -1
  23. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  24. package/lib/components/VAppBar/index.d.mts +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/index.d.mts +1 -1
  28. package/lib/components/VAvatar/index.d.mts +1 -1
  29. package/lib/components/VBadge/VBadge.mjs +2 -2
  30. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  31. package/lib/components/VBadge/index.d.mts +1 -1
  32. package/lib/components/VBanner/index.d.mts +1 -1
  33. package/lib/components/VBottomNavigation/index.d.mts +1 -1
  34. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  35. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  36. package/lib/components/VBottomSheet/index.d.mts +1 -1
  37. package/lib/components/VBreadcrumbs/index.d.mts +1 -1
  38. package/lib/components/VBtn/VBtn.css +0 -1
  39. package/lib/components/VBtn/_variables.scss +1 -1
  40. package/lib/components/VBtn/index.d.mts +1 -1
  41. package/lib/components/VBtnGroup/VBtnGroup.css +0 -1
  42. package/lib/components/VBtnGroup/index.d.mts +1 -1
  43. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
  44. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  45. package/lib/components/VBtnToggle/index.d.mts +1 -1
  46. package/lib/components/VCard/index.d.mts +1 -1
  47. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  48. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  49. package/lib/components/VCarousel/VCarouselItem.mjs +2 -2
  50. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  51. package/lib/components/VCarousel/index.d.mts +1 -1
  52. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  53. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  54. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  55. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  56. package/lib/components/VCheckbox/index.d.mts +1 -1
  57. package/lib/components/VChip/index.d.mts +1 -1
  58. package/lib/components/VChipGroup/index.d.mts +1 -1
  59. package/lib/components/VCode/index.d.mts +1 -1
  60. package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
  61. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  62. package/lib/components/VColorPicker/index.d.mts +1 -1
  63. package/lib/components/VCombobox/VCombobox.mjs +1 -1
  64. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  65. package/lib/components/VCombobox/index.d.mts +1 -1
  66. package/lib/components/VCounter/index.d.mts +1 -1
  67. package/lib/components/VDataIterator/index.d.mts +1 -1
  68. package/lib/components/VDataTable/VDataTable.css +6 -1
  69. package/lib/components/VDataTable/VDataTable.mjs +6 -5
  70. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  71. package/lib/components/VDataTable/VDataTable.sass +5 -1
  72. package/lib/components/VDataTable/VDataTableHeaders.mjs +3 -2
  73. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  74. package/lib/components/VDataTable/VDataTableRow.mjs +8 -4
  75. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  76. package/lib/components/VDataTable/VDataTableServer.mjs +8 -7
  77. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  78. package/lib/components/VDataTable/VDataTableVirtual.mjs +7 -6
  79. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  80. package/lib/components/VDataTable/index.d.mts +213 -196
  81. package/lib/components/VDatePicker/VDatePicker.mjs +6 -6
  82. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  83. package/lib/components/VDatePicker/index.d.mts +1 -1
  84. package/lib/components/VDefaultsProvider/index.d.mts +1 -1
  85. package/lib/components/VDialog/VDialog.mjs +1 -1
  86. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  87. package/lib/components/VDialog/index.d.mts +1 -1
  88. package/lib/components/VDivider/index.d.mts +1 -1
  89. package/lib/components/VExpansionPanel/index.d.mts +1 -1
  90. package/lib/components/VField/index.d.mts +1 -1
  91. package/lib/components/VFileInput/VFileInput.mjs +3 -3
  92. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  93. package/lib/components/VFileInput/index.d.mts +1 -1
  94. package/lib/components/VFooter/index.d.mts +1 -1
  95. package/lib/components/VForm/index.d.mts +1 -1
  96. package/lib/components/VGrid/VSpacer.mjs +3 -0
  97. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  98. package/lib/components/VGrid/index.d.mts +1 -1
  99. package/lib/components/VHover/index.d.mts +1 -1
  100. package/lib/components/VIcon/index.d.mts +1 -1
  101. package/lib/components/VImg/VImg.mjs +1 -1
  102. package/lib/components/VImg/VImg.mjs.map +1 -1
  103. package/lib/components/VImg/index.d.mts +1 -1
  104. package/lib/components/VInfiniteScroll/index.d.mts +1 -1
  105. package/lib/components/VInput/index.d.mts +1 -1
  106. package/lib/components/VItemGroup/index.d.mts +1 -1
  107. package/lib/components/VKbd/index.d.mts +1 -1
  108. package/lib/components/VLabel/index.d.mts +1 -1
  109. package/lib/components/VLayout/index.d.mts +1 -1
  110. package/lib/components/VLazy/index.d.mts +1 -1
  111. package/lib/components/VList/VList.mjs +2 -2
  112. package/lib/components/VList/VList.mjs.map +1 -1
  113. package/lib/components/VList/VListChildren.mjs +1 -1
  114. package/lib/components/VList/VListChildren.mjs.map +1 -1
  115. package/lib/components/VList/index.d.mts +1 -1
  116. package/lib/components/VLocaleProvider/index.d.mts +1 -1
  117. package/lib/components/VMain/index.d.mts +1 -1
  118. package/lib/components/VMenu/VMenu.mjs +1 -1
  119. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  120. package/lib/components/VMenu/index.d.mts +1 -1
  121. package/lib/components/VMessages/index.d.mts +1 -1
  122. package/lib/components/VNavigationDrawer/index.d.mts +1 -1
  123. package/lib/components/VOtpInput/index.d.mts +1 -1
  124. package/lib/components/VOverlay/index.d.mts +1 -1
  125. package/lib/components/VPagination/index.d.mts +1 -1
  126. package/lib/components/VParallax/index.d.mts +1 -1
  127. package/lib/components/VProgressCircular/index.d.mts +1 -1
  128. package/lib/components/VProgressLinear/index.d.mts +1 -1
  129. package/lib/components/VRadio/index.d.mts +1 -1
  130. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  131. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  132. package/lib/components/VRadioGroup/index.d.mts +1 -1
  133. package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
  134. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  135. package/lib/components/VRangeSlider/index.d.mts +1 -1
  136. package/lib/components/VRating/index.d.mts +1 -1
  137. package/lib/components/VResponsive/index.d.mts +1 -1
  138. package/lib/components/VSelect/VSelect.mjs +1 -1
  139. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  140. package/lib/components/VSelect/index.d.mts +1 -1
  141. package/lib/components/VSelectionControl/index.d.mts +1 -1
  142. package/lib/components/VSelectionControlGroup/index.d.mts +1 -1
  143. package/lib/components/VSheet/index.d.mts +1 -1
  144. package/lib/components/VSkeletonLoader/index.d.mts +1 -1
  145. package/lib/components/VSlideGroup/index.d.mts +1 -1
  146. package/lib/components/VSlider/VSlider.mjs +1 -1
  147. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  148. package/lib/components/VSlider/index.d.mts +1 -1
  149. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  150. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  151. package/lib/components/VSnackbar/index.d.mts +1 -1
  152. package/lib/components/VStepper/VStepper.mjs +1 -1
  153. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  154. package/lib/components/VStepper/VStepperWindow.mjs +9 -7
  155. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  156. package/lib/components/VStepper/VStepperWindowItem.mjs +4 -2
  157. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  158. package/lib/components/VStepper/index.d.mts +19 -141
  159. package/lib/components/VSwitch/VSwitch.mjs +2 -2
  160. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  161. package/lib/components/VSwitch/index.d.mts +1 -1
  162. package/lib/components/VSystemBar/index.d.mts +1 -1
  163. package/lib/components/VTable/VTable.css +12 -2
  164. package/lib/components/VTable/VTable.sass +7 -2
  165. package/lib/components/VTable/index.d.mts +1 -1
  166. package/lib/components/VTabs/VTab.mjs +1 -1
  167. package/lib/components/VTabs/VTab.mjs.map +1 -1
  168. package/lib/components/VTabs/VTabs.mjs +1 -1
  169. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  170. package/lib/components/VTabs/index.d.mts +1 -1
  171. package/lib/components/VTextField/VTextField.mjs +3 -3
  172. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  173. package/lib/components/VTextField/index.d.mts +1 -1
  174. package/lib/components/VTextarea/VTextarea.mjs +5 -3
  175. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  176. package/lib/components/VTextarea/index.d.mts +1 -1
  177. package/lib/components/VThemeProvider/index.d.mts +1 -1
  178. package/lib/components/VTimeline/index.d.mts +1 -1
  179. package/lib/components/VToolbar/index.d.mts +1 -1
  180. package/lib/components/VTooltip/VTooltip.mjs +1 -1
  181. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  182. package/lib/components/VTooltip/index.d.mts +1 -1
  183. package/lib/components/VValidation/index.d.mts +1 -1
  184. package/lib/components/VVirtualScroll/index.d.mts +1 -1
  185. package/lib/components/VWindow/index.d.mts +1 -1
  186. package/lib/components/index.d.mts +227 -305
  187. package/lib/components/transitions/index.d.mts +1 -1
  188. package/lib/composables/list-items.mjs +2 -2
  189. package/lib/composables/list-items.mjs.map +1 -1
  190. package/lib/entry-bundler.mjs +1 -1
  191. package/lib/entry-bundler.mjs.map +1 -1
  192. package/lib/framework.mjs +1 -1
  193. package/lib/framework.mjs.map +1 -1
  194. package/lib/index.d.mts +33 -33
  195. package/lib/labs/VConfirmEdit/index.d.mts +1 -1
  196. package/lib/labs/VPicker/VPicker.mjs +1 -1
  197. package/lib/labs/VPicker/VPicker.mjs.map +1 -1
  198. package/lib/labs/VPicker/index.d.mts +1 -1
  199. package/lib/labs/components.d.mts +1 -1
  200. package/lib/util/defineComponent.mjs +2 -2
  201. package/lib/util/defineComponent.mjs.map +1 -1
  202. package/lib/util/helpers.mjs +17 -3
  203. package/lib/util/helpers.mjs.map +1 -1
  204. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.4.0-beta.0
2
+ * Vuetify v3.4.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -219,7 +219,21 @@
219
219
  function has(obj, key) {
220
220
  return key.every(k => obj.hasOwnProperty(k));
221
221
  }
222
- function pick(obj, paths, exclude) {
222
+ // Array of keys
223
+ function pick(obj, paths) {
224
+ const found = {};
225
+ const keys = new Set(Object.keys(obj));
226
+ for (const path of paths) {
227
+ if (keys.has(path)) {
228
+ found[path] = obj[path];
229
+ }
230
+ }
231
+ return found;
232
+ }
233
+
234
+ // Array of keys
235
+
236
+ function pickWithRest(obj, paths, exclude) {
223
237
  const found = Object.create(null);
224
238
  const rest = Object.create(null);
225
239
  for (const key in obj) {
@@ -257,9 +271,9 @@
257
271
  * attributes should be passed to the <input> element inside.
258
272
  */
259
273
  function filterInputAttrs(attrs) {
260
- const [events, props] = pick(attrs, [onRE]);
274
+ const [events, props] = pickWithRest(attrs, [onRE]);
261
275
  const inputEvents = omit(events, bubblingEvents);
262
- const [rootAttrs, inputAttrs] = pick(props, ['class', 'style', 'id', /^data-/]);
276
+ const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/]);
263
277
  Object.assign(rootAttrs, events);
264
278
  Object.assign(inputAttrs, inputEvents);
265
279
  return [rootAttrs, inputAttrs];
@@ -1304,9 +1318,9 @@
1304
1318
  }
1305
1319
  if (options._setup) {
1306
1320
  options.props = propsFactory(options.props ?? {}, options.name)();
1307
- const propKeys = Object.keys(options.props);
1321
+ const propKeys = Object.keys(options.props).filter(key => key !== 'class' && key !== 'style');
1308
1322
  options.filterProps = function filterProps(props) {
1309
- return pick(props, propKeys, ['class', 'style']);
1323
+ return pick(props, propKeys);
1310
1324
  };
1311
1325
  options.props._as = String;
1312
1326
  options.setup = function setup(props, ctx) {
@@ -3293,7 +3307,7 @@
3293
3307
  });
3294
3308
  }
3295
3309
  useRender(() => {
3296
- const [responsiveProps] = VResponsive.filterProps(props);
3310
+ const responsiveProps = VResponsive.filterProps(props);
3297
3311
  return vue.withDirectives(vue.createVNode(VResponsive, vue.mergeProps({
3298
3312
  "class": ['v-img', {
3299
3313
  'v-img--booting': !isBooted.value
@@ -3832,7 +3846,7 @@
3832
3846
  absolute: vue.toRef(props, 'absolute')
3833
3847
  });
3834
3848
  useRender(() => {
3835
- const [toolbarProps] = VToolbar.filterProps(props);
3849
+ const toolbarProps = VToolbar.filterProps(props);
3836
3850
  return vue.createVNode(VToolbar, vue.mergeProps({
3837
3851
  "ref": vToolbarRef,
3838
3852
  "class": ['v-app-bar', {
@@ -4206,7 +4220,7 @@
4206
4220
  selected
4207
4221
  } = useGroup(props, VBtnToggleSymbol);
4208
4222
  useRender(() => {
4209
- const [btnGroupProps] = VBtnGroup.filterProps(props);
4223
+ const btnGroupProps = VBtnGroup.filterProps(props);
4210
4224
  return vue.createVNode(VBtnGroup, vue.mergeProps({
4211
4225
  "class": ['v-btn-toggle', props.class]
4212
4226
  }, btnGroupProps, {
@@ -6088,7 +6102,7 @@
6088
6102
  return indeterminate.value ? props.indeterminateIcon : props.trueIcon;
6089
6103
  });
6090
6104
  useRender(() => {
6091
- const controlProps = omit(VSelectionControl.filterProps(props)[0], ['modelValue']);
6105
+ const controlProps = omit(VSelectionControl.filterProps(props), ['modelValue']);
6092
6106
  return vue.createVNode(VSelectionControl, vue.mergeProps(controlProps, {
6093
6107
  "modelValue": model.value,
6094
6108
  "onUpdate:modelValue": [$event => model.value = $event, onChange],
@@ -6668,8 +6682,8 @@
6668
6682
  const id = vue.computed(() => props.id || `checkbox-${uid}`);
6669
6683
  useRender(() => {
6670
6684
  const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
6671
- const [inputProps, _1] = VInput.filterProps(props);
6672
- const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
6685
+ const inputProps = VInput.filterProps(props);
6686
+ const checkboxProps = VCheckboxBtn.filterProps(props);
6673
6687
  return vue.createVNode(VInput, vue.mergeProps({
6674
6688
  "class": ['v-checkbox', props.class]
6675
6689
  }, rootAttrs, inputProps, {
@@ -8037,7 +8051,7 @@
8037
8051
  item
8038
8052
  }) : undefined
8039
8053
  };
8040
- const [listGroupProps, _1] = VListGroup.filterProps(itemProps);
8054
+ const listGroupProps = VListGroup.filterProps(itemProps);
8041
8055
  return children ? vue.createVNode(VListGroup, vue.mergeProps({
8042
8056
  "value": itemProps?.value
8043
8057
  }, listGroupProps), {
@@ -8102,7 +8116,7 @@
8102
8116
  const title = getPropertyFromItem(item, props.itemTitle, item);
8103
8117
  const value = getPropertyFromItem(item, props.itemValue, title);
8104
8118
  const children = getPropertyFromItem(item, props.itemChildren);
8105
- const itemProps = props.itemProps === true ? typeof item === 'object' && item != null && !Array.isArray(item) ? 'children' in item ? pick(item, ['children'])[1] : item : undefined : getPropertyFromItem(item, props.itemProps);
8119
+ const itemProps = props.itemProps === true ? typeof item === 'object' && item != null && !Array.isArray(item) ? 'children' in item ? omit(item, ['children']) : item : undefined : getPropertyFromItem(item, props.itemProps);
8106
8120
  const _props = {
8107
8121
  title,
8108
8122
  value,
@@ -8171,7 +8185,7 @@
8171
8185
  const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
8172
8186
  const value = getPropertyFromItem(item, props.itemValue, undefined);
8173
8187
  const children = getPropertyFromItem(item, props.itemChildren);
8174
- const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps);
8188
+ const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);
8175
8189
  const _props = {
8176
8190
  title,
8177
8191
  value,
@@ -10142,7 +10156,7 @@
10142
10156
  onKeydown: onActivatorKeydown
10143
10157
  }, props.activatorProps));
10144
10158
  useRender(() => {
10145
- const [overlayProps] = VOverlay.filterProps(props);
10159
+ const overlayProps = VOverlay.filterProps(props);
10146
10160
  return vue.createVNode(VOverlay, vue.mergeProps({
10147
10161
  "ref": overlay,
10148
10162
  "class": ['v-menu', props.class],
@@ -10615,11 +10629,11 @@
10615
10629
  const hasCounter = !!(slots.counter || props.counter !== false && props.counter != null);
10616
10630
  const hasDetails = !!(hasCounter || slots.details);
10617
10631
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
10618
- const [{
10632
+ const {
10619
10633
  modelValue: _,
10620
10634
  ...inputProps
10621
- }] = VInput.filterProps(props);
10622
- const [fieldProps] = filterFieldProps(props);
10635
+ } = VInput.filterProps(props);
10636
+ const fieldProps = filterFieldProps(props);
10623
10637
  return vue.createVNode(VInput, vue.mergeProps({
10624
10638
  "ref": vInputRef,
10625
10639
  "modelValue": model.value,
@@ -11352,7 +11366,7 @@
11352
11366
  const hasChips = !!(props.chips || slots.chip);
11353
11367
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
11354
11368
  const isDirty = model.value.length > 0;
11355
- const [textFieldProps] = VTextField.filterProps(props);
11369
+ const textFieldProps = VTextField.filterProps(props);
11356
11370
  const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
11357
11371
  return vue.createVNode(VTextField, vue.mergeProps({
11358
11372
  "ref": vTextFieldRef
@@ -11884,7 +11898,7 @@
11884
11898
  const hasChips = !!(props.chips || slots.chip);
11885
11899
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
11886
11900
  const isDirty = model.value.length > 0;
11887
- const [textFieldProps] = VTextField.filterProps(props);
11901
+ const textFieldProps = VTextField.filterProps(props);
11888
11902
  return vue.createVNode(VTextField, vue.mergeProps({
11889
11903
  "ref": vTextFieldRef
11890
11904
  }, textFieldProps, {
@@ -12121,7 +12135,7 @@
12121
12135
  useRender(() => {
12122
12136
  const value = Number(props.content);
12123
12137
  const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
12124
- const [badgeAttrs, attrs] = pick(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
12138
+ const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
12125
12139
  return vue.createVNode(props.tag, vue.mergeProps({
12126
12140
  "class": ['v-badge', {
12127
12141
  'v-badge--bordered': props.bordered,
@@ -12490,7 +12504,7 @@
12490
12504
  'aria-expanded': String(isActive.value)
12491
12505
  }, props.activatorProps));
12492
12506
  useRender(() => {
12493
- const [overlayProps] = VOverlay.filterProps(props);
12507
+ const overlayProps = VOverlay.filterProps(props);
12494
12508
  return vue.createVNode(VOverlay, vue.mergeProps({
12495
12509
  "ref": overlay,
12496
12510
  "class": ['v-dialog', {
@@ -12542,7 +12556,7 @@
12542
12556
  } = _ref;
12543
12557
  const isActive = useProxiedModel(props, 'modelValue');
12544
12558
  useRender(() => {
12545
- const [dialogProps] = VDialog.filterProps(props);
12559
+ const dialogProps = VDialog.filterProps(props);
12546
12560
  return vue.createVNode(VDialog, vue.mergeProps(dialogProps, {
12547
12561
  "contentClass": ['v-bottom-sheet__content', props.contentClass],
12548
12562
  "modelValue": isActive.value,
@@ -13349,7 +13363,7 @@
13349
13363
  window.requestAnimationFrame(startTimeout);
13350
13364
  }
13351
13365
  useRender(() => {
13352
- const [windowProps] = VWindow.filterProps(props);
13366
+ const windowProps = VWindow.filterProps(props);
13353
13367
  return vue.createVNode(VWindow, vue.mergeProps({
13354
13368
  "ref": windowRef
13355
13369
  }, windowProps, {
@@ -13539,8 +13553,8 @@
13539
13553
  attrs
13540
13554
  } = _ref;
13541
13555
  useRender(() => {
13542
- const [imgProps] = VImg.filterProps(props);
13543
- const [windowItemProps] = VWindowItem.filterProps(props);
13556
+ const imgProps = VImg.filterProps(props);
13557
+ const windowItemProps = VWindowItem.filterProps(props);
13544
13558
  return vue.createVNode(VWindowItem, vue.mergeProps({
13545
13559
  "class": "v-carousel-item"
13546
13560
  }, windowItemProps), {
@@ -14612,7 +14626,7 @@
14612
14626
  } = useFocus(props);
14613
14627
  const trackStop = vue.computed(() => position(model.value));
14614
14628
  useRender(() => {
14615
- const [inputProps, _] = VInput.filterProps(props);
14629
+ const inputProps = VInput.filterProps(props);
14616
14630
  const hasPrepend = !!(props.label || slots.label || slots.prepend);
14617
14631
  return vue.createVNode(VInput, vue.mergeProps({
14618
14632
  "class": ['v-slider', {
@@ -15283,7 +15297,7 @@
15283
15297
  }
15284
15298
  });
15285
15299
  useRender(() => {
15286
- const [sheetProps] = VSheet.filterProps(props);
15300
+ const sheetProps = VSheet.filterProps(props);
15287
15301
  return vue.createVNode(VSheet, vue.mergeProps({
15288
15302
  "rounded": props.rounded,
15289
15303
  "elevation": props.elevation,
@@ -15628,7 +15642,7 @@
15628
15642
  const hasChips = !!(props.chips || slots.chip);
15629
15643
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
15630
15644
  const isDirty = model.value.length > 0;
15631
- const [textFieldProps] = VTextField.filterProps(props);
15645
+ const textFieldProps = VTextField.filterProps(props);
15632
15646
  return vue.createVNode(VTextField, vue.mergeProps({
15633
15647
  "ref": vTextFieldRef
15634
15648
  }, textFieldProps, {
@@ -17734,11 +17748,12 @@
17734
17748
  "colspan": column.colspan,
17735
17749
  "rowspan": column.rowspan,
17736
17750
  "onClick": column.sortable ? () => toggleSort(column) : undefined,
17751
+ "fixed": column.fixed,
17737
17752
  "lastFixed": column.lastFixed,
17738
17753
  "noPadding": noPadding
17739
17754
  }, column.headerProps), {
17740
17755
  default: () => {
17741
- const columnSlotName = `column.${column.key}`;
17756
+ const columnSlotName = `header.${column.key}`;
17742
17757
  const columnSlotProps = {
17743
17758
  column,
17744
17759
  selectAll,
@@ -17751,7 +17766,7 @@
17751
17766
  };
17752
17767
  if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
17753
17768
  if (column.key === 'data-table-select') {
17754
- return slots['column.data-table-select']?.(columnSlotProps) ?? (showSelectAll && vue.createVNode(VCheckboxBtn, {
17769
+ return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll && vue.createVNode(VCheckboxBtn, {
17755
17770
  "modelValue": allSelected.value,
17756
17771
  "indeterminate": someSelected.value && !allSelected.value,
17757
17772
  "onUpdate:modelValue": selectAll
@@ -17877,7 +17892,9 @@
17877
17892
  index: Number,
17878
17893
  item: Object,
17879
17894
  cellProps: [Object, Function],
17880
- onClick: Function
17895
+ onClick: EventProp(),
17896
+ onContextmenu: EventProp(),
17897
+ onDblclick: EventProp()
17881
17898
  }, 'VDataTableRow');
17882
17899
  const VDataTableRow = genericComponent()({
17883
17900
  name: 'VDataTableRow',
@@ -17899,9 +17916,11 @@
17899
17916
  } = useHeaders();
17900
17917
  useRender(() => vue.createVNode("tr", {
17901
17918
  "class": ['v-data-table__tr', {
17902
- 'v-data-table__tr--clickable': !!props.onClick
17919
+ 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick)
17903
17920
  }],
17904
- "onClick": props.onClick
17921
+ "onClick": props.onClick,
17922
+ "onContextmenu": props.onContextmenu,
17923
+ "onDblclick": props.onDblclick
17905
17924
  }, [props.item && columns.value.map((column, i) => {
17906
17925
  const item = props.item;
17907
17926
  const slotName = `item.${column.key}`;
@@ -18336,16 +18355,17 @@
18336
18355
  toggleExpand,
18337
18356
  isGroupOpen,
18338
18357
  toggleGroup,
18339
- items: paginatedItemsWithoutGroups.value,
18358
+ items: paginatedItemsWithoutGroups.value.map(item => item.raw),
18359
+ internalItems: paginatedItemsWithoutGroups.value,
18340
18360
  groupedItems: paginatedItems.value,
18341
18361
  columns: columns.value,
18342
18362
  headers: headers.value
18343
18363
  }));
18344
18364
  useRender(() => {
18345
- const [dataTableFooterProps] = VDataTableFooter.filterProps(props);
18346
- const [dataTableHeadersProps] = VDataTableHeaders.filterProps(props);
18347
- const [dataTableRowsProps] = VDataTableRows.filterProps(props);
18348
- const [tableProps] = VTable.filterProps(props);
18365
+ const dataTableFooterProps = VDataTableFooter.filterProps(props);
18366
+ const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
18367
+ const dataTableRowsProps = VDataTableRows.filterProps(props);
18368
+ const tableProps = VTable.filterProps(props);
18349
18369
  return vue.createVNode(VTable, vue.mergeProps({
18350
18370
  "class": ['v-data-table', {
18351
18371
  'v-data-table--show-select': props.showSelect,
@@ -18386,7 +18406,7 @@
18386
18406
  },
18387
18407
  setup(props, _ref) {
18388
18408
  let {
18389
- emit,
18409
+ attrs,
18390
18410
  slots
18391
18411
  } = _ref;
18392
18412
  const {
@@ -18495,15 +18515,16 @@
18495
18515
  toggleExpand,
18496
18516
  isGroupOpen,
18497
18517
  toggleGroup,
18498
- items: allItems.value,
18518
+ items: allItems.value.map(item => item.raw),
18519
+ internalItems: allItems.value,
18499
18520
  groupedItems: flatItems.value,
18500
18521
  columns: columns.value,
18501
18522
  headers: headers.value
18502
18523
  }));
18503
18524
  useRender(() => {
18504
- const [dataTableHeadersProps] = VDataTableHeaders.filterProps(props);
18505
- const [dataTableRowsProps] = VDataTableRows.filterProps(props);
18506
- const [tableProps] = VTable.filterProps(props);
18525
+ const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
18526
+ const dataTableRowsProps = VDataTableRows.filterProps(props);
18527
+ const tableProps = VTable.filterProps(props);
18507
18528
  return vue.createVNode(VTable, vue.mergeProps({
18508
18529
  "class": ['v-data-table', {
18509
18530
  'v-data-table--loading': props.loading
@@ -18533,7 +18554,7 @@
18533
18554
  height: 0,
18534
18555
  border: 0
18535
18556
  }
18536
- }, null)]), slots['body.prepend']?.(slotProps.value), vue.createVNode(VDataTableRows, vue.mergeProps(dataTableRowsProps, {
18557
+ }, null)]), slots['body.prepend']?.(slotProps.value), vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
18537
18558
  "items": displayItems.value
18538
18559
  }), {
18539
18560
  ...slots,
@@ -18598,7 +18619,7 @@
18598
18619
  },
18599
18620
  setup(props, _ref) {
18600
18621
  let {
18601
- emit,
18622
+ attrs,
18602
18623
  slots
18603
18624
  } = _ref;
18604
18625
  const {
@@ -18705,16 +18726,17 @@
18705
18726
  toggleExpand,
18706
18727
  isGroupOpen,
18707
18728
  toggleGroup,
18708
- items: itemsWithoutGroups.value,
18729
+ items: itemsWithoutGroups.value.map(item => item.raw),
18730
+ internalItems: itemsWithoutGroups.value,
18709
18731
  groupedItems: flatItems.value,
18710
18732
  columns: columns.value,
18711
18733
  headers: headers.value
18712
18734
  }));
18713
18735
  useRender(() => {
18714
- const [dataTableFooterProps] = VDataTableFooter.filterProps(props);
18715
- const [dataTableHeadersProps] = VDataTableHeaders.filterProps(props);
18716
- const [dataTableRowsProps] = VDataTableRows.filterProps(props);
18717
- const [tableProps] = VTable.filterProps(props);
18736
+ const dataTableFooterProps = VDataTableFooter.filterProps(props);
18737
+ const dataTableHeadersProps = VDataTableHeaders.filterProps(props);
18738
+ const dataTableRowsProps = VDataTableRows.filterProps(props);
18739
+ const tableProps = VTable.filterProps(props);
18718
18740
  return vue.createVNode(VTable, vue.mergeProps({
18719
18741
  "class": ['v-data-table', {
18720
18742
  'v-data-table--loading': props.loading
@@ -18730,7 +18752,7 @@
18730
18752
  }), slots)]), slots.thead?.(slotProps.value), vue.createVNode("tbody", {
18731
18753
  "class": "v-data-table__tbody",
18732
18754
  "role": "rowgroup"
18733
- }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(dataTableRowsProps, {
18755
+ }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
18734
18756
  "items": flatItems.value
18735
18757
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
18736
18758
  bottom: () => slots.bottom ? slots.bottom(slotProps.value) : vue.createVNode(VDataTableFooter, dataTableFooterProps, {
@@ -19009,7 +19031,7 @@
19009
19031
  }
19010
19032
  });
19011
19033
 
19012
- // Utilities
19034
+ // Styles
19013
19035
  const VSpacer = createSimpleFunctional('v-spacer', 'div', 'VSpacer');
19014
19036
 
19015
19037
  // Types
@@ -19540,7 +19562,7 @@
19540
19562
  backgroundColorStyles
19541
19563
  } = useBackgroundColor(vue.toRef(props, 'color'));
19542
19564
  useRender(() => {
19543
- const [sheetProps] = VSheet.filterProps(props);
19565
+ const sheetProps = VSheet.filterProps(props);
19544
19566
  const hasTitle = !!(props.title || slots.title);
19545
19567
  return vue.createVNode(VSheet, vue.mergeProps(sheetProps, {
19546
19568
  "color": props.bgColor,
@@ -19727,12 +19749,12 @@
19727
19749
  model.value = val;
19728
19750
  });
19729
19751
  useRender(() => {
19730
- const [pickerProps] = VPicker.filterProps(props);
19731
- const [datePickerControlsProps] = VDatePickerControls.filterProps(props);
19732
- const [datePickerHeaderProps] = VDatePickerHeader.filterProps(props);
19733
- const [datePickerMonthProps] = VDatePickerMonth.filterProps(props);
19734
- const [datePickerMonthsProps] = VDatePickerMonths.filterProps(omit(props, ['modelValue']));
19735
- const [datePickerYearsProps] = VDatePickerYears.filterProps(omit(props, ['modelValue']));
19752
+ const pickerProps = VPicker.filterProps(props);
19753
+ const datePickerControlsProps = VDatePickerControls.filterProps(props);
19754
+ const datePickerHeaderProps = VDatePickerHeader.filterProps(props);
19755
+ const datePickerMonthProps = VDatePickerMonth.filterProps(props);
19756
+ const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue']);
19757
+ const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue']);
19736
19758
  return vue.createVNode(VPicker, vue.mergeProps(pickerProps, {
19737
19759
  "class": ['v-date-picker', `v-date-picker--${viewMode.value}`, props.class],
19738
19760
  "style": props.style,
@@ -20148,11 +20170,11 @@
20148
20170
  const hasCounter = !!(slots.counter || props.counter);
20149
20171
  const hasDetails = !!(hasCounter || slots.details);
20150
20172
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
20151
- const [{
20173
+ const {
20152
20174
  modelValue: _,
20153
20175
  ...inputProps
20154
- }] = VInput.filterProps(props);
20155
- const [fieldProps] = filterFieldProps(props);
20176
+ } = VInput.filterProps(props);
20177
+ const fieldProps = filterFieldProps(props);
20156
20178
  return vue.createVNode(VInput, vue.mergeProps({
20157
20179
  "ref": vInputRef,
20158
20180
  "modelValue": model.value,
@@ -22146,8 +22168,8 @@
22146
22168
  const model = useProxiedModel(props, 'modelValue');
22147
22169
  useRender(() => {
22148
22170
  const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
22149
- const [inputProps, _1] = VInput.filterProps(props);
22150
- const [controlProps, _2] = VSelectionControl.filterProps(props);
22171
+ const inputProps = VInput.filterProps(props);
22172
+ const controlProps = VSelectionControl.filterProps(props);
22151
22173
  const label = slots.label ? slots.label({
22152
22174
  label: props.label,
22153
22175
  props: {
@@ -22292,7 +22314,7 @@
22292
22314
  const trackStart = vue.computed(() => position(model.value[0]));
22293
22315
  const trackStop = vue.computed(() => position(model.value[1]));
22294
22316
  useRender(() => {
22295
- const [inputProps, _] = VInput.filterProps(props);
22317
+ const inputProps = VInput.filterProps(props);
22296
22318
  const hasPrepend = !!(props.label || slots.label || slots.prepend);
22297
22319
  return vue.createVNode(VInput, vue.mergeProps({
22298
22320
  "class": ['v-slider', 'v-range-slider', {
@@ -23237,7 +23259,7 @@
23237
23259
  startTimeout();
23238
23260
  }
23239
23261
  useRender(() => {
23240
- const [overlayProps] = VOverlay.filterProps(props);
23262
+ const overlayProps = VOverlay.filterProps(props);
23241
23263
  const hasContent = !!(slots.default || slots.text || props.text);
23242
23264
  return vue.createVNode(VOverlay, vue.mergeProps({
23243
23265
  "ref": overlay,
@@ -23486,9 +23508,7 @@
23486
23508
 
23487
23509
  const VStepperSymbol$1 = Symbol.for('vuetify:v-stepper');
23488
23510
  const makeVStepperWindowProps = propsFactory({
23489
- ...makeVWindowProps({
23490
- mandatory: false
23491
- })
23511
+ ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory'])
23492
23512
  }, 'VStepperWindow');
23493
23513
  const VStepperWindow = genericComponent()({
23494
23514
  name: 'VStepperWindow',
@@ -23517,11 +23537,15 @@
23517
23537
  }
23518
23538
  });
23519
23539
  useRender(() => {
23520
- const [windowProps] = VWindow.filterProps(props);
23521
- return vue.createVNode(VWindow, vue.mergeProps(windowProps, {
23540
+ const windowProps = VWindow.filterProps(props);
23541
+ return vue.createVNode(VWindow, vue.mergeProps({
23542
+ "_as": "VStepperWindow"
23543
+ }, windowProps, {
23522
23544
  "modelValue": model.value,
23523
23545
  "onUpdate:modelValue": $event => model.value = $event,
23524
- "class": "v-stepper-window"
23546
+ "class": "v-stepper-window",
23547
+ "mandatory": false,
23548
+ "touch": false
23525
23549
  }), slots);
23526
23550
  });
23527
23551
  return {};
@@ -23539,8 +23563,10 @@
23539
23563
  slots
23540
23564
  } = _ref;
23541
23565
  useRender(() => {
23542
- const [windowItemProps] = VWindowItem.filterProps(props);
23543
- return vue.createVNode(VWindowItem, vue.mergeProps(windowItemProps, {
23566
+ const windowItemProps = VWindowItem.filterProps(props);
23567
+ return vue.createVNode(VWindowItem, vue.mergeProps({
23568
+ "_as": "VStepperWindowItem"
23569
+ }, windowItemProps, {
23544
23570
  "class": "v-stepper-window-item"
23545
23571
  }), slots);
23546
23572
  });
@@ -23632,7 +23658,7 @@
23632
23658
  }
23633
23659
  });
23634
23660
  useRender(() => {
23635
- const [sheetProps] = VSheet.filterProps(props);
23661
+ const sheetProps = VSheet.filterProps(props);
23636
23662
  const hasHeader = !!(slots.header || props.items.length);
23637
23663
  const hasWindow = props.items.length > 0;
23638
23664
  const hasActions = !props.hideActions && !!(hasWindow || slots.actions);
@@ -23738,8 +23764,8 @@
23738
23764
  }
23739
23765
  useRender(() => {
23740
23766
  const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
23741
- const [inputProps, _1] = VInput.filterProps(props);
23742
- const [controlProps, _2] = VSelectionControl.filterProps(props);
23767
+ const inputProps = VInput.filterProps(props);
23768
+ const controlProps = VSelectionControl.filterProps(props);
23743
23769
  return vue.createVNode(VInput, vue.mergeProps({
23744
23770
  "class": ['v-switch', {
23745
23771
  'v-switch--inset': props.inset
@@ -23952,7 +23978,7 @@
23952
23978
  }
23953
23979
  }
23954
23980
  useRender(() => {
23955
- const [btnProps] = VBtn.filterProps(props);
23981
+ const btnProps = VBtn.filterProps(props);
23956
23982
  return vue.createVNode(VBtn, vue.mergeProps({
23957
23983
  "symbol": VTabsSymbol,
23958
23984
  "ref": rootEl,
@@ -24044,7 +24070,7 @@
24044
24070
  }
24045
24071
  });
24046
24072
  useRender(() => {
24047
- const [slideGroupProps] = VSlideGroup.filterProps(props);
24073
+ const slideGroupProps = VSlideGroup.filterProps(props);
24048
24074
  return vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
24049
24075
  "modelValue": model.value,
24050
24076
  "onUpdate:modelValue": $event => model.value = $event,
@@ -24211,11 +24237,11 @@
24211
24237
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
24212
24238
  const hasDetails = !!(hasCounter || slots.details);
24213
24239
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
24214
- const [{
24240
+ const {
24215
24241
  modelValue: _,
24216
24242
  ...inputProps
24217
- }] = VInput.filterProps(props);
24218
- const [fieldProps] = filterFieldProps(props);
24243
+ } = VInput.filterProps(props);
24244
+ const fieldProps = filterFieldProps(props);
24219
24245
  return vue.createVNode(VInput, vue.mergeProps({
24220
24246
  "ref": vInputRef,
24221
24247
  "modelValue": model.value,
@@ -24237,6 +24263,7 @@
24237
24263
  ...slots,
24238
24264
  default: _ref2 => {
24239
24265
  let {
24266
+ id,
24240
24267
  isDisabled,
24241
24268
  isDirty,
24242
24269
  isReadonly,
@@ -24253,6 +24280,7 @@
24253
24280
  "onClick:prependInner": props['onClick:prependInner'],
24254
24281
  "onClick:appendInner": props['onClick:appendInner']
24255
24282
  }, fieldProps, {
24283
+ "id": id.value,
24256
24284
  "active": isActive.value || isDirty.value,
24257
24285
  "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
24258
24286
  "dirty": isDirty.value || props.dirty,
@@ -24656,7 +24684,7 @@
24656
24684
  'aria-describedby': id.value
24657
24685
  }, props.activatorProps));
24658
24686
  useRender(() => {
24659
- const [overlayProps] = VOverlay.filterProps(props);
24687
+ const overlayProps = VOverlay.filterProps(props);
24660
24688
  return vue.createVNode(VOverlay, vue.mergeProps({
24661
24689
  "ref": overlay,
24662
24690
  "class": ['v-tooltip', props.class],
@@ -25154,7 +25182,7 @@
25154
25182
  date
25155
25183
  };
25156
25184
  }
25157
- const version$1 = "3.4.0-beta.0";
25185
+ const version$1 = "3.4.0";
25158
25186
  createVuetify$1.version = version$1;
25159
25187
 
25160
25188
  // Vue's inject() can only be used in setup
@@ -25168,7 +25196,7 @@
25168
25196
 
25169
25197
  /* eslint-disable local-rules/sort-imports */
25170
25198
 
25171
- const version = "3.4.0-beta.0";
25199
+ const version = "3.4.0";
25172
25200
 
25173
25201
  /* eslint-disable local-rules/sort-imports */
25174
25202