vuetify 3.1.10 → 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 (200) hide show
  1. package/dist/json/attributes.json +203 -27
  2. package/dist/json/importMap.json +98 -98
  3. package/dist/json/tags.json +46 -2
  4. package/dist/json/web-types.json +481 -49
  5. package/dist/vuetify-labs.css +224 -204
  6. package/dist/vuetify-labs.d.ts +56923 -14294
  7. package/dist/vuetify-labs.esm.js +121 -129
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +121 -129
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +47 -39
  12. package/dist/vuetify.d.ts +55374 -15927
  13. package/dist/vuetify.esm.js +118 -129
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +118 -129
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +640 -642
  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/index.d.ts +1461 -223
  104. package/lib/components/VLocaleProvider/index.d.ts +121 -20
  105. package/lib/components/VMain/index.d.ts +118 -17
  106. package/lib/components/VMenu/VMenu.css +4 -4
  107. package/lib/components/VMenu/VMenu.mjs +2 -2
  108. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  109. package/lib/components/VMenu/VMenu.sass +1 -1
  110. package/lib/components/VMenu/index.d.ts +2368 -142
  111. package/lib/components/VMessages/index.d.ts +1921 -98
  112. package/lib/components/VNavigationDrawer/index.d.ts +379 -56
  113. package/lib/components/VOverlay/VOverlay.css +2 -2
  114. package/lib/components/VOverlay/VOverlay.mjs +1 -4
  115. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  116. package/lib/components/VOverlay/VOverlay.sass +1 -1
  117. package/lib/components/VOverlay/_variables.scss +1 -1
  118. package/lib/components/VOverlay/index.d.ts +519 -85
  119. package/lib/components/VPagination/index.d.ts +502 -68
  120. package/lib/components/VParallax/VParallax.mjs +3 -3
  121. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  122. package/lib/components/VParallax/index.d.ts +141 -28
  123. package/lib/components/VProgressCircular/index.d.ts +186 -25
  124. package/lib/components/VProgressLinear/index.d.ts +319 -48
  125. package/lib/components/VRadio/index.d.ts +313 -57
  126. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -6
  127. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  128. package/lib/components/VRadioGroup/index.d.ts +463 -83
  129. package/lib/components/VRangeSlider/index.d.ts +528 -80
  130. package/lib/components/VRating/index.d.ts +305 -43
  131. package/lib/components/VResponsive/index.d.ts +142 -27
  132. package/lib/components/VSelect/VSelect.mjs +2 -2
  133. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  134. package/lib/components/VSelect/index.d.ts +3060 -328
  135. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -4
  136. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  137. package/lib/components/VSelectionControl/index.d.ts +76 -4
  138. package/lib/components/VSelectionControlGroup/index.d.ts +242 -38
  139. package/lib/components/VSheet/VSheet.mjs +1 -7
  140. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  141. package/lib/components/VSheet/index.d.ts +194 -31
  142. package/lib/components/VSlideGroup/index.d.ts +475 -83
  143. package/lib/components/VSlider/index.d.ts +521 -79
  144. package/lib/components/VSlider/slider.mjs +2 -5
  145. package/lib/components/VSlider/slider.mjs.map +1 -1
  146. package/lib/components/VSnackbar/VSnackbar.mjs +2 -2
  147. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  148. package/lib/components/VSnackbar/index.d.ts +1219 -81
  149. package/lib/components/VSwitch/VSwitch.mjs +2 -2
  150. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  151. package/lib/components/VSwitch/index.d.ts +498 -92
  152. package/lib/components/VSystemBar/index.d.ts +184 -27
  153. package/lib/components/VTable/index.d.ts +190 -35
  154. package/lib/components/VTabs/VTab.mjs +7 -23
  155. package/lib/components/VTabs/VTab.mjs.map +1 -1
  156. package/lib/components/VTabs/index.d.ts +623 -71
  157. package/lib/components/VTextField/VTextField.mjs +8 -5
  158. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  159. package/lib/components/VTextField/index.d.ts +1404 -106
  160. package/lib/components/VTextarea/VTextarea.mjs +7 -1
  161. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  162. package/lib/components/VTextarea/index.d.ts +1014 -102
  163. package/lib/components/VThemeProvider/index.d.ts +124 -19
  164. package/lib/components/VTimeline/index.d.ts +441 -71
  165. package/lib/components/VToolbar/VToolbar.mjs +1 -4
  166. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  167. package/lib/components/VToolbar/index.d.ts +542 -93
  168. package/lib/components/VTooltip/VTooltip.css +3 -3
  169. package/lib/components/VTooltip/VTooltip.mjs +2 -2
  170. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  171. package/lib/components/VTooltip/VTooltip.sass +1 -1
  172. package/lib/components/VTooltip/index.d.ts +1263 -81
  173. package/lib/components/VValidation/index.d.ts +201 -30
  174. package/lib/components/VWindow/index.d.ts +527 -95
  175. package/lib/components/index.d.ts +55131 -15681
  176. package/lib/components/transitions/index.d.ts +2097 -308
  177. package/lib/composables/display.mjs +2 -0
  178. package/lib/composables/display.mjs.map +1 -1
  179. package/lib/composables/form.mjs.map +1 -1
  180. package/lib/entry-bundler.mjs +1 -1
  181. package/lib/framework.mjs +1 -1
  182. package/lib/index.d.ts +32 -35
  183. package/lib/labs/VDataTable/VDataTable.css +12 -0
  184. package/lib/labs/VDataTable/VDataTable.sass +6 -0
  185. package/lib/labs/VDataTable/VDataTableRow.mjs +2 -0
  186. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  187. package/lib/labs/VDataTable/VDataTableRows.mjs +1 -0
  188. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  189. package/lib/labs/VDataTable/index.d.ts +4176 -1016
  190. package/lib/labs/VVirtualScroll/index.d.ts +32 -1
  191. package/lib/labs/components.d.ts +4212 -1026
  192. package/lib/styles/main.css +4 -0
  193. package/lib/styles/settings/_utilities.scss +7 -0
  194. package/lib/util/animation.mjs +8 -1
  195. package/lib/util/animation.mjs.map +1 -1
  196. package/lib/util/defineComponent.mjs +12 -5
  197. package/lib/util/defineComponent.mjs.map +1 -1
  198. package/lib/util/helpers.mjs +4 -0
  199. package/lib/util/helpers.mjs.map +1 -1
  200. package/package.json +3 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.10
