vuetify 3.3.0 → 3.3.1

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 (203) hide show
  1. package/dist/json/attributes.json +51 -19
  2. package/dist/json/importMap.json +22 -22
  3. package/dist/json/tags.json +8 -0
  4. package/dist/json/web-types.json +528 -448
  5. package/dist/vuetify-labs.css +84 -83
  6. package/dist/vuetify-labs.d.ts +5572 -10787
  7. package/dist/vuetify-labs.esm.js +173 -29
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +173 -29
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +113 -112
  12. package/dist/vuetify.d.ts +3683 -7528
  13. package/dist/vuetify.esm.js +4 -4
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +4 -4
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +4 -4
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  21. package/lib/components/VAlert/_variables.scss +2 -2
  22. package/lib/components/VAlert/index.d.mts +15 -73
  23. package/lib/components/VApp/index.d.mts +0 -15
  24. package/lib/components/VAppBar/index.d.mts +0 -81
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.mts +117 -171
  27. package/lib/components/VAvatar/_variables.scss +1 -1
  28. package/lib/components/VAvatar/index.d.mts +0 -15
  29. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  30. package/lib/components/VBadge/index.d.mts +0 -19
  31. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  32. package/lib/components/VBanner/index.d.mts +0 -57
  33. package/lib/components/VBottomNavigation/index.d.mts +0 -15
  34. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  35. package/lib/components/VBreadcrumbs/index.d.mts +30 -60
  36. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  37. package/lib/components/VBtn/_variables.scss +15 -15
  38. package/lib/components/VBtn/index.d.mts +0 -27
  39. package/lib/components/VBtnGroup/index.d.mts +0 -15
  40. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  41. package/lib/components/VBtnToggle/index.d.mts +19 -34
  42. package/lib/components/VCard/VCard.mjs.map +1 -1
  43. package/lib/components/VCard/VCard.sass +2 -2
  44. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  45. package/lib/components/VCard/_variables.scss +10 -11
  46. package/lib/components/VCard/index.d.mts +15 -157
  47. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  48. package/lib/components/VCarousel/index.d.mts +79 -237
  49. package/lib/components/VCheckbox/index.d.mts +143 -229
  50. package/lib/components/VChip/VChip.mjs.map +1 -1
  51. package/lib/components/VChip/index.d.mts +19 -82
  52. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  53. package/lib/components/VChipGroup/index.d.mts +19 -58
  54. package/lib/components/VCode/index.d.mts +0 -15
  55. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  56. package/lib/components/VCombobox/index.d.mts +117 -171
  57. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  58. package/lib/components/VCounter/index.d.mts +19 -34
  59. package/lib/components/VDefaultsProvider/index.d.mts +0 -15
  60. package/lib/components/VDialog/index.d.mts +112 -238
  61. package/lib/components/VDivider/index.d.mts +0 -15
  62. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  63. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  64. package/lib/components/VExpansionPanel/index.d.mts +34 -106
  65. package/lib/components/VField/VField.mjs.map +1 -1
  66. package/lib/components/VField/VField.sass +0 -1
  67. package/lib/components/VField/_variables.scss +1 -0
  68. package/lib/components/VField/index.d.mts +34 -49
  69. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  70. package/lib/components/VFileInput/index.d.mts +331 -487
  71. package/lib/components/VFooter/_variables.scss +1 -1
  72. package/lib/components/VFooter/index.d.mts +0 -15
  73. package/lib/components/VForm/VForm.mjs.map +1 -1
  74. package/lib/components/VForm/index.d.mts +19 -146
  75. package/lib/components/VGrid/index.d.mts +0 -60
  76. package/lib/components/VHover/VHover.mjs.map +1 -1
  77. package/lib/components/VHover/index.d.mts +19 -46
  78. package/lib/components/VIcon/index.d.mts +0 -30
  79. package/lib/components/VImg/VImg.mjs.map +1 -1
  80. package/lib/components/VImg/index.d.mts +0 -27
  81. package/lib/components/VInput/VInput.mjs +1 -1
  82. package/lib/components/VInput/VInput.mjs.map +1 -1
  83. package/lib/components/VInput/_variables.scss +1 -1
  84. package/lib/components/VInput/index.d.mts +79 -110
  85. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  86. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  87. package/lib/components/VItemGroup/index.d.mts +38 -120
  88. package/lib/components/VKbd/index.d.mts +0 -15
  89. package/lib/components/VLabel/index.d.mts +0 -15
  90. package/lib/components/VLayout/index.d.mts +0 -30
  91. package/lib/components/VLazy/index.d.mts +0 -15
  92. package/lib/components/VList/VListChildren.mjs.map +1 -1
  93. package/lib/components/VList/VListGroup.mjs.map +1 -1
  94. package/lib/components/VList/VListItem.mjs.map +1 -1
  95. package/lib/components/VList/_variables.scss +6 -6
  96. package/lib/components/VList/index.d.mts +164 -316
  97. package/lib/components/VLocaleProvider/index.d.mts +0 -15
  98. package/lib/components/VMain/index.d.mts +0 -15
  99. package/lib/components/VMenu/index.d.mts +112 -238
  100. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  101. package/lib/components/VMessages/index.d.mts +15 -30
  102. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  103. package/lib/components/VNavigationDrawer/index.d.mts +15 -42
  104. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  105. package/lib/components/VOverlay/index.d.mts +34 -73
  106. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  107. package/lib/components/VPagination/index.d.mts +75 -106
  108. package/lib/components/VParallax/index.d.mts +0 -27
  109. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  110. package/lib/components/VProgressCircular/index.d.mts +19 -42
  111. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  112. package/lib/components/VProgressLinear/index.d.mts +19 -46
  113. package/lib/components/VRadio/index.d.mts +30 -65
  114. package/lib/components/VRadioGroup/index.d.mts +109 -160
  115. package/lib/components/VRangeSlider/index.d.mts +94 -137
  116. package/lib/components/VRating/VRating.mjs.map +1 -1
  117. package/lib/components/VRating/index.d.mts +30 -49
  118. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  119. package/lib/components/VResponsive/index.d.mts +0 -19
  120. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  121. package/lib/components/VSelect/index.d.mts +117 -171
  122. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  123. package/lib/components/VSelectionControl/index.d.mts +22 -22
  124. package/lib/components/VSelectionControlGroup/index.d.mts +0 -15
  125. package/lib/components/VSheet/index.d.mts +0 -15
  126. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  127. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  128. package/lib/components/VSlideGroup/index.d.mts +68 -126
  129. package/lib/components/VSlider/VSlider.css +5 -4
  130. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  131. package/lib/components/VSlider/VSlider.sass +5 -4
  132. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  133. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  134. package/lib/components/VSlider/index.d.mts +94 -137
  135. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  136. package/lib/components/VSnackbar/_variables.scss +1 -1
  137. package/lib/components/VSnackbar/index.d.mts +93 -215
  138. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  139. package/lib/components/VSwitch/index.d.mts +124 -179
  140. package/lib/components/VSystemBar/_variables.scss +2 -2
  141. package/lib/components/VSystemBar/index.d.mts +0 -15
  142. package/lib/components/VTable/VTable.mjs.map +1 -1
  143. package/lib/components/VTable/_variables.scss +1 -1
  144. package/lib/components/VTable/index.d.mts +0 -27
  145. package/lib/components/VTabs/index.d.mts +0 -30
  146. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  147. package/lib/components/VTextField/index.d.mts +361 -497
  148. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  149. package/lib/components/VTextarea/index.d.mts +312 -444
  150. package/lib/components/VThemeProvider/index.d.mts +0 -15
  151. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  152. package/lib/components/VTimeline/index.d.mts +0 -38
  153. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  154. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  155. package/lib/components/VToolbar/_variables.scss +2 -2
  156. package/lib/components/VToolbar/index.d.mts +0 -69
  157. package/lib/components/VTooltip/index.d.mts +112 -238
  158. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  159. package/lib/components/VValidation/index.d.mts +19 -90
  160. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  161. package/lib/components/VVirtualScroll/index.d.mts +17 -17
  162. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  163. package/lib/components/VWindow/index.d.mts +64 -138
  164. package/lib/components/index.d.mts +3269 -7114
  165. package/lib/components/transitions/index.d.mts +0 -240
  166. package/lib/composables/loader.mjs.map +1 -1
  167. package/lib/entry-bundler.mjs +1 -1
  168. package/lib/framework.mjs +1 -1
  169. package/lib/index.d.mts +6 -6
  170. package/lib/labs/VBottomSheet/index.d.mts +34 -73
  171. package/lib/labs/VDataIterator/VDataIterator.mjs +6 -3
  172. package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
  173. package/lib/labs/VDataIterator/composables/items.mjs +7 -1
  174. package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
  175. package/lib/labs/VDataIterator/index.d.mts +115 -105
  176. package/lib/labs/VDataTable/VDataTable.mjs +6 -3
  177. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  178. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  179. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  180. package/lib/labs/VDataTable/VDataTableHeaders.mjs +4 -3
  181. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  182. package/lib/labs/VDataTable/VDataTableRow.mjs +1 -0
  183. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  184. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  185. package/lib/labs/VDataTable/VDataTableServer.mjs +8 -3
  186. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  187. package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -3
  188. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  189. package/lib/labs/VDataTable/composables/items.mjs +7 -1
  190. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  191. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  192. package/lib/labs/VDataTable/composables/select.mjs +124 -8
  193. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  194. package/lib/labs/VDataTable/index.d.mts +1630 -2916
  195. package/lib/labs/VDataTable/types.mjs.map +1 -1
  196. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  197. package/lib/labs/VInfiniteScroll/index.d.mts +60 -91
  198. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  199. package/lib/labs/VSkeletonLoader/index.d.mts +0 -15
  200. package/lib/labs/components.d.mts +1882 -3252
  201. package/lib/styles/settings/_colors.scss +18 -15
  202. package/lib/util/defineComponent.mjs.map +1 -1
  203. package/package.json +4 -3
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.0
2
+ * Vuetify v3.3.1
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -6256,7 +6256,7 @@ const VInput = genericComponent()({
6256
6256
  validate
6257
6257
  }));
