vuetify 3.1.9 → 3.1.11

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 (208) hide show
  1. package/dist/json/attributes.json +203 -27
  2. package/dist/json/importMap.json +92 -92
  3. package/dist/json/tags.json +46 -2
  4. package/dist/json/web-types.json +481 -49
  5. package/dist/vuetify-labs.css +167 -147
  6. package/dist/vuetify-labs.d.ts +56923 -14294
  7. package/dist/vuetify-labs.esm.js +136 -152
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +136 -152
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +76 -68
  12. package/dist/vuetify.d.ts +54804 -15357
  13. package/dist/vuetify.esm.js +133 -152
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +133 -152
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +667 -669
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.ts +6 -9
  21. package/lib/blueprints/md1.d.ts +6 -9
  22. package/lib/blueprints/md2.d.ts +6 -9
  23. package/lib/blueprints/md3.d.ts +6 -9
  24. package/lib/blueprints/md3.mjs +6 -0
  25. package/lib/blueprints/md3.mjs.map +1 -1
  26. package/lib/components/VAlert/index.d.ts +509 -83
  27. package/lib/components/VApp/VApp.css +1 -0
  28. package/lib/components/VApp/VApp.sass +1 -0
  29. package/lib/components/VApp/index.d.ts +158 -20
  30. package/lib/components/VAppBar/VAppBar.mjs +2 -2
  31. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  32. package/lib/components/VAppBar/index.d.ts +616 -110
  33. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -2
  34. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  35. package/lib/components/VAutocomplete/index.d.ts +1656 -130
  36. package/lib/components/VAvatar/index.d.ts +205 -29
  37. package/lib/components/VBadge/index.d.ts +284 -42
  38. package/lib/components/VBanner/index.d.ts +478 -84
  39. package/lib/components/VBottomNavigation/index.d.ts +321 -40
  40. package/lib/components/VBreadcrumbs/index.d.ts +325 -45
  41. package/lib/components/VBtn/VBtn.css +0 -5
  42. package/lib/components/VBtn/VBtn.mjs +40 -39
  43. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  44. package/lib/components/VBtn/VBtn.sass +0 -7
  45. package/lib/components/VBtn/_variables.scss +0 -2
  46. package/lib/components/VBtn/index.d.ts +452 -69
  47. package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -7
  48. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  49. package/lib/components/VBtnGroup/index.d.ts +185 -26
  50. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  51. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  52. package/lib/components/VBtnToggle/index.d.ts +245 -35
  53. package/lib/components/VCard/index.d.ts +938 -172
  54. package/lib/components/VCarousel/index.d.ts +561 -123
  55. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  56. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  57. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -4
  58. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  59. package/lib/components/VCheckbox/index.d.ts +831 -147
  60. package/lib/components/VChip/index.d.ts +473 -75
  61. package/lib/components/VChipGroup/index.d.ts +227 -32
  62. package/lib/components/VCode/index.d.ts +109 -16
  63. package/lib/components/VColorPicker/index.d.ts +284 -20
  64. package/lib/components/VCombobox/VCombobox.mjs +2 -2
  65. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  66. package/lib/components/VCombobox/index.d.ts +1668 -130
  67. package/lib/components/VCounter/index.d.ts +1894 -87
  68. package/lib/components/VDefaultsProvider/index.d.ts +131 -22
  69. package/lib/components/VDialog/VDialog.css +31 -24
  70. package/lib/components/VDialog/VDialog.mjs +2 -2
  71. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  72. package/lib/components/VDialog/VDialog.sass +19 -12
  73. package/lib/components/VDialog/index.d.ts +2362 -146
  74. package/lib/components/VDivider/index.d.ts +130 -23
  75. package/lib/components/VExpansionPanel/index.d.ts +719 -119
  76. package/lib/components/VField/index.d.ts +163 -21
  77. package/lib/components/VFileInput/index.d.ts +1038 -104
  78. package/lib/components/VFooter/index.d.ts +203 -28
  79. package/lib/components/VForm/index.d.ts +204 -23
  80. package/lib/components/VGrid/VCol.mjs +6 -5
  81. package/lib/components/VGrid/VCol.mjs.map +1 -1
  82. package/lib/components/VGrid/VRow.mjs +4 -4
  83. package/lib/components/VGrid/VRow.mjs.map +1 -1
  84. package/lib/components/VGrid/index.d.ts +733 -76
  85. package/lib/components/VHover/index.d.ts +182 -35
  86. package/lib/components/VIcon/index.d.ts +494 -50
  87. package/lib/components/VImg/index.d.ts +275 -46
  88. package/lib/components/VInput/index.d.ts +315 -53
  89. package/lib/components/VItemGroup/index.d.ts +308 -52
  90. package/lib/components/VKbd/VKbd.css +1 -0
  91. package/lib/components/VKbd/VKbd.sass +1 -0
  92. package/lib/components/VKbd/_variables.scss +1 -0
  93. package/lib/components/VKbd/index.d.ts +109 -16
  94. package/lib/components/VLabel/index.d.ts +113 -20
  95. package/lib/components/VLayout/index.d.ts +296 -41
  96. package/lib/components/VLazy/VLazy.mjs +4 -1
  97. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  98. package/lib/components/VLazy/index.d.ts +219 -30
  99. package/lib/components/VList/VListChildren.mjs +2 -2
  100. package/lib/components/VList/VListChildren.mjs.map +1 -1
  101. package/lib/components/VList/VListGroup.mjs +1 -4
  102. package/lib/components/VList/VListGroup.mjs.map +1 -1
  103. package/lib/components/VList/VListItem.mjs +1 -1
  104. package/lib/components/VList/VListItem.mjs.map +1 -1
  105. package/lib/components/VList/index.d.ts +1461 -223
  106. package/lib/components/VLocaleProvider/index.d.ts +121 -20
  107. package/lib/components/VMain/index.d.ts +118 -17
  108. package/lib/components/VMenu/VMenu.css +4 -4
  109. package/lib/components/VMenu/VMenu.mjs +2 -2
  110. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  111. package/lib/components/VMenu/VMenu.sass +1 -1
  112. package/lib/components/VMenu/index.d.ts +2368 -142
  113. package/lib/components/VMessages/index.d.ts +1921 -98
  114. package/lib/components/VNavigationDrawer/index.d.ts +379 -56
  115. package/lib/components/VOverlay/VOverlay.css +2 -2
  116. package/lib/components/VOverlay/VOverlay.mjs +1 -4
  117. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  118. package/lib/components/VOverlay/VOverlay.sass +1 -1
  119. package/lib/components/VOverlay/_variables.scss +1 -1
  120. package/lib/components/VOverlay/index.d.ts +519 -85
  121. package/lib/components/VPagination/index.d.ts +502 -68
  122. package/lib/components/VParallax/VParallax.mjs +3 -3
  123. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  124. package/lib/components/VParallax/index.d.ts +141 -28
  125. package/lib/components/VProgressCircular/index.d.ts +186 -25
  126. package/lib/components/VProgressLinear/index.d.ts +319 -48
  127. package/lib/components/VRadio/index.d.ts +313 -57
  128. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -6
  129. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  130. package/lib/components/VRadioGroup/index.d.ts +463 -83
  131. package/lib/components/VRangeSlider/index.d.ts +528 -80
  132. package/lib/components/VRating/index.d.ts +305 -43
  133. package/lib/components/VResponsive/index.d.ts +142 -27
  134. package/lib/components/VSelect/VSelect.mjs +2 -2
  135. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  136. package/lib/components/VSelect/index.d.ts +3060 -328
  137. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -4
  138. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  139. package/lib/components/VSelectionControl/index.d.ts +76 -4
  140. package/lib/components/VSelectionControlGroup/index.d.ts +242 -38
  141. package/lib/components/VSheet/VSheet.mjs +1 -7
  142. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  143. package/lib/components/VSheet/index.d.ts +194 -31
  144. package/lib/components/VSlideGroup/index.d.ts +475 -83
  145. package/lib/components/VSlider/index.d.ts +521 -79
  146. package/lib/components/VSlider/slider.mjs +2 -5
  147. package/lib/components/VSlider/slider.mjs.map +1 -1
  148. package/lib/components/VSnackbar/VSnackbar.mjs +2 -2
  149. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  150. package/lib/components/VSnackbar/index.d.ts +1219 -81
  151. package/lib/components/VSwitch/VSwitch.mjs +2 -2
  152. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  153. package/lib/components/VSwitch/index.d.ts +498 -92
  154. package/lib/components/VSystemBar/index.d.ts +184 -27
  155. package/lib/components/VTable/index.d.ts +190 -35
  156. package/lib/components/VTabs/VTab.mjs +7 -23
  157. package/lib/components/VTabs/VTab.mjs.map +1 -1
  158. package/lib/components/VTabs/VTabs.mjs +15 -23
  159. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  160. package/lib/components/VTabs/index.d.ts +623 -71
  161. package/lib/components/VTextField/VTextField.mjs +8 -5
  162. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  163. package/lib/components/VTextField/index.d.ts +1404 -106
  164. package/lib/components/VTextarea/VTextarea.mjs +7 -1
  165. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  166. package/lib/components/VTextarea/index.d.ts +1014 -102
  167. package/lib/components/VThemeProvider/index.d.ts +124 -19
  168. package/lib/components/VTimeline/index.d.ts +441 -71
  169. package/lib/components/VToolbar/VToolbar.mjs +1 -4
  170. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  171. package/lib/components/VToolbar/index.d.ts +542 -93
  172. package/lib/components/VTooltip/VTooltip.css +3 -3
  173. package/lib/components/VTooltip/VTooltip.mjs +2 -2
  174. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  175. package/lib/components/VTooltip/VTooltip.sass +1 -1
  176. package/lib/components/VTooltip/index.d.ts +1263 -81
  177. package/lib/components/VValidation/index.d.ts +201 -30
  178. package/lib/components/VWindow/index.d.ts +527 -95
  179. package/lib/components/index.d.ts +55131 -15681
  180. package/lib/components/transitions/index.d.ts +2097 -308
  181. package/lib/composables/defaults.mjs +1 -1
  182. package/lib/composables/defaults.mjs.map +1 -1
  183. package/lib/composables/display.mjs +2 -0
  184. package/lib/composables/display.mjs.map +1 -1
  185. package/lib/composables/form.mjs.map +1 -1
  186. package/lib/entry-bundler.mjs +1 -1
  187. package/lib/entry-bundler.mjs.map +1 -1
  188. package/lib/framework.mjs +1 -1
  189. package/lib/framework.mjs.map +1 -1
  190. package/lib/index.d.ts +31 -34
  191. package/lib/labs/VDataTable/VDataTable.css +12 -0
  192. package/lib/labs/VDataTable/VDataTable.sass +6 -0
  193. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -0
  194. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  195. package/lib/labs/VDataTable/VDataTableRows.mjs +1 -0
  196. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  197. package/lib/labs/VDataTable/index.d.ts +4176 -1016
  198. package/lib/labs/VVirtualScroll/index.d.ts +32 -1
  199. package/lib/labs/components.d.ts +4212 -1026
  200. package/lib/styles/main.css +4 -0
  201. package/lib/styles/settings/_utilities.scss +7 -0
  202. package/lib/util/animation.mjs +8 -1
  203. package/lib/util/animation.mjs.map +1 -1
  204. package/lib/util/defineComponent.mjs +12 -5
  205. package/lib/util/defineComponent.mjs.map +1 -1
  206. package/lib/util/helpers.mjs +4 -0
  207. package/lib/util/helpers.mjs.map +1 -1
  208. package/package.json +3 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.9
2
+ * Vuetify v3.1.11
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -203,6 +203,10 @@ function clamp(value) {
203
203
  let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
204
204
  return Math.max(min, Math.min(max, value));
205
205
  }
206
+ function getDecimals(value) {
207
+ const trimmedStr = value.toString().trim();
208
+ return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;
209
+ }
206
210
  function padEnd(str, length) {
207
211
  let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
208
212
  return str + char.repeat(Math.max(0, length - str.length));
@@ -485,7 +489,14 @@ function animate(el, keyframes, options) {
485
489
  if (typeof el.animate === 'undefined') return {
486
490
  finished: Promise.resolve()
487
491
  };
488
- const animation = el.animate(keyframes, options);
492
+ let animation;
493
+ try {
494
+ animation = el.animate(keyframes, options);
495
+ } catch (err) {
496
+ return {
497
+ finished: Promise.resolve()
498
+ };
499
+ }
489
500
  if (typeof animation.finished === 'undefined') {
490
501
  animation.finished = new Promise(resolve => {
491
502
  animation.onfinish = () => {
@@ -950,7 +961,7 @@ function provideDefaults(defaults, options) {
950
961
  const providedDefaults = ref(defaults);
951
962
  const newDefaults = computed(() => {
952
963
  const disabled = unref(options?.disabled);
953
- if (disabled) return {};
964
+ if (disabled) return injectedDefaults.value;
954
965
  const scoped = unref(options?.scoped);
955
966
  const reset = unref(options?.reset);
956
967
  const root = unref(options?.root);
@@ -1005,15 +1016,22 @@ function useToggleScope(source, fn) {
1005
1016
  function propIsDefined(vnode, prop) {
1006
1017
  return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
1007
1018
  }
1008
- const defineComponent = function defineComponent(options) {
1019
+
1020
+ // No props
1021
+
1022
+ // Implementation
1023
+ function defineComponent(options) {
1009
1024
  options._setup = options._setup ?? options.setup;
1010
1025
  if (!options.name) {
1011
1026
  consoleWarn('The component is missing an explicit name, unable to generate default prop value');
1012
1027
  return options;
1013
1028
  }
1014
1029
  if (options._setup) {
1015
- options.props = options.props ?? {};
1016
- options.props = propsFactory(options.props, toKebabCase(options.name))();
1030
+ options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
1031
+ const propKeys = Object.keys(options.props);
1032
+ options.filterProps = function filterProps(props) {
1033
+ return pick(props, propKeys);
1034
+ };
1017
1035
  options.props._as = String;
1018
1036
  options.setup = function setup(props, ctx) {
1019
1037
  const defaults = useDefaults();
@@ -1053,7 +1071,7 @@ const defineComponent = function defineComponent(options) {
1053
1071
  };
1054
1072
  }
1055
1073
  return options;
1056
- };
1074
+ }
1057
1075
  // Implementation
1058
1076
  function genericComponent() {
1059
1077
  let exposeDefaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
@@ -3221,9 +3239,6 @@ const VToolbar = genericComponent()({
3221
3239
  };
3222
3240
  }
3223
3241
  });
3224
- function filterToolbarProps(props) {
3225
- return pick(props, Object.keys(VToolbar?.props ?? {}));
3226
- }
3227
3242
 
3228
3243
  // Utilities
3229
3244
 
@@ -3301,7 +3316,7 @@ const VAppBar = genericComponent()({
3301
3316
  absolute: toRef(props, 'absolute')
3302
3317
  });
3303
3318
  useRender(() => {
3304
- const [toolbarProps] = filterToolbarProps(props);
3319
+ const [toolbarProps] = VToolbar.filterProps(props);
3305
3320
  return createVNode(VToolbar, mergeProps({
3306
3321
  "ref": vToolbarRef,
3307
3322
  "class": ['v-app-bar', {
@@ -3392,8 +3407,6 @@ function useVariant(props) {
3392
3407
  };
3393
3408
  }
3394
3409
 
3395
- // Types
3396
-
3397
3410
  const makeVBtnGroupProps = propsFactory({
3398
3411
  divided: Boolean,
3399
3412
  ...makeBorderProps(),
@@ -3444,9 +3457,6 @@ const VBtnGroup = genericComponent()({
3444
3457
  });
3445
3458
  }
3446
3459
  });
3447
- function filterVBtnGroupProps(props) {
3448
- return pick(props, Object.keys(VBtnGroup.props));
3449
- }
3450
3460
 
3451
3461
  // Composables
3452
3462
 
@@ -3673,7 +3683,7 @@ const VBtnToggle = genericComponent()({
3673
3683
  selected
3674
3684
  } = useGroup(props, VBtnToggleSymbol);
3675
3685
  useRender(() => {
3676
- const [btnGroupProps] = filterVBtnGroupProps(props);
3686
+ const [btnGroupProps] = VBtnGroup.filterProps(props);
3677
3687
  return createVNode(VBtnGroup, mergeProps({
3678
3688
  "class": "v-btn-toggle"
3679
3689
  }, btnGroupProps), {
@@ -4761,49 +4771,50 @@ function useSelectLink(link, select) {
4761
4771
 
4762
4772
  // Types
4763
4773
 
4774
+ const makeVBtnProps = propsFactory({
4775
+ active: {
4776
+ type: Boolean,
4777
+ default: undefined
4778
+ },
4779
+ symbol: {
4780
+ type: null,
4781
+ default: VBtnToggleSymbol
4782
+ },
4783
+ flat: Boolean,
4784
+ icon: [Boolean, String, Function, Object],
4785
+ prependIcon: IconValue,
4786
+ appendIcon: IconValue,
4787
+ block: Boolean,
4788
+ stacked: Boolean,
4789
+ ripple: {
4790
+ type: Boolean,
4791
+ default: true
4792
+ },
4793
+ ...makeBorderProps(),
4794
+ ...makeRoundedProps(),
4795
+ ...makeDensityProps(),
4796
+ ...makeDimensionProps(),
4797
+ ...makeElevationProps(),
4798
+ ...makeGroupItemProps(),
4799
+ ...makeLoaderProps(),
4800
+ ...makeLocationProps(),
4801
+ ...makePositionProps(),
4802
+ ...makeRouterProps(),
4803
+ ...makeSizeProps(),
4804
+ ...makeTagProps({
4805
+ tag: 'button'
4806
+ }),
4807
+ ...makeThemeProps(),
4808
+ ...makeVariantProps({
4809
+ variant: 'elevated'
4810
+ })
4811
+ }, 'VBtn');
4764
4812
  const VBtn = genericComponent()({
4765
4813
  name: 'VBtn',
4766
4814
  directives: {
4767
4815
  Ripple
4768
4816
  },
4769
- props: {
4770
- active: {
4771
- type: Boolean,
4772
- default: undefined
4773
- },
4774
- symbol: {
4775
- type: null,
4776
- default: VBtnToggleSymbol
4777
- },
4778
- flat: Boolean,
4779
- icon: [Boolean, String, Function, Object],
4780
- prependIcon: IconValue,
4781
- appendIcon: IconValue,
4782
- block: Boolean,
4783
- stacked: Boolean,
4784
- ripple: {
4785
- type: Boolean,
4786
- default: true
4787
- },
4788
- ...makeBorderProps(),
4789
- ...makeRoundedProps(),
4790
- ...makeDensityProps(),
4791
- ...makeDimensionProps(),
4792
- ...makeElevationProps(),
4793
- ...makeGroupItemProps(),
4794
- ...makeLoaderProps(),
4795
- ...makeLocationProps(),
4796
- ...makePositionProps(),
4797
- ...makeRouterProps(),
4798
- ...makeSizeProps(),
4799
- ...makeTagProps({
4800
- tag: 'button'
4801
- }),
4802
- ...makeThemeProps(),
4803
- ...makeVariantProps({
4804
- variant: 'elevated'
4805
- })
4806
- },
4817
+ props: makeVBtnProps(),
4807
4818
  emits: {
4808
4819
  'group:selected': val => true
4809
4820
  },
@@ -6155,7 +6166,13 @@ const VTextField = genericComponent()({
6155
6166
  });
6156
6167
  }
6157
6168
  function onInput(e) {
6158
- model.value = e.target.value;
6169
+ const el = e.target;
6170
+ const caretPosition = [el.selectionStart, el.selectionEnd];
6171
+ model.value = el.value;
6172
+ nextTick(() => {
6173
+ el.selectionStart = caretPosition[0];
6174
+ el.selectionEnd = caretPosition[1];
6175
+ });
6159
6176
  }
6160
6177
  useRender(() => {
6161
6178
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
@@ -6255,9 +6272,6 @@ const VTextField = genericComponent()({
6255
6272
  return forwardRefs({}, vInputRef, vFieldRef, inputRef);
6256
6273
  }
6257
6274
  });
6258
- function filterVTextFieldProps(props) {
6259
- return pick(props, Object.keys(VTextField.props));
6260
- }
6261
6275
 
6262
6276
  // Types
6263
6277
 
@@ -6515,11 +6529,6 @@ const VSelectionControl = genericComponent()({
6515
6529
  };
6516
6530
  }
6517
6531
  });
6518
- function filterControlProps(props) {
6519
- return pick(props, Object.keys(VSelectionControl.props));
6520
- }
6521
-
6522
- // Types
6523
6532
 
6524
6533
  const makeVCheckboxBtnProps = propsFactory({
6525
6534
  indeterminate: Boolean,
@@ -6569,9 +6578,6 @@ const VCheckboxBtn = genericComponent()({
6569
6578
  return {};
6570
6579
  }
6571
6580
  });
6572
- function filterCheckboxBtnProps(props) {
6573
- return pick(props, Object.keys(VCheckboxBtn.props));
6574
- }
6575
6581
 
6576
6582
  // Types
6577
6583
 
@@ -6600,7 +6606,7 @@ const VCheckbox = genericComponent()({
6600
6606
  useRender(() => {
6601
6607
  const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
6602
6608
  const [inputProps, _1] = filterInputProps(props);
6603
- const [checkboxProps, _2] = filterCheckboxBtnProps(props);
6609
+ const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
6604
6610
  return createVNode(VInput, mergeProps({
6605
6611
  "class": "v-checkbox"
6606
6612
  }, inputAttrs, inputProps, {
@@ -7504,8 +7510,6 @@ const useNestedGroupActivator = () => {
7504
7510
  });
7505
7511
  };
7506
7512
 
7507
- // Types
7508
-
7509
7513
  const VListGroupActivator = defineComponent({
7510
7514
  name: 'VListGroupActivator',
7511
7515
  setup(_, _ref) {
@@ -7598,9 +7602,6 @@ const VListGroup = genericComponent()({
7598
7602
  return {};
7599
7603
  }
7600
7604
  });
7601
- function filterListGroupProps(props) {
7602
- return pick(props, Object.keys(VListGroup.props));
7603
- }
7604
7605
 
7605
7606
  const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle');
7606
7607
 
@@ -7738,7 +7739,7 @@ const VListItem = genericComponent()({
7738
7739
  const hasColor = !list || isSelected.value || isActive.value;
7739
7740
  const hasTitle = slots.title || props.title;
7740
7741
  const hasSubtitle = slots.subtitle || props.subtitle;
7741
- const hasAppendMedia = !!(props.prependAvatar || props.prependIcon);
7742
+ const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
7742
7743
  const hasAppend = !!(hasAppendMedia || slots.append);
7743
7744
  const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
7744
7745
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
@@ -7928,7 +7929,7 @@ const VListChildren = genericComponent()({
7928
7929
  item
7929
7930
  }) : undefined
7930
7931
  };
7931
- const [listGroupProps, _1] = filterListGroupProps(itemProps);
7932
+ const [listGroupProps, _1] = VListGroup.filterProps(itemProps);
7932
7933
  return children ? createVNode(VListGroup, mergeProps({
7933
7934
  "value": itemProps?.value
7934
7935
  }, listGroupProps), {
@@ -9155,6 +9156,8 @@ function bindScroll(el, onScroll) {
9155
9156
 
9156
9157
  // Types
9157
9158
 
9159
+ const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
9160
+
9158
9161
  const DisplaySymbol = Symbol.for('vuetify:display');
9159
9162
  const defaultDisplayOptions = {
9160
9163
  mobileBreakpoint: 'lg',
@@ -9710,9 +9713,6 @@ const VOverlay = genericComponent()({
9710
9713
  };
9711
9714
  }
9712
9715
  });
9713
- function filterVOverlayProps(props) {
9714
- return pick(props, Object.keys(VOverlay.props));
9715
- }
9716
9716
 
9717
9717
  // Types
9718
9718
 
@@ -9778,7 +9778,7 @@ const VMenu = genericComponent()({
9778
9778
  'aria-owns': id.value
9779
9779
  }, props.activatorProps));
9780
9780
  useRender(() => {
9781
- const [overlayProps] = filterVOverlayProps(props);
9781
+ const [overlayProps] = VOverlay.filterProps(props);
9782
9782
  return createVNode(VOverlay, mergeProps({
9783
9783
  "ref": overlay,
9784
9784
  "class": ['v-menu']
@@ -9954,7 +9954,7 @@ const VSelect = genericComponent()({
9954
9954
  useRender(() => {
9955
9955
  const hasChips = !!(props.chips || slots.chip);
9956
9956
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
9957
- const [textFieldProps] = filterVTextFieldProps(props);
9957
+ const [textFieldProps] = VTextField.filterProps(props);
9958
9958
  return createVNode(VTextField, mergeProps({
9959
9959
  "ref": vTextFieldRef
9960
9960
  }, textFieldProps, {
@@ -10347,7 +10347,7 @@ const VAutocomplete = genericComponent()({
10347
10347
  useRender(() => {
10348
10348
  const hasChips = !!(props.chips || slots.chip);
10349
10349
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
10350
- const [textFieldProps] = filterVTextFieldProps(props);
10350
+ const [textFieldProps] = VTextField.filterProps(props);
10351
10351
  return createVNode(VTextField, mergeProps({
10352
10352
  "ref": vTextFieldRef
10353
10353
  }, textFieldProps, {
@@ -12295,10 +12295,7 @@ const useSlider = _ref => {
12295
12295
  const min = computed(() => parseFloat(props.min));
12296
12296
  const max = computed(() => parseFloat(props.max));
12297
12297
  const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0);
12298
- const decimals = computed(() => {
12299
- const trimmedStep = step.value.toString().trim();
12300
- return trimmedStep.includes('.') ? trimmedStep.length - trimmedStep.indexOf('.') - 1 : 0;
12301
- });
12298
+ const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
12302
12299
  const thumbSize = computed(() => parseInt(props.thumbSize, 10));
12303
12300
  const tickSize = computed(() => parseInt(props.tickSize, 10));
12304
12301
  const trackSize = computed(() => parseInt(props.trackSize, 10));
@@ -13276,8 +13273,6 @@ const VColorPickerSwatches = defineComponent({
13276
13273
  }
13277
13274
  });
13278
13275
 
13279
- // Types
13280
-
13281
13276
  const makeVSheetProps = propsFactory({
13282
13277
  color: String,
13283
13278
  ...makeBorderProps(),
@@ -13702,7 +13697,7 @@ const VCombobox = genericComponent()({
13702
13697
  useRender(() => {
13703
13698
  const hasChips = !!(props.chips || slots.chip);
13704
13699
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
13705
- const [textFieldProps] = filterVTextFieldProps(props);
13700
+ const [textFieldProps] = VTextField.filterProps(props);
13706
13701
  return createVNode(VTextField, mergeProps({
13707
13702
  "ref": vTextFieldRef
13708
13703
  }, textFieldProps, {
@@ -13910,7 +13905,7 @@ const VDialog = genericComponent()({
13910
13905
  'aria-expanded': String(isActive.value)
13911
13906
  }, props.activatorProps));
13912
13907
  useRender(() => {
13913
- const [overlayProps] = filterVOverlayProps(props);
13908
+ const [overlayProps] = VOverlay.filterProps(props);
13914
13909
  return createVNode(VOverlay, mergeProps({
13915
13910
  "ref": overlay,
13916
13911
  "class": ['v-dialog', {
@@ -14514,10 +14509,8 @@ const VContainer = genericComponent()({
14514
14509
 
14515
14510
  // Types
14516
14511
 
14517
- const breakpoints$1 = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
14518
-
14519
14512
  const breakpointProps = (() => {
14520
- return breakpoints$1.reduce((props, val) => {
14513
+ return breakpoints.reduce((props, val) => {
14521
14514
  props[val] = {
14522
14515
  type: [Boolean, String, Number],
14523
14516
  default: false
@@ -14526,8 +14519,9 @@ const breakpointProps = (() => {
14526
14519
  }, {});
14527
14520
  })();
14528
14521
  const offsetProps = (() => {
14529
- return breakpoints$1.reduce((props, val) => {
14530
- props['offset' + capitalize(val)] = {
14522
+ return breakpoints.reduce((props, val) => {
14523
+ const offsetKey = 'offset' + capitalize(val);
14524
+ props[offsetKey] = {
14531
14525
  type: [String, Number],
14532
14526
  default: null
14533
14527
  };
@@ -14535,8 +14529,9 @@ const offsetProps = (() => {
14535
14529
  }, {});
14536
14530
  })();
14537
14531
  const orderProps = (() => {
14538
- return breakpoints$1.reduce((props, val) => {
14539
- props['order' + capitalize(val)] = {
14532
+ return breakpoints.reduce((props, val) => {
14533
+ const orderKey = 'order' + capitalize(val);
14534
+ props[orderKey] = {
14540
14535
  type: [String, Number],
14541
14536
  default: null
14542
14537
  };
@@ -14634,13 +14629,12 @@ const VCol = genericComponent()({
14634
14629
 
14635
14630
  // Types
14636
14631
 
14637
- const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
14638
-
14639
14632
  const ALIGNMENT = ['start', 'end', 'center'];
14640
14633
  const SPACE = ['space-between', 'space-around', 'space-evenly'];
14641
14634
  function makeRowProps(prefix, def) {
14642
14635
  return breakpoints.reduce((props, val) => {
14643
- props[prefix + capitalize(val)] = def();
14636
+ const prefixKey = prefix + capitalize(val);
14637
+ props[prefixKey] = def();
14644
14638
  return props;
14645
14639
  }, {});
14646
14640
  }
@@ -14970,7 +14964,10 @@ const VLazy = genericComponent()({
14970
14964
  }, {
14971
14965
  default: () => [slots.default?.()]
14972
14966
  })]
14973
- }), [[resolveDirective("intersect"), onIntersect, props.options]]));
14967
+ }), [[resolveDirective("intersect"), {
14968
+ handler: onIntersect,
14969
+ options: props.options
14970
+ }, null]]));
14974
14971
  return {};
14975
14972
  }
14976
14973
  });
@@ -15947,9 +15944,9 @@ const VParallax = genericComponent()({
15947
15944
  frame = requestAnimationFrame(() => {
15948
15945
  const el = (root.value?.$el).querySelector('.v-img__img');
15949
15946
  if (!el) return;
15950
- const scrollHeight = scrollParent.clientHeight ?? document.documentElement.clientHeight;
15951
- const scrollPos = scrollParent.scrollTop ?? window.scrollY;
15952
- const top = intersectionRef.value.offsetTop;
15947
+ const scrollHeight = scrollParent instanceof Document ? document.documentElement.clientHeight : scrollParent.clientHeight;
15948
+ const scrollPos = scrollParent instanceof Document ? window.scrollY : scrollParent.scrollTop;
15949
+ const top = intersectionRef.value.getBoundingClientRect().top + scrollPos;
15953
15950
  const height = contentRect.value.height;
15954
15951
  const center = top + (height - scrollHeight) / 2;
15955
15952
  const translate = floor((scrollPos - center) * scale.value);
@@ -16031,10 +16028,7 @@ const VRadioGroup = genericComponent()({
16031
16028
  useRender(() => {
16032
16029
  const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
16033
16030
  const [inputProps, _1] = filterInputProps(props);
16034
- const [controlProps, _2] = filterControlProps({
16035
- ...props,
16036
- multiple: false
16037
- });
16031
+ const [controlProps, _2] = VSelectionControl.filterProps(props);
16038
16032
  const label = slots.label ? slots.label({
16039
16033
  label: props.label,
16040
16034
  props: {
@@ -16069,7 +16063,8 @@ const VRadioGroup = genericComponent()({
16069
16063
  "type": props.type,
16070
16064
  "disabled": isDisabled.value,
16071
16065
  "readonly": isReadonly.value,
16072
- "aria-labelledby": label ? id.value : undefined
16066
+ "aria-labelledby": label ? id.value : undefined,
16067
+ "multiple": false
16073
16068
  }, controlAttrs, {
16074
16069
  "modelValue": model.value,
16075
16070
  "onUpdate:modelValue": $event => model.value = $event
@@ -16939,7 +16934,7 @@ const VSnackbar = genericComponent()({
16939
16934
  window.clearTimeout(activeTimeout);
16940
16935
  }
16941
16936
  useRender(() => {
16942
- const [overlayProps] = filterVOverlayProps(props);
16937
+ const [overlayProps] = VOverlay.filterProps(props);
16943
16938
  return createVNode(VOverlay, mergeProps({
16944
16939
  "ref": overlay,
16945
16940
  "class": ['v-snackbar', {
@@ -17034,7 +17029,7 @@ const VSwitch = genericComponent()({
17034
17029
  useRender(() => {
17035
17030
  const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
17036
17031
  const [inputProps, _1] = filterInputProps(props);
17037
- const [controlProps, _2] = filterControlProps(props);
17032
+ const [controlProps, _2] = VSelectionControl.filterProps(props);
17038
17033
  const control = ref();
17039
17034
  function onClick() {
17040
17035
  control.value?.input?.click();
@@ -17167,28 +17162,17 @@ const VTab = genericComponent()({
17167
17162
  name: 'VTab',
17168
17163
  props: {
17169
17164
  fixed: Boolean,
17170
- icon: [Boolean, String, Function, Object],
17171
- prependIcon: IconValue,
17172
- appendIcon: IconValue,
17173
- stacked: Boolean,
17174
17165
  title: String,
17175
- ripple: {
17176
- type: Boolean,
17177
- default: true
17178
- },
17179
- color: String,
17180
17166
  sliderColor: String,
17181
17167
  hideSlider: Boolean,
17182
17168
  direction: {
17183
17169
  type: String,
17184
17170
  default: 'horizontal'
17185
17171
  },
17186
- ...makeTagProps(),
17187
- ...makeRouterProps(),
17188
- ...makeGroupItemProps({
17189
- selectedClass: 'v-tab--selected'
17190
- }),
17191
- ...makeThemeProps()
17172
+ ...omit(makeVBtnProps({
17173
+ selectedClass: 'v-tab--selected',
17174
+ variant: 'text'
17175
+ }), ['active', 'block', 'flat', 'location', 'position', 'symbol'])
17192
17176
  },
17193
17177
  setup(props, _ref) {
17194
17178
  let {
@@ -17238,7 +17222,7 @@ const VTab = genericComponent()({
17238
17222
  }
17239
17223
  }
17240
17224
  useRender(() => {
17241
- const [btnProps] = pick(props, ['href', 'to', 'replace', 'icon', 'stacked', 'prependIcon', 'appendIcon', 'ripple', 'theme', 'disabled', 'selectedClass', 'value', 'color']);
17225
+ const [btnProps] = VBtn.filterProps(props);
17242
17226
  return createVNode(VBtn, mergeProps({
17243
17227
  "_as": "VTab",
17244
17228
  "symbol": VTabsSymbol,
@@ -17250,7 +17234,6 @@ const VTab = genericComponent()({
17250
17234
  "active": false,
17251
17235
  "block": props.fixed,
17252
17236
  "maxWidth": props.fixed ? 300 : undefined,
17253
- "variant": "text",
17254
17237
  "rounded": 0
17255
17238
  }, btnProps, attrs, {
17256
17239
  "onGroup:selected": updateSlider
@@ -17326,6 +17309,16 @@ const VTabs = genericComponent()({
17326
17309
  backgroundColorClasses,
17327
17310
  backgroundColorStyles
17328
17311
  } = useBackgroundColor(toRef(props, 'bgColor'));
17312
+ provideDefaults({
17313
+ VTab: {
17314
+ color: toRef(props, 'color'),
17315
+ direction: toRef(props, 'direction'),
17316
+ stacked: toRef(props, 'stacked'),
17317
+ fixed: toRef(props, 'fixedTabs'),
17318
+ sliderColor: toRef(props, 'sliderColor'),
17319
+ hideSlider: toRef(props, 'hideSlider')
17320
+ }
17321
+ });
17329
17322
  useRender(() => createVNode(VSlideGroup, {
17330
17323
  "modelValue": model.value,
17331
17324
  "onUpdate:modelValue": $event => model.value = $event,
@@ -17342,27 +17335,9 @@ const VTabs = genericComponent()({
17342
17335
  "mandatory": props.mandatory,
17343
17336
  "direction": props.direction
17344
17337
  }, {
17345
- default: () => [!slots.default ? parsedItems.value.map(item => createVNode(VTab, mergeProps({
17346
- "key": item.title,
17347
- "color": props.color,
17348
- "direction": props.direction,
17349
- "fixed": props.fixedTabs,
17350
- "hideSlider": props.hideSlider,
17351
- "sliderColor": props.sliderColor,
17352
- "stacked": props.stacked
17353
- }, item), null)) : createVNode(VDefaultsProvider, {
17354
- "key": "tabs-defaults",
17355
- "defaults": {
17356
- VTab: {
17357
- color: props.color,
17358
- direction: props.direction,
17359
- fixed: props.fixedTabs,
17360
- hideSlider: props.hideSlider,
17361
- sliderColor: props.sliderColor,
17362
- stacked: props.stacked
17363
- }
17364
- }
17365
- }, slots.default)]
17338
+ default: () => [slots.default ? slots.default() : parsedItems.value.map(item => createVNode(VTab, mergeProps(item, {
17339
+ "key": item.title
17340
+ }), null))]
17366
17341
  }));
17367
17342
  return {};
17368
17343
  }
@@ -17503,7 +17478,13 @@ const VTextarea = genericComponent()({
17503
17478
  });
17504
17479
  }
17505
17480
  function onInput(e) {
17506
- model.value = e.target.value;
17481
+ const el = e.target;
17482
+ const caretPosition = [el.selectionStart, el.selectionEnd];
17483
+ model.value = el.value;
17484
+ nextTick(() => {
17485
+ el.selectionStart = caretPosition[0];
17486
+ el.selectionEnd = caretPosition[1];
17487
+ });
17507
17488
  }
17508
17489
  const sizerRef = ref();
17509
17490
  function calculateInputHeight() {
@@ -17943,7 +17924,7 @@ const VTooltip = genericComponent()({
17943
17924
  'aria-describedby': id.value
17944
17925
  }, props.activatorProps));
17945
17926
  useRender(() => {
17946
- const [overlayProps] = filterVOverlayProps(props);
17927
+ const [overlayProps] = VOverlay.filterProps(props);
17947
17928
  return createVNode(VOverlay, mergeProps({
17948
17929
  "ref": overlay,
17949
17930
  "class": ['v-tooltip'],
@@ -18761,6 +18742,7 @@ function useExpanded() {
18761
18742
  const VDataTableRow = defineComponent({
18762
18743
  name: 'VDataTableRow',
18763
18744
  props: {
18745
+ index: Number,
18764
18746
  item: Object,
18765
18747
  onClick: Function
18766
18748
  },
@@ -18798,6 +18780,7 @@ const VDataTableRow = defineComponent({
18798
18780
  const item = props.item;
18799
18781
  const slotName = `item.${column.key}`;
18800
18782
  const slotProps = {
18783
+ index: props.index,
18801
18784
  item: props.item,
18802
18785
  columns: columns.value,
18803
18786
  isSelected,
@@ -18920,6 +18903,7 @@ const VDataTableRows = genericComponent()({
18920
18903
  item
18921
18904
  });
18922
18905
  },
18906
+ "index": index,
18923
18907
  "item": item
18924
18908
  }, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
18925
18909
  })]));
@@ -20238,7 +20222,7 @@ function createVuetify$1() {
20238
20222
  locale
20239
20223
  };
20240
20224
  }
20241
- const version$1 = "3.1.9";
20225
+ const version$1 = "3.1.11";
20242
20226
  createVuetify$1.version = version$1;
20243
20227
 
20244
20228
  // Vue's inject() can only be used in setup
@@ -20250,7 +20234,7 @@ function inject(key) {
20250
20234
  }
20251
20235
  }
20252
20236
 
20253
- const version = "3.1.9";
20237
+ const version = "3.1.11";
20254
20238
 
20255
20239
  const createVuetify = function () {
20256
20240
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};