2
+ * Vuetify v3.1.11
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -207,6 +207,10 @@
207
207
  let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
208
208
  return Math.max(min, Math.min(max, value));
209
209
  }
210
+ function getDecimals(value) {
211
+ const trimmedStr = value.toString().trim();
212
+ return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;
213
+ }
210
214
  function padEnd(str, length) {
211
215
  let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
212
216
  return str + char.repeat(Math.max(0, length - str.length));
@@ -489,7 +493,14 @@
489
493
  if (typeof el.animate === 'undefined') return {
490
494
  finished: Promise.resolve()
491
495
  };
492
- const animation = el.animate(keyframes, options);
496
+ let animation;
497
+ try {
498
+ animation = el.animate(keyframes, options);
499
+ } catch (err) {
500
+ return {
501
+ finished: Promise.resolve()
502
+ };
503
+ }
493
504
  if (typeof animation.finished === 'undefined') {
494
505
  animation.finished = new Promise(resolve => {
495
506
  animation.onfinish = () => {
@@ -1009,15 +1020,22 @@
1009
1020
  function propIsDefined(vnode, prop) {
1010
1021
  return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
1011
1022
  }
1012
- const defineComponent = function defineComponent(options) {
1023
+
1024
+ // No props
1025
+
1026
+ // Implementation
1027
+ function defineComponent(options) {
1013
1028
  options._setup = options._setup ?? options.setup;
1014
1029
  if (!options.name) {
1015
1030
  consoleWarn('The component is missing an explicit name, unable to generate default prop value');
1016
1031
  return options;
1017
1032
  }
1018
1033
  if (options._setup) {
1019
- options.props = options.props ?? {};
1020
- options.props = propsFactory(options.props, toKebabCase(options.name))();
1034
+ options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
1035
+ const propKeys = Object.keys(options.props);
1036
+ options.filterProps = function filterProps(props) {
1037
+ return pick(props, propKeys);
1038
+ };
1021
1039
  options.props._as = String;
1022
1040
  options.setup = function setup(props, ctx) {
1023
1041
  const defaults = useDefaults();
@@ -1057,7 +1075,7 @@
1057
1075
  };
1058
1076
  }
1059
1077
  return options;
1060
- };
1078
+ }
1061
1079
  // Implementation
1062
1080
  function genericComponent() {
1063
1081
  let exposeDefaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
@@ -3225,9 +3243,6 @@
3225
3243
  };
3226
3244
  }
3227
3245
  });
3228
- function filterToolbarProps(props) {
3229
- return pick(props, Object.keys(VToolbar?.props ?? {}));
3230
- }
3231
3246
 
3232
3247
  // Utilities
3233
3248
 
@@ -3305,7 +3320,7 @@
3305
3320
  absolute: vue.toRef(props, 'absolute')
3306
3321
  });