6258
6258
  const messages = computed(() => {
6259
- if (!isPristine.value && errorMessages.value.length > 0) {
6259
+ if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {
6260
6260
  return errorMessages.value;
6261
6261
  } else if (props.hint && (props.persistentHint || props.focused)) {
6262
6262
  return props.hint;
@@ -19009,15 +19009,21 @@ const makeDataIteratorItemProps = propsFactory({
19009
19009
  },
19010
19010
  itemValue: {
19011
19011
  type: [String, Array, Function],
19012
- default: 'value'
19012
+ default: 'id'
19013
+ },
19014
+ itemSelectable: {
19015
+ type: [String, Array, Function],
19016
+ default: null
19013
19017
  },
19014
19018
  returnObject: Boolean
19015
19019
  }, 'v-data-iterator-item');
19016
19020
  function transformItem$1(props, item) {
19017
19021
  const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue);
19022
+ const selectable = getPropertyFromItem(item, props.itemSelectable, true);
19018
19023
  return {
19019
19024
  type: 'item',
19020
19025
  value,
19026
+ selectable,
19021
19027
  raw: item
19022
19028
  };
19023
19029
  }
@@ -19449,20 +19455,122 @@ function useGroupedItems(items, groupBy, opened) {
19449
19455
 
19450
19456
  // Types
19451
19457
 
19458
+ const singleSelectStrategy = {
19459
+ showSelectAll: false,
19460
+ allSelected: () => [],
19461
+ select: _ref => {
19462
+ let {
19463
+ items
19464
+ } = _ref;
19465
+ return new Set([items[0]?.value]);
19466
+ },
19467
+ selectAll: _ref2 => {
19468
+ let {
19469
+ selected
19470
+ } = _ref2;
19471
+ return selected;
19472
+ }
19473
+ };
19474
+ const pageSelectStrategy = {
19475
+ showSelectAll: true,
19476
+ allSelected: _ref3 => {
19477
+ let {
19478
+ currentPage
19479
+ } = _ref3;
19480
+ return currentPage;
19481
+ },
19482
+ select: _ref4 => {
19483
+ let {
19484
+ items,
19485
+ value,
19486
+ selected
19487
+ } = _ref4;
19488
+ for (const item of items) {
19489
+ if (value) selected.add(item.value);else selected.delete(item.value);
19490
+ }
19491
+ return selected;
19492
+ },
19493
+ selectAll: _ref5 => {
19494
+ let {
19495
+ value,
19496
+ currentPage,
19497
+ selected
19498
+ } = _ref5;
19499
+ return pageSelectStrategy.select({
19500
+ items: currentPage,
19501
+ value,
19502
+ selected
19503
+ });
19504
+ }
19505
+ };
19506
+ const allSelectStrategy = {
19507
+ showSelectAll: true,
19508
+ allSelected: _ref6 => {
19509
+ let {
19510
+ allItems
19511
+ } = _ref6;
19512
+ return allItems;
19513
+ },
19514
+ select: _ref7 => {
19515
+ let {
19516
+ items,
19517
+ value,
19518
+ selected
19519
+ } = _ref7;
19520
+ for (const item of items) {
19521
+ if (value) selected.add(item.value);else selected.delete(item.value);
19522
+ }
19523
+ return selected;
19524
+ },
19525
+ selectAll: _ref8 => {
19526
+ let {
19527
+ value,
19528
+ allItems,
19529
+ selected
19530
+ } = _ref8;
19531
+ return allSelectStrategy.select({
19532
+ items: allItems,
19533
+ value,
19534
+ selected
19535
+ });
19536
+ }
19537
+ };
19452
19538
  const makeDataTableSelectProps = propsFactory({
19453
19539
  showSelect: Boolean,
19540
+ selectStrategy: {
19541
+ type: [String, Object],
19542
+ default: 'page'
19543
+ },
19454
19544
  modelValue: {
19455
19545
  type: Array,
19456
19546
  default: () => []
19457
19547
  }
19458
19548
  }, 'v-data-table-select');
19459
19549
  const VDataTableSelectionSymbol = Symbol.for('vuetify:data-table-selection');
19460
- function provideSelection(props, allItems) {
19550
+ function provideSelection(props, _ref9) {
19551
+ let {
19552
+ allItems,
19553
+ currentPage
19554
+ } = _ref9;
19461
19555
  const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {
19462
19556
  return new Set(v);
19463
19557
  }, v => {
19464
19558
  return [...v.values()];
19465
19559
  });
19560
+ const allSelectable = computed(() => allItems.value.filter(item => item.selectable));
19561
+ const currentPageSelectable = computed(() => currentPage.value.filter(item => item.selectable));
19562
+ const selectStrategy = computed(() => {
19563
+ if (typeof props.selectStrategy === 'object') return props.selectStrategy;
19564
+ switch (props.selectStrategy) {
19565
+ case 'single':
19566
+ return singleSelectStrategy;
19567
+ case 'all':
19568
+ return allSelectStrategy;
19569
+ case 'page':
19570
+ default:
19571
+ return pageSelectStrategy;
19572
+ }
19573
+ });
19466
19574
  function isSelected(items) {
19467
19575
  return wrapInArray(items).every(item => selected.value.has(item.value));
19468
19576
  }
@@ -19470,20 +19578,33 @@ function provideSelection(props, allItems) {
19470
19578
  return wrapInArray(items).some(item => selected.value.has(item.value));
19471
19579
  }
19472
19580
  function select(items, value) {
19473
- const newSelected = new Set(selected.value);
19474
- for (const item of items) {
19475
- if (value) newSelected.add(item.value);else newSelected.delete(item.value);
19476
- }
19581
+ const newSelected = selectStrategy.value.select({
19582
+ items,
19583
+ value,
19584
+ selected: new Set(selected.value)
19585
+ });
19477
19586
  selected.value = newSelected;
19478
19587
  }
19479
19588
  function toggleSelect(item) {
19480
19589
  select([item], !isSelected([item]));
19481
19590
  }
19482
19591
  function selectAll(value) {
19483
- select(allItems.value, value);
19592
+ const newSelected = selectStrategy.value.selectAll({
19593
+ value,
19594
+ allItems: allSelectable.value,
19595
+ currentPage: currentPageSelectable.value,
19596
+ selected: new Set(selected.value)
19597
+ });
19598
+ selected.value = newSelected;
19484
19599
  }
19485
19600
  const someSelected = computed(() => selected.value.size > 0);
19486
- const allSelected = computed(() => isSelected(allItems.value));
19601
+ const allSelected = computed(() => {
19602
+ const items = selectStrategy.value.allSelected({
19603
+ allItems: allSelectable.value,
19604
+ currentPage: currentPageSelectable.value
19605
+ });
19606
+ return isSelected(items);
19607
+ });
19487
19608
  const data = {
19488
19609
  toggleSelect,
19489
19610
  select,
@@ -19491,7 +19612,8 @@ function provideSelection(props, allItems) {
19491
19612
  isSelected,
19492
19613
  isSomeSelected,
19493
19614
  someSelected,
19494
- allSelected
19615
+ allSelected,
19616
+ showSelectAll: selectStrategy.value.showSelectAll
19495
19617
  };
19496
19618
  provide(VDataTableSelectionSymbol, data);
19497
19619
  return data;
@@ -19642,7 +19764,10 @@ const VDataIterator = genericComponent()({
19642
19764
  select,
19643
19765
  selectAll,
19644
19766
  toggleSelect
19645
- } = provideSelection(props, paginatedItemsWithoutGroups);
19767
+ } = provideSelection(props, {
19768
+ allItems: items,
19769
+ currentPage: paginatedItemsWithoutGroups
19770
+ });
19646
19771
  const {
19647
19772
  isExpanded,
19648
19773
  toggleExpand
@@ -19672,8 +19797,8 @@ const VDataIterator = genericComponent()({
19672
19797
  toggleExpand,
19673
19798
  isGroupOpen,
19674
19799
  toggleGroup,
19675
- items: paginatedItems.value,
19676
- groupedItems: flatItems.value
19800
+ items: paginatedItemsWithoutGroups.value,
19801
+ groupedItems: paginatedItems.value
19677
19802
  }));
19678
19803
  useRender(() => createVNode(props.tag, {
19679
19804
  "class": ['v-data-iterator', props.class],
@@ -20035,7 +20160,8 @@ const VDataTableHeaders = genericComponent()({
20035
20160
  const {
20036
20161
  someSelected,
20037
20162
  allSelected,
20038
- selectAll
20163
+ selectAll,
20164
+ showSelectAll
20039
20165
  } = useSelection();
20040
20166
  const {
20041
20167
  columns,
@@ -20115,11 +20241,11 @@ const VDataTableHeaders = genericComponent()({
20115
20241
  };
20116
20242
  if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
20117
20243
  if (column.key === 'data-table-select') {
20118
- return slots['column.data-table-select']?.(columnSlotProps) ?? createVNode(VCheckboxBtn, {
20244
+ return slots['column.data-table-select']?.(columnSlotProps) ?? (showSelectAll && createVNode(VCheckboxBtn, {
20119
20245
  "modelValue": allSelected.value,
20120
20246
  "indeterminate": someSelected.value && !allSelected.value,
20121
20247
  "onUpdate:modelValue": selectAll
20122
- }, null);
20248
+ }, null));
20123
20249
  }
20124
20250
  return createVNode("div", {
20125
20251
  "class": "v-data-table-header__content"
@@ -20288,6 +20414,7 @@ const VDataTableRow = defineComponent({
20288
20414
  if (slots[slotName]) return slots[slotName](slotProps);
20289
20415
  if (column.key === 'data-table-select') {
20290
20416
  return slots['item.data-table-select']?.(slotProps) ?? createVNode(VCheckboxBtn, {
20417
+ "disabled": !item.selectable,
20291
20418
  "modelValue": isSelected([item]),
20292
20419
  "onClick": withModifiers(() => toggleSelect(item), ['stop'])
20293
20420
  }, null);
@@ -20427,12 +20554,17 @@ const makeDataTableItemProps = propsFactory({
20427
20554
  },
20428
20555
  itemValue: {
20429
20556
  type: [String, Array, Function],
20430
- default: 'value'
20557
+ default: 'id'
20558
+ },
20559
+ itemSelectable: {
20560
+ type: [String, Array, Function],
20561
+ default: null
20431
20562
  },
20432
20563
  returnObject: Boolean
20433
20564
  }, 'v-data-table-item');
20434
20565
  function transformItem(props, item, columns) {
20435
20566
  const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue);
20567
+ const selectable = getPropertyFromItem(item, props.itemSelectable, true);
20436
20568
  const itemColumns = columns.reduce((obj, column) => {
20437
20569
  obj[column.key] = getPropertyFromItem(item, column.value ?? column.key);
20438
20570
  return obj;
@@ -20440,6 +20572,7 @@ function transformItem(props, item, columns) {
20440
20572
  return {
20441
20573
  type: 'item',
20442
20574
  value,
20575
+ selectable,
20443
20576
  columns: itemColumns,
20444
20577
  raw: item
20445
20578
  };
@@ -20576,7 +20709,10 @@ const VDataTable = genericComponent()({
20576
20709
  toggleSelect,
20577
20710
  someSelected,
20578
20711
  allSelected
20579
- } = provideSelection(props, paginatedItemsWithoutGroups);
20712
+ } = provideSelection(props, {
20713
+ allItems: items,
20714
+ currentPage: paginatedItemsWithoutGroups
20715
+ });
20580
20716
  const {
20581
20717
  isExpanded,
20582
20718
  toggleExpand
@@ -20613,8 +20749,8 @@ const VDataTable = genericComponent()({
20613
20749
  toggleExpand,
20614
20750
  isGroupOpen,
20615
20751
  toggleGroup,
20616
- items: paginatedItems.value,
20617
- groupedItems: flatItems.value,
20752
+ items: paginatedItemsWithoutGroups.value,
20753
+ groupedItems: paginatedItems.value,
20618
20754
  columns: columns.value,
20619
20755
  headers: headers.value
20620
20756
  }));
@@ -20793,7 +20929,7 @@ const VDataTableVirtual = genericComponent()({
20793
20929
  const {
20794
20930
  flatItems
20795
20931
  } = useGroupedItems(sortedItems, groupBy, opened);
20796
- const allRows = computed(() => extractRows(flatItems.value));
20932
+ const allItems = computed(() => extractRows(flatItems.value));
20797
20933
  const {
20798
20934
  isSelected,
20799
20935
  select,
@@ -20801,7 +20937,10 @@ const VDataTableVirtual = genericComponent()({
20801
20937
  toggleSelect,
20802
20938
  someSelected,
20803
20939
  allSelected
20804
- } = provideSelection(props, allRows);
20940
+ } = provideSelection(props, {
20941
+ allItems,
20942
+ currentPage: allItems
20943
+ });
20805
20944
  const {
20806
20945
  isExpanded,
20807
20946
  toggleExpand
@@ -20846,7 +20985,7 @@ const VDataTableVirtual = genericComponent()({
20846
20985
  toggleExpand,
20847
20986
  isGroupOpen,
20848
20987
  toggleGroup,
20849
- items: items.value,
20988
+ items: allItems.value,
20850
20989
  groupedItems: flatItems.value,
20851
20990
  columns: columns.value,
20852
20991
  headers: headers.value
@@ -20968,7 +21107,8 @@ const VDataTableServer = genericComponent()({
20968
21107
  const {
20969
21108
  opened,
20970
21109
  isGroupOpen,
20971
- toggleGroup
21110
+ toggleGroup,
21111
+ extractRows
20972
21112
  } = provideGroupBy({
20973
21113
  groupBy,
20974
21114
  sortBy
@@ -20991,11 +21131,15 @@ const VDataTableServer = genericComponent()({
20991
21131
  toggleSelect,
20992
21132
  someSelected,
20993
21133
  allSelected
20994
- } = provideSelection(props, items);
21134
+ } = provideSelection(props, {
21135
+ allItems: items,
21136
+ currentPage: items
21137
+ });
20995
21138
  const {
20996
21139
  isExpanded,
20997
21140
  toggleExpand
20998
21141
  } = provideExpanded(props);
21142
+ const itemsWithoutGroups = computed(() => extractRows(items.value));
20999
21143
  useOptions({
21000
21144
  page,
21001
21145
  itemsPerPage,
@@ -21032,7 +21176,7 @@ const VDataTableServer = genericComponent()({
21032
21176
  toggleExpand,
21033
21177
  isGroupOpen,
21034
21178
  toggleGroup,
21035
- items: items.value,
21179
+ items: itemsWithoutGroups.value,
21036
21180
  groupedItems: flatItems.value,
21037
21181
  columns: columns.value,
21038
21182
  headers: headers.value
@@ -22182,7 +22326,7 @@ function createVuetify$1() {
22182
22326
  date
22183
22327
  };
22184
22328
  }
22185
- const version$1 = "3.3.0";
22329
+ const version$1 = "3.3.1";
22186
22330
  createVuetify$1.version = version$1;
22187
22331
 
22188
22332
  // Vue's inject() can only be used in setup
@@ -22194,7 +22338,7 @@ function inject(key) {
22194
22338
  }
22195
22339
  }
22196
22340
 
22197
- const version = "3.3.0";
22341
+ const version = "3.3.1";
22198
22342
 
22199
22343
  const createVuetify = function () {
22200
22344
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};