@vuetify/nightly 3.8.1-next.2025-04-15 → 3.8.2-master.2025-04-17

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 (217) hide show
  1. package/CHANGELOG.md +5 -27
  2. package/dist/json/attributes.json +3031 -3031
  3. package/dist/json/importMap-labs.json +36 -36
  4. package/dist/json/importMap.json +150 -150
  5. package/dist/json/web-types.json +5537 -5577
  6. package/dist/vuetify-labs.cjs +197 -346
  7. package/dist/vuetify-labs.css +25469 -23739
  8. package/dist/vuetify-labs.d.ts +677 -274
  9. package/dist/vuetify-labs.esm.js +198 -347
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +197 -346
  12. package/dist/vuetify-labs.min.css +4 -3
  13. package/dist/vuetify.cjs +173 -328
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +24041 -22315
  16. package/dist/vuetify.d.ts +680 -277
  17. package/dist/vuetify.esm.js +174 -329
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +173 -328
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +4 -3
  22. package/dist/vuetify.min.js +1161 -1152
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/blueprints/md3.js +18 -5
  25. package/lib/blueprints/md3.js.map +1 -1
  26. package/lib/components/VAlert/VAlert.css +215 -207
  27. package/lib/components/VApp/VApp.css +15 -16
  28. package/lib/components/VAppBar/VAppBar.css +12 -14
  29. package/lib/components/VAutocomplete/VAutocomplete.css +84 -85
  30. package/lib/components/VAutocomplete/VAutocomplete.d.ts +9 -18
  31. package/lib/components/VAutocomplete/VAutocomplete.js +3 -6
  32. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  33. package/lib/components/VAvatar/VAvatar.css +106 -108
  34. package/lib/components/VBadge/VBadge.css +77 -77
  35. package/lib/components/VBanner/VBanner.css +166 -161
  36. package/lib/components/VBottomNavigation/VBottomNavigation.css +64 -65
  37. package/lib/components/VBottomSheet/VBottomSheet.css +31 -34
  38. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +57 -54
  39. package/lib/components/VBtn/VBtn.css +408 -385
  40. package/lib/components/VBtn/VBtn.sass +4 -4
  41. package/lib/components/VBtnGroup/VBtnGroup.css +64 -63
  42. package/lib/components/VBtnToggle/VBtnToggle.css +14 -16
  43. package/lib/components/VCard/VCard.css +302 -294
  44. package/lib/components/VCarousel/VCarousel.css +65 -63
  45. package/lib/components/VCarousel/VCarousel.sass +1 -1
  46. package/lib/components/VCheckbox/VCheckbox.css +5 -7
  47. package/lib/components/VChip/VChip.css +411 -378
  48. package/lib/components/VChipGroup/VChipGroup.css +18 -19
  49. package/lib/components/VCode/VCode.css +11 -10
  50. package/lib/components/VCode/VCode.sass +3 -0
  51. package/lib/components/VColorPicker/VColorPicker.css +23 -23
  52. package/lib/components/VColorPicker/VColorPickerCanvas.css +22 -24
  53. package/lib/components/VColorPicker/VColorPickerEdit.css +28 -29
  54. package/lib/components/VColorPicker/VColorPickerPreview.css +67 -69
  55. package/lib/components/VColorPicker/VColorPickerPreview.sass +2 -4
  56. package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
  57. package/lib/components/VCombobox/VCombobox.css +84 -85
  58. package/lib/components/VCombobox/VCombobox.d.ts +9 -18
  59. package/lib/components/VCombobox/VCombobox.js +3 -6
  60. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  61. package/lib/components/VCounter/VCounter.css +5 -7
  62. package/lib/components/VDataTable/VDataTable.css +186 -189
  63. package/lib/components/VDataTable/VDataTable.sass +11 -21
  64. package/lib/components/VDataTable/VDataTableFooter.css +31 -33
  65. package/lib/components/VDatePicker/VDatePicker.css +6 -8
  66. package/lib/components/VDatePicker/VDatePicker.d.ts +7 -7
  67. package/lib/components/VDatePicker/VDatePickerControls.css +57 -55
  68. package/lib/components/VDatePicker/VDatePickerHeader.css +60 -56
  69. package/lib/components/VDatePicker/VDatePickerMonth.css +55 -51
  70. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +7 -7
  71. package/lib/components/VDatePicker/VDatePickerMonths.css +19 -20
  72. package/lib/components/VDatePicker/VDatePickerYears.css +15 -16
  73. package/lib/components/VDialog/VDialog.css +98 -98
  74. package/lib/components/VDivider/VDivider.css +52 -52
  75. package/lib/components/VEmptyState/VEmptyState.css +67 -62
  76. package/lib/components/VExpansionPanel/VExpansionPanel.css +209 -203
  77. package/lib/components/VExpansionPanel/VExpansionPanel.sass +25 -27
  78. package/lib/components/VFab/VFab.css +73 -78
  79. package/lib/components/VFab/VFab.sass +4 -5
  80. package/lib/components/VField/VField.css +589 -548
  81. package/lib/components/VFileInput/VFileInput.css +28 -30
  82. package/lib/components/VFooter/VFooter.css +36 -38
  83. package/lib/components/VForm/VForm.d.ts +531 -111
  84. package/lib/components/VForm/VForm.js +1 -11
  85. package/lib/components/VForm/VForm.js.map +1 -1
  86. package/lib/components/VGrid/VGrid.css +592 -565
  87. package/lib/components/VIcon/VIcon.css +53 -52
  88. package/lib/components/VImg/VImg.css +51 -50
  89. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +37 -36
  90. package/lib/components/VInput/VInput.css +147 -136
  91. package/lib/components/VItemGroup/VItemGroup.css +5 -7
  92. package/lib/components/VKbd/VKbd.css +11 -13
  93. package/lib/components/VLabel/VLabel.css +15 -16
  94. package/lib/components/VLayout/VLayout.css +8 -10
  95. package/lib/components/VLayout/VLayoutItem.css +7 -8
  96. package/lib/components/VList/VList.css +108 -104
  97. package/lib/components/VList/VList.sass +1 -1
  98. package/lib/components/VList/VListItem.css +452 -440
  99. package/lib/components/VList/VListItem.sass +1 -2
  100. package/lib/components/VLocaleProvider/VLocaleProvider.css +2 -4
  101. package/lib/components/VMain/VMain.css +30 -32
  102. package/lib/components/VMenu/VMenu.css +19 -21
  103. package/lib/components/VMessages/VMessages.css +15 -17
  104. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +104 -102
  105. package/lib/components/VNumberInput/VNumberInput.css +46 -48
  106. package/lib/components/VOtpInput/VOtpInput.css +58 -56
  107. package/lib/components/VOverlay/VOverlay.css +64 -61
  108. package/lib/components/VOverlay/VOverlay.sass +13 -14
  109. package/lib/components/VPagination/VPagination.css +8 -10
  110. package/lib/components/VParallax/VParallax.css +6 -8
  111. package/lib/components/VProgressCircular/VProgressCircular.css +101 -95
  112. package/lib/components/VProgressLinear/VProgressLinear.css +222 -209
  113. package/lib/components/VRadioGroup/VRadioGroup.css +12 -14
  114. package/lib/components/VRating/VRating.css +53 -52
  115. package/lib/components/VResponsive/VResponsive.css +26 -25
  116. package/lib/components/VSelect/VSelect.css +51 -53
  117. package/lib/components/VSelect/VSelect.d.ts +9 -18
  118. package/lib/components/VSelect/VSelect.js +3 -6
  119. package/lib/components/VSelect/VSelect.js.map +1 -1
  120. package/lib/components/VSelectionControl/VSelectionControl.css +100 -98
  121. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +8 -10
  122. package/lib/components/VSheet/VSheet.css +36 -38
  123. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +224 -225
  124. package/lib/components/VSlideGroup/VSlideGroup.css +55 -53
  125. package/lib/components/VSlider/VSlider.css +57 -53
  126. package/lib/components/VSlider/VSliderThumb.css +153 -142
  127. package/lib/components/VSlider/VSliderTrack.css +174 -155
  128. package/lib/components/VSnackbar/VSnackbar.css +140 -140
  129. package/lib/components/VSpeedDial/VSpeedDial.css +41 -43
  130. package/lib/components/VStepper/VStepper.css +56 -55
  131. package/lib/components/VStepper/VStepperItem.css +115 -112
  132. package/lib/components/VSwitch/VSwitch.css +139 -129
  133. package/lib/components/VSystemBar/VSystemBar.css +43 -45
  134. package/lib/components/VTable/VTable.css +141 -140
  135. package/lib/components/VTable/VTable.sass +2 -4
  136. package/lib/components/VTabs/VTab.css +29 -30
  137. package/lib/components/VTabs/VTabs.css +65 -59
  138. package/lib/components/VTextField/VTextField.css +85 -77
  139. package/lib/components/VTextarea/VTextarea.css +40 -48
  140. package/lib/components/VTextarea/VTextarea.sass +2 -4
  141. package/lib/components/VThemeProvider/VThemeProvider.css +3 -5
  142. package/lib/components/VTimeline/VTimeline.css +427 -388
  143. package/lib/components/VToolbar/VToolbar.css +144 -137
  144. package/lib/components/VTooltip/VTooltip.css +23 -27
  145. package/lib/components/VTooltip/VTooltip.sass +6 -8
  146. package/lib/components/VVirtualScroll/VVirtualScroll.css +9 -11
  147. package/lib/components/VWindow/VWindow.css +70 -73
  148. package/lib/composables/calendar.d.ts +2 -2
  149. package/lib/composables/calendar.js +5 -7
  150. package/lib/composables/calendar.js.map +1 -1
  151. package/lib/composables/date/DateAdapter.d.ts +1 -0
  152. package/lib/composables/date/DateAdapter.js.map +1 -1
  153. package/lib/composables/date/adapters/vuetify.d.ts +1 -0
  154. package/lib/composables/date/adapters/vuetify.js +101 -160
  155. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  156. package/lib/composables/date/date.d.ts +1 -1
  157. package/lib/composables/date/date.js +0 -20
  158. package/lib/composables/date/date.js.map +1 -1
  159. package/lib/composables/filter.js +2 -1
  160. package/lib/composables/filter.js.map +1 -1
  161. package/lib/composables/theme.d.ts +1 -6
  162. package/lib/composables/theme.js +30 -98
  163. package/lib/composables/theme.js.map +1 -1
  164. package/lib/composables/validation.js +5 -0
  165. package/lib/composables/validation.js.map +1 -1
  166. package/lib/composables/virtual.js +1 -6
  167. package/lib/composables/virtual.js.map +1 -1
  168. package/lib/directives/ripple/VRipple.css +36 -38
  169. package/lib/entry-bundler.d.ts +1 -0
  170. package/lib/entry-bundler.js +1 -1
  171. package/lib/entry-bundler.js.map +1 -1
  172. package/lib/framework.d.ts +64 -66
  173. package/lib/framework.js +1 -1
  174. package/lib/framework.js.map +1 -1
  175. package/lib/labs/VCalendar/VCalendar.css +225 -219
  176. package/lib/labs/VCalendar/VCalendar.d.ts +7 -7
  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/VCalendarInterval.js +25 -19
  181. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  182. package/lib/labs/VCalendar/VCalendarIntervalEvent.css +5 -7
  183. package/lib/labs/VCalendar/VCalendarMonthDay.css +58 -61
  184. package/lib/labs/VCalendar/VCalendarMonthDay.sass +2 -3
  185. package/lib/labs/VDateInput/VDateInput.d.ts +7 -7
  186. package/lib/labs/VFileUpload/VFileUpload.css +77 -74
  187. package/lib/labs/VIconBtn/VIconBtn.css +164 -162
  188. package/lib/labs/VPicker/VPicker.css +63 -58
  189. package/lib/labs/VTimePicker/VTimePicker.css +7 -9
  190. package/lib/labs/VTimePicker/VTimePickerClock.css +129 -126
  191. package/lib/labs/VTimePicker/VTimePickerControls.css +103 -102
  192. package/lib/labs/VTreeview/VTreeviewItem.css +28 -30
  193. package/lib/labs/VTreeview/VTreeviewItem.sass +2 -3
  194. package/lib/labs/entry-bundler.d.ts +1 -0
  195. package/lib/styles/elements/_global.sass +1 -1
  196. package/lib/styles/generic/_colors.scss +3 -3
  197. package/lib/styles/generic/_layers.scss +1 -13
  198. package/lib/styles/generic/_reset.scss +1 -0
  199. package/lib/styles/generic/_transitions.scss +32 -32
  200. package/lib/styles/main.css +16142 -14667
  201. package/lib/styles/settings/_utilities.scss +5 -0
  202. package/lib/styles/settings/_variables.scss +2 -1
  203. package/lib/styles/tools/_bootable.sass +3 -0
  204. package/lib/styles/tools/_border.sass +4 -4
  205. package/lib/styles/tools/_display.sass +10 -0
  206. package/lib/styles/tools/_elevation.sass +2 -2
  207. package/lib/styles/tools/_index.sass +2 -0
  208. package/lib/styles/tools/_layer.scss +2 -4
  209. package/lib/styles/tools/_position.sass +2 -2
  210. package/lib/styles/tools/_radius.sass +10 -0
  211. package/lib/styles/tools/_rounded.sass +2 -2
  212. package/lib/styles/tools/_utilities.sass +5 -1
  213. package/lib/styles/utilities/_elevation.scss +1 -1
  214. package/lib/util/globals.d.ts +0 -1
  215. package/lib/util/globals.js +0 -1
  216. package/lib/util/globals.js.map +1 -1
  217. package/package.json +46 -45
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.1-next.2025-04-15
2
+ * Vuetify v3.8.2-master.2025-04-17
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -85,7 +85,6 @@
85
85
  const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