3307
3322
  useRender(() => {
3308
- const [toolbarProps] = filterToolbarProps(props);
3323
+ const [toolbarProps] = VToolbar.filterProps(props);
3309
3324
  return vue.createVNode(VToolbar, vue.mergeProps({
3310
3325
  "ref": vToolbarRef,
3311
3326
  "class": ['v-app-bar', {
@@ -3396,8 +3411,6 @@
3396
3411
  };
3397
3412
  }
3398
3413
 
3399
- // Types
3400
-
3401
3414
  const makeVBtnGroupProps = propsFactory({
3402
3415
  divided: Boolean,
3403
3416
  ...makeBorderProps(),
@@ -3448,9 +3461,6 @@
3448
3461
  });
3449
3462
  }
3450
3463
  });
3451
- function filterVBtnGroupProps(props) {
3452
- return pick(props, Object.keys(VBtnGroup.props));
3453
- }
3454
3464
 
3455
3465
  // Composables
3456
3466
 
@@ -3677,7 +3687,7 @@
3677
3687
  selected
3678
3688
  } = useGroup(props, VBtnToggleSymbol);
3679
3689
  useRender(() => {
3680
- const [btnGroupProps] = filterVBtnGroupProps(props);
3690
+ const [btnGroupProps] = VBtnGroup.filterProps(props);
3681
3691
  return vue.createVNode(VBtnGroup, vue.mergeProps({
3682
3692
  "class": "v-btn-toggle"
3683
3693
  }, btnGroupProps), {
@@ -4765,49 +4775,50 @@
4765
4775
 
4766
4776
  // Types
4767
4777
 
4778
+ const makeVBtnProps = propsFactory({
4779
+ active: {
4780
+ type: Boolean,
4781
+ default: undefined
4782
+ },
4783
+ symbol: {
4784
+ type: null,
4785
+ default: VBtnToggleSymbol
4786
+ },
4787
+ flat: Boolean,
4788
+ icon: [Boolean, String, Function, Object],
4789
+ prependIcon: IconValue,
4790
+ appendIcon: IconValue,
4791
+ block: Boolean,
4792
+ stacked: Boolean,
4793
+ ripple: {
4794
+ type: Boolean,
4795
+ default: true
4796
+ },
4797
+ ...makeBorderProps(),
4798
+ ...makeRoundedProps(),
4799
+ ...makeDensityProps(),
4800
+ ...makeDimensionProps(),
4801
+ ...makeElevationProps(),
4802
+ ...makeGroupItemProps(),
4803
+ ...makeLoaderProps(),
4804
+ ...makeLocationProps(),
4805
+ ...makePositionProps(),
4806
+ ...makeRouterProps(),
4807
+ ...makeSizeProps(),
4808
+ ...makeTagProps({
4809
+ tag: 'button'
4810
+ }),
4811
+ ...makeThemeProps(),
4812
+ ...makeVariantProps({
4813
+ variant: 'elevated'
4814
+ })
4815
+ }, 'VBtn');
4768
4816
  const VBtn = genericComponent()({
4769
4817
  name: 'VBtn',
4770
4818
  directives: {
4771
4819
  Ripple
4772
4820
  },
4773
- props: {
4774
- active: {
4775
- type: Boolean,
4776
- default: undefined
4777
- },
4778
- symbol: {
4779
- type: null,
4780
- default: VBtnToggleSymbol
4781
- },
4782
- flat: Boolean,
4783
- icon: [Boolean, String, Function, Object],
4784
- prependIcon: IconValue,
4785
- appendIcon: IconValue,
4786
- block: Boolean,
4787
- stacked: Boolean,
4788
- ripple: {
4789
- type: Boolean,
4790
- default: true
4791
- },
4792
- ...makeBorderProps(),
4793
- ...makeRoundedProps(),
4794
- ...makeDensityProps(),
4795
- ...makeDimensionProps(),
4796
- ...makeElevationProps(),
4797
- ...makeGroupItemProps(),
4798
- ...makeLoaderProps(),
4799
- ...makeLocationProps(),
4800
- ...makePositionProps(),
4801
- ...makeRouterProps(),
4802
- ...makeSizeProps(),
4803
- ...makeTagProps({
4804
- tag: 'button'
4805
- }),
4806
- ...makeThemeProps(),
4807
- ...makeVariantProps({
4808
- variant: 'elevated'
4809
- })
4810
- },
4821
+ props: makeVBtnProps(),
4811
4822
  emits: {
4812
4823
  'group:selected': val => true
4813
4824
  },
@@ -6159,7 +6170,13 @@
6159
6170
  });
6160
6171
  }
6161
6172
  function onInput(e) {
6162
- model.value = e.target.value;
6173
+ const el = e.target;
6174
+ const caretPosition = [el.selectionStart, el.selectionEnd];
6175
+ model.value = el.value;
6176
+ vue.nextTick(() => {
6177
+ el.selectionStart = caretPosition[0];
6178
+ el.selectionEnd = caretPosition[1];
6179
+ });
6163
6180
  }
6164
6181
  useRender(() => {
6165
6182
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
@@ -6259,9 +6276,6 @@
6259
6276
  return forwardRefs({}, vInputRef, vFieldRef, inputRef);
6260
6277
  }
6261
6278
  });
6262
- function filterVTextFieldProps(props) {
6263
- return pick(props, Object.keys(VTextField.props));
6264
- }
6265
6279
 
6266
6280
  // Types
6267
6281
 
@@ -6519,11 +6533,6 @@
6519
6533
  };
6520
6534
  }
6521
6535
  });
