@vuetify/nightly 3.7.4-next.2024-11-06 → 3.7.5-dev.2024-12-03

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 (219) hide show
  1. package/dist/json/attributes.json +3034 -3026
  2. package/dist/json/importMap-labs.json +14 -14
  3. package/dist/json/importMap.json +138 -138
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +5538 -5520
  6. package/dist/vuetify-labs.css +25130 -23413
  7. package/dist/vuetify-labs.d.ts +162 -156
  8. package/dist/vuetify-labs.esm.js +89 -71
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +89 -71
  11. package/dist/vuetify-labs.min.css +4 -3
  12. package/dist/vuetify.css +24211 -22491
  13. package/dist/vuetify.d.ts +146 -140
  14. package/dist/vuetify.esm.js +78 -61
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +78 -61
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +4 -3
  19. package/dist/vuetify.min.js +40 -40
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +215 -207
  22. package/lib/components/VApp/VApp.css +15 -16
  23. package/lib/components/VAppBar/VAppBar.css +12 -14
  24. package/lib/components/VAutocomplete/VAutocomplete.css +85 -86
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/index.d.mts +16 -16
  28. package/lib/components/VAvatar/VAvatar.css +106 -108
  29. package/lib/components/VBadge/VBadge.css +77 -73
  30. package/lib/components/VBadge/VBadge.sass +4 -0
  31. package/lib/components/VBanner/VBanner.css +166 -161
  32. package/lib/components/VBottomNavigation/VBottomNavigation.css +63 -64
  33. package/lib/components/VBottomSheet/VBottomSheet.css +31 -34
  34. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +57 -54
  35. package/lib/components/VBtn/VBtn.css +408 -385
  36. package/lib/components/VBtn/VBtn.sass +4 -4
  37. package/lib/components/VBtnGroup/VBtnGroup.css +64 -63
  38. package/lib/components/VBtnToggle/VBtnToggle.css +14 -16
  39. package/lib/components/VCard/VCard.css +302 -294
  40. package/lib/components/VCarousel/VCarousel.css +65 -63
  41. package/lib/components/VCarousel/VCarousel.sass +1 -1
  42. package/lib/components/VCheckbox/VCheckbox.css +5 -7
  43. package/lib/components/VChip/VChip.css +411 -378
  44. package/lib/components/VChip/VChip.mjs +18 -10
  45. package/lib/components/VChip/VChip.mjs.map +1 -1
  46. package/lib/components/VChip/index.d.mts +13 -8
  47. package/lib/components/VChipGroup/VChipGroup.css +18 -19
  48. package/lib/components/VChipGroup/VChipGroup.mjs +2 -0
  49. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  50. package/lib/components/VChipGroup/index.d.mts +5 -0
  51. package/lib/components/VCode/VCode.css +8 -10
  52. package/lib/components/VColorPicker/VColorPicker.css +22 -22
  53. package/lib/components/VColorPicker/VColorPickerCanvas.css +22 -24
  54. package/lib/components/VColorPicker/VColorPickerEdit.css +28 -29
  55. package/lib/components/VColorPicker/VColorPickerPreview.css +67 -69
  56. package/lib/components/VColorPicker/VColorPickerPreview.sass +2 -4
  57. package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
  58. package/lib/components/VCombobox/VCombobox.css +85 -86
  59. package/lib/components/VCombobox/VCombobox.mjs +4 -4
  60. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  61. package/lib/components/VCombobox/index.d.mts +16 -16
  62. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +9 -7
  63. package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
  64. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
  65. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
  66. package/lib/components/VConfirmEdit/index.d.mts +3 -7
  67. package/lib/components/VCounter/VCounter.css +5 -7
  68. package/lib/components/VDataTable/VDataTable.css +186 -189
  69. package/lib/components/VDataTable/VDataTable.sass +10 -20
  70. package/lib/components/VDataTable/VDataTableFooter.css +31 -33
  71. package/lib/components/VDatePicker/VDatePicker.css +6 -8
  72. package/lib/components/VDatePicker/VDatePickerControls.css +56 -54
  73. package/lib/components/VDatePicker/VDatePickerHeader.css +60 -56
  74. package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
  75. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  76. package/lib/components/VDatePicker/VDatePickerMonth.css +55 -51
  77. package/lib/components/VDatePicker/VDatePickerMonths.css +19 -20
  78. package/lib/components/VDatePicker/VDatePickerYears.css +15 -16
  79. package/lib/components/VDatePicker/index.d.mts +5 -5
  80. package/lib/components/VDialog/VDialog.css +95 -95
  81. package/lib/components/VDivider/VDivider.css +52 -52
  82. package/lib/components/VEmptyState/VEmptyState.css +67 -62
  83. package/lib/components/VExpansionPanel/VExpansionPanel.css +209 -203
  84. package/lib/components/VExpansionPanel/VExpansionPanel.sass +25 -27
  85. package/lib/components/VFab/VFab.css +69 -74
  86. package/lib/components/VFab/VFab.sass +4 -5
  87. package/lib/components/VField/VField.css +579 -539
  88. package/lib/components/VField/VField.mjs +2 -1
  89. package/lib/components/VField/VField.mjs.map +1 -1
  90. package/lib/components/VFileInput/VFileInput.css +29 -31
  91. package/lib/components/VFooter/VFooter.css +36 -38
  92. package/lib/components/VGrid/VGrid.css +592 -565
  93. package/lib/components/VIcon/VIcon.css +52 -51
  94. package/lib/components/VImg/VImg.css +51 -50
  95. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +37 -36
  96. package/lib/components/VInput/VInput.css +142 -131
  97. package/lib/components/VItemGroup/VItemGroup.css +5 -7
  98. package/lib/components/VKbd/VKbd.css +11 -13
  99. package/lib/components/VLabel/VLabel.css +15 -16
  100. package/lib/components/VLayout/VLayout.css +8 -10
  101. package/lib/components/VLayout/VLayoutItem.css +7 -8
  102. package/lib/components/VList/VList.css +108 -104
  103. package/lib/components/VList/VList.mjs +3 -2
  104. package/lib/components/VList/VList.mjs.map +1 -1
  105. package/lib/components/VList/VList.sass +1 -1
  106. package/lib/components/VList/VListItem.css +452 -440
  107. package/lib/components/VList/VListItem.mjs +3 -2
  108. package/lib/components/VList/VListItem.mjs.map +1 -1
  109. package/lib/components/VList/VListItem.sass +1 -2
  110. package/lib/components/VList/index.d.mts +10 -10
  111. package/lib/components/VLocaleProvider/VLocaleProvider.css +2 -4
  112. package/lib/components/VMain/VMain.css +30 -32
  113. package/lib/components/VMenu/VMenu.css +19 -21
  114. package/lib/components/VMessages/VMessages.css +15 -17
  115. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +108 -106
  116. package/lib/components/VOtpInput/VOtpInput.css +58 -56
  117. package/lib/components/VOverlay/VOverlay.css +63 -60
  118. package/lib/components/VOverlay/VOverlay.sass +13 -14
  119. package/lib/components/VPagination/VPagination.css +8 -10
  120. package/lib/components/VParallax/VParallax.css +6 -8
  121. package/lib/components/VProgressCircular/VProgressCircular.css +101 -95
  122. package/lib/components/VProgressLinear/VProgressLinear.css +222 -209
  123. package/lib/components/VRadioGroup/VRadioGroup.css +12 -14
  124. package/lib/components/VRating/VRating.css +53 -52
  125. package/lib/components/VResponsive/VResponsive.css +26 -25
  126. package/lib/components/VSelect/VSelect.css +52 -54
  127. package/lib/components/VSelect/VSelect.mjs +3 -3
  128. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  129. package/lib/components/VSelect/index.d.mts +16 -16
  130. package/lib/components/VSelectionControl/VSelectionControl.css +102 -100
  131. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +8 -10
  132. package/lib/components/VSheet/VSheet.css +36 -38
  133. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +224 -225
  134. package/lib/components/VSlideGroup/VSlideGroup.css +55 -53
  135. package/lib/components/VSlider/VSlider.css +57 -53
  136. package/lib/components/VSlider/VSliderThumb.css +153 -142
  137. package/lib/components/VSlider/VSliderTrack.css +174 -155
  138. package/lib/components/VSnackbar/VSnackbar.css +140 -140
  139. package/lib/components/VSpeedDial/VSpeedDial.css +41 -43
  140. package/lib/components/VStepper/VStepper.css +56 -55
  141. package/lib/components/VStepper/VStepper.mjs +5 -4
  142. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  143. package/lib/components/VStepper/VStepperItem.css +115 -112
  144. package/lib/components/VStepper/VStepperItem.mjs +5 -4
  145. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  146. package/lib/components/VStepper/index.d.mts +51 -45
  147. package/lib/components/VSwitch/VSwitch.css +139 -129
  148. package/lib/components/VSystemBar/VSystemBar.css +43 -45
  149. package/lib/components/VTable/VTable.css +141 -140
  150. package/lib/components/VTable/VTable.sass +2 -4
  151. package/lib/components/VTabs/VTab.css +29 -30
  152. package/lib/components/VTabs/VTabs.css +65 -59
  153. package/lib/components/VTextField/VTextField.css +68 -65
  154. package/lib/components/VTextarea/VTextarea.css +39 -47
  155. package/lib/components/VTextarea/VTextarea.sass +2 -4
  156. package/lib/components/VThemeProvider/VThemeProvider.css +3 -5
  157. package/lib/components/VTimeline/VTimeline.css +418 -379
  158. package/lib/components/VToolbar/VToolbar.css +143 -136
  159. package/lib/components/VTooltip/VTooltip.css +21 -25
  160. package/lib/components/VTooltip/VTooltip.sass +6 -8
  161. package/lib/components/VVirtualScroll/VVirtualScroll.css +9 -11
  162. package/lib/components/VWindow/VWindow.css +70 -73
  163. package/lib/components/index.d.mts +98 -92
  164. package/lib/composables/form.mjs +7 -2
  165. package/lib/composables/form.mjs.map +1 -1
  166. package/lib/composables/theme.mjs +4 -4
  167. package/lib/composables/theme.mjs.map +1 -1
  168. package/lib/composables/validation.mjs +10 -12
  169. package/lib/composables/validation.mjs.map +1 -1
  170. package/lib/directives/ripple/VRipple.css +36 -38
  171. package/lib/entry-bundler.mjs +1 -1
  172. package/lib/entry-bundler.mjs.map +1 -1
  173. package/lib/framework.mjs +1 -1
  174. package/lib/framework.mjs.map +1 -1
  175. package/lib/index.d.mts +48 -48
  176. package/lib/labs/VCalendar/VCalendar.css +225 -219
  177. package/lib/labs/VCalendar/VCalendarDay.css +32 -33
  178. package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
  179. package/lib/labs/VCalendar/VCalendarInterval.css +42 -43
  180. package/lib/labs/VCalendar/VCalendarIntervalEvent.css +5 -7
  181. package/lib/labs/VCalendar/VCalendarMonthDay.css +58 -61
  182. package/lib/labs/VCalendar/VCalendarMonthDay.sass +2 -3
  183. package/lib/labs/VDateInput/VDateInput.mjs +1 -1
  184. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  185. package/lib/labs/VNumberInput/VNumberInput.css +38 -40
  186. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -5
  187. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  188. package/lib/labs/VPicker/VPicker.css +57 -53
  189. package/lib/labs/VStepperVertical/index.d.mts +44 -44
  190. package/lib/labs/VTimePicker/VTimePicker.css +7 -9
  191. package/lib/labs/VTimePicker/VTimePickerClock.css +129 -126
  192. package/lib/labs/VTimePicker/VTimePickerControls.css +103 -102
  193. package/lib/labs/VTreeview/VTreeviewItem.css +15 -17
  194. package/lib/labs/VTreeview/VTreeviewItem.mjs +3 -4
  195. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  196. package/lib/labs/VTreeview/VTreeviewItem.sass +1 -2
  197. package/lib/labs/VTreeview/index.d.mts +20 -20
  198. package/lib/labs/components.d.mts +64 -64
  199. package/lib/locale/fr.mjs +1 -1
  200. package/lib/locale/fr.mjs.map +1 -1
  201. package/lib/styles/elements/_global.sass +1 -1
  202. package/lib/styles/generic/_colors.scss +3 -3
  203. package/lib/styles/generic/_layers.scss +1 -13
  204. package/lib/styles/generic/_transitions.scss +32 -32
  205. package/lib/styles/main.css +16139 -14666
  206. package/lib/styles/settings/_utilities.scss +5 -0
  207. package/lib/styles/settings/_variables.scss +2 -1
  208. package/lib/styles/tools/_bootable.sass +3 -0
  209. package/lib/styles/tools/_border.sass +4 -4
  210. package/lib/styles/tools/_display.sass +10 -0
  211. package/lib/styles/tools/_elevation.sass +2 -2
  212. package/lib/styles/tools/_index.sass +2 -0
  213. package/lib/styles/tools/_layer.scss +2 -4
  214. package/lib/styles/tools/_position.sass +2 -2
  215. package/lib/styles/tools/_radius.sass +10 -0
  216. package/lib/styles/tools/_rounded.sass +2 -2
  217. package/lib/styles/tools/_utilities.sass +5 -1
  218. package/lib/styles/utilities/_elevation.scss +1 -1
  219. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.4-next.2024-11-06