86
86
  const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
87
87
  const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
88
- const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
89
88
 
90
89
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
91
90
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -2285,8 +2284,7 @@
2285
2284
  }, 'theme');
2286
2285
  function genDefaults$2() {
2287
2286
  return {
2288
- defaultTheme: 'system',
2289
- prefix: 'v-',
2287
+ defaultTheme: 'light',
2290
2288
  variations: {
2291
2289
  colors: [],
2292
2290
  lighten: 0,
@@ -2337,8 +2335,8 @@
2337
2335
  surface: '#212121',
2338
2336
  'surface-bright': '#ccbfd6',
2339
2337
  'surface-light': '#424242',
2340
- 'surface-variant': '#a3a3a3',
2341
- 'on-surface-variant': '#424242',
2338
+ 'surface-variant': '#c8c8c8',
2339
+ 'on-surface-variant': '#000000',
2342
2340
  primary: '#2196F3',
2343
2341
  'primary-darken-1': '#277CC1',
2344
2342
  secondary: '#54B6B2',
@@ -2368,10 +2366,7 @@
2368
2366
  }
2369
2367
  }
2370
2368
  },
2371
- stylesheetId: 'vuetify-theme-stylesheet',
2372
- scoped: false,
2373
- unimportant: true,
2374
- utilities: true
2369
+ stylesheetId: 'vuetify-theme-stylesheet'
2375
2370
  };
