vuetify 3.1.6 → 3.1.8

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 (195) hide show
  1. package/dist/json/attributes.json +33 -33
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/web-types.json +967 -79
  4. package/dist/vuetify-labs.css +544 -401
  5. package/dist/vuetify-labs.d.ts +3453 -144
  6. package/dist/vuetify-labs.esm.js +66 -44
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +66 -44
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +1398 -1255
  11. package/dist/vuetify.d.ts +1918 -67
  12. package/dist/vuetify.esm.js +33 -32
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +33 -32
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +209 -210
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VAlert/VAlert.css +1 -1
  20. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  21. package/lib/components/VAlert/_variables.scss +1 -1
  22. package/lib/components/VAlert/index.d.ts +22 -0
  23. package/lib/components/VApp/index.d.ts +6 -0
  24. package/lib/components/VAppBar/index.d.ts +36 -0
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.ts +117 -6
  27. package/lib/components/VAvatar/index.d.ts +6 -0
  28. package/lib/components/VBadge/index.d.ts +8 -0
  29. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  30. package/lib/components/VBanner/index.d.ts +24 -0
  31. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  32. package/lib/components/VBottomNavigation/index.d.ts +6 -0
  33. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  34. package/lib/components/VBreadcrumbs/index.d.ts +28 -4
  35. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  36. package/lib/components/VBtn/index.d.ts +12 -0
  37. package/lib/components/VBtnGroup/index.d.ts +6 -0
  38. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  39. package/lib/components/VBtnToggle/index.d.ts +6 -0
  40. package/lib/components/VCard/VCard.mjs.map +1 -1
  41. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  42. package/lib/components/VCard/index.d.ts +60 -0
  43. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  44. package/lib/components/VCarousel/index.d.ts +60 -0
  45. package/lib/components/VCheckbox/index.d.ts +38 -0
  46. package/lib/components/VChip/VChip.mjs.map +1 -1
  47. package/lib/components/VChip/index.d.ts +12 -0
  48. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  49. package/lib/components/VChipGroup/index.d.ts +6 -0
  50. package/lib/components/VCode/index.d.ts +6 -0
  51. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  52. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  53. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  54. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  55. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  56. package/lib/components/VCombobox/index.d.ts +117 -6
  57. package/lib/components/VCounter/index.d.ts +24 -0
  58. package/lib/components/VDefaultsProvider/index.d.ts +6 -0
  59. package/lib/components/VDialog/index.d.ts +64 -1
  60. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  61. package/lib/components/VDivider/index.d.ts +6 -0
  62. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  63. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  64. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  65. package/lib/components/VExpansionPanel/index.d.ts +49 -12
  66. package/lib/components/VField/VField.mjs.map +1 -1
  67. package/lib/components/VField/index.d.ts +20 -6
  68. package/lib/components/VFileInput/VFileInput.mjs +1 -0
  69. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  70. package/lib/components/VFileInput/index.d.ts +43 -1
  71. package/lib/components/VFooter/index.d.ts +6 -0
  72. package/lib/components/VForm/index.d.ts +6 -0
  73. package/lib/components/VGrid/index.d.ts +24 -0
  74. package/lib/components/VHover/index.d.ts +12 -0
  75. package/lib/components/VIcon/index.d.ts +12 -0
  76. package/lib/components/VImg/index.d.ts +12 -0
  77. package/lib/components/VInput/VInput.mjs.map +1 -1
  78. package/lib/components/VInput/index.d.ts +12 -0
  79. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  80. package/lib/components/VItemGroup/index.d.ts +12 -0
  81. package/lib/components/VKbd/index.d.ts +6 -0
  82. package/lib/components/VLabel/index.d.ts +6 -0
  83. package/lib/components/VLayout/index.d.ts +12 -0
  84. package/lib/components/VLazy/index.d.ts +6 -0
  85. package/lib/components/VList/VListGroup.mjs.map +1 -1
  86. package/lib/components/VList/VListItem.mjs.map +1 -1
  87. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  88. package/lib/components/VList/index.d.ts +77 -6
  89. package/lib/components/VLocaleProvider/index.d.ts +6 -0
  90. package/lib/components/VMain/index.d.ts +6 -0
  91. package/lib/components/VMenu/index.d.ts +64 -1
  92. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  93. package/lib/components/VMessages/index.d.ts +24 -0
  94. package/lib/components/VNavigationDrawer/index.d.ts +12 -0
  95. package/lib/components/VNoSsr/index.d.ts +6 -0
  96. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  97. package/lib/components/VOverlay/index.d.ts +18 -0
  98. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  99. package/lib/components/VPagination/index.d.ts +14 -0
  100. package/lib/components/VParallax/index.d.ts +12 -0
  101. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  102. package/lib/components/VProgressCircular/index.d.ts +6 -0
  103. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  104. package/lib/components/VProgressLinear/index.d.ts +12 -0
  105. package/lib/components/VRadio/index.d.ts +16 -0
  106. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  107. package/lib/components/VRadioGroup/index.d.ts +22 -0
  108. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  109. package/lib/components/VRangeSlider/index.d.ts +16 -0
  110. package/lib/components/VRating/VRating.mjs.map +1 -1
  111. package/lib/components/VRating/index.d.ts +8 -0
  112. package/lib/components/VResponsive/index.d.ts +8 -0
  113. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  114. package/lib/components/VSelect/index.d.ts +183 -6
  115. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  116. package/lib/components/VSelectionControl/index.d.ts +14 -6
  117. package/lib/components/VSelectionControlGroup/index.d.ts +6 -0
  118. package/lib/components/VSheet/index.d.ts +6 -0
  119. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  120. package/lib/components/VSlideGroup/index.d.ts +26 -0
  121. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  122. package/lib/components/VSlider/index.d.ts +16 -0
  123. package/lib/components/VSnackbar/VSnackbar.css +0 -2
  124. package/lib/components/VSnackbar/VSnackbar.mjs +6 -8
  125. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  126. package/lib/components/VSnackbar/VSnackbar.sass +0 -2
  127. package/lib/components/VSnackbar/index.d.ts +44 -1
  128. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  129. package/lib/components/VSwitch/index.d.ts +22 -0
  130. package/lib/components/VSystemBar/index.d.ts +6 -0
  131. package/lib/components/VTable/VTable.mjs.map +1 -1
  132. package/lib/components/VTable/index.d.ts +12 -0
  133. package/lib/components/VTabs/VTab.mjs.map +1 -1
  134. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  135. package/lib/components/VTabs/index.d.ts +12 -0
  136. package/lib/components/VTextField/VTextField.mjs +1 -0
  137. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  138. package/lib/components/VTextField/index.d.ts +54 -6
  139. package/lib/components/VTextarea/VTextarea.mjs +1 -0
  140. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  141. package/lib/components/VTextarea/index.d.ts +39 -1
  142. package/lib/components/VThemeProvider/index.d.ts +6 -0
  143. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  144. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  145. package/lib/components/VTimeline/index.d.ts +16 -0
  146. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  147. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  148. package/lib/components/VToolbar/index.d.ts +30 -0
  149. package/lib/components/VTooltip/index.d.ts +46 -1
  150. package/lib/components/VValidation/index.d.ts +6 -0
  151. package/lib/components/VWindow/index.d.ts +34 -0
  152. package/lib/components/index.d.ts +1916 -65
  153. package/lib/components/transitions/createTransition.mjs +1 -1
  154. package/lib/components/transitions/createTransition.mjs.map +1 -1
  155. package/lib/components/transitions/index.d.ts +96 -0
  156. package/lib/composables/display.mjs +13 -10
  157. package/lib/composables/display.mjs.map +1 -1
  158. package/lib/composables/loader.mjs.map +1 -1
  159. package/lib/composables/theme.mjs +7 -10
  160. package/lib/composables/theme.mjs.map +1 -1
  161. package/lib/composables/variant.mjs.map +1 -1
  162. package/lib/entry-bundler.mjs +1 -1
  163. package/lib/framework.mjs +1 -1
  164. package/lib/index.d.ts +1 -1
  165. package/lib/labs/VDataTable/VDataTable.mjs +4 -2
  166. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  167. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  168. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  169. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  170. package/lib/labs/VDataTable/VDataTableRows.mjs +4 -6
  171. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  172. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  173. package/lib/labs/VDataTable/VDataTableVirtual.mjs +4 -2
  174. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  175. package/lib/labs/VDataTable/composables/options.mjs +7 -1
  176. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  177. package/lib/labs/VDataTable/index.d.ts +1503 -48
  178. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +15 -2
  179. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  180. package/lib/labs/VVirtualScroll/index.d.ts +9 -6
  181. package/lib/labs/components.d.ts +1512 -54
  182. package/lib/locale/index.mjs +1 -1
  183. package/lib/locale/index.mjs.map +1 -1
  184. package/lib/styles/elements/_global.sass +0 -4
  185. package/lib/styles/generic/_index.scss +0 -1
  186. package/lib/styles/generic/_transitions.scss +111 -9
  187. package/lib/styles/main.css +312 -167
  188. package/lib/styles/tools/_sheet.sass +3 -6
  189. package/lib/styles/utilities/_display.sass +6 -5
  190. package/lib/styles/utilities/_elevation.scss +13 -0
  191. package/lib/styles/utilities/_index.sass +3 -2
  192. package/lib/styles/utilities/_screenreaders.sass +13 -11
  193. package/lib/util/defineComponent.mjs.map +1 -1
  194. package/package.json +18 -4
  195. package/lib/styles/generic/_elevation.scss +0 -10
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.6
2
+ * Vuetify v3.1.8
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1671,17 +1671,9 @@ function createTheme(options) {
1671
1671
  if (current.value.dark) {
1672
1672
  createCssClass(lines, ':root', ['color-scheme: dark']);
1673
1673
  }
1674
+ createCssClass(lines, ':root', genCssVariables(current.value));
1674
1675
  for (const [themeName, theme] of Object.entries(computedThemes.value)) {
1675
- const {
1676
- variables,
1677
- dark
1678
- } = theme;
1679
- createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${dark ? 'dark' : 'normal'}`, ...genCssVariables(theme), ...Object.keys(variables).map(key => {
1680
- const value = variables[key];
1681
- const color = typeof value === 'string' && value.startsWith('#') ? parseColor$1(value) : undefined;
1682
- const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
1683
- return `--v-${key}: ${rgb ?? value}`;
1684
- })]);
1676
+ createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)]);
1685
1677
  }
1686
1678
  const bgLines = [];
1687
1679
  const fgLines = [];
@@ -1794,6 +1786,11 @@ function genCssVariables(theme) {
1794
1786
  variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
1795
1787
  }
1796
1788
  }
1789
+ for (const [key, value] of Object.entries(theme.variables)) {
1790
+ const color = typeof value === 'string' && value.startsWith('#') ? parseColor$1(value) : undefined;
1791
+ const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
1792
+ variables.push(`--v-${key}: ${rgb ?? value}`);
1793
+ }
1797
1794
  return variables;
1798
1795
  }
1799
1796
 
@@ -2023,7 +2020,7 @@ const defaultRtl = {
2023
2020
  en: false,
2024
2021
  es: false,
2025
2022
  et: false,
2026
- fa: false,
2023
+ fa: true,
2027
2024
  fi: false,
2028
2025
  fr: false,
2029
2026
  hr: false,
@@ -2184,7 +2181,7 @@ const VDefaultsProvider = genericComponent(false)({
2184
2181
  // Types
2185
2182
 
2186
2183
  function createCssTransition(name) {
2187
- let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top center 0';
2184
+ let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'center center';
2188
2185
  let mode = arguments.length > 2 ? arguments[2] : undefined;
2189
2186
  return genericComponent()({
2190
2187
  name,
@@ -6175,6 +6172,7 @@ const VTextField = genericComponent()({
6175
6172
  "id": id.value,
6176
6173
  "active": isActive.value || isDirty.value,
6177
6174
  "dirty": isDirty.value || props.dirty,
6175
+ "disabled": isDisabled.value,
6178
6176
  "focused": isFocused.value,
6179
6177
  "error": isValid.value === false
6180
6178
  }), {
@@ -9123,8 +9121,8 @@ function getClientWidth(isHydrate) {
9123
9121
  function getClientHeight(isHydrate) {
9124
9122
  return IN_BROWSER && !isHydrate ? window.innerHeight : 0;
9125
9123
  }
9126
- function getPlatform() {
9127
- const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr';
9124
+ function getPlatform(isHydrate) {
9125
+ const userAgent = IN_BROWSER && !isHydrate ? window.navigator.userAgent : 'ssr';
9128
9126
  function match(regexp) {
9129
9127
  return Boolean(userAgent.match(regexp));
9130
9128
  }
@@ -9139,7 +9137,6 @@ function getPlatform() {
9139
9137
  const win = match(/win/i);
9140
9138
  const mac = match(/mac/i);
9141
9139
  const linux = match(/linux/i);
9142
- const ssr = match(/ssr/i);
9143
9140
  return {
9144
9141
  android,
9145
9142
  ios,
@@ -9153,7 +9150,7 @@ function getPlatform() {
9153
9150
  mac,
9154
9151
  linux,
9155
9152
  touch: SUPPORTS_TOUCH,
9156
- ssr
9153
+ ssr: userAgent === 'ssr'
9157
9154
  };
9158
9155
  }
9159
9156
  function createDisplay(options, ssr) {
@@ -9162,13 +9159,17 @@ function createDisplay(options, ssr) {
9162
9159
  mobileBreakpoint
9163
9160
  } = parseDisplayOptions(options);
9164
9161
  const height = ref(getClientHeight(ssr));
9165
- const platform = getPlatform();
9162
+ const platform = shallowRef(getPlatform(ssr));
9166
9163
  const state = reactive({});
9167
9164
  const width = ref(getClientWidth(ssr));
9168
- function update() {
9165
+ function updateSize() {
9169
9166
  height.value = getClientHeight();
9170
9167
  width.value = getClientWidth();
9171
9168
  }
9169
+ function update() {
9170
+ updateSize();
9171
+ platform.value = getPlatform();
9172
+ }
9172
9173
 
9173
9174
  // eslint-disable-next-line max-statements
9174
9175
  watchEffect(() => {
@@ -9180,7 +9181,7 @@ function createDisplay(options, ssr) {
9180
9181
  const xxl = width.value >= thresholds.xxl;
9181
9182
  const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';
9182
9183
  const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];
9183
- const mobile = !platform.ssr ? width.value < breakpointValue : platform.android || platform.ios || platform.opera;
9184
+ const mobile = width.value < breakpointValue;
9184
9185
  state.xs = xs;
9185
9186
  state.sm = sm;
9186
9187
  state.md = md;
@@ -9200,11 +9201,11 @@ function createDisplay(options, ssr) {
9200
9201
  state.width = width.value;
9201
9202
  state.mobile = mobile;
9202
9203
  state.mobileBreakpoint = mobileBreakpoint;
9203
- state.platform = platform;
9204
+ state.platform = platform.value;
9204
9205
  state.thresholds = thresholds;
9205
9206
  });
9206
9207
  if (IN_BROWSER) {
9207
- window.addEventListener('resize', update, {
9208
+ window.addEventListener('resize', updateSize, {
9208
9209
  passive: true
9209
9210
  });
9210
9211
  }
@@ -14217,6 +14218,7 @@ const VFileInput = genericComponent()({
14217
14218
  "id": id.value,
14218
14219
  "active": isDirty.value || isFocused.value,
14219
14220
  "dirty": isDirty.value,
14221
+ "disabled": isDisabled.value,
14220
14222
  "focused": isFocused.value,
14221
14223
  "error": isValid.value === false
14222
14224
  }), {
@@ -16853,19 +16855,17 @@ const VSnackbar = genericComponent()({
16853
16855
  "modelValue": isActive.value,
16854
16856
  "onUpdate:modelValue": $event => isActive.value = $event,
16855
16857
  "contentProps": mergeProps({
16856
- style: locationStyles.value
16858
+ class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
16859
+ style: [locationStyles.value, colorStyles.value],
16860
+ onPointerenter,
16861
+ onPointerleave: startTimeout
16857
16862
  }, overlayProps.contentProps),
16858
16863
  "persistent": true,
16859
16864
  "noClickAnimation": true,
16860
16865
  "scrim": false,
16861
16866
  "scrollStrategy": "none"
16862
16867
  }, scopeId), {
16863
- default: () => [createVNode("div", {
16864
- "class": ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
16865
- "style": [colorStyles.value],
16866
- "onPointerenter": onPointerenter,
16867
- "onPointerleave": startTimeout
16868
- }, [genOverlays(false, 'v-snackbar'), slots.default && createVNode("div", {
16868
+ default: () => [genOverlays(false, 'v-snackbar'), slots.default && createVNode("div", {
16869
16869
  "class": "v-snackbar__content",
16870
16870
  "role": "status",
16871
16871
  "aria-live": "polite"
@@ -16880,7 +16880,7 @@ const VSnackbar = genericComponent()({
16880
16880
  default: () => [createVNode("div", {
16881
16881
  "class": "v-snackbar__actions"
16882
16882
  }, [slots.actions()])]
16883
- })])],
16883
+ })],
16884
16884
  activator: slots.activator
16885
16885
  });
16886
16886
  });
@@ -17482,6 +17482,7 @@ const VTextarea = genericComponent()({
17482
17482
  }, fieldProps, {
17483
17483
  "active": isActive.value || isDirty.value,
17484
17484
  "dirty": isDirty.value || props.dirty,
17485
+ "disabled": isDisabled.value,
17485
17486
  "focused": isFocused.value,
17486
17487
  "error": isValid.value === false
17487
17488
  }), {
@@ -18760,7 +18761,7 @@ const VDataTableRows = genericComponent()({
18760
18761
  "item": item
18761
18762
  }, slots);
18762
18763
  }
18763
- return createVNode(Fragment, null, [slots.item ? slots.item({
18764
+ const slotProps = {
18764
18765
  index,
18765
18766
  item,
18766
18767
  columns: columns.value,
@@ -18768,7 +18769,8 @@ const VDataTableRows = genericComponent()({
18768
18769
  toggleExpand,
18769
18770
  isSelected,
18770
18771
  toggleSelect
18771
- }) : createVNode(VDataTableRow, {
18772
+ };
18773
+ return createVNode(Fragment, null, [slots.item ? slots.item(slotProps) : createVNode(VDataTableRow, {
18772
18774
  "key": `item_${item.value}`,
18773
18775
  "onClick": event => {
18774
18776
  if (expandOnClick.value) {
@@ -18779,10 +18781,7 @@ const VDataTableRows = genericComponent()({
18779
18781
  });
18780
18782
  },
18781
18783
  "item": item
18782
- }, slots), isExpanded(item) && slots['expanded-row']?.({
18783
- item,
18784
- columns: columns.value
18785
- })]);
18784
+ }, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
18786
18785
  })]));
18787
18786
  return {};
18788
18787
  }
@@ -19015,7 +19014,8 @@ function useOptions(_ref) {
19015
19014
  page,
19016
19015
  itemsPerPage,
19017
19016
  sortBy,
19018
- groupBy
19017
+ groupBy,
19018
+ search
19019
19019
  } = _ref;
19020
19020
  const vm = getCurrentInstance('VDataTable');
19021
19021
  const options = computed(() => ({
@@ -19032,6 +19032,11 @@ function useOptions(_ref) {
19032
19032
  deep: true
19033
19033
  });
19034
19034
 
19035
+ // Reset page when searching
19036
+ watch(() => search?.value, () => {
19037
+ page.value = 1;
19038
+ });
19039
+
19035
19040
  // Reset page when items-per-page changes
19036
19041
  watch(itemsPerPage, () => {
19037
19042
  page.value = 1;
@@ -19101,9 +19106,10 @@ const VDataTable = genericComponent()({
19101
19106
  items
19102
19107
  } = useDataTableItems(props, columns);
19103
19108
  const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key));
19109
+ const search = toRef(props, 'search');
19104
19110
  const {
19105
19111
  filteredItems
19106
- } = useFilter(props, items, toRef(props, 'search'), {
19112
+ } = useFilter(props, items, search, {
19107
19113
  filterKeys
19108
19114
  });
19109
19115
  const {
@@ -19136,7 +19142,8 @@ const VDataTable = genericComponent()({
19136
19142
  page,
19137
19143
  itemsPerPage,
19138
19144
  sortBy,
19139
- groupBy
19145
+ groupBy,
19146
+ search
19140
19147
  });
19141
19148
  provideDefaults({
19142
19149
  VDataTableRows: {
@@ -19290,9 +19297,10 @@ const VDataTableVirtual = genericComponent()({
19290
19297
  items
19291
19298
  } = useDataTableItems(props, columns);
19292
19299
  const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key));
19300
+ const search = toRef(props, 'search');
19293
19301
  const {
19294
19302
  filteredItems
19295
- } = useFilter(props, items, toRef(props, 'search'), {
19303
+ } = useFilter(props, items, search, {
19296
19304
  filterKeys
19297
19305
  });
19298
19306
  const {
@@ -19328,7 +19336,8 @@ const VDataTableVirtual = genericComponent()({
19328
19336
  sortBy,
19329
19337
  page: ref(1),
19330
19338
  itemsPerPage: ref(-1),
19331
- groupBy
19339
+ groupBy,
19340
+ search
19332
19341
  });
19333
19342
  provideDefaults({
19334
19343
  VDataTableRows: {
@@ -19568,13 +19577,15 @@ const VVirtualScroll = genericComponent()({
19568
19577
  resizeRef.value = rootEl.value;
19569
19578
  });
19570
19579
  const display = useDisplay();
19571
- const sizes = createRange(props.items.length).map(() => itemHeight.value);
19580
+ const sizeMap = new Map();
19581
+ let sizes = createRange(props.items.length).map(() => itemHeight.value);
19572
19582
  const visibleItems = computed(() => {
19573
19583
  return props.visibleItems ? parseInt(props.visibleItems, 10) : Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
19574
19584
  });
19575
19585
  function handleItemResize(index, height) {
19576
19586
  itemHeight.value = Math.max(itemHeight.value, height);
19577
19587
  sizes[index] = height;
19588
+ sizeMap.set(props.items[index], height);
19578
19589
  }
19579
19590
  function calculateOffset(index) {
19580
19591
  return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
@@ -19628,6 +19639,17 @@ const VVirtualScroll = genericComponent()({
19628
19639
  itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / visibleItems.value;
19629
19640
  }
19630
19641
  });
19642
+ watch(() => props.items.length, () => {
19643
+ sizes = createRange(props.items.length).map(() => itemHeight.value);
19644
+ sizeMap.forEach((height, item) => {
19645
+ const index = props.items.indexOf(item);
19646
+ if (index === -1) {
19647
+ sizeMap.delete(item);
19648
+ } else {
19649
+ sizes[index] = height;
19650
+ }
19651
+ });
19652
+ });
19631
19653
  useRender(() => createVNode("div", {
19632
19654
  "ref": rootEl,
19633
19655
  "class": "v-virtual-scroll",
@@ -20006,7 +20028,7 @@ function createVuetify$1() {
20006
20028
  locale
20007
20029
  };
20008
20030
  }
20009
- const version$1 = "3.1.6";
20031
+ const version$1 = "3.1.8";
20010
20032
  createVuetify$1.version = version$1;
20011
20033
 
20012
20034
  // Vue's inject() can only be used in setup
@@ -20018,7 +20040,7 @@ function inject(key) {
20018
20040
  }
20019
20041
  }
20020
20042
 
20021
- const version = "3.1.6";
20043
+ const version = "3.1.8";
20022
20044
 
20023
20045
  const createVuetify = function () {
20024
20046
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};