2
+ * Vuetify v3.7.5-dev.2024-12-03
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2867,15 +2867,15 @@ function createTheme(options) {
2867
2867
  const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
2868
2868
  for (const key of colors) {
2869
2869
  if (/^on-[a-z]/.test(key)) {
2870
- createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key}))`]);
2870
+ createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
2871
2871
  } else {
2872
- createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key}))`, `color: rgb(var(--v-theme-on-${key}))`]);
2873
- createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key}))`]);
2872
+ createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
2873
+ createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
2874
2874
  createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
2875
2875
  }
2876
2876
  }
2877
2877
  lines.push(...bgLines, ...fgLines);
2878
- return '@layer vuetify.theme {\n' + lines.map(v => ` ${v}`).join('') + '\n}';
2878
+ return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
2879
2879
  });
2880
2880
  function getHead() {
2881
2881
  return {
@@ -6903,8 +6903,13 @@ function createForm(props) {
6903
6903
  resetValidation
6904
6904
  };
6905
6905
  }
6906
- function useForm() {
6907
- return inject$1(FormKey, null);
6906
+ function useForm(props) {
6907
+ const form = inject$1(FormKey, null);
6908
+ return {
6909
+ ...form,
6910
+ isReadonly: computed(() => !!(props?.readonly ?? form?.isReadonly.value)),
6911
+ isDisabled: computed(() => !!(props?.disabled ?? form?.isDisabled.value))
6912
+ };
6908
6913
  }
6909
6914
 
6910
6915
  // Composables
@@ -6945,17 +6950,15 @@ function useValidation(props) {
6945
6950
  let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();
6946
6951
  const model = useProxiedModel(props, 'modelValue');
6947
6952
  const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);
6948
- const form = useForm();
6953
+ const form = useForm(props);
6949
6954
  const internalErrorMessages = ref([]);
6950
6955
  const isPristine = shallowRef(true);
6951
6956
  const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
6952
- const isDisabled = computed(() => !!(props.disabled ?? form?.isDisabled.value));
6953
- const isReadonly = computed(() => !!(props.readonly ?? form?.isReadonly.value));
6954
6957
  const errorMessages = computed(() => {
6955
6958
  return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6956
6959
  });
6957
6960
  const validateOn = computed(() => {
6958
- let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6961
+ let value = (props.validateOn ?? form.validateOn?.value) || 'input';
6959
6962
  if (value === 'lazy') value = 'input lazy';
6960
6963
  if (value === 'eager') value = 'input eager';
6961
6964
  const set = new Set(value?.split(' ') ?? []);
@@ -6981,14 +6984,14 @@ function useValidation(props) {
6981
6984
  return {
6982
6985
  [`${name}--error`]: isValid.value === false,
6983
6986
  [`${name}--dirty`]: isDirty.value,
6984
- [`${name}--disabled`]: isDisabled.value,
6985
- [`${name}--readonly`]: isReadonly.value
6987
+ [`${name}--disabled`]: form.isDisabled.value,
6988
+ [`${name}--readonly`]: form.isReadonly.value
6986
6989
  };
6987
6990
  });
6988
6991
  const vm = getCurrentInstance('validation');
6989
6992
  const uid = computed(() => props.name ?? unref(id));
6990
6993
  onBeforeMount(() => {
6991
- form?.register({
6994
+ form.register?.({
6992
6995
  id: uid.value,
6993
6996
  vm,
6994
6997
  validate,
@@ -6997,13 +7000,13 @@ function useValidation(props) {
6997
7000
  });
6998
7001
  });
6999
7002
  onBeforeUnmount(() => {
7000
- form?.unregister(uid.value);
7003
+ form.unregister?.(uid.value);
7001
7004
  });
7002
7005
  onMounted(async () => {
7003
7006
  if (!validateOn.value.lazy) {
7004
7007
  await validate(!validateOn.value.eager);
7005
7008
  }
7006
- form?.update(uid.value, isValid.value, errorMessages.value);
7009
+ form.update?.(uid.value, isValid.value, errorMessages.value);
7007
7010
  });
7008
7011
  useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
7009
7012
  watch(validationModel, () => {
@@ -7023,7 +7026,7 @@ function useValidation(props) {
7023
7026
  });
7024
7027
  });
7025
7028
  watch([isValid, errorMessages], () => {
7026
- form?.update(uid.value, isValid.value, errorMessages.value);
7029
+ form.update?.(uid.value, isValid.value, errorMessages.value);
7027
7030
  });
7028
7031
  async function reset() {
7029
7032
  model.value = null;
@@ -7064,8 +7067,8 @@ function useValidation(props) {
7064
7067
  return {
7065
7068
  errorMessages,
7066
7069
  isDirty,
7067
- isDisabled,
7068
- isReadonly,
7070
+ isDisabled: form.isDisabled,
7071
+ isReadonly: form.isReadonly,
7069
7072
  isPristine,
7070
7073
  isValid,
7071
7074
  isValidating,
@@ -7984,6 +7987,7 @@ const VSlideGroup = genericComponent()({
7984
7987
 
7985
7988
  const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');
7986
7989
  const makeVChipGroupProps = propsFactory({
7990
+ baseColor: String,
7987
7991
  column: Boolean,
7988
7992
  filter: Boolean,
7989
7993
  valueComparator: {
@@ -8023,6 +8027,7 @@ const VChipGroup = genericComponent()({
8023
8027
  } = useGroup(props, VChipGroupSymbol);
8024
8028
  provideDefaults({
8025
8029
  VChip: {
8030
+ baseColor: toRef(props, 'baseColor'),
8026
8031
  color: toRef(props, 'color'),
8027
8032
  disabled: toRef(props, 'disabled'),
8028
8033
  filter: toRef(props, 'filter'),
@@ -8056,6 +8061,7 @@ const makeVChipProps = propsFactory({
8056
8061
  activeClass: String,
8057
8062
  appendAvatar: String,
8058
8063
  appendIcon: IconValue,
8064
+ baseColor: String,
8059
8065
  closable: Boolean,
8060
8066
  closeIcon: {
8061
8067
  type: IconValue,
@@ -8068,7 +8074,7 @@ const makeVChipProps = propsFactory({
8068
8074
  draggable: Boolean,
8069
8075
  filter: Boolean,
8070
8076
  filterIcon: {
8071
- type: String,
8077
+ type: IconValue,
8072
8078
  default: '$complete'
8073
8079
  },
8074
8080
  label: Boolean,
@@ -8130,11 +8136,6 @@ const VChip = genericComponent()({
8130
8136
  const {
8131
8137
  borderClasses
8132
8138
  } = useBorder(props);
8133
- const {
8134
- colorClasses,
8135
- colorStyles,
8136
- variantClasses
8137
- } = useVariant(props);
8138
8139
  const {
8139
8140
  densityClasses
8140
8141
  } = useDensity(props);
@@ -8164,6 +8165,18 @@ const VChip = genericComponent()({
8164
8165
  emit('click:close', e);
8165
8166
  }
8166
8167
  }));
8168
+ const variantProps = computed(() => {
8169
+ const showColor = !group || group.isSelected.value;
8170
+ return {
8171
+ color: showColor ? props.color ?? props.baseColor : props.baseColor,
8172
+ variant: props.variant
8173
+ };
8174
+ });
8175
+ const {
8176
+ colorClasses,
8177
+ colorStyles,
8178
+ variantClasses
8179
+ } = useVariant(variantProps);
8167
8180
  function onClick(e) {
8168
8181
  emit('click', e);
8169
8182
  if (!isClickable.value) return;
@@ -8184,16 +8197,16 @@ const VChip = genericComponent()({
8184
8197
  const hasFilter = !!(slots.filter || props.filter) && group;
8185
8198
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
8186
8199
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
8187
- const hasColor = !group || group.isSelected.value;
8188
8200
  return isActive.value && withDirectives(createVNode(Tag, mergeProps({
8189
8201
  "class": ['v-chip', {
8190
8202
  'v-chip--disabled': props.disabled,
8191
8203
  'v-chip--label': props.label,
8192
8204
  'v-chip--link': isClickable.value,
8193
8205
  'v-chip--filter': hasFilter,
8194
- 'v-chip--pill': props.pill
8195
- }, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
8196
- "style": [hasColor ? colorStyles.value : undefined, props.style],
8206
+ 'v-chip--pill': props.pill,
8207
+ [`${props.activeClass}`]: props.activeClass && link.isActive?.value
8208
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
8209
+ "style": [colorStyles.value, props.style],
8197
8210
  "disabled": props.disabled || undefined,
8198
8211
  "draggable": props.draggable,
8199
8212
  "tabindex": isClickable.value ? 0 : undefined,
@@ -9165,7 +9178,8 @@ const VListItem = genericComponent()({
9165
9178
  const list = useList();
9166
9179
  const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
9167
9180
  const isLink = computed(() => props.link !== false && link.isLink.value);
9168
- const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || !!list && (root.selectable.value || root.activatable.value || props.value != null)));
9181
+ const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
9182
+ const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
9169
9183
  const roundedProps = computed(() => props.rounded || props.nav);
9170
9184
  const color = computed(() => props.color ?? props.activeColor);
9171
9185
  const variantProps = computed(() => ({
@@ -9256,7 +9270,7 @@ const VListItem = genericComponent()({
9256
9270
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9257
9271
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9258
9272
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9259
- "aria-selected": root.activatable.value ? isActivated.value : isSelected.value,
9273
+ "aria-selected": isSelectable.value ? root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value : undefined,
9260
9274
  "onClick": onClick,
9261
9275
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9262
9276
  }, link.linkProps), {
@@ -9673,8 +9687,8 @@ const makeVListProps = propsFactory({
9673
9687
  activeClass: String,
9674
9688
  bgColor: String,
9675
9689
  disabled: Boolean,
9676
- expandIcon: String,
9677
- collapseIcon: String,
9690
+ expandIcon: IconValue,
9691
+ collapseIcon: IconValue,
9678
9692
  lines: {
9679
9693
  type: [Boolean, String],
9680
9694
  default: 'one'
@@ -11848,7 +11862,8 @@ const VField = genericComponent()({
11848
11862
  "style": textColorStyles.value
11849
11863
  }, {
11850
11864
  default: () => [label()]
11851
- }), createVNode(VFieldLabel, {
11865
+ }), hasLabel.value && createVNode(VFieldLabel, {
11866
+ "key": "label",
11852
11867
  "ref": labelRef,
11853
11868
  "for": id.value
11854
11869
  }, {
@@ -12674,7 +12689,7 @@ const VSelect = genericComponent()({
12674
12689
  const counterValue = computed(() => {
12675
12690
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
12676
12691
  });
12677
- const form = useForm();
12692
+ const form = useForm(props);
12678
12693
  const selectedValues = computed(() => model.value.map(selection => selection.value));
12679
12694
  const isFocused = shallowRef(false);
12680
12695
  const label = computed(() => menu.value ? props.closeText : props.openText);
@@ -12686,7 +12701,7 @@ const VSelect = genericComponent()({
12686
12701
  }
12687
12702
  return items.value;
12688
12703
  });
12689
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
12704
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
12690
12705
  const computedMenuProps = computed(() => {
12691
12706
  return {
12692
12707
  ...props.menuProps,
@@ -12713,7 +12728,7 @@ const VSelect = genericComponent()({
12713
12728
  }
12714
12729
  }
12715
12730
  function onKeydown(e) {
12716
- if (!e.key || props.readonly || form?.isReadonly.value) return;
12731
+ if (!e.key || form.isReadonly.value) return;
12717
12732
  if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
12718
12733
  e.preventDefault();
12719
12734
  }
@@ -13191,7 +13206,7 @@ const VAutocomplete = genericComponent()({
13191
13206
  const counterValue = computed(() => {
13192
13207
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
13193
13208
  });
13194
- const form = useForm();
13209
+ const form = useForm(props);
13195
13210
  const {
13196
13211
  filteredItems,
13197
13212
  getMatches
@@ -13209,7 +13224,7 @@ const VAutocomplete = genericComponent()({
13209
13224
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
13210
13225
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
13211
13226
  });
13212
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
13227
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
13213
13228
  const listRef = ref();
13214
13229
  const listEvents = useScrolling(listRef, vTextFieldRef);
13215
13230
  function onClear(e) {
@@ -13236,7 +13251,7 @@ const VAutocomplete = genericComponent()({
13236
13251
  }
13237
13252
  }
13238
13253
  function onKeydown(e) {
13239
- if (props.readonly || form?.isReadonly.value) return;
13254
+ if (form.isReadonly.value) return;
13240
13255
  const selectionStart = vTextFieldRef.value.selectionStart;
13241
13256
  const length = model.value.length;
13242
13257
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -13413,7 +13428,7 @@ const VAutocomplete = genericComponent()({
13413
13428
  'v-autocomplete--selecting-index': selectionIndex.value > -1
13414
13429
  }, props.class],
13415
13430
  "style": props.style,
13416
- "readonly": props.readonly,
13431
+ "readonly": form.isReadonly.value,
13417
13432
  "placeholder": isDirty ? undefined : props.placeholder,
13418
13433
  "onClick:clear": onClear,
13419
13434
  "onMousedown:control": onMousedownControl,
@@ -17032,7 +17047,7 @@ const VCombobox = genericComponent()({
17032
17047
  const transformed = transformOut(v);
17033
17048
  return props.multiple ? transformed : transformed[0] ?? null;
17034
17049
  });
17035
- const form = useForm();
17050
+ const form = useForm(props);
17036
17051
  const hasChips = computed(() => !!(props.chips || slots.chip));
17037
17052
  const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);
17038
17053
  const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
@@ -17092,7 +17107,7 @@ const VCombobox = genericComponent()({
17092
17107
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
17093
17108
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
17094
17109
  });
17095
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
17110
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
17096
17111
  const listRef = ref();
17097
17112
  const listEvents = useScrolling(listRef, vTextFieldRef);
17098
17113
  function onClear(e) {
@@ -17120,7 +17135,7 @@ const VCombobox = genericComponent()({
17120
17135
  }
17121
17136
  // eslint-disable-next-line complexity
17122
17137
  function onKeydown(e) {
17123
- if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
17138
+ if (isComposingIgnoreKey(e) || form.isReadonly.value) return;
17124
17139
  const selectionStart = vTextFieldRef.value.selectionStart;
17125
17140
  const length = model.value.length;
17126
17141
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -17292,7 +17307,7 @@ const VCombobox = genericComponent()({
17292
17307
  [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
17293
17308
  }, props.class],
17294
17309
  "style": props.style,
17295
- "readonly": props.readonly,
17310
+ "readonly": form.isReadonly.value,
17296
17311
  "placeholder": isDirty ? undefined : props.placeholder,
17297
17312
  "onClick:clear": onClear,
17298
17313
  "onMousedown:control": onMousedownControl,
@@ -18336,21 +18351,23 @@ const VConfirmEdit = genericComponent()({
18336
18351
  internalModel.value = structuredClone(toRaw(model.value));
18337
18352
  emit('cancel');
18338
18353
  }
18339
- let actionsUsed = false;
18340
- useRender(() => {
18341
- const actions = createVNode(Fragment, null, [createVNode(VBtn, {
18354
+ function actions(actionsProps) {
18355
+ return createVNode(Fragment, null, [createVNode(VBtn, mergeProps({
18342
18356
  "disabled": isPristine.value,
18343
18357
  "variant": "text",
18344
18358
  "color": props.color,
18345
18359
  "onClick": cancel,
18346
18360
  "text": t(props.cancelText)
18347
- }, null), createVNode(VBtn, {
18361
+ }, actionsProps), null), createVNode(VBtn, mergeProps({
18348
18362
  "disabled": isPristine.value,
18349
18363
  "variant": "text",
18350
18364
  "color": props.color,
18351
18365
  "onClick": save,
18352
18366
  "text": t(props.okText)
18353
- }, null)]);
18367
+ }, actionsProps), null)]);
18368
+ }
18369
+ let actionsUsed = false;
18370
+ useRender(() => {
18354
18371
  return createVNode(Fragment, null, [slots.default?.({
18355
18372
  model: internalModel,
18356
18373
  save,
@@ -18360,7 +18377,7 @@ const VConfirmEdit = genericComponent()({
18360
18377
  actionsUsed = true;
18361
18378
  return actions;
18362
18379
  }
18363
- }), !actionsUsed && actions]);
18380
+ }), !actionsUsed && actions()]);
18364
18381
  });
18365
18382
  return {
18366
18383
  save,
@@ -21650,7 +21667,7 @@ const VDatePickerControls = genericComponent()({
21650
21667
  // Types
21651
21668
 
21652
21669
  const makeVDatePickerHeaderProps = propsFactory({
21653
- appendIcon: String,
21670
+ appendIcon: IconValue,
21654
21671
  color: String,
21655
21672
  header: String,
21656
21673
  transition: String,
@@ -26306,20 +26323,20 @@ const makeStepperItemProps = propsFactory({
26306
26323
  subtitle: String,
26307
26324
  complete: Boolean,
26308
26325
  completeIcon: {
26309
- type: String,
26326
+ type: IconValue,
26310
26327
  default: '$complete'
26311
26328
  },
26312
26329
  editable: Boolean,
26313
26330
  editIcon: {
26314
- type: String,
26331
+ type: IconValue,
26315
26332
  default: '$edit'
26316
26333
  },
26317
26334
  error: Boolean,
26318
26335
  errorIcon: {
26319
- type: String,
26336
+ type: IconValue,
26320
26337
  default: '$error'
26321
26338
  },
26322
- icon: String,
26339
+ icon: IconValue,
26323
26340
  ripple: {
26324
26341
  type: [Boolean, Object],
26325
26342
  default: true
@@ -26480,10 +26497,10 @@ const VStepperWindowItem = genericComponent()({
26480
26497
  const makeStepperProps = propsFactory({
26481
26498
  altLabels: Boolean,
26482
26499
  bgColor: String,
26483
- completeIcon: String,
26484
- editIcon: String,
26500
+ completeIcon: IconValue,
26501
+ editIcon: IconValue,
26485
26502
  editable: Boolean,
26486
- errorIcon: String,
26503
+ errorIcon: IconValue,
26487
26504
  hideActions: Boolean,
26488
26505
  items: {
26489
26506
  type: Array,
@@ -28260,7 +28277,7 @@ function createVuetify$1() {
28260
28277
  goTo
28261
28278
  };
28262
28279
  }
28263
- const version$1 = "3.7.4-next.2024-11-06";
28280
+ const version$1 = "3.7.5-dev.2024-12-03";
28264
28281
  createVuetify$1.version = version$1;
28265
28282
 
28266
28283
  // Vue's inject() can only be used in setup
@@ -28285,7 +28302,7 @@ const createVuetify = function () {
28285
28302
  ...options
28286
28303
  });
28287
28304
  };
28288
- const version = "3.7.4-next.2024-11-06";
28305
+ const version = "3.7.5-dev.2024-12-03";
28289
28306
  createVuetify.version = version;
28290
28307
 
28291
28308
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };