@vuetify/nightly 3.9.2-master.2025-07-28 → 3.9.3-master.2025-07-30

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 (186) hide show
  1. package/CHANGELOG.md +9 -51
  2. package/dist/json/attributes.json +3076 -3076
  3. package/dist/json/importMap-labs.json +30 -30
  4. package/dist/json/importMap.json +154 -154
  5. package/dist/json/web-types.json +5573 -5573
  6. package/dist/vuetify-labs.cjs +91 -35
  7. package/dist/vuetify-labs.css +4963 -4960
  8. package/dist/vuetify-labs.d.ts +60 -59
  9. package/dist/vuetify-labs.esm.js +91 -35
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +91 -35
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +59 -20
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4049 -4046
  16. package/dist/vuetify.d.ts +60 -59
  17. package/dist/vuetify.esm.js +59 -20
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +59 -20
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +200 -198
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VCombobox/VCombobox.js +10 -6
  25. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  26. package/lib/components/VDatePicker/VDatePickerControls.js +8 -1
  27. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  28. package/lib/components/VDatePicker/VDatePickerMonth.js +11 -0
  29. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  30. package/lib/components/VDatePicker/VDatePickerMonths.js +3 -0
  31. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  32. package/lib/components/VList/VListChildren.js +3 -4
  33. package/lib/components/VList/VListChildren.js.map +1 -1
  34. package/lib/components/VSlider/VSliderThumb.css +9 -14
  35. package/lib/components/VSlider/VSliderThumb.js +13 -7
  36. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  37. package/lib/components/VSlider/VSliderThumb.sass +9 -14
  38. package/lib/components/VSlider/slider.d.ts +1 -0
  39. package/lib/components/VSlider/slider.js +2 -0
  40. package/lib/components/VSlider/slider.js.map +1 -1
  41. package/lib/components/VWindow/VWindow.css +8 -0
  42. package/lib/components/VWindow/VWindow.sass +9 -0
  43. package/lib/composables/theme.d.ts +1 -0
  44. package/lib/composables/theme.js +3 -1
  45. package/lib/composables/theme.js.map +1 -1
  46. package/lib/directives/ripple/index.js +2 -2
  47. package/lib/directives/ripple/index.js.map +1 -1
  48. package/lib/entry-bundler.js +1 -1
  49. package/lib/framework.d.ts +60 -59
  50. package/lib/framework.js +1 -1
  51. package/lib/labs/VVideo/VVideo.css +1 -1
  52. package/lib/labs/VVideo/VVideo.js +2 -2
  53. package/lib/labs/VVideo/VVideo.js.map +1 -1
  54. package/lib/labs/VVideo/VVideo.sass +2 -0
  55. package/lib/labs/VVideo/VVideoControls.js +32 -15
  56. package/lib/labs/VVideo/VVideoControls.js.map +1 -1
  57. package/lib/locale/af.d.ts +7 -0
  58. package/lib/locale/af.js +7 -0
  59. package/lib/locale/af.js.map +1 -1
  60. package/lib/locale/ar.d.ts +7 -0
  61. package/lib/locale/ar.js +13 -6
  62. package/lib/locale/ar.js.map +1 -1
  63. package/lib/locale/az.d.ts +7 -0
  64. package/lib/locale/az.js +7 -0
  65. package/lib/locale/az.js.map +1 -1
  66. package/lib/locale/bg.d.ts +7 -0
  67. package/lib/locale/bg.js +7 -0
  68. package/lib/locale/bg.js.map +1 -1
  69. package/lib/locale/ca.d.ts +7 -0
  70. package/lib/locale/ca.js +7 -0
  71. package/lib/locale/ca.js.map +1 -1
  72. package/lib/locale/ckb.d.ts +7 -0
  73. package/lib/locale/ckb.js +7 -0
  74. package/lib/locale/ckb.js.map +1 -1
  75. package/lib/locale/cs.d.ts +7 -0
  76. package/lib/locale/cs.js +7 -0
  77. package/lib/locale/cs.js.map +1 -1
  78. package/lib/locale/da.d.ts +7 -0
  79. package/lib/locale/da.js +7 -0
  80. package/lib/locale/da.js.map +1 -1
  81. package/lib/locale/de.d.ts +7 -0
  82. package/lib/locale/de.js +7 -0
  83. package/lib/locale/de.js.map +1 -1
  84. package/lib/locale/el.d.ts +7 -0
  85. package/lib/locale/el.js +7 -0
  86. package/lib/locale/el.js.map +1 -1
  87. package/lib/locale/en.d.ts +7 -0
  88. package/lib/locale/en.js +8 -0
  89. package/lib/locale/en.js.map +1 -1
  90. package/lib/locale/es.d.ts +7 -0
  91. package/lib/locale/es.js +7 -0
  92. package/lib/locale/es.js.map +1 -1
  93. package/lib/locale/et.d.ts +7 -0
  94. package/lib/locale/et.js +7 -0
  95. package/lib/locale/et.js.map +1 -1
  96. package/lib/locale/fa.d.ts +7 -0
  97. package/lib/locale/fa.js +7 -0
  98. package/lib/locale/fa.js.map +1 -1
  99. package/lib/locale/fi.d.ts +7 -0
  100. package/lib/locale/fi.js +7 -0
  101. package/lib/locale/fi.js.map +1 -1
  102. package/lib/locale/fr.d.ts +7 -0
  103. package/lib/locale/fr.js +7 -0
  104. package/lib/locale/fr.js.map +1 -1
  105. package/lib/locale/he.d.ts +7 -0
  106. package/lib/locale/he.js +7 -0
  107. package/lib/locale/he.js.map +1 -1
  108. package/lib/locale/hr.d.ts +7 -0
  109. package/lib/locale/hr.js +7 -0
  110. package/lib/locale/hr.js.map +1 -1
  111. package/lib/locale/hu.d.ts +7 -0
  112. package/lib/locale/hu.js +7 -0
  113. package/lib/locale/hu.js.map +1 -1
  114. package/lib/locale/id.d.ts +7 -0
  115. package/lib/locale/id.js +7 -0
  116. package/lib/locale/id.js.map +1 -1
  117. package/lib/locale/it.d.ts +7 -0
  118. package/lib/locale/it.js +7 -0
  119. package/lib/locale/it.js.map +1 -1
  120. package/lib/locale/ja.d.ts +7 -0
  121. package/lib/locale/ja.js +7 -0
  122. package/lib/locale/ja.js.map +1 -1
  123. package/lib/locale/km.d.ts +7 -0
  124. package/lib/locale/km.js +7 -0
  125. package/lib/locale/km.js.map +1 -1
  126. package/lib/locale/ko.d.ts +7 -0
  127. package/lib/locale/ko.js +7 -0
  128. package/lib/locale/ko.js.map +1 -1
  129. package/lib/locale/lt.d.ts +7 -0
  130. package/lib/locale/lt.js +7 -0
  131. package/lib/locale/lt.js.map +1 -1
  132. package/lib/locale/lv.d.ts +7 -0
  133. package/lib/locale/lv.js +7 -0
  134. package/lib/locale/lv.js.map +1 -1
  135. package/lib/locale/nl.d.ts +7 -0
  136. package/lib/locale/nl.js +7 -0
  137. package/lib/locale/nl.js.map +1 -1
  138. package/lib/locale/no.d.ts +7 -0
  139. package/lib/locale/no.js +7 -0
  140. package/lib/locale/no.js.map +1 -1
  141. package/lib/locale/pl.d.ts +7 -0
  142. package/lib/locale/pl.js +7 -0
  143. package/lib/locale/pl.js.map +1 -1
  144. package/lib/locale/pt.d.ts +7 -0
  145. package/lib/locale/pt.js +7 -0
  146. package/lib/locale/pt.js.map +1 -1
  147. package/lib/locale/ro.d.ts +7 -0
  148. package/lib/locale/ro.js +7 -0
  149. package/lib/locale/ro.js.map +1 -1
  150. package/lib/locale/ru.d.ts +7 -0
  151. package/lib/locale/ru.js +7 -0
  152. package/lib/locale/ru.js.map +1 -1
  153. package/lib/locale/sk.d.ts +7 -0
  154. package/lib/locale/sk.js +7 -0
  155. package/lib/locale/sk.js.map +1 -1
  156. package/lib/locale/sl.d.ts +7 -0
  157. package/lib/locale/sl.js +7 -0
  158. package/lib/locale/sl.js.map +1 -1
  159. package/lib/locale/sr-Cyrl.d.ts +7 -0
  160. package/lib/locale/sr-Cyrl.js +7 -0
  161. package/lib/locale/sr-Cyrl.js.map +1 -1
  162. package/lib/locale/sr-Latn.d.ts +7 -0
  163. package/lib/locale/sr-Latn.js +7 -0
  164. package/lib/locale/sr-Latn.js.map +1 -1
  165. package/lib/locale/sv.d.ts +7 -0
  166. package/lib/locale/sv.js +7 -0
  167. package/lib/locale/sv.js.map +1 -1
  168. package/lib/locale/th.d.ts +7 -0
  169. package/lib/locale/th.js +7 -0
  170. package/lib/locale/th.js.map +1 -1
  171. package/lib/locale/tr.d.ts +7 -0
  172. package/lib/locale/tr.js +7 -0
  173. package/lib/locale/tr.js.map +1 -1
  174. package/lib/locale/uk.d.ts +7 -0
  175. package/lib/locale/uk.js +7 -0
  176. package/lib/locale/uk.js.map +1 -1
  177. package/lib/locale/vi.d.ts +7 -0
  178. package/lib/locale/vi.js +7 -0
  179. package/lib/locale/vi.js.map +1 -1
  180. package/lib/locale/zh-Hans.d.ts +7 -0
  181. package/lib/locale/zh-Hans.js +7 -0
  182. package/lib/locale/zh-Hans.js.map +1 -1
  183. package/lib/locale/zh-Hant.d.ts +7 -0
  184. package/lib/locale/zh-Hant.js +7 -0
  185. package/lib/locale/zh-Hant.js.map +1 -1
  186. package/package.json +1 -1