6522
- function filterControlProps(props) {
6523
- return pick(props, Object.keys(VSelectionControl.props));
6524
- }
6525
-
6526
- // Types
6527
6536
 
6528
6537
  const makeVCheckboxBtnProps = propsFactory({
6529
6538
  indeterminate: Boolean,
@@ -6573,9 +6582,6 @@
6573
6582
  return {};
6574
6583
  }
6575
6584
  });
6576
- function filterCheckboxBtnProps(props) {
6577
- return pick(props, Object.keys(VCheckboxBtn.props));
6578
- }
6579
6585
 
6580
6586
  // Types
6581
6587
 
@@ -6604,7 +6610,7 @@
6604
6610
  useRender(() => {
6605
6611
  const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
6606
6612
  const [inputProps, _1] = filterInputProps(props);
6607
- const [checkboxProps, _2] = filterCheckboxBtnProps(props);
6613
+ const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
6608
6614
  return vue.createVNode(VInput, vue.mergeProps({
6609
6615
  "class": "v-checkbox"
6610
6616
  }, inputAttrs, inputProps, {
@@ -7508,8 +7514,6 @@
7508
7514
  });
7509
7515
  };
7510
7516
 
7511
- // Types
7512
-
7513
7517
  const VListGroupActivator = defineComponent({
7514
7518
  name: 'VListGroupActivator',
7515
7519
  setup(_, _ref) {
@@ -7602,9 +7606,6 @@
7602
7606
  return {};
7603
7607
  }
7604
7608
  });
7605
- function filterListGroupProps(props) {
7606
- return pick(props, Object.keys(VListGroup.props));
7607
- }
7608
7609
 
7609
7610
  const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle');
7610
7611
 
@@ -7932,7 +7933,7 @@
7932
7933
  item
7933
7934
  }) : undefined
7934
7935
  };
7935
- const [listGroupProps, _1] = filterListGroupProps(itemProps);
7936
+ const [listGroupProps, _1] = VListGroup.filterProps(itemProps);
7936
7937
  return children ? vue.createVNode(VListGroup, vue.mergeProps({
7937
7938
  "value": itemProps?.value
7938
7939
  }, listGroupProps), {
@@ -9159,6 +9160,8 @@
9159
9160
 
9160
9161
  // Types
9161
9162
 
9163
+ const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
9164
+
9162
9165
  const DisplaySymbol = Symbol.for('vuetify:display');
9163
9166
  const defaultDisplayOptions = {
9164
9167
  mobileBreakpoint: 'lg',
@@ -9714,9 +9717,6 @@
9714
9717
  };
9715
9718
  }
9716
9719
  });
9717
- function filterVOverlayProps(props) {
9718
- return pick(props, Object.keys(VOverlay.props));
9719
- }
9720
9720
 
9721
9721
  // Types
9722
9722
 
@@ -9782,7 +9782,7 @@
9782
9782
  'aria-owns': id.value
9783
9783
  }, props.activatorProps));
9784
9784
  useRender(() => {
9785
- const [overlayProps] = filterVOverlayProps(props);
9785
+ const [overlayProps] = VOverlay.filterProps(props);
9786
9786
  return vue.createVNode(VOverlay, vue.mergeProps({
9787
9787
  "ref": overlay,
9788
9788
  "class": ['v-menu']
@@ -9958,7 +9958,7 @@
9958
9958
  useRender(() => {
9959
9959
  const hasChips = !!(props.chips || slots.chip);
9960
9960
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
9961
- const [textFieldProps] = filterVTextFieldProps(props);
9961
+ const [textFieldProps] = VTextField.filterProps(props);
9962
9962
  return vue.createVNode(VTextField, vue.mergeProps({
9963
9963
  "ref": vTextFieldRef
9964
9964
  }, textFieldProps, {
@@ -10351,7 +10351,7 @@
10351
10351
  useRender(() => {
10352
10352
  const hasChips = !!(props.chips || slots.chip);
10353
10353
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
10354
- const [textFieldProps] = filterVTextFieldProps(props);
10354
+ const [textFieldProps] = VTextField.filterProps(props);
10355
10355
  return vue.createVNode(VTextField, vue.mergeProps({
10356
10356
  "ref": vTextFieldRef
10357
10357
  }, textFieldProps, {
@@ -12299,10 +12299,7 @@
12299
12299
  const min = vue.computed(() => parseFloat(props.min));
12300
12300
  const max = vue.computed(() => parseFloat(props.max));
12301
12301
  const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
12302
- const decimals = vue.computed(() => {
12303
- const trimmedStep = step.value.toString().trim();
12304
- return trimmedStep.includes('.') ? trimmedStep.length - trimmedStep.indexOf('.') - 1 : 0;
12305
- });
12302
+ const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
12306
12303
  const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
12307
12304
  const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
12308
12305
  const trackSize = vue.computed(() => parseInt(props.trackSize, 10));
@@ -13280,8 +13277,6 @@
13280
13277
  }
13281
13278
  });
13282
13279
 
13283
- // Types
13284
-
13285
13280
  const makeVSheetProps = propsFactory({
13286
13281
  color: String,
13287
13282
  ...makeBorderProps(),
@@ -13706,7 +13701,7 @@
13706
13701
  useRender(() => {
13707
13702
  const hasChips = !!(props.chips || slots.chip);
13708
13703
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
13709
- const [textFieldProps] = filterVTextFieldProps(props);
13704
+ const [textFieldProps] = VTextField.filterProps(props);
13710
13705
  return vue.createVNode(VTextField, vue.mergeProps({
13711
13706
  "ref": vTextFieldRef
13712
13707
  }, textFieldProps, {
@@ -13914,7 +13909,7 @@
13914
13909
  'aria-expanded': String(isActive.value)
13915
13910
  }, props.activatorProps));
13916
13911
  useRender(() => {
13917
- const [overlayProps] = filterVOverlayProps(props);
13912
+ const [overlayProps] = VOverlay.filterProps(props);
13918
13913
  return vue.createVNode(VOverlay, vue.mergeProps({
13919
13914
  "ref": overlay,
13920
13915
  "class": ['v-dialog', {
@@ -14518,10 +14513,8 @@
14518
14513
 
14519
14514
  // Types
14520
14515
 
14521
- const breakpoints$1 = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
14522
-
14523
14516
  const breakpointProps = (() => {
14524
- return breakpoints$1.reduce((props, val) => {
14517
+ return breakpoints.reduce((props, val) => {
14525
14518
  props[val] = {
14526
14519
  type: [Boolean, String, Number],
14527
14520
  default: false
@@ -14530,8 +14523,9 @@
14530
14523
  }, {});
14531
14524
  })();
14532
14525
  const offsetProps = (() => {
14533
- return breakpoints$1.reduce((props, val) => {
14534
- props['offset' + vue.capitalize(val)] = {
14526
+ return breakpoints.reduce((props, val) => {
14527
+ const offsetKey = 'offset' + vue.capitalize(val);
14528
+ props[offsetKey] = {
14535
14529
  type: [String, Number],
14536
14530
  default: null
14537
14531
  };
@@ -14539,8 +14533,9 @@
14539
14533
  }, {});
14540
14534
  })();
14541
14535
  const orderProps = (() => {
14542
- return breakpoints$1.reduce((props, val) => {
14543
- props['order' + vue.capitalize(val)] = {
14536
+ return breakpoints.reduce((props, val) => {
14537
+ const orderKey = 'order' + vue.capitalize(val);
14538
+ props[orderKey] = {
14544
14539
  type: [String, Number],
14545
14540
  default: null
14546
14541
  };
@@ -14638,13 +14633,12 @@
14638
14633
 
14639
14634
  // Types
14640
14635
 
14641
- const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
14642
-
14643
14636
  const ALIGNMENT = ['start', 'end', 'center'];
14644
14637
  const SPACE = ['space-between', 'space-around', 'space-evenly'];
14645
14638
  function makeRowProps(prefix, def) {
14646
14639
  return breakpoints.reduce((props, val) => {
14647
- props[prefix + vue.capitalize(val)] = def();
14640
+ const prefixKey = prefix + vue.capitalize(val);
14641
+ props[prefixKey] = def();
14648
14642
  return props;
14649
14643
  }, {});
14650
14644
  }
@@ -14974,7 +14968,10 @@
14974
14968
  }, {
14975
14969
  default: () => [slots.default?.()]
14976
14970
  })]
14977
- }), [[vue.resolveDirective("intersect"), onIntersect, props.options]]));
14971
+ }), [[vue.resolveDirective("intersect"), {
14972
+ handler: onIntersect,
14973
+ options: props.options
14974
+ }, null]]));
14978
14975
  return {};
14979
14976
  }
14980
14977
  });
@@ -15951,9 +15948,9 @@
15951
15948
  frame = requestAnimationFrame(() => {
15952
15949
  const el = (root.value?.$el).querySelector('.v-img__img');
15953
15950
  if (!el) return;
15954
- const scrollHeight = scrollParent.clientHeight ?? document.documentElement.clientHeight;
15955
- const scrollPos = scrollParent.scrollTop ?? window.scrollY;
15956
- const top = intersectionRef.value.offsetTop;
15951
+ const scrollHeight = scrollParent instanceof Document ? document.documentElement.clientHeight : scrollParent.clientHeight;
15952
+ const scrollPos = scrollParent instanceof Document ? window.scrollY : scrollParent.scrollTop;
15953
+ const top = intersectionRef.value.getBoundingClientRect().top + scrollPos;
15957
15954
  const height = contentRect.value.height;
15958
15955
  const center = top + (height - scrollHeight) / 2;
15959
15956
  const translate = floor((scrollPos - center) * scale.value);
@@ -16035,10 +16032,7 @@
16035
16032
  useRender(() => {
16036
16033
  const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
16037
16034
  const [inputProps, _1] = filterInputProps(props);
16038
- const [controlProps, _2] = filterControlProps({
16039
- ...props,
16040
- multiple: false
16041
- });
16035
+ const [controlProps, _2] = VSelectionControl.filterProps(props);
16042
16036
  const label = slots.label ? slots.label({
16043
16037
  label: props.label,
16044
16038
  props: {
@@ -16073,7 +16067,8 @@
16073
16067
  "type": props.type,
16074
16068
  "disabled": isDisabled.value,
16075
16069
  "readonly": isReadonly.value,
16076
- "aria-labelledby": label ? id.value : undefined
16070
+ "aria-labelledby": label ? id.value : undefined,
16071
+ "multiple": false
16077
16072
  }, controlAttrs, {
16078
16073
  "modelValue": model.value,
16079
16074
  "onUpdate:modelValue": $event => model.value = $event
@@ -16943,7 +16938,7 @@
16943
16938
  window.clearTimeout(activeTimeout);
16944
16939
  }
16945
16940
  useRender(() => {
16946
- const [overlayProps] = filterVOverlayProps(props);
16941
+ const [overlayProps] = VOverlay.filterProps(props);
16947
16942
  return vue.createVNode(VOverlay, vue.mergeProps({
16948
16943
  "ref": overlay,
16949
16944
  "class": ['v-snackbar', {
@@ -17038,7 +17033,7 @@
17038
17033
  useRender(() => {
17039
17034
  const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
17040
17035
  const [inputProps, _1] = filterInputProps(props);
17041
- const [controlProps, _2] = filterControlProps(props);
17036
+ const [controlProps, _2] = VSelectionControl.filterProps(props);
17042
17037
  const control = vue.ref();
17043
17038
  function onClick() {
17044
17039
  control.value?.input?.click();
@@ -17171,28 +17166,17 @@
17171
17166
  name: 'VTab',
17172
17167
  props: {
17173
17168
  fixed: Boolean,
17174
- icon: [Boolean, String, Function, Object],
17175
- prependIcon: IconValue,
17176
- appendIcon: IconValue,
17177
- stacked: Boolean,
17178
17169
  title: String,
17179
- ripple: {
17180
- type: Boolean,
17181
- default: true
17182
- },
17183
- color: String,
17184
17170
  sliderColor: String,
17185
17171
  hideSlider: Boolean,
17186
17172
  direction: {
17187
17173
  type: String,
17188
17174
  default: 'horizontal'
17189
17175
  },
17190
- ...makeTagProps(),
17191
- ...makeRouterProps(),
17192
- ...makeGroupItemProps({
17193
- selectedClass: 'v-tab--selected'
17194
- }),
17195
- ...makeThemeProps()
17176
+ ...omit(makeVBtnProps({
17177
+ selectedClass: 'v-tab--selected',
17178
+ variant: 'text'
17179
+ }), ['active', 'block', 'flat', 'location', 'position', 'symbol'])
17196
17180
  },
17197
17181
  setup(props, _ref) {
17198
17182
  let {
@@ -17242,7 +17226,7 @@
17242
17226
  }
17243
17227
  }
17244
17228
  useRender(() => {
17245
- const [btnProps] = pick(props, ['href', 'to', 'replace', 'icon', 'stacked', 'prependIcon', 'appendIcon', 'ripple', 'theme', 'disabled', 'selectedClass', 'value', 'color']);
17229
+ const [btnProps] = VBtn.filterProps(props);
17246
17230
  return vue.createVNode(VBtn, vue.mergeProps({
17247
17231
  "_as": "VTab",
17248
17232
  "symbol": VTabsSymbol,
@@ -17254,7 +17238,6 @@
17254
17238
  "active": false,
17255
17239
  "block": props.fixed,
17256
17240
  "maxWidth": props.fixed ? 300 : undefined,
17257
- "variant": "text",
17258
17241
  "rounded": 0
17259
17242
  }, btnProps, attrs, {
17260
17243
  "onGroup:selected": updateSlider
@@ -17499,7 +17482,13 @@
17499
17482
  });
17500
17483
  }
17501
17484
  function onInput(e) {
17502
- model.value = e.target.value;
17485
+ const el = e.target;
17486
+ const caretPosition = [el.selectionStart, el.selectionEnd];
17487
+ model.value = el.value;
17488
+ vue.nextTick(() => {
17489
+ el.selectionStart = caretPosition[0];
17490
+ el.selectionEnd = caretPosition[1];
17491
+ });
17503
17492
  }
17504
17493
  const sizerRef = vue.ref();
17505
17494
  function calculateInputHeight() {
@@ -17939,7 +17928,7 @@
17939
17928
  'aria-describedby': id.value
17940
17929
  }, props.activatorProps));
17941
17930
  useRender(() => {
17942
- const [overlayProps] = filterVOverlayProps(props);
17931
+ const [overlayProps] = VOverlay.filterProps(props);
17943
17932
  return vue.createVNode(VOverlay, vue.mergeProps({
17944
17933
  "ref": overlay,
17945
17934
  "class": ['v-tooltip'],
@@ -18757,6 +18746,7 @@
18757
18746
  const VDataTableRow = defineComponent({
18758
18747
  name: 'VDataTableRow',
18759
18748
  props: {
18749
+ index: Number,
18760
18750
  item: Object,
18761
18751
  onClick: Function
18762
18752
  },
@@ -18794,6 +18784,7 @@
18794
18784
  const item = props.item;
18795
18785
  const slotName = `item.${column.key}`;
18796
18786
  const slotProps = {
18787
+ index: props.index,
18797
18788
  item: props.item,
18798
18789
  columns: columns.value,
18799
18790
  isSelected,
@@ -18916,6 +18907,7 @@
18916
18907
  item
18917
18908
  });
18918
18909
  },
18910
+ "index": index,
18919
18911
  "item": item
18920
18912
  }, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
18921
18913
  })]));
@@ -20234,7 +20226,7 @@
20234
20226
  locale
20235
20227
  };
20236
20228
  }
20237
- const version$1 = "3.1.10";
20229
+ const version$1 = "3.1.11";
20238
20230
  createVuetify$1.version = version$1;
20239
20231
 
20240
20232
  // Vue's inject() can only be used in setup
@@ -20246,7 +20238,7 @@
20246
20238
  }
20247
20239
  }
20248
20240
 
20249
- const version = "3.1.10";
20241
+ const version = "3.1.11";
20250
20242
 
20251
20243
  const createVuetify = function () {
20252
20244
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};