2376
2371
  }
2377
2372
  function parseThemeOptions() {
@@ -2394,21 +2389,21 @@
2394
2389
  function createCssClass(lines, selector, content, scope) {
2395
2390
  lines.push(`${getScopedSelector(selector, scope)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
2396
2391
  }
2397
- function genCssVariables(theme, prefix) {
2392
+ function genCssVariables(theme) {
2398
2393
  const lightOverlay = theme.dark ? 2 : 1;
2399
2394
  const darkOverlay = theme.dark ? 1 : 2;
2400
2395
  const variables = [];
2401
2396
  for (const [key, value] of Object.entries(theme.colors)) {
2402
2397
  const rgb = parseColor(value);
2403
- variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
2398
+ variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
2404
2399
  if (!key.startsWith('on-')) {
2405
- variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
2400
+ variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
2406
2401
  }
2407
2402
  }
2408
2403
  for (const [key, value] of Object.entries(theme.variables)) {
2409
2404
  const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
2410
2405
  const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
2411
- variables.push(`--${prefix}${key}: ${rgb ?? value}`);
2406
+ variables.push(`--v-${key}: ${rgb ?? value}`);
2412
2407
  }
2413
2408
  return variables;
2414
2409
  }
@@ -2452,8 +2447,7 @@
2452
2447
  const scopeSelector = `:where(${scope})`;
2453
2448
  return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;
2454
2449
  }
2455
- function upsertStyles(id, cspNonce, styles) {
2456
- const styleEl = getOrCreateStyleElement(id, cspNonce);
2450
+ function upsertStyles(styleEl, styles) {
2457
2451
  if (!styleEl) return;
2458
2452
  styleEl.innerHTML = styles;
2459
2453
  }
@@ -2473,17 +2467,8 @@
2473
2467
  // Composables
2474
2468
  function createTheme(options) {
2475
2469
  const parsedOptions = parseThemeOptions(options);
2476
- const _name = vue.shallowRef(parsedOptions.defaultTheme);
2470
+ const name = vue.shallowRef(parsedOptions.defaultTheme);
2477
2471
  const themes = vue.ref(parsedOptions.themes);
2478
- const systemName = vue.shallowRef('light');
2479
- const name = vue.computed({
2480
- get() {
2481
- return _name.value === 'system' ? systemName.value : _name.value;
2482
- },
2483
- set(val) {
2484
- _name.value = val;
2485
- }
2486
- });
2487
2472
  const computedThemes = vue.computed(() => {
2488
2473
  const acc = {};
2489
2474
  for (const [name, original] of Object.entries(themes.value)) {
@@ -2504,49 +2489,28 @@
2504
2489
  const current = vue.computed(() => computedThemes.value[name.value]);
2505
2490
  const styles = vue.computed(() => {
2506
2491
  const lines = [];
2507
- const important = parsedOptions.unimportant ? '' : ' !important';
2508
- const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';
2509
2492
  if (current.value?.dark) {
2510
2493
  createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);
2511
2494
  }
2512
- createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope);
2495
+ createCssClass(lines, ':root', genCssVariables(current.value), parsedOptions.scope);
2513
2496
  for (const [themeName, theme] of Object.entries(computedThemes.value)) {
2514
- createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme, parsedOptions.prefix)], parsedOptions.scope);
2515
- }
2516
- if (parsedOptions.utilities) {
2517
- const bgLines = [];
2518
- const fgLines = [];
2519
- const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
2520
- for (const key of colors) {
2521
- if (key.startsWith('on-')) {
2522
- createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
2523
- } else {
2524
- createCssClass(bgLines, `.${scoped}bg-${key}`, [`--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`, `color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))${important}`], parsedOptions.scope);
2525
- createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);
2526
- createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
2527
- }
2497
+ createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)], parsedOptions.scope);
2498
+ }
2499
+ const bgLines = [];
2500
+ const fgLines = [];
2501
+ const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
2502
+ for (const key of colors) {
2503
+ if (key.startsWith('on-')) {
2504
+ createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
2505
+ } else {
2506
+ 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`], parsedOptions.scope);
2507
+ createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`], parsedOptions.scope);
2508
+ createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`], parsedOptions.scope);
2528
2509
  }
2529
- lines.push(...bgLines, ...fgLines);
2530
2510
  }
2531
- return '@layer vuetify.theme {\n' + lines.map(v => ` ${v}`).join('') + '\n}';
2511
+ lines.push(...bgLines, ...fgLines);
2512
+ return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
2532
2513
  });
2533
- const themeClasses = vue.computed(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);
2534
- const themeNames = vue.computed(() => Object.keys(computedThemes.value));
2535
- if (SUPPORTS_MATCH_MEDIA) {
2536
- const media = window.matchMedia('(prefers-color-scheme: dark)');
2537
- function updateSystemName() {
2538
- systemName.value = media.matches ? 'dark' : 'light';
2539
- }
2540
- updateSystemName();
2541
- media.addEventListener('change', updateSystemName, {
2542
- passive: true
2543
- });
2544
- if (vue.getCurrentScope()) {
2545
- vue.onScopeDispose(() => {
2546
- media.removeEventListener('change', updateSystemName);
2547
- });
2548
- }
2549
- }
2550
2514
  function install(app) {
2551
2515
  if (parsedOptions.isDisabled) return;
2552
2516
  const head = app._context.provides.usehead;
@@ -2584,55 +2548,22 @@
2584
2548
  updateStyles();
2585
2549
  }
2586
2550
  function updateStyles() {
2587
- upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);
2551
+ upsertStyles(getOrCreateStyleElement(parsedOptions.stylesheetId, parsedOptions.cspNonce), styles.value);
2588
2552
  }
2589
2553
  }
2590
2554
  }
2591
- function change(themeName) {
2592
- if (!themeNames.value.includes(themeName)) {
2593
- consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
2594
- return;
2595
- }
2596
- name.value = themeName;
2597
- }
2598
- function cycle() {
2599
- let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;
2600
- const currentIndex = themeArray.indexOf(name.value);
2601
- const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;
2602
- change(themeArray[nextIndex]);
2603
- }
2604
- function toggle() {
2605
- let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];
2606
- cycle(themeArray);
2607
- }
2608
- const globalName = new Proxy(name, {
2609
- get(target, prop) {
2610
- return target[prop];
2611
- },
2612
- set(target, prop, val) {
2613
- if (prop === 'value') {
2614
- deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);
2615
- }
2616
- // @ts-expect-error
2617
- target[prop] = val;
2618
- return true;
2619
- }
2620
- });
2555
+ const themeClasses = vue.computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`);
2621
2556
  return {
2622
2557
  install,
2623
- change,
2624
- cycle,
2625
- toggle,
2626
2558
  isDisabled: parsedOptions.isDisabled,
2627
2559
  name,
2628
2560
  themes,
2629
2561
  current,
2630
2562
  computedThemes,
2631
- prefix: parsedOptions.prefix,
2632
2563
  themeClasses,
2633
2564
  styles,
2634
2565
  global: {
2635
- name: globalName,
2566
+ name,
2636
2567
  current
2637
2568
  }
2638
2569
  };
@@ -2643,7 +2574,7 @@
2643
2574
  if (!theme) throw new Error('Could not find Vuetify theme injection');
2644
2575
  const name = vue.computed(() => props.theme ?? theme.name.value);
2645
2576
  const current = vue.computed(() => theme.themes.value[name.value]);
2646
- const themeClasses = vue.computed(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`);
2577
+ const themeClasses = vue.computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);
2647
2578
  const newTheme = {
2648
2579
  ...theme,
2649
2580
  name,
@@ -6967,6 +6898,11 @@
6967
6898
  }
6968
6899
  async function validate() {
6969
6900
  let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
6901
+ if (props.disabled || props.readonly) {
6902
+ internalErrorMessages.value = [];
6903
+ isValidating.value = false;
6904
+ return internalErrorMessages.value;
6905
+ }
6970
6906
  const results = [];
6971
6907
  isValidating.value = true;
6972
6908
  for (const rule of props.rules) {
@@ -12376,12 +12312,7 @@
12376
12312
  }
12377
12313
  function calculateOffset(index) {
12378
12314
  index = clamp(index, 0, items.value.length - 1);
12379
- const whole = Math.floor(index);
12380
- const fraction = index % 1;
12381
- const next = whole + 1;
12382
- const wholeOffset = offsets[whole] || 0;
12383
- const nextOffset = offsets[next] || wholeOffset;
12384
- return wholeOffset + (nextOffset - wholeOffset) * fraction;
12315
+ return offsets[index] || 0;
12385
12316
  }
12386
12317
  function calculateIndex(scrollTop) {
12387
12318
  return binaryClosest(offsets, scrollTop);
@@ -13010,8 +12941,7 @@
13010
12941
  onClick: () => select(item, null)
13011
12942
  });
13012
12943
  return slots.item?.({
13013
- item: item.raw,
13014
- internalItem: item,
12944
+ item,
13015
12945
  index,
13016
12946
  props: itemProps
13017
12947
  }) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
@@ -13059,13 +12989,11 @@
13059
12989
  };
13060
12990
  const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
13061
12991
  const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
13062
- item: item.raw,
13063
- internalItem: item,
12992
+ item,
13064
12993
  index,
13065
12994
  props: slotProps
13066
12995
  }) : slots.selection({
13067
- item: item.raw,
13068
- internalItem: item,
12996
+ item,
13069
12997
  index
13070
12998
  })) : undefined;
13071
12999
  if (hasSlot && !slotContent) return undefined;
@@ -13131,6 +13059,7 @@
13131
13059
  // Composables
13132
13060
  const defaultFilter = (value, query, item) => {
13133
13061
  if (value == null || query == null) return -1;
13062
+ if (!query.length) return 0;
13134
13063
  value = value.toString().toLocaleLowerCase();
13135
13064
  query = query.toString().toLocaleLowerCase();
13136
13065
  const result = [];
@@ -13143,7 +13072,7 @@
13143
13072
  };
13144
13073
  function normaliseMatch(match, query) {
13145
13074
  if (match == null || typeof match === 'boolean' || match === -1) return;
13146
- if (typeof match === 'number') return [[match, query.length]];
13075
+ if (typeof match === 'number') return [[match, match + query.length]];
13147
13076
  if (Array.isArray(match[0])) return match;
13148
13077
  return [match];
13149
13078
  }
@@ -13611,8 +13540,7 @@
13611
13540
  onClick: () => select(item, null)
13612
13541
  });
13613
13542
  return slots.item?.({
13614
- item: item.raw,
13615
- internalItem: item,
13543
+ item,
13616
13544
  index,
13617
13545
  props: itemProps
13618
13546
  }) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
@@ -13663,13 +13591,11 @@
13663
13591
  };
13664
13592
  const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
13665
13593
  const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
13666
- item: item.raw,
13667
- internalItem: item,
13594
+ item,
13668
13595
  index,
13669
13596
  props: slotProps
13670
13597
  }) : slots.selection({
13671
- item: item.raw,
13672
- internalItem: item,
13598
+ item,
13673
13599
  index
13674
13600
  })) : undefined;
13675
13601
  if (hasSlot && !slotContent) return undefined;
@@ -17061,165 +16987,81 @@
17061
16987
 
17062
16988
  // Types
17063
16989
 
17064
- const firstDay = {
17065
- '001': 1,
17066
- AD: 1,
17067
- AE: 6,
17068
- AF: 6,
17069
- AG: 0,
17070
- AI: 1,
17071
- AL: 1,
17072
- AM: 1,
17073
- AN: 1,
17074
- AR: 1,
17075
- AS: 0,
17076
- AT: 1,
17077
- AU: 1,
17078
- AX: 1,
17079
- AZ: 1,
17080
- BA: 1,
17081
- BD: 0,
17082
- BE: 1,
17083
- BG: 1,
17084
- BH: 6,
17085
- BM: 1,
17086
- BN: 1,
17087
- BR: 0,
17088
- BS: 0,
17089
- BT: 0,
17090
- BW: 0,
17091
- BY: 1,
17092
- BZ: 0,
17093
- CA: 0,
17094
- CH: 1,
17095
- CL: 1,
17096
- CM: 1,
17097
- CN: 1,
17098
- CO: 0,
17099
- CR: 1,
17100
- CY: 1,
17101
- CZ: 1,
17102
- DE: 1,
17103
- DJ: 6,
17104
- DK: 1,
17105
- DM: 0,
17106
- DO: 0,
17107
- DZ: 6,
17108
- EC: 1,
17109
- EE: 1,
17110
- EG: 6,
17111
- ES: 1,
17112
- ET: 0,
17113
- FI: 1,
17114
- FJ: 1,
17115
- FO: 1,
17116
- FR: 1,
17117
- GB: 1,
17118
- 'GB-alt-variant': 0,
17119
- GE: 1,
17120
- GF: 1,
17121
- GP: 1,
17122
- GR: 1,
17123
- GT: 0,
17124
- GU: 0,
17125
- HK: 0,
17126
- HN: 0,
17127
- HR: 1,
17128
- HU: 1,
17129
- ID: 0,
17130
- IE: 1,
17131
- IL: 0,
17132
- IN: 0,
17133
- IQ: 6,
17134
- IR: 6,
17135
- IS: 1,
17136
- IT: 1,
17137
- JM: 0,
17138
- JO: 6,
17139
- JP: 0,
17140
- KE: 0,
17141
- KG: 1,
17142
- KH: 0,
17143
- KR: 0,
17144
- KW: 6,
17145
- KZ: 1,
17146
- LA: 0,
17147
- LB: 1,
17148
- LI: 1,
17149
- LK: 1,
17150
- LT: 1,
17151
- LU: 1,
17152
- LV: 1,
17153
- LY: 6,
17154
- MC: 1,
17155
- MD: 1,
17156
- ME: 1,
17157
- MH: 0,
17158
- MK: 1,
17159
- MM: 0,
17160
- MN: 1,
17161
- MO: 0,
17162
- MQ: 1,
17163
- MT: 0,
17164
- MV: 5,
17165
- MX: 0,
17166
- MY: 1,
17167
- MZ: 0,
17168
- NI: 0,
17169
- NL: 1,
17170
- NO: 1,
17171
- NP: 0,
17172
- NZ: 1,
17173
- OM: 6,
17174
- PA: 0,
17175
- PE: 0,
17176
- PH: 0,
17177
- PK: 0,
17178
- PL: 1,
17179
- PR: 0,
17180
- PT: 0,
17181
- PY: 0,
17182
- QA: 6,
17183
- RE: 1,
17184
- RO: 1,
17185
- RS: 1,
17186
- RU: 1,
17187
- SA: 0,
17188
- SD: 6,
17189
- SE: 1,
17190
- SG: 0,
17191
- SI: 1,
17192
- SK: 1,
17193
- SM: 1,
17194
- SV: 0,
17195
- SY: 6,
17196
- TH: 0,
17197
- TJ: 1,
17198
- TM: 1,
17199
- TR: 1,
17200
- TT: 0,
17201
- TW: 0,
17202
- UA: 1,
17203
- UM: 0,
17204
- US: 0,
17205
- UY: 1,
17206
- UZ: 1,
17207
- VA: 1,
17208
- VE: 0,
17209
- VI: 0,
17210
- VN: 1,
17211
- WS: 0,
17212
- XK: 1,
17213
- YE: 0,
17214
- ZA: 0,
17215
- ZW: 0
17216
- };
16990
+ function weekInfo(locale) {
16991
+ // https://simplelocalize.io/data/locales/
16992
+ // then `new Intl.Locale(...).getWeekInfo()`
16993
+ const code = locale.slice(-2).toUpperCase();
16994
+ switch (true) {
16995
+ case locale === 'GB-alt-variant':
16996
+ {
16997
+ return {
16998
+ firstDay: 0,
16999
+ firstWeekSize: 4
17000
+ };
17001
+ }
17002
+ case locale === '001':
17003
+ {
17004
+ return {
17005
+ firstDay: 1,
17006
+ firstWeekSize: 1
17007
+ };
17008
+ }
17009
+ case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE
17010
+ KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US
17011
+ VE VI WS YE ZA ZW`.includes(code):
17012
+ {
17013
+ return {
17014
+ firstDay: 0,
17015
+ firstWeekSize: 1
17016
+ };
17017
+ }
17018
+ case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV
17019
+ MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code):
17020
+ {
17021
+ return {
17022
+ firstDay: 1,
17023
+ firstWeekSize: 1
17024
+ };
17025
+ }
17026
+ case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS
17027
+ IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code):
17028
+ {
17029
+ return {
17030
+ firstDay: 1,
17031
+ firstWeekSize: 4
17032
+ };
17033
+ }
17034
+ case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code):
17035
+ {
17036
+ return {
17037
+ firstDay: 6,
17038
+ firstWeekSize: 1
17039
+ };
17040
+ }
17041
+ case code === 'MV':
17042
+ {
17043
+ return {
17044
+ firstDay: 5,
17045
+ firstWeekSize: 1
17046
+ };
17047
+ }
17048
+ case code === 'PT':
17049
+ {
17050
+ return {
17051
+ firstDay: 0,
17052
+ firstWeekSize: 4
17053
+ };
17054
+ }
17055
+ default:
17056
+ return null;
17057
+ }
17058
+ }
17217
17059
  function getWeekArray(date, locale, firstDayOfWeek) {
17218
17060
  const weeks = [];
17219
17061
  let currentWeek = [];
17220
17062
  const firstDayOfMonth = startOfMonth(date);
17221
17063
  const lastDayOfMonth = endOfMonth(date);
17222
- const first = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17064
+ const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
17223
17065
  const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
17224
17066
  const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
17225
17067
  for (let i = 0; i < firstDayWeekIndex; i++) {
@@ -17250,7 +17092,7 @@
17250
17092
  return weeks;
17251
17093
  }
17252
17094
  function startOfWeek(date, locale, firstDayOfWeek) {
17253
- const day = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17095
+ const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
17254
17096
  const d = new Date(date);
17255
17097
  while (d.getDay() !== day) {
17256
17098
  d.setDate(d.getDate() - 1);
@@ -17259,7 +17101,7 @@
17259
17101
  }
17260
17102
  function endOfWeek(date, locale) {
17261
17103
  const d = new Date(date);
17262
- const lastDay = ((firstDay[locale.slice(-2).toUpperCase()] ?? 0) + 6) % 7;
17104
+ const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7;
17263
17105
  while (d.getDay() !== lastDay) {
17264
17106
  d.setDate(d.getDate() + 1);
17265
17107
  }
@@ -17294,7 +17136,7 @@
17294
17136
  }
17295
17137
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
17296
17138
  function getWeekdays(locale, firstDayOfWeek) {
17297
- const daysFromSunday = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17139
+ const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
17298
17140
  return createRange(7).map(i => {
17299
17141
  const weekday = new Date(sundayJanuarySecond2000);
17300
17142
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
@@ -17542,6 +17384,24 @@
17542
17384
  function getMonth(date) {
17543
17385
  return date.getMonth();
17544
17386
  }
17387
+ function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
17388
+ const weekInfoFromLocale = weekInfo(locale);
17389
+ const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
17390
+ const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
17391
+ function firstWeekSize(year) {
17392
+ const yearStart = new Date(year, 0, 1);
17393
+ return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
17394
+ }
17395
+ let year = getYear(date);
17396
+ const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
17397
+ if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
17398
+ year++;
17399
+ }
17400
+ const yearStart = new Date(year, 0, 1);
17401
+ const size = firstWeekSize(year);
17402
+ const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
17403
+ return 1 + getDiff(date, d1w1, 'weeks');
17404
+ }
17545
17405
  function getDate(date) {
17546
17406
  return date.getDate();
17547
17407
  }
@@ -17681,10 +17541,12 @@
17681
17541
  return addMonths(date, amount);
17682
17542
  }
17683
17543
  getWeekArray(date, firstDayOfWeek) {
17684
- return getWeekArray(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17544
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17545
+ return getWeekArray(date, this.locale, firstDay);
17685
17546
  }
17686
17547
  startOfWeek(date, firstDayOfWeek) {
17687
- return startOfWeek(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17548
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17549
+ return startOfWeek(date, this.locale, firstDay);
17688
17550
  }
17689
17551
  endOfWeek(date) {
17690
17552
  return endOfWeek(date, this.locale);
@@ -17744,7 +17606,8 @@
17744
17606
  return getDiff(date, comparing, unit);
17745
17607
  }
17746
17608
  getWeekdays(firstDayOfWeek) {
17747
- return getWeekdays(this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17609
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17610
+ return getWeekdays(this.locale, firstDay);
17748
17611
  }
17749
17612
  getYear(date) {
17750
17613
  return getYear(date);
@@ -17752,6 +17615,10 @@
17752
17615
  getMonth(date) {
17753
17616
  return getMonth(date);
17754
17617
  }
17618
+ getWeek(date, firstDayOfWeek, firstWeekMinSize) {
17619
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17620
+ return getWeek(date, this.locale, firstDay, firstWeekMinSize);
17621
+ }
17755
17622
  getDate(date) {
17756
17623
  return getDate(date);
17757
17624
  }
@@ -17855,26 +17722,6 @@
17855
17722
  return createInstance(options, locale);
17856
17723
  }
17857
17724
 
17858
- // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
17859
- function getWeek(adapter, value) {
17860
- const date = adapter.toJsDate(value);
17861
- let year = date.getFullYear();
17862
- let d1w1 = new Date(year, 0, 1);
17863
- if (date < d1w1) {
17864
- year = year - 1;
17865
- d1w1 = new Date(year, 0, 1);
17866
- } else {
17867
- const tv = new Date(year + 1, 0, 1);
17868
- if (date >= tv) {
17869
- year = year + 1;
17870
- d1w1 = tv;
17871
- }
17872
- }
17873
- const diffTime = Math.abs(date.getTime() - d1w1.getTime());
17874
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
17875
- return Math.floor(diffDays / 7) + 1;
17876
- }
17877
-
17878
17725
  // Types
17879
17726
 
17880
17727
  const makeVColorPickerProps = propsFactory({
@@ -18421,8 +18268,7 @@
18421
18268
  onClick: () => select(item, null)
18422
18269
  });
18423
18270
  return slots.item?.({
18424
- item: item.raw,
18425
- internalItem: item,
18271
+ item,
18426
18272
  index,
18427
18273
  props: itemProps
18428
18274
  }) ?? vue.createVNode(VListItem, vue.mergeProps(itemProps, {
@@ -18473,13 +18319,11 @@
18473
18319
  };
18474
18320
  const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
18475
18321
  const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
18476
- item: item.raw,
18477
- internalItem: item,
18322
+ item,
18478
18323
  index,
18479
18324
  props: slotProps
18480
18325
  }) : slots.selection({
18481
- item: item.raw,
18482
- internalItem: item,
18326
+ item,
18483
18327
  index
18484
18328
  })) : undefined;
18485
18329
  if (hasSlot && !slotContent) return undefined;
@@ -22066,7 +21910,7 @@
22066
21910
  },
22067
21911
  firstDayOfWeek: {
22068
21912
  type: [Number, String],
22069
- default: 0
21913
+ default: undefined
22070
21914
  }
22071
21915
  }, 'calendar');
22072
21916
  function useCalendar(props) {
@@ -22089,14 +21933,12 @@
22089
21933
  return adapter.setMonth(date, value);
22090
21934
  }, v => adapter.getMonth(v));
22091
21935
  const weekDays = vue.computed(() => {
22092
- const firstDayOfWeek = Number(props.firstDayOfWeek);
22093
-
21936
+ const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22094
21937
  // Always generate all days, regardless of props.weekdays
22095
21938
  return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
22096
21939
  });
22097
21940
  const weeksInMonth = vue.computed(() => {
22098
- const firstDayOfWeek = Number(props.firstDayOfWeek);
22099
- const weeks = adapter.getWeekArray(month.value, firstDayOfWeek);
21941
+ const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
22100
21942
  const days = weeks.flat();
22101
21943
 
22102
21944
  // Make sure there's always 6 weeks in month (6 * 7 days)
@@ -22160,7 +22002,7 @@
22160
22002
  });
22161
22003
  const weekNumbers = vue.computed(() => {
22162
22004
  return weeksInMonth.value.map(week => {
22163
- return week.length ? getWeek(adapter, week[0]) : null;
22005
+ return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
22164
22006
  });
22165
22007
  });
22166
22008
  function isDisabled(value) {
@@ -23649,17 +23491,7 @@
23649
23491
  "novalidate": true,
23650
23492
  "onReset": onReset,
23651
23493
  "onSubmit": onSubmit
23652
- }, [slots.default?.({
23653
- errors: form.errors.value,
23654
- isDisabled: form.isDisabled.value,
23655
- isReadonly: form.isReadonly.value,
23656
- isValidating: form.isValidating.value,
23657
- isValid: form.isValid.value,
23658
- items: form.items.value,
23659
- validate: form.validate,
23660
- reset: form.reset,
23661
- resetValidation: form.resetValidation
23662
- })]));
23494
+ }, [slots.default?.(form)]));
23663
23495
  return forwardRefs(form, formRef);
23664
23496
  }
23665
23497
  });
@@ -28718,37 +28550,43 @@
28718
28550
  "style": `height: ${convertToUnit(props.intervalHeight)}`
28719
28551
  }, [vue.createVNode("div", {
28720
28552
  "class": "v-calendar-day__row-label"
28721
- }, [vue.createVNode("slot", {
28553
+ }, [vue.createVNode(vue.resolveComponent("slot"), {
28722
28554
  "name": "intervalFormat",
28723
28555
  "interval": interval.value
28724
- }, [props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : ''])]), vue.createVNode("div", {
28556
+ }, {
28557
+ default: () => [props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '']
28558
+ })]), vue.createVNode("div", {
28725
28559
  "class": "v-calendar-day__row-hairline"
28726
28560
  }, null), vue.createVNode("div", {
28727
28561
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28728
- }, [vue.createVNode("slot", {
28562
+ }, [vue.createVNode(vue.resolveComponent("slot"), {
28729
28563
  "name": "intervalBody",
28730
28564
  "interval": interval.value
28731
- }, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, {
28732
- "event": event,
28733
- "interval": interval.value,
28734
- "intervalDivisions": props.intervalDivisions,
28735
- "intervalDuration": props.intervalDuration,
28736
- "intervalHeight": props.intervalHeight
28737
- }, null))])])]) : vue.createVNode("div", {
28565
+ }, {
28566
+ default: () => [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, {
28567
+ "event": event,
28568
+ "interval": interval.value,
28569
+ "intervalDivisions": props.intervalDivisions,
28570
+ "intervalDuration": props.intervalDuration,
28571
+ "intervalHeight": props.intervalHeight
28572
+ }, null))]
28573
+ })])]) : vue.createVNode("div", {
28738
28574
  "class": "v-calendar-day__row-without-label",
28739
28575
  "style": `height: ${convertToUnit(props.intervalHeight)}`
28740
28576
  }, [vue.createVNode("div", {
28741
28577
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28742
- }, [vue.createVNode("slot", {
28578
+ }, [vue.createVNode(vue.resolveComponent("slot"), {
28743
28579
  "name": "intervalBody",
28744
28580
  "interval": interval.value
28745
- }, [interval.value.events?.filter(event => !event.allDay).map(event => vue.createVNode(VCalendarIntervalEvent, {
28746
- "event": event,
28747
- "interval": interval.value,
28748
- "intervalDivisions": props.intervalDivisions,
28749
- "intervalDuration": props.intervalDuration,
28750
- "intervalHeight": props.intervalHeight
28751
- }, null))])])]);
28581
+ }, {
28582
+ default: () => [interval.value.events?.filter(event => !event.allDay).map(event => vue.createVNode(VCalendarIntervalEvent, {
28583
+ "event": event,
28584
+ "interval": interval.value,
28585
+ "intervalDivisions": props.intervalDivisions,
28586
+ "intervalDuration": props.intervalDuration,
28587
+ "intervalHeight": props.intervalHeight
28588
+ }, null))]
28589
+ })])]);
28752
28590
  });
28753
28591
  return {
28754
28592
  interval
@@ -31657,7 +31495,7 @@
31657
31495
  };
31658
31496
  });
31659
31497
  }
31660
- const version$1 = "3.8.1-next.2025-04-15";
31498
+ const version$1 = "3.8.2-master.2025-04-17";
31661
31499
  createVuetify$1.version = version$1;
31662
31500
 
31663
31501
  // Vue's inject() can only be used in setup
@@ -31840,7 +31678,7 @@
31840
31678
  flat: true
31841
31679
  },
31842
31680
  VAutocomplete: {
31843
- variant: 'filled'
31681
+ variant: 'outlined'
31844
31682
  },
31845
31683
  VBanner: {
31846
31684
  color: 'primary'
@@ -31869,7 +31707,10 @@
31869
31707
  rounded: 'sm'
31870
31708
  },
31871
31709
  VCombobox: {
31872
- variant: 'filled'
31710
+ variant: 'outlined'
31711
+ },
31712
+ VDateInput: {
31713
+ variant: 'outlined'
31873
31714
  },
31874
31715
  VDatePicker: {
31875
31716
  controlHeight: 48,
@@ -31883,6 +31724,9 @@
31883
31724
  rounded: 'circle'
31884
31725
  }
31885
31726
  },
31727
+ VFileInput: {
31728
+ variant: 'outlined'
31729
+ },
31886
31730
  VNavigationDrawer: {
31887
31731
  // VList: {
31888
31732
  // nav: true,
@@ -31891,8 +31735,15 @@
31891
31735
  // },
31892
31736
  // },
31893
31737
  },
31738
+ VNumberInput: {
31739
+ variant: 'outlined',
31740
+ VBtn: {
31741
+ color: undefined,
31742
+ rounded: undefined
31743
+ }
31744
+ },
31894
31745
  VSelect: {
31895
- variant: 'filled'
31746
+ variant: 'outlined'
31896
31747
  },
31897
31748
  VSlider: {
31898
31749
  color: 'primary'
@@ -31901,10 +31752,10 @@
31901
31752
  color: 'primary'
31902
31753
  },
31903
31754
  VTextarea: {
31904
- variant: 'filled'
31755
+ variant: 'outlined'
31905
31756
  },
31906
31757
  VTextField: {
31907
- variant: 'filled'
31758
+ variant: 'outlined'
31908
31759
  },
31909
31760
  VToolbar: {
31910
31761
  VBtn: {
@@ -31942,7 +31793,7 @@
31942
31793
 
31943
31794
  /* eslint-disable local-rules/sort-imports */
31944
31795
 
31945
- const version = "3.8.1-next.2025-04-15";
31796
+ const version = "3.8.2-master.2025-04-17";
31946
31797
 
31947
31798
  /* eslint-disable local-rules/sort-imports */
31948
31799