@@ -181,6 +181,7 @@ interface ThemeInstance {
181
181
  cycle: (themeArray?: string[]) => void;
182
182
  toggle: (themeArray?: [string, string]) => void;
183
183
  readonly isDisabled: boolean;
184
+ readonly isSystem: Readonly<Ref<boolean>>;
184
185
  readonly themes: Ref<Record<string, InternalThemeDefinition>>;
185
186
  readonly name: Readonly<Ref<string>>;
186
187
  readonly current: DeepReadonly<Ref<InternalThemeDefinition>>;
@@ -122806,27 +122807,29 @@ declare module 'vue' {
122806
122807
  $children?: VNodeChild
122807
122808
  }
122808
122809
  export interface GlobalComponents {
122810
+ VApp: VApp
122811
+ VAlert: VAlert
122812
+ VAlertTitle: VAlertTitle
122809
122813
  VAppBar: VAppBar
122810
122814
  VAppBarNavIcon: VAppBarNavIcon
122811
122815
  VAppBarTitle: VAppBarTitle
122812
- VApp: VApp
122813
122816
  VAutocomplete: VAutocomplete
122817
+ VBottomNavigation: VBottomNavigation
122818
+ VAvatar: VAvatar
122814
122819
  VBadge: VBadge
122815
- VAlert: VAlert
122816
- VAlertTitle: VAlertTitle
122820
+ VBottomSheet: VBottomSheet
122817
122821
  VBanner: VBanner
122818
122822
  VBannerActions: VBannerActions
122819
122823
  VBannerText: VBannerText
122820
- VBottomSheet: VBottomSheet
122821
- VBottomNavigation: VBottomNavigation
122822
- VAvatar: VAvatar
122824
+ VBtnToggle: VBtnToggle
122823
122825
  VBreadcrumbs: VBreadcrumbs
122824
122826
  VBreadcrumbsItem: VBreadcrumbsItem
122825
122827
  VBreadcrumbsDivider: VBreadcrumbsDivider
122826
122828
  VBtn: VBtn
122827
- VBtnToggle: VBtnToggle
122829
+ VBtnGroup: VBtnGroup
122828
122830
  VCarousel: VCarousel
122829
122831
  VCarouselItem: VCarouselItem
122832
+ VChip: VChip
122830
122833
  VCheckbox: VCheckbox
122831
122834
  VCheckboxBtn: VCheckboxBtn
122832
122835
  VCard: VCard
@@ -122835,11 +122838,10 @@ declare module 'vue' {
122835
122838
  VCardSubtitle: VCardSubtitle
122836
122839
  VCardText: VCardText
122837
122840
  VCardTitle: VCardTitle
122838
- VChip: VChip
122839
- VCombobox: VCombobox
122841
+ VChipGroup: VChipGroup
122840
122842
  VCode: VCode
122841
- VBtnGroup: VBtnGroup
122842
122843
  VColorPicker: VColorPicker
122844
+ VCombobox: VCombobox
122843
122845
  VCounter: VCounter
122844
122846
  VDataTable: VDataTable
122845
122847
  VDataTableHeaders: VDataTableHeaders
@@ -122848,36 +122850,36 @@ declare module 'vue' {
122848
122850
  VDataTableRow: VDataTableRow
122849
122851
  VDataTableVirtual: VDataTableVirtual
122850
122852
  VDataTableServer: VDataTableServer
122853
+ VDialog: VDialog
122851
122854
  VDatePicker: VDatePicker
122852
122855
  VDatePickerControls: VDatePickerControls
122853
122856
  VDatePickerHeader: VDatePickerHeader
122854
122857
  VDatePickerMonth: VDatePickerMonth
122855
122858
  VDatePickerMonths: VDatePickerMonths
122856
122859
  VDatePickerYears: VDatePickerYears
122857
- VChipGroup: VChipGroup
122858
- VDialog: VDialog
122859
122860
  VDivider: VDivider
122861
+ VEmptyState: VEmptyState
122860
122862
  VExpansionPanels: VExpansionPanels
122861
122863
  VExpansionPanel: VExpansionPanel
122862
122864
  VExpansionPanelText: VExpansionPanelText
122863
122865
  VExpansionPanelTitle: VExpansionPanelTitle
122864
- VEmptyState: VEmptyState
122866
+ VFileInput: VFileInput
122865
122867
  VFab: VFab
122868
+ VFooter: VFooter
122866
122869
  VField: VField
122867
122870
  VFieldLabel: VFieldLabel
122868
- VFileInput: VFileInput
122869
- VFooter: VFooter
122870
- VItemGroup: VItemGroup
122871
- VItem: VItem
122872
122871
  VIcon: VIcon
122873
122872
  VComponentIcon: VComponentIcon
122874
122873
  VSvgIcon: VSvgIcon
122875
122874
  VLigatureIcon: VLigatureIcon
122876
122875
  VClassIcon: VClassIcon
122877
- VInput: VInput
122878
- VLabel: VLabel
122876
+ VItemGroup: VItemGroup
122877
+ VItem: VItem
122878
+ VInfiniteScroll: VInfiniteScroll
122879
122879
  VImg: VImg
122880
+ VInput: VInput
122880
122881
  VKbd: VKbd
122882
+ VLabel: VLabel
122881
122883
  VList: VList
122882
122884
  VListGroup: VListGroup
122883
122885
  VListImg: VListImg
@@ -122887,81 +122889,79 @@ declare module 'vue' {
122887
122889
  VListItemSubtitle: VListItemSubtitle
122888
122890
  VListItemTitle: VListItemTitle
122889
122891
  VListSubheader: VListSubheader
122890
- VMenu: VMenu
122891
122892
  VMain: VMain
122892
- VInfiniteScroll: VInfiniteScroll
122893
122893
  VMessages: VMessages
122894
122894
  VNavigationDrawer: VNavigationDrawer
122895
- VNumberInput: VNumberInput
122896
122895
  VOtpInput: VOtpInput
122896
+ VNumberInput: VNumberInput
122897
+ VMenu: VMenu
122898
+ VProgressLinear: VProgressLinear
122897
122899
  VOverlay: VOverlay
122898
122900
  VPagination: VPagination
122899
- VProgressLinear: VProgressLinear
122900
122901
  VProgressCircular: VProgressCircular
122901
- VRadioGroup: VRadioGroup
122902
122902
  VRating: VRating
122903
- VSelectionControl: VSelectionControl
122903
+ VRadioGroup: VRadioGroup
122904
122904
  VSelect: VSelect
122905
+ VSheet: VSheet
122906
+ VSlider: VSlider
122907
+ VSkeletonLoader: VSkeletonLoader
122905
122908
  VSelectionControlGroup: VSelectionControlGroup
122906
122909
  VSlideGroup: VSlideGroup
122907
122910
  VSlideGroupItem: VSlideGroupItem
122908
- VSkeletonLoader: VSkeletonLoader
122909
- VSnackbar: VSnackbar
122910
- VSlider: VSlider
122911
- VSheet: VSheet
122911
+ VSelectionControl: VSelectionControl
122912
122912
  VStepper: VStepper
122913
122913
  VStepperActions: VStepperActions
122914
122914
  VStepperHeader: VStepperHeader
122915
122915
  VStepperItem: VStepperItem
122916
122916
  VStepperWindow: VStepperWindow
122917
122917
  VStepperWindowItem: VStepperWindowItem
122918
- VTextarea: VTextarea
122918
+ VSnackbar: VSnackbar
122919
122919
  VSwitch: VSwitch
122920
122920
  VTable: VTable
122921
- VTextField: VTextField
122921
+ VSystemBar: VSystemBar
122922
122922
  VTab: VTab
122923
122923
  VTabs: VTabs
122924
122924
  VTabsWindow: VTabsWindow
122925
122925
  VTabsWindowItem: VTabsWindowItem
122926
- VTooltip: VTooltip
122927
- VTreeview: VTreeview
122928
- VTreeviewItem: VTreeviewItem
122929
- VTreeviewGroup: VTreeviewGroup
122930
- VToolbar: VToolbar
122931
- VToolbarTitle: VToolbarTitle
122932
- VToolbarItems: VToolbarItems
122926
+ VTextField: VTextField
122927
+ VTextarea: VTextarea
122928
+ VTimeline: VTimeline
122929
+ VTimelineItem: VTimelineItem
122933
122930
  VTimePicker: VTimePicker
122934
122931
  VTimePickerClock: VTimePickerClock
122935
122932
  VTimePickerControls: VTimePickerControls
122936
- VTimeline: VTimeline
122937
- VTimelineItem: VTimelineItem
122933
+ VToolbar: VToolbar
122934
+ VToolbarTitle: VToolbarTitle
122935
+ VToolbarItems: VToolbarItems
122936
+ VTooltip: VTooltip
122938
122937
  VWindow: VWindow
122939
122938
  VWindowItem: VWindowItem
122939
+ VTreeview: VTreeview
122940
+ VTreeviewItem: VTreeviewItem
122941
+ VTreeviewGroup: VTreeviewGroup
122940
122942
  VConfirmEdit: VConfirmEdit
122941
- VDefaultsProvider: VDefaultsProvider
122942
122943
  VDataIterator: VDataIterator
122944
+ VDefaultsProvider: VDefaultsProvider
122943
122945
  VForm: VForm
122946
+ VHover: VHover
122944
122947
  VContainer: VContainer
122945
122948
  VCol: VCol
122946
122949
  VRow: VRow
122947
122950
  VSpacer: VSpacer
122948
- VLazy: VLazy
122949
122951
  VLayout: VLayout
122950
122952
  VLayoutItem: VLayoutItem
122951
- VHover: VHover
122953
+ VLazy: VLazy
122954
+ VLocaleProvider: VLocaleProvider
122952
122955
  VNoSsr: VNoSsr
122953
122956
  VParallax: VParallax
122954
- VRadio: VRadio
122955
122957
  VRangeSlider: VRangeSlider
122958
+ VRadio: VRadio
122956
122959
  VResponsive: VResponsive
122957
- VSnackbarQueue: VSnackbarQueue
122958
- VSpeedDial: VSpeedDial
122959
122960
  VSparkline: VSparkline
122960
- VSystemBar: VSystemBar
122961
+ VSpeedDial: VSpeedDial
122961
122962
  VThemeProvider: VThemeProvider
122962
- VVirtualScroll: VVirtualScroll
122963
122963
  VValidation: VValidation
122964
- VLocaleProvider: VLocaleProvider
122964
+ VVirtualScroll: VVirtualScroll
122965
122965
  VFabTransition: VFabTransition
122966
122966
  VDialogBottomTransition: VDialogBottomTransition
122967
122967
  VDialogTopTransition: VDialogTopTransition
@@ -122978,31 +122978,32 @@ declare module 'vue' {
122978
122978
  VExpandTransition: VExpandTransition
122979
122979
  VExpandXTransition: VExpandXTransition
122980
122980
  VDialogTransition: VDialogTransition
122981
+ VSnackbarQueue: VSnackbarQueue
122981
122982
  VColorInput: VColorInput
122983
+ VFileUpload: VFileUpload
122984
+ VFileUploadItem: VFileUploadItem
122982
122985
  VCalendar: VCalendar
122983
122986
  VCalendarDay: VCalendarDay
122984
122987
  VCalendarHeader: VCalendarHeader
122985
122988
  VCalendarInterval: VCalendarInterval
122986
122989
  VCalendarIntervalEvent: VCalendarIntervalEvent
122987
122990
  VCalendarMonthDay: VCalendarMonthDay
122991
+ VIconBtn: VIconBtn
122992
+ VStepperVertical: VStepperVertical
122993
+ VStepperVerticalItem: VStepperVerticalItem
122994
+ VStepperVerticalActions: VStepperVerticalActions
122988
122995
  VPicker: VPicker
122989
122996
  VPickerTitle: VPickerTitle
122990
- VFileUpload: VFileUpload
122991
- VFileUploadItem: VFileUploadItem
122992
- VVideo: VVideo
122993
- VVideoControls: VVideoControls
122994
- VVideoVolume: VVideoVolume
122995
- VIconBtn: VIconBtn
122996
122997
  VPie: VPie
122997
122998
  VPieSegment: VPieSegment
122998
122999
  VPieTooltip: VPieTooltip
122999
- VStepperVertical: VStepperVertical
123000
- VStepperVerticalItem: VStepperVerticalItem
123001
- VStepperVerticalActions: VStepperVerticalActions
123002
- VHotkey: VHotkey
123000
+ VVideo: VVideo
123001
+ VVideoControls: VVideoControls
123002
+ VVideoVolume: VVideoVolume
123003
123003
  VDateInput: VDateInput
123004
123004
  VMaskInput: VMaskInput
123005
123005
  VPullToRefresh: VPullToRefresh
123006
+ VHotkey: VHotkey
123006
123007
  }
123007
123008
  export interface GlobalDirectives {
123008
123009
  vClickOutside: typeof import('vuetify/directives')['ClickOutside']
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.2-master.2025-07-28
2
+ * Vuetify v3.9.3-master.2025-07-30
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2145,6 +2145,14 @@ var en = {
2145
2145
  header: 'Enter date',
2146
2146
  input: {
2147
2147
  placeholder: 'Enter date'
2148
+ },
2149
+ ariaLabel: {
2150
+ previousMonth: 'Previous month',
2151
+ nextMonth: 'Next month',
2152
+ selectYear: 'Select year',
2153
+ selectDate: '{0}',
2154
+ // Full date format
2155
+ currentDate: 'Today, {0}'
2148
2156
  }
2149
2157
  },
2150
2158
  noDataText: 'No data available',
@@ -2683,6 +2691,7 @@ function createTheme(options) {
2683
2691
  return acc;
2684
2692
  });
2685
2693
  const current = toRef(() => computedThemes.value[name.value]);
2694
+ const isSystem = toRef(() => _name.value === 'system');
2686
2695
  const styles = computed(() => {
2687
2696
  const lines = [];
2688
2697
  const important = parsedOptions.unimportant ? '' : ' !important';
@@ -2770,7 +2779,7 @@ function createTheme(options) {
2770
2779
  }
2771
2780
  }
2772
2781
  function change(themeName) {
2773
- if (!themeNames.value.includes(themeName)) {
2782
+ if (themeName !== 'system' && !themeNames.value.includes(themeName)) {
2774
2783
  consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`);
2775
2784
  return;
2776
2785
  }
@@ -2803,6 +2812,7 @@ function createTheme(options) {
2803
2812
  cycle,
2804
2813
  toggle,
2805
2814
  isDisabled: parsedOptions.isDisabled,
2815
+ isSystem,
2806
2816
  name,
2807
2817
  themes,
2808
2818
  current,
@@ -5683,8 +5693,8 @@ const ripples = {
5683
5693
  if (!el?._ripple?.enabled) return;
5684
5694
  const ripples = el.getElementsByClassName('v-ripple__animation');
5685
5695
  if (ripples.length === 0) return;
5686
- const animation = ripples[ripples.length - 1];
5687
- if (animation.dataset.isHiding) return;else animation.dataset.isHiding = 'true';
5696
+ const animation = Array.from(ripples).findLast(ripple => !ripple.dataset.isHiding);
5697
+ if (!animation) return;else animation.dataset.isHiding = 'true';
5688
5698
  const diff = performance.now() - Number(animation.dataset.activated);
5689
5699
  const delay = Math.max(250 - diff, 0);
5690
5700
  setTimeout(() => {
@@ -9902,11 +9912,9 @@ const VListChildren = genericComponent()({
9902
9912
  let {
9903
9913
  props: activatorProps
9904
9914
  } = _ref3;
9905
- const listItemProps = {
9906
- ...itemProps,
9907
- ...activatorProps,
9915
+ const listItemProps = mergeProps(itemProps, activatorProps, {
9908
9916
  value: props.returnObject ? item : itemProps.value
9909
- };
9917
+ });
9910
9918
  return slots.header ? slots.header({
9911
9919
  props: listItemProps
9912
9920
  }) : createVNode(VListItem, listItemProps, slotsWithItem);
@@ -16310,6 +16318,7 @@ const useSlider = _ref => {
16310
16318
  const numTicks = computed(() => (max.value - min.value) / step.value);
16311
16319
  const disabled = toRef(() => props.disabled);
16312
16320
  const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
16321
+ const thumbLabelColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor);
16313
16322
  const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
16314
16323
  const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
16315
16324
  const mousePressed = shallowRef(false);
@@ -16467,6 +16476,7 @@ const useSlider = _ref => {
16467
16476
  step,
16468
16477
  thumbSize,
16469
16478
  thumbColor,
16479
+ thumbLabelColor,
16470
16480
  thumbLabel: toRef(() => props.thumbLabel),
16471
16481
  ticks: toRef(() => props.ticks),
16472
16482
  tickSize,
@@ -16532,6 +16542,7 @@ const VSliderThumb = genericComponent()({
16532
16542
  min,
16533
16543
  max,
16534
16544
  thumbColor,
16545
+ thumbLabelColor,
16535
16546
  step,
16536
16547
  disabled,
16537
16548
  thumbSize,
@@ -16553,6 +16564,10 @@ const VSliderThumb = genericComponent()({
16553
16564
  textColorClasses,
16554
16565
  textColorStyles
16555
16566
  } = useTextColor(thumbColor);
16567
+ const {
16568
+ backgroundColorClasses,
16569
+ backgroundColorStyles
16570
+ } = useBackgroundColor(thumbLabelColor);
16556
16571
  const {
16557
16572
  pageup,
16558
16573
  pagedown,
@@ -16618,9 +16633,7 @@ const VSliderThumb = genericComponent()({
16618
16633
  "onKeydown": !readonly.value ? onKeydown : undefined
16619
16634
  }, [createElementVNode("div", {
16620
16635
  "class": normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),
16621
- "style": {
16622
- ...textColorStyles.value
16623
- }
16636
+ "style": normalizeStyle(textColorStyles.value)
16624
16637
  }, null), withDirectives(createElementVNode("div", {
16625
16638
  "class": normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),
16626
16639
  "style": normalizeStyle(textColorStyles.value)
@@ -16633,10 +16646,13 @@ const VSliderThumb = genericComponent()({
16633
16646
  default: () => [withDirectives(createElementVNode("div", {
16634
16647
  "class": "v-slider-thumb__label-container"
16635
16648
  }, [createElementVNode("div", {
16636
- "class": normalizeClass(['v-slider-thumb__label', textColorClasses.value])
16649
+ "class": normalizeClass(['v-slider-thumb__label', backgroundColorClasses.value]),
16650
+ "style": normalizeStyle(backgroundColorStyles.value)
16637
16651
  }, [createElementVNode("div", null, [slots['thumb-label']?.({
16638
16652
  modelValue: props.modelValue
16639
- }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
16653
+ }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)]), createElementVNode("div", {
16654
+ "class": "v-slider-thumb__label-wedge"
16655
+ }, null)])]), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
16640
16656
  })]);
16641
16657
  });
16642
16658
  return {};
@@ -18783,19 +18799,23 @@ const VCombobox = genericComponent()({
18783
18799
  get: () => {
18784
18800
  return _search.value;
18785
18801
  },
18786
- set: val => {
18802
+ set: async val => {
18787
18803
  _search.value = val ?? '';
18788
18804
  if (!props.multiple && !hasSelectionSlot.value) {
18789
18805
  model.value = [transformItem$3(props, val)];
18790
18806
  nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0));
18791
18807
  }
18792
18808
  if (val && props.multiple && props.delimiters?.length) {
18793
- const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`));
18809
+ const signsToMatch = props.delimiters.map(escapeForRegex).join('|');
18810
+ const values = val.split(new RegExp(`(?:${signsToMatch})+`));
18794
18811
  if (values.length > 1) {
18795
- values.forEach(v => {
18812
+ for (let v of values) {
18796
18813
  v = v.trim();
18797
- if (v) select(transformItem$3(props, v));
18798
- });
18814
+ if (v) {
18815
+ select(transformItem$3(props, v));
18816
+ await nextTick();
18817
+ }
18818
+ }
18799
18819
  _search.value = '';
18800
18820
  }
18801
18821
  }
@@ -22650,6 +22670,9 @@ const VDatePickerControls = genericComponent()({
22650
22670
  let {
22651
22671
  emit
22652
22672
  } = _ref;
22673
+ const {
22674
+ t
22675
+ } = useLocale();
22653
22676
  const disableMonth = computed(() => {
22654
22677
  return Array.isArray(props.disabled) ? props.disabled.includes('text') : !!props.disabled;
22655
22678
  });
@@ -22696,6 +22719,7 @@ const VDatePickerControls = genericComponent()({
22696
22719
  "density": "comfortable",
22697
22720
  "icon": props.modeIcon,
22698
22721
  "variant": "text",
22722
+ "aria-label": t('$vuetify.datePicker.ariaLabel.selectYear'),
22699
22723
  "onClick": onClickYear
22700
22724
  }, null), createVNode(VSpacer, null, null), createElementVNode("div", {
22701
22725
  "class": "v-date-picker-controls__month"
@@ -22705,6 +22729,7 @@ const VDatePickerControls = genericComponent()({
22705
22729
  "density": "comfortable",
22706
22730
  "icon": props.prevIcon,
22707
22731
  "variant": "text",
22732
+ "aria-label": t('$vuetify.datePicker.ariaLabel.previousMonth'),
22708
22733
  "onClick": onClickPrev
22709
22734
  }, null), createVNode(VBtn, {
22710
22735
  "data-testid": "next-month",
@@ -22712,6 +22737,7 @@ const VDatePickerControls = genericComponent()({
22712
22737
  "icon": props.nextIcon,
22713
22738
  "density": "comfortable",
22714
22739
  "variant": "text",
22740
+ "aria-label": t('$vuetify.datePicker.ariaLabel.nextMonth'),
22715
22741
  "onClick": onClickNext
22716
22742
  }, null)])]);
22717
22743
  });
@@ -22976,6 +23002,9 @@ const VDatePickerMonth = genericComponent()({
22976
23002
  slots
22977
23003
  } = _ref;
22978
23004
  const daysRef = ref();
23005
+ const {
23006
+ t
23007
+ } = useLocale();
22979
23008
  const {
22980
23009
  daysInMonth,
22981
23010
  model,
@@ -23032,6 +23061,11 @@ const VDatePickerMonth = genericComponent()({
23032
23061
  model.value = [rangeStart.value];
23033
23062
  }
23034
23063
  }
23064
+ function getDateAriaLabel(item) {
23065
+ const fullDate = adapter.format(item.date, 'fullDateWithWeekday');
23066
+ const localeKey = item.isToday ? 'currentDate' : 'selectDate';
23067
+ return t(`$vuetify.datePicker.ariaLabel.${localeKey}`, fullDate);
23068
+ }
23035
23069
  function onMultipleClick(value) {
23036
23070
  const index = model.value.findIndex(selection => adapter.isSameDay(selection, value));
23037
23071
  if (index === -1) {
@@ -23083,6 +23117,8 @@ const VDatePickerMonth = genericComponent()({
23083
23117
  ripple: false,
23084
23118
  text: item.localized,
23085
23119
  variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',
23120
+ 'aria-label': getDateAriaLabel(item),
23121
+ 'aria-current': item.isToday ? 'date' : undefined,
23086
23122
  onClick: () => onClick(item.date)
23087
23123
  },
23088
23124
  item,
@@ -23137,11 +23173,13 @@ const VDatePickerMonths = genericComponent()({
23137
23173
  }
23138
23174
  return createRange(12).map(i => {
23139
23175
  const text = adapter.format(date, 'monthShort');
23176
+ const label = adapter.format(date, 'month');
23140
23177
  const isDisabled = !!(!isMonthAllowed(i) || props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
23141
23178
  date = adapter.getNextMonth(date);
23142
23179
  return {
23143
23180
  isDisabled,
23144
23181
  text,
23182
+ label,
23145
23183
  value: i
23146
23184
  };
23147
23185
  });
@@ -23168,6 +23206,7 @@ const VDatePickerMonths = genericComponent()({
23168
23206
  }, [months.value.map((month, i) => {
23169
23207
  const btnProps = {
23170
23208
  active: model.value === i,
23209
+ ariaLabel: month.label,
23171
23210
  color: model.value === i ? props.color : undefined,
23172
23211
  disabled: month.isDisabled,
23173
23212
  rounded: true,
@@ -34102,7 +34141,8 @@ const VVideoControls = genericComponent()({
34102
34141
  t
34103
34142
  } = useLocale();
34104
34143
  const {
34105
- themeClasses
34144
+ themeClasses,
34145
+ current: currentTheme
34106
34146
  } = provideTheme(props);
34107
34147
  const {
34108
34148
  densityClasses
@@ -34117,6 +34157,13 @@ const VVideoControls = genericComponent()({
34117
34157
  const fallbackBackground = props.detached ? 'surface' : undefined;
34118
34158
  return props.backgroundColor ?? fallbackBackground;
34119
34159
  });
34160
+ const trackColor = toRef(() => {
34161
+ if (props.trackColor) {
34162
+ return props.trackColor;
34163
+ }
34164
+ const fallback = currentTheme.value.dark || !props.pills ? undefined : 'surface';
34165
+ return (props.pills ? props.backgroundColor : props.color) ?? fallback;
34166
+ });
34120
34167
  const playing = useProxiedModel(props, 'playing');
34121
34168
  const progress = useProxiedModel(props, 'progress');
34122
34169
  const volume = useProxiedModel(props, 'volume', 0, v => Number(v ?? 0));
@@ -34177,7 +34224,8 @@ const VVideoControls = genericComponent()({
34177
34224
  };
34178
34225
  const regularBtnSize = innerDefaults.VIconBtn.size;
34179
34226
  const playBtnSize = props.pills ? regularBtnSize + 8 : regularBtnSize;
34180
- const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : []];
34227
+ const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : [], props.pills ? backgroundColorClasses.value : []];
34228
+ const pillStyles = props.pills ? backgroundColorStyles.value : [];
34181
34229
  const slotProps = {
34182
34230
  play,
34183
34231
  pause,
@@ -34200,30 +34248,34 @@ const VVideoControls = genericComponent()({
34200
34248
  'v-video-controls--floating': props.floating
34201
34249
  }, {
34202
34250
  'v-video-controls--split-time': props.splitTime
34203
- }, backgroundColorClasses.value, props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
34204
- "style": normalizeStyle([backgroundColorStyles.value, {
34251
+ }, !props.pills ? backgroundColorClasses.value : [], props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
34252
+ "style": normalizeStyle([!props.pills ? backgroundColorStyles.value : [], {
34205
34253
  '--v-video-controls-pill-height': `${regularBtnSize}px`
34206
34254
  }])
34207
34255
  }, [createVNode(VDefaultsProvider, {
34208
34256
  "defaults": innerDefaults
34209
34257
  }, {
34210
34258
  default: () => [slots.default?.(slotProps) ?? createElementVNode(Fragment, null, [props.variant !== 'mini' && createElementVNode(Fragment, null, [!props.hidePlay && createElementVNode("div", {
34211
- "class": normalizeClass([pillClasses, 'v-video__action-play'])
34259
+ "class": normalizeClass([pillClasses, 'v-video__action-play']),
34260
+ "style": normalizeStyle(pillStyles)
34212
34261
  }, [withDirectives(createVNode(VIconBtn, {
34213
34262
  "icon": playing.value ? '$pause' : '$play',
34214
34263
  "size": playBtnSize,
34215
34264
  "aria-label": labels.value.playAction,
34216
34265
  "onClick": () => playing.value = !playing.value
34217
34266
  }, null), [[Tooltip, labels.value.playAction, 'top']])]), slots.prepend && createElementVNode("div", {
34218
- "class": normalizeClass(pillClasses)
34267
+ "class": normalizeClass(pillClasses),
34268
+ "style": normalizeStyle(pillStyles)
34219
34269
  }, [slots.prepend(slotProps)]), props.splitTime ? createElementVNode("span", {
34220
- "class": normalizeClass([pillClasses, 'v-video__time'])
34270
+ "class": normalizeClass([pillClasses, 'v-video__time']),
34271
+ "style": normalizeStyle(pillStyles)
34221
34272
  }, [currentTime.value.elapsed]) : props.variant !== 'default' ? createElementVNode("span", {
34222
- "class": normalizeClass([pillClasses, 'v-video__time'])
34273
+ "class": normalizeClass([pillClasses, 'v-video__time']),
34274
+ "style": normalizeStyle(pillStyles)
34223
34275
  }, [currentTime.value.elapsed, createTextVNode(" / "), currentTime.value.total]) : '', createVNode(VSlider, {
34224
34276
  "modelValue": props.progress,
34225
34277
  "noKeyboard": true,
34226
- "color": props.trackColor ?? props.color,
34278
+ "color": trackColor.value ?? 'surface-variant',
34227
34279
  "trackColor": props.variant === 'tube' ? 'white' : undefined,
34228
34280
  "class": "v-video__track",
34229
34281
  "thumbLabel": "always",
@@ -34232,18 +34284,22 @@ const VVideoControls = genericComponent()({
34232
34284
  }, {
34233
34285
  'thumb-label': () => currentTime.value.elapsed
34234
34286
  }), props.variant === 'tube' && createVNode(VSpacer, null, null), props.splitTime ? createElementVNode("span", {
34235
- "class": normalizeClass([pillClasses, 'v-video__time'])
34287
+ "class": normalizeClass([pillClasses, 'v-video__time']),
34288
+ "style": normalizeStyle(pillStyles)
34236
34289
  }, [currentTime.value.remaining]) : '']), props.variant === 'mini' && createElementVNode(Fragment, null, [createVNode(VSpacer, null, null), slots.prepend && createElementVNode("div", {
34237
- "class": normalizeClass(pillClasses)
34290
+ "class": normalizeClass(pillClasses),
34291
+ "style": normalizeStyle(pillStyles)
34238
34292
  }, [slots.prepend(slotProps)]), !props.hidePlay && createElementVNode("div", {
34239
- "class": normalizeClass([pillClasses, 'v-video__action-play'])
34293
+ "class": normalizeClass([pillClasses, 'v-video__action-play']),
34294
+ "style": normalizeStyle(pillStyles)
34240
34295
  }, [withDirectives(createVNode(VIconBtn, {
34241
34296
  "icon": playing.value ? '$pause' : '$play',
34242
34297
  "size": playBtnSize,
34243
34298
  "aria-label": labels.value.playAction,
34244
34299
  "onClick": () => playing.value = !playing.value
34245
34300
  }, null), [[Tooltip, labels.value.playAction, 'top']])])]), (!props.hideVolume || !props.hideFullscreen || slots.append) && createElementVNode("div", {
34246
- "class": normalizeClass(pillClasses)
34301
+ "class": normalizeClass(pillClasses),
34302
+ "style": normalizeStyle(pillStyles)
34247
34303
  }, [!props.hideVolume && createVNode(VVideoVolume, mergeProps({
34248
34304
  "key": "volume-control",
34249
34305
  "sliderProps": {
@@ -34636,9 +34692,9 @@ const VVideo = genericComponent()({
34636
34692
  }, {
34637
34693
  default: () => [createElementVNode("div", {
34638
34694
  "class": normalizeClass(['v-video__overlay-fill', ...roundedContainerClasses.value])
34639
- }, [overlayPlayIcon])]
34695
+ }, [props.variant === 'player' && overlayPlayIcon])]
34640
34696
  })]
34641
- }), createVNode(VOverlay, mergeProps({
34697
+ }), props.variant === 'player' && createVNode(VOverlay, mergeProps({
34642
34698
  "key": "loading-overlay",
34643
34699
  "modelValue": state.value === 'loading' || waiting.value,
34644
34700
  "opacity": ".1"
@@ -35100,7 +35156,7 @@ function createVuetify$1() {
35100
35156
  };
35101
35157
  });
35102
35158
  }
35103
- const version$1 = "3.9.2-master.2025-07-28";
35159
+ const version$1 = "3.9.3-master.2025-07-30";
35104
35160
  createVuetify$1.version = version$1;
35105
35161
 
35106
35162
  // Vue's inject() can only be used in setup
@@ -35398,7 +35454,7 @@ var index = /*#__PURE__*/Object.freeze({
35398
35454
 
35399
35455
  /* eslint-disable local-rules/sort-imports */
35400
35456
 
35401
- const version = "3.9.2-master.2025-07-28";
35457
+ const version = "3.9.3-master.2025-07-30";
35402
35458
 
35403
35459
  /* eslint-disable local-rules/sort-imports */
35404
35460