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
  */
@@ -1675,17 +1675,9 @@
1675
1675
  if (current.value.dark) {
1676
1676
  createCssClass(lines, ':root', ['color-scheme: dark']);
1677
1677
  }
1678
+ createCssClass(lines, ':root', genCssVariables(current.value));
1678
1679
  for (const [themeName, theme] of Object.entries(computedThemes.value)) {
1679
- const {
1680
- variables,
1681
- dark
1682
- } = theme;
1683
- createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${dark ? 'dark' : 'normal'}`, ...genCssVariables(theme), ...Object.keys(variables).map(key => {
1684
- const value = variables[key];
1685
- const color = typeof value === 'string' && value.startsWith('#') ? parseColor$1(value) : undefined;
1686
- const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
1687
- return `--v-${key}: ${rgb ?? value}`;
1688
- })]);
1680
+ createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)]);
1689
1681
  }
1690
1682
  const bgLines = [];
1691
1683
  const fgLines = [];
@@ -1798,6 +1790,11 @@
1798
1790
  variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
1799
1791
  }
1800
1792
  }
1793
+ for (const [key, value] of Object.entries(theme.variables)) {
1794
+ const color = typeof value === 'string' && value.startsWith('#') ? parseColor$1(value) : undefined;
1795
+ const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
1796
+ variables.push(`--v-${key}: ${rgb ?? value}`);
1797
+ }
1801
1798
  return variables;
1802
1799
  }
1803
1800
 
@@ -2027,7 +2024,7 @@
2027
2024
  en: false,
2028
2025
  es: false,
2029
2026
  et: false,
2030
- fa: false,
2027
+ fa: true,
2031
2028
  fi: false,
2032
2029
  fr: false,
2033
2030
  hr: false,
@@ -2188,7 +2185,7 @@
2188
2185
  // Types
2189
2186
 
2190
2187
  function createCssTransition(name) {
2191
- let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top center 0';
2188
+ let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'center center';
2192
2189
  let mode = arguments.length > 2 ? arguments[2] : undefined;
2193
2190
  return genericComponent()({
2194
2191
  name,
@@ -6179,6 +6176,7 @@
6179
6176
  "id": id.value,
6180
6177
  "active": isActive.value || isDirty.value,
6181
6178
  "dirty": isDirty.value || props.dirty,
6179
+ "disabled": isDisabled.value,
6182
6180
  "focused": isFocused.value,
6183
6181
  "error": isValid.value === false
6184
6182
  }), {
@@ -9127,8 +9125,8 @@
9127
9125
  function getClientHeight(isHydrate) {
9128
9126
  return IN_BROWSER && !isHydrate ? window.innerHeight : 0;
9129
9127
  }
9130
- function getPlatform() {
9131
- const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr';
9128
+ function getPlatform(isHydrate) {
9129
+ const userAgent = IN_BROWSER && !isHydrate ? window.navigator.userAgent : 'ssr';
9132
9130
  function match(regexp) {
9133
9131
  return Boolean(userAgent.match(regexp));
9134
9132
  }
@@ -9143,7 +9141,6 @@
9143
9141
  const win = match(/win/i);
9144
9142
  const mac = match(/mac/i);
9145
9143
  const linux = match(/linux/i);
9146
- const ssr = match(/ssr/i);
9147
9144
  return {
9148
9145
  android,
9149
9146
  ios,
@@ -9157,7 +9154,7 @@
9157
9154
  mac,
9158
9155
  linux,
9159
9156
  touch: SUPPORTS_TOUCH,
9160
- ssr
9157
+ ssr: userAgent === 'ssr'
9161
9158
  };
9162
9159
  }
9163
9160
  function createDisplay(options, ssr) {
@@ -9166,13 +9163,17 @@
9166
9163
  mobileBreakpoint
9167
9164
  } = parseDisplayOptions(options);
9168
9165
  const height = vue.ref(getClientHeight(ssr));
9169
- const platform = getPlatform();
9166
+ const platform = vue.shallowRef(getPlatform(ssr));
9170
9167
  const state = vue.reactive({});
9171
9168
  const width = vue.ref(getClientWidth(ssr));
9172
- function update() {
9169
+ function updateSize() {
9173
9170
  height.value = getClientHeight();
9174
9171
  width.value = getClientWidth();
9175
9172
  }
9173
+ function update() {
9174
+ updateSize();
9175
+ platform.value = getPlatform();
9176
+ }
9176
9177
 
9177
9178
  // eslint-disable-next-line max-statements
9178
9179
  vue.watchEffect(() => {
@@ -9184,7 +9185,7 @@
9184
9185
  const xxl = width.value >= thresholds.xxl;
9185
9186
  const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';
9186
9187
  const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];
9187
- const mobile = !platform.ssr ? width.value < breakpointValue : platform.android || platform.ios || platform.opera;
9188
+ const mobile = width.value < breakpointValue;
9188
9189
  state.xs = xs;
9189
9190
  state.sm = sm;
9190
9191
  state.md = md;
@@ -9204,11 +9205,11 @@
9204
9205
  state.width = width.value;
9205
9206
  state.mobile = mobile;
9206
9207
  state.mobileBreakpoint = mobileBreakpoint;
9207
- state.platform = platform;
9208
+ state.platform = platform.value;
9208
9209
  state.thresholds = thresholds;
9209
9210
  });
9210
9211
  if (IN_BROWSER) {
9211
- window.addEventListener('resize', update, {
9212
+ window.addEventListener('resize', updateSize, {
9212
9213
  passive: true
9213
9214
  });
9214
9215
  }
@@ -14221,6 +14222,7 @@
14221
14222
  "id": id.value,
14222
14223
  "active": isDirty.value || isFocused.value,
14223
14224
  "dirty": isDirty.value,
14225
+ "disabled": isDisabled.value,
14224
14226
  "focused": isFocused.value,
14225
14227
  "error": isValid.value === false
14226
14228
  }), {
@@ -16857,19 +16859,17 @@
16857
16859
  "modelValue": isActive.value,
16858
16860
  "onUpdate:modelValue": $event => isActive.value = $event,
16859
16861
  "contentProps": vue.mergeProps({
16860
- style: locationStyles.value
16862
+ class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
16863
+ style: [locationStyles.value, colorStyles.value],
16864
+ onPointerenter,
16865
+ onPointerleave: startTimeout
16861
16866
  }, overlayProps.contentProps),
16862
16867
  "persistent": true,
16863
16868
  "noClickAnimation": true,
16864
16869
  "scrim": false,
16865
16870
  "scrollStrategy": "none"
16866
16871
  }, scopeId), {
16867
- default: () => [vue.createVNode("div", {
16868
- "class": ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
16869
- "style": [colorStyles.value],
16870
- "onPointerenter": onPointerenter,
16871
- "onPointerleave": startTimeout
16872
- }, [genOverlays(false, 'v-snackbar'), slots.default && vue.createVNode("div", {
16872
+ default: () => [genOverlays(false, 'v-snackbar'), slots.default && vue.createVNode("div", {
16873
16873
  "class": "v-snackbar__content",
16874
16874
  "role": "status",
16875
16875
  "aria-live": "polite"
@@ -16884,7 +16884,7 @@
16884
16884
  default: () => [vue.createVNode("div", {
16885
16885
  "class": "v-snackbar__actions"
16886
16886
  }, [slots.actions()])]
16887
- })])],
16887
+ })],
16888
16888
  activator: slots.activator
16889
16889
  });
16890
16890
  });
@@ -17486,6 +17486,7 @@
17486
17486
  }, fieldProps, {
17487
17487
  "active": isActive.value || isDirty.value,
17488
17488
  "dirty": isDirty.value || props.dirty,
17489
+ "disabled": isDisabled.value,
17489
17490
  "focused": isFocused.value,
17490
17491
  "error": isValid.value === false
17491
17492
  }), {
@@ -18764,7 +18765,7 @@
18764
18765
  "item": item
18765
18766
  }, slots);
18766
18767
  }
18767
- return vue.createVNode(vue.Fragment, null, [slots.item ? slots.item({
18768
+ const slotProps = {
18768
18769
  index,
18769
18770
  item,
18770
18771
  columns: columns.value,
@@ -18772,7 +18773,8 @@
18772
18773
  toggleExpand,
18773
18774
  isSelected,
18774
18775
  toggleSelect
18775
- }) : vue.createVNode(VDataTableRow, {
18776
+ };
18777
+ return vue.createVNode(vue.Fragment, null, [slots.item ? slots.item(slotProps) : vue.createVNode(VDataTableRow, {
18776
18778
  "key": `item_${item.value}`,
18777
18779
  "onClick": event => {
18778
18780
  if (expandOnClick.value) {
@@ -18783,10 +18785,7 @@
18783
18785
  });
18784
18786
  },
18785
18787
  "item": item
18786
- }, slots), isExpanded(item) && slots['expanded-row']?.({
18787
- item,
18788
- columns: columns.value
18789
- })]);
18788
+ }, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
18790
18789
  })]));
18791
18790
  return {};
18792
18791
  }
@@ -19019,7 +19018,8 @@
19019
19018
  page,
19020
19019
  itemsPerPage,
19021
19020
  sortBy,
19022
- groupBy
19021
+ groupBy,
19022
+ search
19023
19023
  } = _ref;
19024
19024
  const vm = getCurrentInstance('VDataTable');
19025
19025
  const options = vue.computed(() => ({
@@ -19036,6 +19036,11 @@
19036
19036
  deep: true
19037
19037
  });
19038
19038
 
19039
+ // Reset page when searching
19040
+ vue.watch(() => search?.value, () => {
19041
+ page.value = 1;
19042
+ });
19043
+
19039
19044
  // Reset page when items-per-page changes
19040
19045
  vue.watch(itemsPerPage, () => {
19041
19046
  page.value = 1;
@@ -19105,9 +19110,10 @@
19105
19110
  items
19106
19111
  } = useDataTableItems(props, columns);
19107
19112
  const filterKeys = vue.computed(() => columns.value.map(c => 'columns.' + c.key));
19113
+ const search = vue.toRef(props, 'search');
19108
19114
  const {
19109
19115
  filteredItems
19110
- } = useFilter(props, items, vue.toRef(props, 'search'), {
19116
+ } = useFilter(props, items, search, {
19111
19117
  filterKeys
19112
19118
  });
19113
19119
  const {
@@ -19140,7 +19146,8 @@
19140
19146
  page,
19141
19147
  itemsPerPage,
19142
19148
  sortBy,
19143
- groupBy
19149
+ groupBy,
19150
+ search
19144
19151
  });
19145
19152
  provideDefaults({
19146
19153
  VDataTableRows: {
@@ -19294,9 +19301,10 @@
19294
19301
  items
19295
19302
  } = useDataTableItems(props, columns);
19296
19303
  const filterKeys = vue.computed(() => columns.value.map(c => 'columns.' + c.key));
19304
+ const search = vue.toRef(props, 'search');
19297
19305
  const {
19298
19306
  filteredItems
19299
- } = useFilter(props, items, vue.toRef(props, 'search'), {
19307
+ } = useFilter(props, items, search, {
19300
19308
  filterKeys
19301
19309
  });
19302
19310
  const {
@@ -19332,7 +19340,8 @@
19332
19340
  sortBy,
19333
19341
  page: vue.ref(1),
19334
19342
  itemsPerPage: vue.ref(-1),
19335
- groupBy
19343
+ groupBy,
19344
+ search
19336
19345
  });
19337
19346
  provideDefaults({
19338
19347
  VDataTableRows: {
@@ -19572,13 +19581,15 @@
19572
19581
  resizeRef.value = rootEl.value;
19573
19582
  });
19574
19583
  const display = useDisplay();
19575
- const sizes = createRange(props.items.length).map(() => itemHeight.value);
19584
+ const sizeMap = new Map();
19585
+ let sizes = createRange(props.items.length).map(() => itemHeight.value);
19576
19586
  const visibleItems = vue.computed(() => {
19577
19587
  return props.visibleItems ? parseInt(props.visibleItems, 10) : Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
19578
19588
  });
19579
19589
  function handleItemResize(index, height) {
19580
19590
  itemHeight.value = Math.max(itemHeight.value, height);
19581
19591
  sizes[index] = height;
19592
+ sizeMap.set(props.items[index], height);
19582
19593
  }
19583
19594
  function calculateOffset(index) {
19584
19595
  return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
@@ -19632,6 +19643,17 @@
19632
19643
  itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / visibleItems.value;
19633
19644
  }
19634
19645
  });
19646
+ vue.watch(() => props.items.length, () => {
19647
+ sizes = createRange(props.items.length).map(() => itemHeight.value);
19648
+ sizeMap.forEach((height, item) => {
19649
+ const index = props.items.indexOf(item);
19650
+ if (index === -1) {
19651
+ sizeMap.delete(item);
19652
+ } else {
19653
+ sizes[index] = height;
19654
+ }
19655
+ });
19656
+ });
19635
19657
  useRender(() => vue.createVNode("div", {
19636
19658
  "ref": rootEl,
19637
19659
  "class": "v-virtual-scroll",
@@ -20010,7 +20032,7 @@
20010
20032
  locale
20011
20033
  };
20012
20034
  }
20013
- const version$1 = "3.1.6";
20035
+ const version$1 = "3.1.8";
20014
20036
  createVuetify$1.version = version$1;
20015
20037
 
20016
20038
  // Vue's inject() can only be used in setup
@@ -20022,7 +20044,7 @@
20022
20044
  }
20023
20045
  }
20024
20046
 
20025
- const version = "3.1.6";
20047
+ const version = "3.1.8";
20026
20048
 
20027
20049
  const createVuetify = function () {
20028
20050
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};