vuetify 3.8.6 → 3.8.7

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 (341) hide show
  1. package/dist/json/attributes.json +1767 -1767
  2. package/dist/json/importMap-labs.json +20 -20
  3. package/dist/json/importMap.json +176 -176
  4. package/dist/json/web-types.json +3266 -3266
  5. package/dist/vuetify-labs.cjs +1002 -904
  6. package/dist/vuetify-labs.css +6207 -6207
  7. package/dist/vuetify-labs.d.ts +62 -62
  8. package/dist/vuetify-labs.esm.js +1003 -905
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +1002 -904
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.cjs +889 -791
  13. package/dist/vuetify.cjs.map +1 -1
  14. package/dist/vuetify.css +3094 -3094
  15. package/dist/vuetify.d.ts +62 -62
  16. package/dist/vuetify.esm.js +890 -792
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +889 -791
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +971 -963
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VAlert/VAlert.js +11 -11
  24. package/lib/components/VAlert/VAlert.js.map +1 -1
  25. package/lib/components/VApp/VApp.js +5 -5
  26. package/lib/components/VApp/VApp.js.map +1 -1
  27. package/lib/components/VAutocomplete/VAutocomplete.js +9 -9
  28. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  29. package/lib/components/VAvatar/VAvatar.js +4 -4
  30. package/lib/components/VAvatar/VAvatar.js.map +1 -1
  31. package/lib/components/VBadge/VBadge.js +3 -3
  32. package/lib/components/VBadge/VBadge.js.map +1 -1
  33. package/lib/components/VBanner/VBanner.js +6 -6
  34. package/lib/components/VBanner/VBanner.js.map +1 -1
  35. package/lib/components/VBanner/VBannerActions.js +4 -4
  36. package/lib/components/VBanner/VBannerActions.js.map +1 -1
  37. package/lib/components/VBottomNavigation/VBottomNavigation.js +6 -6
  38. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  39. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +5 -5
  40. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  41. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.js +4 -4
  42. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.js.map +1 -1
  43. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +5 -5
  44. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  45. package/lib/components/VBtn/VBtn.js +7 -7
  46. package/lib/components/VBtn/VBtn.js.map +1 -1
  47. package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
  48. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  49. package/lib/components/VCard/VCard.js +5 -5
  50. package/lib/components/VCard/VCard.js.map +1 -1
  51. package/lib/components/VCard/VCardActions.js +4 -4
  52. package/lib/components/VCard/VCardActions.js.map +1 -1
  53. package/lib/components/VCard/VCardItem.js +9 -9
  54. package/lib/components/VCard/VCardItem.js.map +1 -1
  55. package/lib/components/VCard/VCardSubtitle.js +4 -4
  56. package/lib/components/VCard/VCardSubtitle.js.map +1 -1
  57. package/lib/components/VCard/VCardText.js +4 -4
  58. package/lib/components/VCard/VCardText.js.map +1 -1
  59. package/lib/components/VCarousel/VCarousel.js +4 -4
  60. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  61. package/lib/components/VChip/VChip.js +11 -11
  62. package/lib/components/VChip/VChip.js.map +1 -1
  63. package/lib/components/VColorPicker/VColorPicker.js +3 -3
  64. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  65. package/lib/components/VColorPicker/VColorPickerCanvas.js +9 -9
  66. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  67. package/lib/components/VColorPicker/VColorPickerEdit.js +6 -6
  68. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  69. package/lib/components/VColorPicker/VColorPickerPreview.js +11 -11
  70. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  71. package/lib/components/VColorPicker/VColorPickerSwatches.js +10 -10
  72. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  73. package/lib/components/VCombobox/VCombobox.js +9 -9
  74. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  75. package/lib/components/VConfirmEdit/VConfirmEdit.js +3 -3
  76. package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
  77. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.js +3 -3
  78. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.js.map +1 -1
  79. package/lib/components/VCounter/VCounter.js +5 -5
  80. package/lib/components/VCounter/VCounter.js.map +1 -1
  81. package/lib/components/VDataIterator/VDataIterator.js +5 -5
  82. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  83. package/lib/components/VDataTable/VDataTable.js +4 -4
  84. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  85. package/lib/components/VDataTable/VDataTableColumn.js +5 -5
  86. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  87. package/lib/components/VDataTable/VDataTableFooter.js +6 -6
  88. package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
  89. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +7 -7
  90. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  91. package/lib/components/VDataTable/VDataTableHeaders.js +11 -11
  92. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  93. package/lib/components/VDataTable/VDataTableRow.js +6 -6
  94. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  95. package/lib/components/VDataTable/VDataTableRows.js +7 -7
  96. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  97. package/lib/components/VDataTable/VDataTableServer.js +4 -4
  98. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  99. package/lib/components/VDataTable/VDataTableVirtual.js +14 -14
  100. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  101. package/lib/components/VDatePicker/VDatePicker.js +3 -3
  102. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  103. package/lib/components/VDatePicker/VDatePickerControls.js +5 -5
  104. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  105. package/lib/components/VDatePicker/VDatePickerHeader.js +8 -8
  106. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  107. package/lib/components/VDatePicker/VDatePickerMonth.js +10 -10
  108. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  109. package/lib/components/VDatePicker/VDatePickerMonths.js +5 -5
  110. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  111. package/lib/components/VDatePicker/VDatePickerYears.js +5 -5
  112. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  113. package/lib/components/VDialog/__test__/VDialog.spec.browser.js +5 -5
  114. package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
  115. package/lib/components/VDivider/VDivider.js +10 -10
  116. package/lib/components/VDivider/VDivider.js.map +1 -1
  117. package/lib/components/VEmptyState/VEmptyState.js +14 -14
  118. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  119. package/lib/components/VExpansionPanel/VExpansionPanel.js +6 -6
  120. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  121. package/lib/components/VExpansionPanel/VExpansionPanelText.js +5 -5
  122. package/lib/components/VExpansionPanel/VExpansionPanelText.js.map +1 -1
  123. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +10 -10
  124. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
  125. package/lib/components/VExpansionPanel/VExpansionPanels.js +4 -4
  126. package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  127. package/lib/components/VFab/VFab.js +7 -7
  128. package/lib/components/VFab/VFab.js.map +1 -1
  129. package/lib/components/VField/VField.js +20 -18
  130. package/lib/components/VField/VField.js.map +1 -1
  131. package/lib/components/VField/VFieldLabel.js +4 -4
  132. package/lib/components/VField/VFieldLabel.js.map +1 -1
  133. package/lib/components/VFileInput/VFileInput.js +5 -5
  134. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  135. package/lib/components/VFooter/VFooter.js +4 -4
  136. package/lib/components/VFooter/VFooter.js.map +1 -1
  137. package/lib/components/VForm/VForm.js +4 -4
  138. package/lib/components/VForm/VForm.js.map +1 -1
  139. package/lib/components/VGrid/VContainer.js +4 -4
  140. package/lib/components/VGrid/VContainer.js.map +1 -1
  141. package/lib/components/VIcon/VIcon.js +5 -5
  142. package/lib/components/VIcon/VIcon.js.map +1 -1
  143. package/lib/components/VImg/VImg.js +19 -19
  144. package/lib/components/VImg/VImg.js.map +1 -1
  145. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +10 -10
  146. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  147. package/lib/components/VInput/InputIcon.d.ts +1 -1
  148. package/lib/components/VInput/InputIcon.js +5 -4
  149. package/lib/components/VInput/InputIcon.js.map +1 -1
  150. package/lib/components/VInput/VInput.js +9 -9
  151. package/lib/components/VInput/VInput.js.map +1 -1
  152. package/lib/components/VItemGroup/VItemGroup.js +3 -3
  153. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  154. package/lib/components/VLabel/VLabel.js +5 -5
  155. package/lib/components/VLabel/VLabel.js.map +1 -1
  156. package/lib/components/VLayout/VLayout.js +4 -4
  157. package/lib/components/VLayout/VLayout.js.map +1 -1
  158. package/lib/components/VLayout/VLayoutItem.js +4 -4
  159. package/lib/components/VLayout/VLayoutItem.js.map +1 -1
  160. package/lib/components/VLazy/VLazy.js +6 -6
  161. package/lib/components/VLazy/VLazy.js.map +1 -1
  162. package/lib/components/VList/VList.js +4 -4
  163. package/lib/components/VList/VList.js.map +1 -1
  164. package/lib/components/VList/VListGroup.js +5 -5
  165. package/lib/components/VList/VListGroup.js.map +1 -1
  166. package/lib/components/VList/VListItem.js +11 -11
  167. package/lib/components/VList/VListItem.js.map +1 -1
  168. package/lib/components/VList/VListItemAction.js +4 -4
  169. package/lib/components/VList/VListItemAction.js.map +1 -1
  170. package/lib/components/VList/VListItemMedia.js +4 -4
  171. package/lib/components/VList/VListItemMedia.js.map +1 -1
  172. package/lib/components/VList/VListItemSubtitle.js +4 -4
  173. package/lib/components/VList/VListItemSubtitle.js.map +1 -1
  174. package/lib/components/VList/VListSubheader.js +6 -6
  175. package/lib/components/VList/VListSubheader.js.map +1 -1
  176. package/lib/components/VLocaleProvider/VLocaleProvider.js +4 -4
  177. package/lib/components/VLocaleProvider/VLocaleProvider.js.map +1 -1
  178. package/lib/components/VMain/VMain.js +5 -5
  179. package/lib/components/VMain/VMain.js.map +1 -1
  180. package/lib/components/VMessages/VMessages.js +4 -4
  181. package/lib/components/VMessages/VMessages.js.map +1 -1
  182. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +7 -7
  183. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  184. package/lib/components/VNavigationDrawer/touch.js +2 -4
  185. package/lib/components/VNavigationDrawer/touch.js.map +1 -1
  186. package/lib/components/VNumberInput/VNumberInput.js +38 -22
  187. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  188. package/lib/components/VOtpInput/VOtpInput.js +7 -7
  189. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  190. package/lib/components/VOverlay/VOverlay.js +8 -8
  191. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  192. package/lib/components/VOverlay/locationStrategies.js +16 -8
  193. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  194. package/lib/components/VPagination/VPagination.js +11 -11
  195. package/lib/components/VPagination/VPagination.js.map +1 -1
  196. package/lib/components/VParallax/VParallax.js +4 -4
  197. package/lib/components/VParallax/VParallax.js.map +1 -1
  198. package/lib/components/VProgressCircular/VProgressCircular.js +14 -14
  199. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  200. package/lib/components/VProgressLinear/VProgressLinear.js +26 -26
  201. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  202. package/lib/components/VRadioGroup/VRadioGroup.js +2 -2
  203. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  204. package/lib/components/VRangeSlider/VRangeSlider.js +5 -5
  205. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  206. package/lib/components/VRating/VRating.js +14 -14
  207. package/lib/components/VRating/VRating.js.map +1 -1
  208. package/lib/components/VResponsive/VResponsive.js +9 -9
  209. package/lib/components/VResponsive/VResponsive.js.map +1 -1
  210. package/lib/components/VSelect/VSelect.js +43 -14
  211. package/lib/components/VSelect/VSelect.js.map +1 -1
  212. package/lib/components/VSelectionControl/VSelectionControl.js +11 -11
  213. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  214. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +5 -5
  215. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
  216. package/lib/components/VSheet/VSheet.js +3 -3
  217. package/lib/components/VSheet/VSheet.js.map +1 -1
  218. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
  219. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  220. package/lib/components/VSlideGroup/VSlideGroup.js +12 -12
  221. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  222. package/lib/components/VSlider/VSlider.js +4 -4
  223. package/lib/components/VSlider/VSlider.js.map +1 -1
  224. package/lib/components/VSlider/VSliderThumb.js +19 -19
  225. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  226. package/lib/components/VSlider/VSliderTrack.js +23 -23
  227. package/lib/components/VSlider/VSliderTrack.js.map +1 -1
  228. package/lib/components/VSlider/slider.js +1 -1
  229. package/lib/components/VSlider/slider.js.map +1 -1
  230. package/lib/components/VSnackbar/VSnackbar.js +4 -4
  231. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  232. package/lib/components/VSnackbarQueue/VSnackbarQueue.js +3 -3
  233. package/lib/components/VSnackbarQueue/VSnackbarQueue.js.map +1 -1
  234. package/lib/components/VSparkline/VBarline.js +12 -12
  235. package/lib/components/VSparkline/VBarline.js.map +1 -1
  236. package/lib/components/VSparkline/VTrendline.js +8 -8
  237. package/lib/components/VSparkline/VTrendline.js.map +1 -1
  238. package/lib/components/VStepper/VStepper.js +2 -2
  239. package/lib/components/VStepper/VStepper.js.map +1 -1
  240. package/lib/components/VStepper/VStepperActions.js +2 -2
  241. package/lib/components/VStepper/VStepperActions.js.map +1 -1
  242. package/lib/components/VStepper/VStepperItem.js +10 -10
  243. package/lib/components/VStepper/VStepperItem.js.map +1 -1
  244. package/lib/components/VSwitch/VSwitch.js +10 -10
  245. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  246. package/lib/components/VSystemBar/VSystemBar.js +4 -4
  247. package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
  248. package/lib/components/VTable/VTable.js +8 -8
  249. package/lib/components/VTable/VTable.js.map +1 -1
  250. package/lib/components/VTabs/VTab.js +4 -4
  251. package/lib/components/VTabs/VTab.js.map +1 -1
  252. package/lib/components/VTabs/VTabs.js +2 -2
  253. package/lib/components/VTabs/VTabs.js.map +1 -1
  254. package/lib/components/VTextField/VTextField.js +12 -12
  255. package/lib/components/VTextField/VTextField.js.map +1 -1
  256. package/lib/components/VTextarea/VTextarea.js +10 -10
  257. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  258. package/lib/components/VThemeProvider/VThemeProvider.js +3 -3
  259. package/lib/components/VThemeProvider/VThemeProvider.js.map +1 -1
  260. package/lib/components/VTimeline/VTimeline.js +5 -5
  261. package/lib/components/VTimeline/VTimeline.js.map +1 -1
  262. package/lib/components/VTimeline/VTimelineDivider.js +17 -17
  263. package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
  264. package/lib/components/VTimeline/VTimelineItem.js +9 -9
  265. package/lib/components/VTimeline/VTimelineItem.js.map +1 -1
  266. package/lib/components/VToolbar/VToolbar.js +13 -13
  267. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  268. package/lib/components/VToolbar/VToolbarItems.js +4 -4
  269. package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
  270. package/lib/components/VToolbar/VToolbarTitle.js +4 -4
  271. package/lib/components/VToolbar/VToolbarTitle.js.map +1 -1
  272. package/lib/components/VVirtualScroll/VVirtualScroll.js +13 -13
  273. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  274. package/lib/components/VVirtualScroll/VVirtualScrollItem.js +3 -3
  275. package/lib/components/VVirtualScroll/VVirtualScrollItem.js.map +1 -1
  276. package/lib/components/VWindow/VWindow.js +13 -13
  277. package/lib/components/VWindow/VWindow.js.map +1 -1
  278. package/lib/components/VWindow/VWindowItem.js +6 -6
  279. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  280. package/lib/composables/filter.js +8 -8
  281. package/lib/composables/filter.js.map +1 -1
  282. package/lib/composables/goto.js +1 -1
  283. package/lib/composables/goto.js.map +1 -1
  284. package/lib/composables/icons.js +6 -6
  285. package/lib/composables/icons.js.map +1 -1
  286. package/lib/composables/loader.js +3 -3
  287. package/lib/composables/loader.js.map +1 -1
  288. package/lib/composables/variant.js +5 -5
  289. package/lib/composables/variant.js.map +1 -1
  290. package/lib/entry-bundler.js +1 -1
  291. package/lib/framework.d.ts +62 -62
  292. package/lib/framework.js +1 -1
  293. package/lib/labs/VCalendar/VCalendar.js +15 -15
  294. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  295. package/lib/labs/VCalendar/VCalendarDay.js +4 -4
  296. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  297. package/lib/labs/VCalendar/VCalendarHeader.js +4 -4
  298. package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
  299. package/lib/labs/VCalendar/VCalendarInterval.js +10 -10
  300. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  301. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +2 -2
  302. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  303. package/lib/labs/VCalendar/VCalendarMonthDay.js +6 -6
  304. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  305. package/lib/labs/VColorInput/VColorInput.js +3 -3
  306. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  307. package/lib/labs/VDateInput/VDateInput.js +2 -2
  308. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  309. package/lib/labs/VFileUpload/VFileUpload.js +9 -9
  310. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  311. package/lib/labs/VFileUpload/VFileUploadItem.js +3 -3
  312. package/lib/labs/VFileUpload/VFileUploadItem.js.map +1 -1
  313. package/lib/labs/VIconBtn/VIconBtn.js +7 -7
  314. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  315. package/lib/labs/VPicker/VPicker.js +7 -7
  316. package/lib/labs/VPicker/VPicker.js.map +1 -1
  317. package/lib/labs/VPullToRefresh/VPullToRefresh.js +13 -13
  318. package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
  319. package/lib/labs/VStepperVertical/VStepperVertical.js +2 -2
  320. package/lib/labs/VStepperVertical/VStepperVertical.js.map +1 -1
  321. package/lib/labs/VStepperVertical/VStepperVerticalItem.js +5 -5
  322. package/lib/labs/VStepperVertical/VStepperVerticalItem.js.map +1 -1
  323. package/lib/labs/VTimePicker/VTimePicker.js +2 -2
  324. package/lib/labs/VTimePicker/VTimePicker.js.map +1 -1
  325. package/lib/labs/VTimePicker/VTimePickerClock.js +15 -15
  326. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  327. package/lib/labs/VTimePicker/VTimePickerControls.js +24 -24
  328. package/lib/labs/VTimePicker/VTimePickerControls.js.map +1 -1
  329. package/lib/labs/VTreeview/VTreeviewChildren.js +2 -2
  330. package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
  331. package/lib/labs/VTreeview/VTreeviewGroup.js +2 -2
  332. package/lib/labs/VTreeview/VTreeviewGroup.js.map +1 -1
  333. package/lib/labs/VTreeview/VTreeviewItem.js +3 -3
  334. package/lib/labs/VTreeview/VTreeviewItem.js.map +1 -1
  335. package/lib/util/box.d.ts +1 -0
  336. package/lib/util/box.js +27 -0
  337. package/lib/util/box.js.map +1 -1
  338. package/lib/util/helpers.d.ts +1 -0
  339. package/lib/util/helpers.js +15 -0
  340. package/lib/util/helpers.js.map +1 -1
  341. package/package.json +7 -7
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.8.6
2
+ * Vuetify v3.8.7
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- import { shallowRef, reactive, watchEffect, toRef, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, toValue, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, toRefs, isRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
7
+ import { shallowRef, reactive, watchEffect, toRef, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, computed, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, createElementVNode, normalizeClass, toValue, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, normalizeStyle, TransitionGroup, Transition, toRefs, isRef, onBeforeMount, nextTick, withDirectives, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, normalizeProps, guardReactiveProps, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
8
8
 
9
9
  const IN_BROWSER = typeof window !== 'undefined';
10
10
  const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
@@ -510,6 +510,21 @@ function checkPrintable(e) {
510
510
  function isPrimitive(value) {
511
511
  return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
512
512
  }
513
+ function extractNumber(text, decimalDigitsLimit) {
514
+ const cleanText = text.split('').filter(x => /[\d\-.]/.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||
515
+ // sign allowed at the start
516
+ x === '.' && i === all.indexOf('.') ||
517
+ // decimal separator allowed only once
518
+ /\d/.test(x)).join('');
519
+ if (decimalDigitsLimit === 0) {
520
+ return cleanText.split('.')[0];
521
+ }
522
+ if (decimalDigitsLimit !== null && /\.\d/.test(cleanText)) {
523
+ const parts = cleanText.split('.');
524
+ return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join('.');
525
+ }
526
+ return cleanText;
527
+ }
513
528
 
514
529
  // Utilities
515
530
  const block = ['top', 'bottom'];
@@ -614,6 +629,33 @@ function getTargetBox(target) {
614
629
  return target.getBoundingClientRect();
615
630
  }
616
631
  }
632
+ function getElementBox(el) {
633
+ if (el === document.documentElement) {
634
+ if (!visualViewport) {
635
+ return new Box({
636
+ x: 0,
637
+ y: 0,
638
+ width: document.documentElement.clientWidth,
639
+ height: document.documentElement.clientHeight
640
+ });
641
+ } else {
642
+ return new Box({
643
+ x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
644
+ y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
645
+ width: visualViewport.width * visualViewport.scale,
646
+ height: visualViewport.height * visualViewport.scale
647
+ });
648
+ }
649
+ } else {
650
+ const rect = el.getBoundingClientRect();
651
+ return new Box({
652
+ x: rect.x,
653
+ y: rect.y,
654
+ width: el.clientWidth,
655
+ height: el.clientHeight
656
+ });
657
+ }
658
+ }
617
659
 
618
660
  // Utilities
619
661
 
@@ -1612,18 +1654,18 @@ const VSvgIcon = defineComponent({
1612
1654
  return createVNode(props.tag, mergeProps(attrs, {
1613
1655
  "style": null
1614
1656
  }), {
1615
- default: () => [createVNode("svg", {
1657
+ default: () => [createElementVNode("svg", {
1616
1658
  "class": "v-icon__svg",
1617
1659
  "xmlns": "http://www.w3.org/2000/svg",
1618
1660
  "viewBox": "0 0 24 24",
1619
1661
  "role": "img",
1620
1662
  "aria-hidden": "true"
1621
- }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
1663
+ }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createElementVNode("path", {
1622
1664
  "d": path[0],
1623
1665
  "fill-opacity": path[1]
1624
- }, null) : createVNode("path", {
1666
+ }, null) : createElementVNode("path", {
1625
1667
  "d": path
1626
- }, null)) : createVNode("path", {
1668
+ }, null)) : createElementVNode("path", {
1627
1669
  "d": props.icon
1628
1670
  }, null)])]
1629
1671
  });
@@ -1647,7 +1689,7 @@ const VClassIcon = defineComponent({
1647
1689
  setup(props) {
1648
1690
  return () => {
1649
1691
  return createVNode(props.tag, {
1650
- "class": props.icon
1692
+ "class": normalizeClass(props.icon)
1651
1693
  }, null);
1652
1694
  };
1653
1695
  }
@@ -3112,11 +3154,11 @@ const VApp = genericComponent()({
3112
3154
  const {
3113
3155
  rtlClasses
3114
3156
  } = useRtl();
3115
- useRender(() => createVNode("div", {
3157
+ useRender(() => createElementVNode("div", {
3116
3158
  "ref": layoutRef,
3117
- "class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
3118
- "style": [props.style]
3119
- }, [createVNode("div", {
3159
+ "class": normalizeClass(['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class]),
3160
+ "style": normalizeStyle([props.style])
3161
+ }, [createElementVNode("div", {
3120
3162
  "class": "v-application__wrap"
3121
3163
  }, [slots.default?.()])]));
3122
3164
  return {
@@ -3156,10 +3198,10 @@ const VToolbarTitle = genericComponent()({
3156
3198
  useRender(() => {
3157
3199
  const hasText = !!(slots.default || slots.text || props.text);
3158
3200
  return createVNode(props.tag, {
3159
- "class": ['v-toolbar-title', props.class],
3160
- "style": props.style
3201
+ "class": normalizeClass(['v-toolbar-title', props.class]),
3202
+ "style": normalizeStyle(props.style)
3161
3203
  }, {
3162
- default: () => [hasText && createVNode("div", {
3204
+ default: () => [hasText && createElementVNode("div", {
3163
3205
  "class": "v-toolbar-title__placeholder"
3164
3206
  }, [slots.text ? slots.text() : props.text, slots.default?.()])]
3165
3207
  });
@@ -3619,16 +3661,16 @@ const VResponsive = genericComponent()({
3619
3661
  const {
3620
3662
  dimensionStyles
3621
3663
  } = useDimension(props);
3622
- useRender(() => createVNode("div", {
3623
- "class": ['v-responsive', {
3664
+ useRender(() => createElementVNode("div", {
3665
+ "class": normalizeClass(['v-responsive', {
3624
3666
  'v-responsive--inline': props.inline
3625
- }, props.class],
3626
- "style": [dimensionStyles.value, props.style]
3627
- }, [createVNode("div", {
3667
+ }, props.class]),
3668
+ "style": normalizeStyle([dimensionStyles.value, props.style])
3669
+ }, [createElementVNode("div", {
3628
3670
  "class": "v-responsive__sizer",
3629
- "style": aspectStyles.value
3630
- }, null), slots.additional?.(), slots.default && createVNode("div", {
3631
- "class": ['v-responsive__content', props.contentClass]
3671
+ "style": normalizeStyle(aspectStyles.value)
3672
+ }, null), slots.additional?.(), slots.default && createElementVNode("div", {
3673
+ "class": normalizeClass(['v-responsive__content', props.contentClass])
3632
3674
  }, [slots.default()])]));
3633
3675
  return {};
3634
3676
  }
@@ -3862,7 +3904,7 @@ const makeVImgProps = propsFactory({
3862
3904
  const VImg = genericComponent()({
3863
3905
  name: 'VImg',
3864
3906
  directives: {
3865
- intersect: Intersect
3907
+ vIntersect: Intersect
3866
3908
  },
3867
3909
  props: makeVImgProps(),
3868
3910
  emits: {
@@ -3991,11 +4033,11 @@ const VImg = genericComponent()({
3991
4033
  }));
3992
4034
  const __image = () => {
3993
4035
  if (!normalisedSrc.value.src || state.value === 'idle') return null;
3994
- const img = createVNode("img", {
3995
- "class": ['v-img__img', containClasses.value],
3996
- "style": {
4036
+ const img = createElementVNode("img", {
4037
+ "class": normalizeClass(['v-img__img', containClasses.value]),
4038
+ "style": normalizeStyle({
3997
4039
  objectPosition: props.position
3998
- },
4040
+ }),
3999
4041
  "crossorigin": props.crossorigin,
4000
4042
  "src": normalisedSrc.value.src,
4001
4043
  "srcset": normalisedSrc.value.srcset,
@@ -4012,7 +4054,7 @@ const VImg = genericComponent()({
4012
4054
  "transition": props.transition,
4013
4055
  "appear": true
4014
4056
  }, {
4015
- default: () => [withDirectives(sources ? createVNode("picture", {
4057
+ default: () => [withDirectives(sources ? createElementVNode("picture", {
4016
4058
  "class": "v-img__picture"
4017
4059
  }, [sources, img]) : img, [[vShow, state.value === 'loaded']])]
4018
4060
  });
@@ -4020,11 +4062,11 @@ const VImg = genericComponent()({
4020
4062
  const __preloadImage = () => createVNode(MaybeTransition, {
4021
4063
  "transition": props.transition
4022
4064
  }, {
4023
- default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && createVNode("img", {
4024
- "class": ['v-img__img', 'v-img__img--preload', containClasses.value],
4025
- "style": {
4065
+ default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && createElementVNode("img", {
4066
+ "class": normalizeClass(['v-img__img', 'v-img__img--preload', containClasses.value]),
4067
+ "style": normalizeStyle({
4026
4068
  objectPosition: props.position
4027
- },
4069
+ }),
4028
4070
  "crossorigin": props.crossorigin,
4029
4071
  "src": normalisedSrc.value.lazySrc,
4030
4072
  "alt": props.alt,
@@ -4038,7 +4080,7 @@ const VImg = genericComponent()({
4038
4080
  "transition": props.transition,
4039
4081
  "appear": true
4040
4082
  }, {
4041
- default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && createVNode("div", {
4083
+ default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && createElementVNode("div", {
4042
4084
  "class": "v-img__placeholder"
4043
4085
  }, [slots.placeholder()])]
4044
4086
  });
@@ -4049,18 +4091,18 @@ const VImg = genericComponent()({
4049
4091
  "transition": props.transition,
4050
4092
  "appear": true
4051
4093
  }, {
4052
- default: () => [state.value === 'error' && createVNode("div", {
4094
+ default: () => [state.value === 'error' && createElementVNode("div", {
4053
4095
  "class": "v-img__error"
4054
4096
  }, [slots.error()])]
4055
4097
  });
4056
4098
  };
4057
4099
  const __gradient = () => {
4058
4100
  if (!props.gradient) return null;
4059
- return createVNode("div", {
4101
+ return createElementVNode("div", {
4060
4102
  "class": "v-img__gradient",
4061
- "style": {
4103
+ "style": normalizeStyle({
4062
4104
  backgroundImage: `linear-gradient(${props.gradient})`
4063
- }
4105
+ })
4064
4106
  }, null);
4065
4107
  };
4066
4108
  const isBooted = shallowRef(false);
@@ -4092,9 +4134,9 @@ const VImg = genericComponent()({
4092
4134
  "aria-label": props.alt,
4093
4135
  "role": props.alt ? 'img' : undefined
4094
4136
  }), {
4095
- additional: () => createVNode(Fragment, null, [createVNode(__image, null, null), createVNode(__preloadImage, null, null), createVNode(__gradient, null, null), createVNode(__placeholder, null, null), createVNode(__error, null, null)]),
4137
+ additional: () => createElementVNode(Fragment, null, [createVNode(__image, null, null), createVNode(__preloadImage, null, null), createVNode(__gradient, null, null), createVNode(__placeholder, null, null), createVNode(__error, null, null)]),
4096
4138
  default: slots.default
4097
- }), [[resolveDirective("intersect"), {
4139
+ }), [[Intersect, {
4098
4140
  handler: init,
4099
4141
  options: props.options
4100
4142
  }, null, {
@@ -4237,16 +4279,16 @@ const VToolbar = genericComponent()({
4237
4279
  const extension = slots.extension?.();
4238
4280
  isExtended.value = !!(props.extended || extension);
4239
4281
  return createVNode(props.tag, {
4240
- "class": ['v-toolbar', {
4282
+ "class": normalizeClass(['v-toolbar', {
4241
4283
  'v-toolbar--absolute': props.absolute,
4242
4284
  'v-toolbar--collapse': props.collapse,
4243
4285
  'v-toolbar--flat': props.flat,
4244
4286
  'v-toolbar--floating': props.floating,
4245
4287
  [`v-toolbar--density-${props.density}`]: true
4246
- }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
4247
- "style": [backgroundColorStyles.value, props.style]
4288
+ }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),
4289
+ "style": normalizeStyle([backgroundColorStyles.value, props.style])
4248
4290
  }, {
4249
- default: () => [hasImage && createVNode("div", {
4291
+ default: () => [hasImage && createElementVNode("div", {
4250
4292
  "key": "image",
4251
4293
  "class": "v-toolbar__image"
4252
4294
  }, [!slots.image ? createVNode(VImg, {
@@ -4269,19 +4311,19 @@ const VToolbar = genericComponent()({
4269
4311
  }
4270
4312
  }
4271
4313
  }, {
4272
- default: () => [createVNode("div", {
4314
+ default: () => [createElementVNode("div", {
4273
4315
  "class": "v-toolbar__content",
4274
- "style": {
4316
+ "style": normalizeStyle({
4275
4317
  height: convertToUnit(contentHeight.value)
4276
- }
4277
- }, [slots.prepend && createVNode("div", {
4318
+ })
4319
+ }, [slots.prepend && createElementVNode("div", {
4278
4320
  "class": "v-toolbar__prepend"
4279
4321
  }, [slots.prepend?.()]), hasTitle && createVNode(VToolbarTitle, {
4280
4322
  "key": "title",
4281
4323
  "text": props.title
4282
4324
  }, {
4283
4325
  text: slots.title
4284
- }), slots.default?.(), slots.append && createVNode("div", {
4326
+ }), slots.default?.(), slots.append && createElementVNode("div", {
4285
4327
  "class": "v-toolbar__append"
4286
4328
  }, [slots.append?.()])])]
4287
4329
  }), createVNode(VDefaultsProvider, {
@@ -4292,11 +4334,11 @@ const VToolbar = genericComponent()({
4292
4334
  }
4293
4335
  }, {
4294
4336
  default: () => [createVNode(VExpandTransition, null, {
4295
- default: () => [isExtended.value && createVNode("div", {
4337
+ default: () => [isExtended.value && createElementVNode("div", {
4296
4338
  "class": "v-toolbar__extension",
4297
- "style": {
4339
+ "style": normalizeStyle({
4298
4340
  height: convertToUnit(extensionHeight.value)
4299
- }
4341
+ })
4300
4342
  }, [extension])]
4301
4343
  })]
4302
4344
  })]
@@ -4575,12 +4617,12 @@ function useDensity(props) {
4575
4617
 
4576
4618
  const allowedVariants$2 = ['elevated', 'flat', 'tonal', 'outlined', 'text', 'plain'];
4577
4619
  function genOverlays(isClickable, name) {
4578
- return createVNode(Fragment, null, [isClickable && createVNode("span", {
4620
+ return createElementVNode(Fragment, null, [isClickable && createElementVNode("span", {
4579
4621
  "key": "overlay",
4580
- "class": `${name}__overlay`
4581
- }, null), createVNode("span", {
4622
+ "class": normalizeClass(`${name}__overlay`)
4623
+ }, null), createElementVNode("span", {
4582
4624
  "key": "underlay",
4583
- "class": `${name}__underlay`
4625
+ "class": normalizeClass(`${name}__underlay`)
4584
4626
  }, null)]);
4585
4627
  }
4586
4628
  const makeVariantProps = propsFactory({
@@ -4664,10 +4706,10 @@ const VBtnGroup = genericComponent()({
4664
4706
  });
4665
4707
  useRender(() => {
4666
4708
  return createVNode(props.tag, {
4667
- "class": ['v-btn-group', {
4709
+ "class": normalizeClass(['v-btn-group', {
4668
4710
  'v-btn-group--divided': props.divided
4669
- }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
4670
- "style": props.style
4711
+ }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
4712
+ "style": normalizeStyle(props.style)
4671
4713
  }, slots);
4672
4714
  });
4673
4715
  }
@@ -5024,19 +5066,19 @@ const VIcon = genericComponent()({
5024
5066
  return createVNode(iconData.value.component, {
5025
5067
  "tag": props.tag,
5026
5068
  "icon": iconData.value.icon,
5027
- "class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
5069
+ "class": normalizeClass(['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
5028
5070
  'v-icon--clickable': hasClick,
5029
5071
  'v-icon--disabled': props.disabled,
5030
5072
  'v-icon--start': props.start,
5031
5073
  'v-icon--end': props.end
5032
- }, props.class],
5033
- "style": [{
5074
+ }, props.class]),
5075
+ "style": normalizeStyle([{
5034
5076
  '--v-icon-opacity': props.opacity
5035
5077
  }, !sizeClasses.value ? {
5036
5078
  fontSize: convertToUnit(props.size),
5037
5079
  height: convertToUnit(props.size),
5038
5080
  width: convertToUnit(props.size)
5039
- } : undefined, textColorStyles.value, props.style],
5081
+ } : undefined, textColorStyles.value, props.style]),
5040
5082
  "role": hasClick ? 'button' : undefined,
5041
5083
  "aria-hidden": !hasClick,
5042
5084
  "tabindex": hasClick ? props.disabled ? -1 : 0 : undefined
@@ -5133,7 +5175,7 @@ const VProgressCircular = genericComponent()({
5133
5175
  resizeRef,
5134
5176
  contentRect
5135
5177
  } = useResizeObserver();
5136
- const normalizedValue = toRef(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));
5178
+ const normalizedValue = toRef(() => clamp(parseFloat(props.modelValue), 0, 100));
5137
5179
  const width = toRef(() => Number(props.width));
5138
5180
  const size = toRef(() => {
5139
5181
  // Get size from element if size prop value is small, large etc
@@ -5148,26 +5190,26 @@ const VProgressCircular = genericComponent()({
5148
5190
  });
5149
5191
  useRender(() => createVNode(props.tag, {
5150
5192
  "ref": root,
5151
- "class": ['v-progress-circular', {
5193
+ "class": normalizeClass(['v-progress-circular', {
5152
5194
  'v-progress-circular--indeterminate': !!props.indeterminate,
5153
5195
  'v-progress-circular--visible': isIntersecting.value,
5154
5196
  'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
5155
- }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
5156
- "style": [sizeStyles.value, textColorStyles.value, props.style],
5197
+ }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class]),
5198
+ "style": normalizeStyle([sizeStyles.value, textColorStyles.value, props.style]),
5157
5199
  "role": "progressbar",
5158
5200
  "aria-valuemin": "0",
5159
5201
  "aria-valuemax": "100",
5160
5202
  "aria-valuenow": props.indeterminate ? undefined : normalizedValue.value
5161
5203
  }, {
5162
- default: () => [createVNode("svg", {
5163
- "style": {
5204
+ default: () => [createElementVNode("svg", {
5205
+ "style": normalizeStyle({
5164
5206
  transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`
5165
- },
5207
+ }),
5166
5208
  "xmlns": "http://www.w3.org/2000/svg",
5167
5209
  "viewBox": `0 0 ${diameter.value} ${diameter.value}`
5168
- }, [createVNode("circle", {
5169
- "class": ['v-progress-circular__underlay', underlayColorClasses.value],
5170
- "style": underlayColorStyles.value,
5210
+ }, [createElementVNode("circle", {
5211
+ "class": normalizeClass(['v-progress-circular__underlay', underlayColorClasses.value]),
5212
+ "style": normalizeStyle(underlayColorStyles.value),
5171
5213
  "fill": "transparent",
5172
5214
  "cx": "50%",
5173
5215
  "cy": "50%",
@@ -5175,7 +5217,7 @@ const VProgressCircular = genericComponent()({
5175
5217
  "stroke-width": strokeWidth.value,
5176
5218
  "stroke-dasharray": CIRCUMFERENCE,
5177
5219
  "stroke-dashoffset": 0
5178
- }, null), createVNode("circle", {
5220
+ }, null), createElementVNode("circle", {
5179
5221
  "class": "v-progress-circular__overlay",
5180
5222
  "fill": "transparent",
5181
5223
  "cx": "50%",
@@ -5184,7 +5226,7 @@ const VProgressCircular = genericComponent()({
5184
5226
  "stroke-width": strokeWidth.value,
5185
5227
  "stroke-dasharray": CIRCUMFERENCE,
5186
5228
  "stroke-dashoffset": strokeDashOffset.value
5187
- }, null)]), slots.default && createVNode("div", {
5229
+ }, null)]), slots.default && createElementVNode("div", {
5188
5230
  "class": "v-progress-circular__content"
5189
5231
  }, [slots.default({
5190
5232
  value: normalizedValue.value
@@ -5358,21 +5400,21 @@ const VProgressLinear = genericComponent()({
5358
5400
  }
5359
5401
  useRender(() => createVNode(props.tag, {
5360
5402
  "ref": intersectionRef,
5361
- "class": ['v-progress-linear', {
5403
+ "class": normalizeClass(['v-progress-linear', {
5362
5404
  'v-progress-linear--absolute': props.absolute,
5363
5405
  'v-progress-linear--active': props.active && isIntersecting.value,
5364
5406
  'v-progress-linear--reverse': isReversed.value,
5365
5407
  'v-progress-linear--rounded': props.rounded,
5366
5408
  'v-progress-linear--rounded-bar': props.roundedBar,
5367
5409
  'v-progress-linear--striped': props.striped
5368
- }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
5369
- "style": [{
5410
+ }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),
5411
+ "style": normalizeStyle([{
5370
5412
  bottom: props.location === 'bottom' ? 0 : undefined,
5371
5413
  top: props.location === 'top' ? 0 : undefined,
5372
5414
  height: props.active ? convertToUnit(height.value) : 0,
5373
5415
  '--v-progress-linear-height': convertToUnit(height.value),
5374
5416
  ...(props.absolute ? locationStyles.value : {})
5375
- }, props.style],
5417
+ }, props.style]),
5376
5418
  "role": "progressbar",
5377
5419
  "aria-hidden": props.active ? 'false' : 'true',
5378
5420
  "aria-valuemin": "0",
@@ -5380,10 +5422,10 @@ const VProgressLinear = genericComponent()({
5380
5422
  "aria-valuenow": props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value),
5381
5423
  "onClick": props.clickable && handleClick
5382
5424
  }, {
5383
- default: () => [props.stream && createVNode("div", {
5425
+ default: () => [props.stream && createElementVNode("div", {
5384
5426
  "key": "stream",
5385
- "class": ['v-progress-linear__stream', textColorClasses.value],
5386
- "style": {
5427
+ "class": normalizeClass(['v-progress-linear__stream', textColorClasses.value]),
5428
+ "style": normalizeStyle({
5387
5429
  ...textColorStyles.value,
5388
5430
  [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),
5389
5431
  borderTop: `${convertToUnit(height.value / 2)} dotted`,
@@ -5391,35 +5433,35 @@ const VProgressLinear = genericComponent()({
5391
5433
  top: `calc(50% - ${convertToUnit(height.value / 4)})`,
5392
5434
  width: convertToUnit(100 - normalizedBuffer.value, '%'),
5393
5435
  '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
5394
- }
5395
- }, null), createVNode("div", {
5396
- "class": ['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
5397
- "style": [backgroundColorStyles.value, {
5436
+ })
5437
+ }, null), createElementVNode("div", {
5438
+ "class": normalizeClass(['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
5439
+ "style": normalizeStyle([backgroundColorStyles.value, {
5398
5440
  opacity: parseFloat(props.bgOpacity),
5399
5441
  width: props.stream ? 0 : undefined
5400
- }]
5401
- }, null), createVNode("div", {
5402
- "class": ['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined],
5403
- "style": [bufferColorStyles.value, {
5442
+ }])
5443
+ }, null), createElementVNode("div", {
5444
+ "class": normalizeClass(['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined]),
5445
+ "style": normalizeStyle([bufferColorStyles.value, {
5404
5446
  opacity: parseFloat(props.bufferOpacity),
5405
5447
  width: convertToUnit(normalizedBuffer.value, '%')
5406
- }]
5448
+ }])
5407
5449
  }, null), createVNode(Transition, {
5408
5450
  "name": transition.value
5409
5451
  }, {
5410
- default: () => [!props.indeterminate ? createVNode("div", {
5411
- "class": ['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined],
5412
- "style": [barColorStyles.value, {
5452
+ default: () => [!props.indeterminate ? createElementVNode("div", {
5453
+ "class": normalizeClass(['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5454
+ "style": normalizeStyle([barColorStyles.value, {
5413
5455
  width: convertToUnit(normalizedValue.value, '%')
5414
- }]
5415
- }, null) : createVNode("div", {
5456
+ }])
5457
+ }, null) : createElementVNode("div", {
5416
5458
  "class": "v-progress-linear__indeterminate"
5417
- }, [['long', 'short'].map(bar => createVNode("div", {
5459
+ }, [['long', 'short'].map(bar => createElementVNode("div", {
5418
5460
  "key": bar,
5419
- "class": ['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined],
5420
- "style": barColorStyles.value
5461
+ "class": normalizeClass(['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5462
+ "style": normalizeStyle(barColorStyles.value)
5421
5463
  }, null))])]
5422
- }), slots.default && createVNode("div", {
5464
+ }), slots.default && createElementVNode("div", {
5423
5465
  "class": "v-progress-linear__content"
5424
5466
  }, [slots.default({
5425
5467
  value: normalizedValue.value,
@@ -5449,8 +5491,8 @@ function LoaderSlot(props, _ref) {
5449
5491
  let {
5450
5492
  slots
5451
5493
  } = _ref;
5452
- return createVNode("div", {
5453
- "class": `${props.name}__loader`
5494
+ return createElementVNode("div", {
5495
+ "class": normalizeClass(`${props.name}__loader`)
5454
5496
  }, [slots.default?.({
5455
5497
  color: props.color,
5456
5498
  isActive: props.active
@@ -6040,7 +6082,7 @@ const VBtn = genericComponent()({
6040
6082
  "onClick": onClick,
6041
6083
  "value": valueAttr.value
6042
6084
  }, link.linkProps), {
6043
- default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
6085
+ default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createElementVNode("span", {
6044
6086
  "key": "prepend",
6045
6087
  "class": "v-btn__prepend"
6046
6088
  }, [!slots.prepend ? createVNode(VIcon, {
@@ -6054,7 +6096,7 @@ const VBtn = genericComponent()({
6054
6096
  icon: props.prependIcon
6055
6097
  }
6056
6098
  }
6057
- }, slots.prepend)]), createVNode("span", {
6099
+ }, slots.prepend)]), createElementVNode("span", {
6058
6100
  "class": "v-btn__content",
6059
6101
  "data-no-activator": ""
6060
6102
  }, [!slots.default && hasIcon ? createVNode(VIcon, {
@@ -6070,7 +6112,7 @@ const VBtn = genericComponent()({
6070
6112
  }
6071
6113
  }, {
6072
6114
  default: () => [slots.default?.() ?? toDisplayString(props.text)]
6073
- })]), !props.icon && hasAppend && createVNode("span", {
6115
+ })]), !props.icon && hasAppend && createElementVNode("span", {
6074
6116
  "key": "append",
6075
6117
  "class": "v-btn__append"
6076
6118
  }, [!slots.append ? createVNode(VIcon, {
@@ -6084,7 +6126,7 @@ const VBtn = genericComponent()({
6084
6126
  icon: props.appendIcon
6085
6127
  }
6086
6128
  }
6087
- }, slots.append)]), !!props.loading && createVNode("span", {
6129
+ }, slots.append)]), !!props.loading && createElementVNode("span", {
6088
6130
  "key": "loader",
6089
6131
  "class": "v-btn__loader"
6090
6132
  }, [slots.loader?.() ?? createVNode(VProgressCircular, {
@@ -6257,20 +6299,20 @@ const VAlert = genericComponent()({
6257
6299
  const hasTitle = !!(slots.title || props.title);
6258
6300
  const hasClose = !!(slots.close || props.closable);
6259
6301
  return isActive.value && createVNode(props.tag, {
6260
- "class": ['v-alert', props.border && {
6302
+ "class": normalizeClass(['v-alert', props.border && {
6261
6303
  'v-alert--border': !!props.border,
6262
6304
  [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
6263
6305
  }, {
6264
6306
  'v-alert--prominent': props.prominent
6265
- }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
6266
- "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
6307
+ }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class]),
6308
+ "style": normalizeStyle([colorStyles.value, dimensionStyles.value, locationStyles.value, props.style]),
6267
6309
  "role": "alert"
6268
6310
  }, {
6269
- default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
6311
+ default: () => [genOverlays(false, 'v-alert'), props.border && createElementVNode("div", {
6270
6312
  "key": "border",
6271
- "class": ['v-alert__border', textColorClasses.value],
6272
- "style": textColorStyles.value
6273
- }, null), hasPrepend && createVNode("div", {
6313
+ "class": normalizeClass(['v-alert__border', textColorClasses.value]),
6314
+ "style": normalizeStyle(textColorStyles.value)
6315
+ }, null), hasPrepend && createElementVNode("div", {
6274
6316
  "key": "prepend",
6275
6317
  "class": "v-alert__prepend"
6276
6318
  }, [!slots.prepend ? createVNode(VIcon, {
@@ -6288,16 +6330,16 @@ const VAlert = genericComponent()({
6288
6330
  size: props.prominent ? 44 : 28
6289
6331
  }
6290
6332
  }
6291
- }, slots.prepend)]), createVNode("div", {
6333
+ }, slots.prepend)]), createElementVNode("div", {
6292
6334
  "class": "v-alert__content"
6293
6335
  }, [hasTitle && createVNode(VAlertTitle, {
6294
6336
  "key": "title"
6295
6337
  }, {
6296
6338
  default: () => [slots.title?.() ?? props.title]
6297
- }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && createVNode("div", {
6339
+ }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && createElementVNode("div", {
6298
6340
  "key": "append",
6299
6341
  "class": "v-alert__append"
6300
- }, [slots.append()]), hasClose && createVNode("div", {
6342
+ }, [slots.append()]), hasClose && createElementVNode("div", {
6301
6343
  "key": "close",
6302
6344
  "class": "v-alert__close"
6303
6345
  }, [!slots.close ? createVNode(VBtn, mergeProps({
@@ -6370,11 +6412,11 @@ const VAvatar = genericComponent()({
6370
6412
  sizeStyles
6371
6413
  } = useSize(props);
6372
6414
  useRender(() => createVNode(props.tag, {
6373
- "class": ['v-avatar', {
6415
+ "class": normalizeClass(['v-avatar', {
6374
6416
  'v-avatar--start': props.start,
6375
6417
  'v-avatar--end': props.end
6376
- }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6377
- "style": [colorStyles.value, sizeStyles.value, props.style]
6418
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class]),
6419
+ "style": normalizeStyle([colorStyles.value, sizeStyles.value, props.style])
6378
6420
  }, {
6379
6421
  default: () => [!slots.default ? props.image ? createVNode(VImg, {
6380
6422
  "key": "image",
@@ -6416,11 +6458,11 @@ const VLabel = genericComponent()({
6416
6458
  let {
6417
6459
  slots
6418
6460
  } = _ref;
6419
- useRender(() => createVNode("label", {
6420
- "class": ['v-label', {
6461
+ useRender(() => createElementVNode("label", {
6462
+ "class": normalizeClass(['v-label', {
6421
6463
  'v-label--clickable': !!props.onClick
6422
- }, props.class],
6423
- "style": props.style,
6464
+ }, props.class]),
6465
+ "style": normalizeStyle(props.style),
6424
6466
  "onClick": props.onClick
6425
6467
  }, [props.text, slots.default?.()]));
6426
6468
  return {};
@@ -6515,11 +6557,11 @@ const VSelectionControlGroup = genericComponent()({
6515
6557
  valueComparator: toRef(() => props.valueComparator)
6516
6558
  }
6517
6559
  });
6518
- useRender(() => createVNode("div", {
6519
- "class": ['v-selection-control-group', {
6560
+ useRender(() => createElementVNode("div", {
6561
+ "class": normalizeClass(['v-selection-control-group', {
6520
6562
  'v-selection-control-group--inline': props.inline
6521
- }, props.class],
6522
- "style": props.style,
6563
+ }, props.class]),
6564
+ "style": normalizeStyle(props.style),
6523
6565
  "role": props.type === 'radio' ? 'radiogroup' : undefined
6524
6566
  }, [slots.default?.()]));
6525
6567
  return {};
@@ -6595,7 +6637,7 @@ function useSelectionControl(props) {
6595
6637
  const VSelectionControl = genericComponent()({
6596
6638
  name: 'VSelectionControl',
6597
6639
  directives: {
6598
- Ripple
6640
+ vRipple: Ripple
6599
6641
  },
6600
6642
  inheritAttrs: false,
6601
6643
  props: makeVSelectionControlProps(),
@@ -6666,7 +6708,7 @@ const VSelectionControl = genericComponent()({
6666
6708
  }
6667
6709
  }) : props.label;
6668
6710
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
6669
- const inputNode = createVNode("input", mergeProps({
6711
+ const inputNode = createElementVNode("input", mergeProps({
6670
6712
  "ref": input,
6671
6713
  "checked": model.value,
6672
6714
  "disabled": !!props.disabled,
@@ -6681,7 +6723,7 @@ const VSelectionControl = genericComponent()({
6681
6723
  "name": props.name,
6682
6724
  "aria-checked": props.type === 'checkbox' ? model.value : undefined
6683
6725
  }, inputAttrs), null);
6684
- return createVNode("div", mergeProps({
6726
+ return createElementVNode("div", mergeProps({
6685
6727
  "class": ['v-selection-control', {
6686
6728
  'v-selection-control--dirty': model.value,
6687
6729
  'v-selection-control--disabled': props.disabled,
@@ -6692,13 +6734,13 @@ const VSelectionControl = genericComponent()({
6692
6734
  }, densityClasses.value, props.class]
6693
6735
  }, rootAttrs, {
6694
6736
  "style": props.style
6695
- }), [createVNode("div", {
6696
- "class": ['v-selection-control__wrapper', textColorClasses.value],
6697
- "style": textColorStyles.value
6737
+ }), [createElementVNode("div", {
6738
+ "class": normalizeClass(['v-selection-control__wrapper', textColorClasses.value]),
6739
+ "style": normalizeStyle(textColorStyles.value)
6698
6740
  }, [slots.default?.({
6699
6741
  backgroundColorClasses,
6700
6742
  backgroundColorStyles
6701
- }), withDirectives(createVNode("div", {
6743
+ }), withDirectives(createElementVNode("div", {
6702
6744
  "class": ['v-selection-control__input']
6703
6745
  }, [slots.input?.({
6704
6746
  model,
@@ -6713,10 +6755,10 @@ const VSelectionControl = genericComponent()({
6713
6755
  onBlur,
6714
6756
  id: id.value
6715
6757
  }
6716
- }) ?? createVNode(Fragment, null, [icon.value && createVNode(VIcon, {
6758
+ }) ?? createElementVNode(Fragment, null, [icon.value && createVNode(VIcon, {
6717
6759
  "key": "icon",
6718
6760
  "icon": icon.value
6719
- }, null), inputNode])]), [[resolveDirective("ripple"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && createVNode(VLabel, {
6761
+ }, null), inputNode])]), [[Ripple, props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && createVNode(VLabel, {
6720
6762
  "for": id.value,
6721
6763
  "onClick": onClickLabel
6722
6764
  }, {
@@ -6793,7 +6835,8 @@ function useInputIcon(props) {
6793
6835
  function InputIcon(_ref) {
6794
6836
  let {
6795
6837
  name,
6796
- color
6838
+ color,
6839
+ ...attrs
6797
6840
  } = _ref;
6798
6841
  const localeKey = {
6799
6842
  prepend: 'prependAction',
@@ -6810,13 +6853,13 @@ function useInputIcon(props) {
6810
6853
  callEvent(listener, new PointerEvent('click', e));
6811
6854
  }
6812
6855
  const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined;
6813
- return createVNode(VIcon, {
6856
+ return createVNode(VIcon, mergeProps({
6814
6857
  "icon": props[`${name}Icon`],
6815
6858
  "aria-label": label,
6816
6859
  "onClick": listener,
6817
6860
  "onKeydown": onKeydown,
6818
6861
  "color": color
6819
- }, null);
6862
+ }, attrs), null);
6820
6863
  }
6821
6864
  return {
6822
6865
  InputIcon
@@ -6856,10 +6899,10 @@ const VMessages = genericComponent()({
6856
6899
  useRender(() => createVNode(MaybeTransition, {
6857
6900
  "transition": props.transition,
6858
6901
  "tag": "div",
6859
- "class": ['v-messages', textColorClasses.value, props.class],
6860
- "style": [textColorStyles.value, props.style]
6902
+ "class": normalizeClass(['v-messages', textColorClasses.value, props.class]),
6903
+ "style": normalizeStyle([textColorStyles.value, props.style])
6861
6904
  }, {
6862
- default: () => [props.active && messages.value.map((message, i) => createVNode("div", {
6905
+ default: () => [props.active && messages.value.map((message, i) => createElementVNode("div", {
6863
6906
  "class": "v-messages__message",
6864
6907
  "key": `${i}-${messages.value}`
6865
6908
  }, [slots.message ? slots.message({
@@ -7325,31 +7368,31 @@ const VInput = genericComponent()({
7325
7368
  const hasAppend = !!(slots.append || props.appendIcon);
7326
7369
  const hasMessages = messages.value.length > 0;
7327
7370
  const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
7328
- return createVNode("div", {
7329
- "class": ['v-input', `v-input--${props.direction}`, {
7371
+ return createElementVNode("div", {
7372
+ "class": normalizeClass(['v-input', `v-input--${props.direction}`, {
7330
7373
  'v-input--center-affix': props.centerAffix,
7331
7374
  'v-input--focused': props.focused,
7332
7375
  'v-input--glow': props.glow,
7333
7376
  'v-input--hide-spin-buttons': props.hideSpinButtons
7334
- }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],
7335
- "style": [dimensionStyles.value, props.style]
7336
- }, [hasPrepend && createVNode("div", {
7377
+ }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class]),
7378
+ "style": normalizeStyle([dimensionStyles.value, props.style])
7379
+ }, [hasPrepend && createElementVNode("div", {
7337
7380
  "key": "prepend",
7338
7381
  "class": "v-input__prepend"
7339
7382
  }, [slots.prepend?.(slotProps.value), props.prependIcon && createVNode(InputIcon, {
7340
7383
  "key": "prepend-icon",
7341
7384
  "name": "prepend",
7342
7385
  "color": iconColor.value
7343
- }, null)]), slots.default && createVNode("div", {
7386
+ }, null)]), slots.default && createElementVNode("div", {
7344
7387
  "class": "v-input__control"
7345
- }, [slots.default?.(slotProps.value)]), hasAppend && createVNode("div", {
7388
+ }, [slots.default?.(slotProps.value)]), hasAppend && createElementVNode("div", {
7346
7389
  "key": "append",
7347
7390
  "class": "v-input__append"
7348
7391
  }, [props.appendIcon && createVNode(InputIcon, {
7349
7392
  "key": "append-icon",
7350
7393
  "name": "append",
7351
7394
  "color": iconColor.value
7352
- }, null), slots.append?.(slotProps.value)]), hasDetails && createVNode("div", {
7395
+ }, null), slots.append?.(slotProps.value)]), hasDetails && createElementVNode("div", {
7353
7396
  "id": messagesId.value,
7354
7397
  "class": "v-input__details",
7355
7398
  "role": "alert",
@@ -7740,7 +7783,7 @@ function clampTarget(container, value, rtl, horizontal) {
7740
7783
  min = 0;
7741
7784
  max = scrollHeight + -containerHeight;
7742
7785
  }
7743
- return Math.max(Math.min(value, max), min);
7786
+ return clamp(value, min, max);
7744
7787
  }
7745
7788
 
7746
7789
  function calculateUpdatedTarget(_ref) {
@@ -8098,42 +8141,42 @@ const VSlideGroup = genericComponent()({
8098
8141
  return scrollSizeMax - Math.abs(scrollOffset.value) > 1;
8099
8142
  });
8100
8143
  useRender(() => createVNode(props.tag, {
8101
- "class": ['v-slide-group', {
8144
+ "class": normalizeClass(['v-slide-group', {
8102
8145
  'v-slide-group--vertical': !isHorizontal.value,
8103
8146
  'v-slide-group--has-affixes': hasAffixes.value,
8104
8147
  'v-slide-group--is-overflowing': isOverflowing.value
8105
- }, displayClasses.value, props.class],
8106
- "style": props.style,
8148
+ }, displayClasses.value, props.class]),
8149
+ "style": normalizeStyle(props.style),
8107
8150
  "tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
8108
8151
  "onFocus": onFocus
8109
8152
  }, {
8110
- default: () => [hasAffixes.value && createVNode("div", {
8153
+ default: () => [hasAffixes.value && createElementVNode("div", {
8111
8154
  "key": "prev",
8112
- "class": ['v-slide-group__prev', {
8155
+ "class": normalizeClass(['v-slide-group__prev', {
8113
8156
  'v-slide-group__prev--disabled': !hasPrev.value
8114
- }],
8157
+ }]),
8115
8158
  "onMousedown": onFocusAffixes,
8116
8159
  "onClick": () => hasPrev.value && scrollTo('prev')
8117
8160
  }, [slots.prev?.(slotProps.value) ?? createVNode(VFadeTransition, null, {
8118
8161
  default: () => [createVNode(VIcon, {
8119
8162
  "icon": isRtl.value ? props.nextIcon : props.prevIcon
8120
8163
  }, null)]
8121
- })]), createVNode("div", {
8164
+ })]), createElementVNode("div", {
8122
8165
  "key": "container",
8123
8166
  "ref": containerRef,
8124
8167
  "class": "v-slide-group__container",
8125
8168
  "onScroll": onScroll
8126
- }, [createVNode("div", {
8169
+ }, [createElementVNode("div", {
8127
8170
  "ref": contentRef,
8128
8171
  "class": "v-slide-group__content",
8129
8172
  "onFocusin": onFocusin,
8130
8173
  "onFocusout": onFocusout,
8131
8174
  "onKeydown": onKeydown
8132
- }, [slots.default?.(slotProps.value)])]), hasAffixes.value && createVNode("div", {
8175
+ }, [slots.default?.(slotProps.value)])]), hasAffixes.value && createElementVNode("div", {
8133
8176
  "key": "next",
8134
- "class": ['v-slide-group__next', {
8177
+ "class": normalizeClass(['v-slide-group__next', {
8135
8178
  'v-slide-group__next--disabled': !hasNext.value
8136
- }],
8179
+ }]),
8137
8180
  "onMousedown": onFocusAffixes,
8138
8181
  "onClick": () => hasNext.value && scrollTo('next')
8139
8182
  }, [slots.next?.(slotProps.value) ?? createVNode(VFadeTransition, null, {
@@ -8288,7 +8331,7 @@ const makeVChipProps = propsFactory({
8288
8331
  const VChip = genericComponent()({
8289
8332
  name: 'VChip',
8290
8333
  directives: {
8291
- Ripple
8334
+ vRipple: Ripple
8292
8335
  },
8293
8336
  props: makeVChipProps(),
8294
8337
  emits: {
@@ -8388,7 +8431,7 @@ const VChip = genericComponent()({
8388
8431
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VExpandXTransition, {
8389
8432
  "key": "filter"
8390
8433
  }, {
8391
- default: () => [withDirectives(createVNode("div", {
8434
+ default: () => [withDirectives(createElementVNode("div", {
8392
8435
  "class": "v-chip__filter"
8393
8436
  }, [!slots.filter ? createVNode(VIcon, {
8394
8437
  "key": "filter-icon",
@@ -8402,10 +8445,10 @@ const VChip = genericComponent()({
8402
8445
  }
8403
8446
  }
8404
8447
  }, slots.filter)]), [[vShow, group.isSelected.value]])]
8405
- }), hasPrepend && createVNode("div", {
8448
+ }), hasPrepend && createElementVNode("div", {
8406
8449
  "key": "prepend",
8407
8450
  "class": "v-chip__prepend"
8408
- }, [!slots.prepend ? createVNode(Fragment, null, [props.prependIcon && createVNode(VIcon, {
8451
+ }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependIcon && createVNode(VIcon, {
8409
8452
  "key": "prepend-icon",
8410
8453
  "icon": props.prependIcon,
8411
8454
  "start": true
@@ -8426,7 +8469,7 @@ const VChip = genericComponent()({
8426
8469
  start: true
8427
8470
  }
8428
8471
  }
8429
- }, slots.prepend)]), createVNode("div", {
8472
+ }, slots.prepend)]), createElementVNode("div", {
8430
8473
  "class": "v-chip__content",
8431
8474
  "data-no-activator": ""
8432
8475
  }, [slots.default?.({
@@ -8436,10 +8479,10 @@ const VChip = genericComponent()({
8436
8479
  toggle: group?.toggle,
8437
8480
  value: group?.value.value,
8438
8481
  disabled: props.disabled
8439
- }) ?? toDisplayString(props.text)]), hasAppend && createVNode("div", {
8482
+ }) ?? toDisplayString(props.text)]), hasAppend && createElementVNode("div", {
8440
8483
  "key": "append",
8441
8484
  "class": "v-chip__append"
8442
- }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
8485
+ }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
8443
8486
  "key": "append-icon",
8444
8487
  "end": true,
8445
8488
  "icon": props.appendIcon
@@ -8460,7 +8503,7 @@ const VChip = genericComponent()({
8460
8503
  icon: props.appendIcon
8461
8504
  }
8462
8505
  }
8463
- }, slots.append)]), hasClose && createVNode("button", mergeProps({
8506
+ }, slots.append)]), hasClose && createElementVNode("button", mergeProps({
8464
8507
  "key": "close",
8465
8508
  "class": "v-chip__close",
8466
8509
  "type": "button",
@@ -8478,7 +8521,7 @@ const VChip = genericComponent()({
8478
8521
  }
8479
8522
  }
8480
8523
  }, slots.close)])]
8481
- }), [[resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
8524
+ }), [[Ripple, isClickable.value && props.ripple, null]]);
8482
8525
  };
8483
8526
  }
8484
8527
  });
@@ -9251,13 +9294,13 @@ const VListGroup = genericComponent()({
9251
9294
  }
9252
9295
  }));
9253
9296
  useRender(() => createVNode(props.tag, {
9254
- "class": ['v-list-group', {
9297
+ "class": normalizeClass(['v-list-group', {
9255
9298
  'v-list-group--prepend': list?.hasPrepend.value,
9256
9299
  'v-list-group--fluid': props.fluid,
9257
9300
  'v-list-group--subgroup': props.subgroup,
9258
9301
  'v-list-group--open': isOpen.value
9259
- }, props.class],
9260
- "style": props.style
9302
+ }, props.class]),
9303
+ "style": normalizeStyle(props.style)
9261
9304
  }, {
9262
9305
  default: () => [slots.activator && createVNode(VDefaultsProvider, {
9263
9306
  "defaults": activatorDefaults.value
@@ -9274,7 +9317,7 @@ const VListGroup = genericComponent()({
9274
9317
  },
9275
9318
  "disabled": !isBooted.value
9276
9319
  }, {
9277
- default: () => [withDirectives(createVNode("div", {
9320
+ default: () => [withDirectives(createElementVNode("div", {
9278
9321
  "class": "v-list-group__items",
9279
9322
  "role": "group",
9280
9323
  "aria-labelledby": id.value
@@ -9300,10 +9343,10 @@ const VListItemSubtitle = genericComponent()({
9300
9343
  slots
9301
9344
  } = _ref;
9302
9345
  useRender(() => createVNode(props.tag, {
9303
- "class": ['v-list-item-subtitle', props.class],
9304
- "style": [{
9346
+ "class": normalizeClass(['v-list-item-subtitle', props.class]),
9347
+ "style": normalizeStyle([{
9305
9348
  '--v-list-item-subtitle-opacity': props.opacity
9306
- }, props.style]
9349
+ }, props.style])
9307
9350
  }, slots));
9308
9351
  return {};
9309
9352
  }
@@ -9366,7 +9409,7 @@ const makeVListItemProps = propsFactory({
9366
9409
  const VListItem = genericComponent()({
9367
9410
  name: 'VListItem',
9368
9411
  directives: {
9369
- Ripple
9412
+ vRipple: Ripple
9370
9413
  },
9371
9414
  props: makeVListItemProps(),
9372
9415
  emits: {
@@ -9501,10 +9544,10 @@ const VListItem = genericComponent()({
9501
9544
  "onClick": onClick,
9502
9545
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9503
9546
  }, link.linkProps), {
9504
- default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
9547
+ default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createElementVNode("div", {
9505
9548
  "key": "prepend",
9506
9549
  "class": "v-list-item__prepend"
9507
- }, [!slots.prepend ? createVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
9550
+ }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
9508
9551
  "key": "prepend-avatar",
9509
9552
  "density": props.density,
9510
9553
  "image": props.prependAvatar
@@ -9530,9 +9573,9 @@ const VListItem = genericComponent()({
9530
9573
  }
9531
9574
  }, {
9532
9575
  default: () => [slots.prepend?.(slotProps.value)]
9533
- }), createVNode("div", {
9576
+ }), createElementVNode("div", {
9534
9577
  "class": "v-list-item__spacer"
9535
- }, null)]), createVNode("div", {
9578
+ }, null)]), createElementVNode("div", {
9536
9579
  "class": "v-list-item__content",
9537
9580
  "data-no-activator": ""
9538
9581
  }, [hasTitle && createVNode(VListItemTitle, {
@@ -9547,10 +9590,10 @@ const VListItem = genericComponent()({
9547
9590
  default: () => [slots.subtitle?.({
9548
9591
  subtitle: props.subtitle
9549
9592
  }) ?? toDisplayString(props.subtitle)]
9550
- }), slots.default?.(slotProps.value)]), hasAppend && createVNode("div", {
9593
+ }), slots.default?.(slotProps.value)]), hasAppend && createElementVNode("div", {
9551
9594
  "key": "append",
9552
9595
  "class": "v-list-item__append"
9553
- }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
9596
+ }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
9554
9597
  "key": "append-icon",
9555
9598
  "density": props.density,
9556
9599
  "icon": props.appendIcon
@@ -9576,10 +9619,10 @@ const VListItem = genericComponent()({
9576
9619
  }
9577
9620
  }, {
9578
9621
  default: () => [slots.append?.(slotProps.value)]
9579
- }), createVNode("div", {
9622
+ }), createElementVNode("div", {
9580
9623
  "class": "v-list-item__spacer"
9581
9624
  }, null)])]
9582
- }), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
9625
+ }), [[Ripple, isClickable.value && props.ripple]]);
9583
9626
  });
9584
9627
  return {
9585
9628
  activate,
@@ -9617,15 +9660,15 @@ const VListSubheader = genericComponent()({
9617
9660
  useRender(() => {
9618
9661
  const hasText = !!(slots.default || props.title);
9619
9662
  return createVNode(props.tag, {
9620
- "class": ['v-list-subheader', {
9663
+ "class": normalizeClass(['v-list-subheader', {
9621
9664
  'v-list-subheader--inset': props.inset,
9622
9665
  'v-list-subheader--sticky': props.sticky
9623
- }, textColorClasses.value, props.class],
9624
- "style": [{
9666
+ }, textColorClasses.value, props.class]),
9667
+ "style": normalizeStyle([{
9625
9668
  textColorStyles
9626
- }, props.style]
9669
+ }, props.style])
9627
9670
  }, {
9628
- default: () => [hasText && createVNode("div", {
9671
+ default: () => [hasText && createElementVNode("div", {
9629
9672
  "class": "v-list-subheader__text"
9630
9673
  }, [slots.default?.() ?? props.title])]
9631
9674
  });
@@ -9670,25 +9713,25 @@ const VDivider = genericComponent()({
9670
9713
  return styles;
9671
9714
  });
9672
9715
  useRender(() => {
9673
- const divider = createVNode("hr", {
9674
- "class": [{
9716
+ const divider = createElementVNode("hr", {
9717
+ "class": normalizeClass([{
9675
9718
  'v-divider': true,
9676
9719
  'v-divider--inset': props.inset,
9677
9720
  'v-divider--vertical': props.vertical
9678
- }, themeClasses.value, textColorClasses.value, props.class],
9679
- "style": [dividerStyles.value, textColorStyles.value, {
9721
+ }, themeClasses.value, textColorClasses.value, props.class]),
9722
+ "style": normalizeStyle([dividerStyles.value, textColorStyles.value, {
9680
9723
  '--v-border-opacity': props.opacity
9681
- }, props.style],
9724
+ }, props.style]),
9682
9725
  "aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
9683
9726
  "role": `${attrs.role || 'separator'}`
9684
9727
  }, null);
9685
9728
  if (!slots.default) return divider;
9686
- return createVNode("div", {
9687
- "class": ['v-divider__wrapper', {
9729
+ return createElementVNode("div", {
9730
+ "class": normalizeClass(['v-divider__wrapper', {
9688
9731
  'v-divider__wrapper--vertical': props.vertical,
9689
9732
  'v-divider__wrapper--inset': props.inset
9690
- }]
9691
- }, [divider, createVNode("div", {
9733
+ }])
9734
+ }, [divider, createElementVNode("div", {
9692
9735
  "class": "v-divider__content"
9693
9736
  }, [slots.default()]), divider]);
9694
9737
  });
@@ -10107,12 +10150,12 @@ const VList = genericComponent()({
10107
10150
  useRender(() => {
10108
10151
  return createVNode(props.tag, {
10109
10152
  "ref": contentRef,
10110
- "class": ['v-list', {
10153
+ "class": normalizeClass(['v-list', {
10111
10154
  'v-list--disabled': props.disabled,
10112
10155
  'v-list--nav': props.nav,
10113
10156
  'v-list--slim': props.slim
10114
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
10115
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
10157
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class]),
10158
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),
10116
10159
  "tabindex": props.disabled ? -1 : 0,
10117
10160
  "role": "listbox",
10118
10161
  "aria-activedescendant": undefined,
@@ -10156,11 +10199,11 @@ const VListItemAction = genericComponent()({
10156
10199
  slots
10157
10200
  } = _ref;
10158
10201
  useRender(() => createVNode(props.tag, {
10159
- "class": ['v-list-item-action', {
10202
+ "class": normalizeClass(['v-list-item-action', {
10160
10203
  'v-list-item-action--start': props.start,
10161
10204
  'v-list-item-action--end': props.end
10162
- }, props.class],
10163
- "style": props.style
10205
+ }, props.class]),
10206
+ "style": normalizeStyle(props.style)
10164
10207
  }, slots));
10165
10208
  return {};
10166
10209
  }
@@ -10181,11 +10224,11 @@ const VListItemMedia = genericComponent()({
10181
10224
  } = _ref;
10182
10225
  useRender(() => {
10183
10226
  return createVNode(props.tag, {
10184
- "class": ['v-list-item-media', {
10227
+ "class": normalizeClass(['v-list-item-media', {
10185
10228
  'v-list-item-media--start': props.start,
10186
10229
  'v-list-item-media--end': props.end
10187
- }, props.class],
10188
- "style": props.style
10230
+ }, props.class]),
10231
+ "style": normalizeStyle(props.style)
10189
10232
  }, slots);
10190
10233
  });
10191
10234
  return {};
@@ -10274,11 +10317,19 @@ function useLocationStrategies(props, data) {
10274
10317
  watch(() => props.locationStrategy, reset);
10275
10318
  onScopeDispose(() => {
10276
10319
  window.removeEventListener('resize', onResize);
10320
+ visualViewport?.removeEventListener('resize', onVisualResize);
10321
+ visualViewport?.removeEventListener('scroll', onVisualScroll);
10277
10322
  updateLocation.value = undefined;
10278
10323
  });
10279
10324
  window.addEventListener('resize', onResize, {
10280
10325
  passive: true
10281
10326
  });
10327
+ visualViewport?.addEventListener('resize', onVisualResize, {
10328
+ passive: true
10329
+ });
10330
+ visualViewport?.addEventListener('scroll', onVisualScroll, {
10331
+ passive: true
10332
+ });
10282
10333
  if (typeof props.locationStrategy === 'function') {
10283
10334
  updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation;
10284
10335
  } else {
@@ -10289,6 +10340,12 @@ function useLocationStrategies(props, data) {
10289
10340
  function onResize(e) {
10290
10341
  updateLocation.value?.(e);
10291
10342
  }
10343
+ function onVisualResize(e) {
10344
+ updateLocation.value?.(e);
10345
+ }
10346
+ function onVisualScroll(e) {
10347
+ updateLocation.value?.(e);
10348
+ }
10292
10349
  return {
10293
10350
  contentStyles,
10294
10351
  updateLocation
@@ -10440,13 +10497,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
10440
10497
  }
10441
10498
  }
10442
10499
  const viewport = scrollParents.reduce((box, el) => {
10443
- const rect = el.getBoundingClientRect();
10444
- const scrollBox = new Box({
10445
- x: el === document.documentElement ? 0 : rect.x,
10446
- y: el === document.documentElement ? 0 : rect.y,
10447
- width: el.clientWidth,
10448
- height: el.clientHeight
10449
- });
10500
+ const scrollBox = getElementBox(el);
10450
10501
  if (box) {
10451
10502
  return new Box({
10452
10503
  x: Math.max(box.left, scrollBox.left),
@@ -11337,7 +11388,7 @@ function Scrim(props) {
11337
11388
  "name": "fade-transition",
11338
11389
  "appear": true
11339
11390
  }, {
11340
- default: () => [props.modelValue && createVNode("div", mergeProps({
11391
+ default: () => [props.modelValue && createElementVNode("div", mergeProps({
11341
11392
  "class": ['v-overlay__scrim', props.color.backgroundColorClasses.value],
11342
11393
  "style": props.color.backgroundColorStyles.value
11343
11394
  }, rest), null)]
@@ -11378,7 +11429,7 @@ const makeVOverlayProps = propsFactory({
11378
11429
  const VOverlay = genericComponent()({
11379
11430
  name: 'VOverlay',
11380
11431
  directives: {
11381
- ClickOutside
11432
+ vClickOutside: ClickOutside
11382
11433
  },
11383
11434
  inheritAttrs: false,
11384
11435
  props: {
@@ -11558,7 +11609,7 @@ const VOverlay = genericComponent()({
11558
11609
  _onAfterLeave();
11559
11610
  emit('afterLeave');
11560
11611
  }
11561
- useRender(() => createVNode(Fragment, null, [slots.activator?.({
11612
+ useRender(() => createElementVNode(Fragment, null, [slots.activator?.({
11562
11613
  isActive: isActive.value,
11563
11614
  targetRef,
11564
11615
  props: mergeProps({
@@ -11568,7 +11619,7 @@ const VOverlay = genericComponent()({
11568
11619
  "disabled": !teleportTarget.value,
11569
11620
  "to": teleportTarget.value
11570
11621
  }, {
11571
- default: () => [createVNode("div", mergeProps({
11622
+ default: () => [createElementVNode("div", mergeProps({
11572
11623
  "class": ['v-overlay', {
11573
11624
  'v-overlay--absolute': props.absolute || props.contained,
11574
11625
  'v-overlay--active': isActive.value,
@@ -11592,13 +11643,13 @@ const VOverlay = genericComponent()({
11592
11643
  "onAfterEnter": onAfterEnter,
11593
11644
  "onAfterLeave": onAfterLeave
11594
11645
  }, {
11595
- default: () => [withDirectives(createVNode("div", mergeProps({
11646
+ default: () => [withDirectives(createElementVNode("div", mergeProps({
11596
11647
  "ref": contentEl,
11597
11648
  "class": ['v-overlay__content', props.contentClass],
11598
11649
  "style": [dimensionStyles.value, contentStyles.value]
11599
11650
  }, contentEvents.value, props.contentProps), [slots.default?.({
11600
11651
  isActive
11601
- })]), [[vShow, isActive.value], [resolveDirective("click-outside"), {
11652
+ })]), [[vShow, isActive.value], [ClickOutside, {
11602
11653
  handler: onClickOutside,
11603
11654
  closeConditional,
11604
11655
  include: () => [activatorEl.value]
@@ -11927,11 +11978,11 @@ const VCounter = genericComponent()({
11927
11978
  useRender(() => createVNode(MaybeTransition, {
11928
11979
  "transition": props.transition
11929
11980
  }, {
11930
- default: () => [withDirectives(createVNode("div", {
11931
- "class": ['v-counter', {
11981
+ default: () => [withDirectives(createElementVNode("div", {
11982
+ "class": normalizeClass(['v-counter', {
11932
11983
  'text-error': props.max && !props.disabled && parseFloat(props.value) > parseFloat(props.max)
11933
- }, props.class],
11934
- "style": props.style
11984
+ }, props.class]),
11985
+ "style": normalizeStyle(props.style)
11935
11986
  }, [slots.default ? slots.default({
11936
11987
  counter: counter.value,
11937
11988
  max: props.max,
@@ -11954,10 +12005,10 @@ const VFieldLabel = genericComponent()({
11954
12005
  slots
11955
12006
  } = _ref;
11956
12007
  useRender(() => createVNode(VLabel, {
11957
- "class": ['v-field-label', {
12008
+ "class": normalizeClass(['v-field-label', {
11958
12009
  'v-field-label--floating': props.floating
11959
- }, props.class],
11960
- "style": props.style,
12010
+ }, props.class]),
12011
+ "style": normalizeStyle(props.style),
11961
12012
  "aria-hidden": props.floating || undefined
11962
12013
  }, slots));
11963
12014
  return {};
@@ -12134,7 +12185,7 @@ const VField = genericComponent()({
12134
12185
  for: id.value
12135
12186
  }
12136
12187
  }) : props.label;
12137
- return createVNode("div", mergeProps({
12188
+ return createElementVNode("div", mergeProps({
12138
12189
  "class": ['v-field', {
12139
12190
  'v-field--active': isActive.value,
12140
12191
  'v-field--appended': hasAppend,
@@ -12154,7 +12205,7 @@ const VField = genericComponent()({
12154
12205
  }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
12155
12206
  "style": [backgroundColorStyles.value, props.style],
12156
12207
  "onClick": onClick
12157
- }, attrs), [createVNode("div", {
12208
+ }, attrs), [createElementVNode("div", {
12158
12209
  "class": "v-field__overlay"
12159
12210
  }, null), createVNode(LoaderSlot, {
12160
12211
  "name": "v-field",
@@ -12162,23 +12213,23 @@ const VField = genericComponent()({
12162
12213
  "color": props.error ? 'error' : typeof props.loading === 'string' ? props.loading : props.color
12163
12214
  }, {
12164
12215
  default: slots.loader
12165
- }), hasPrepend && createVNode("div", {
12216
+ }), hasPrepend && createElementVNode("div", {
12166
12217
  "key": "prepend",
12167
12218
  "class": "v-field__prepend-inner"
12168
12219
  }, [props.prependInnerIcon && createVNode(InputIcon, {
12169
12220
  "key": "prepend-icon",
12170
12221
  "name": "prependInner",
12171
12222
  "color": iconColor.value
12172
- }, null), slots['prepend-inner']?.(slotProps.value)]), createVNode("div", {
12223
+ }, null), slots['prepend-inner']?.(slotProps.value)]), createElementVNode("div", {
12173
12224
  "class": "v-field__field",
12174
12225
  "data-no-activator": ""
12175
12226
  }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && createVNode(VFieldLabel, {
12176
12227
  "key": "floating-label",
12177
12228
  "ref": floatingLabelRef,
12178
- "class": [textColorClasses.value],
12229
+ "class": normalizeClass([textColorClasses.value]),
12179
12230
  "floating": true,
12180
12231
  "for": id.value,
12181
- "style": textColorStyles.value
12232
+ "style": normalizeStyle(textColorStyles.value)
12182
12233
  }, {
12183
12234
  default: () => [label()]
12184
12235
  }), hasLabel.value && createVNode(VFieldLabel, {
@@ -12196,14 +12247,14 @@ const VField = genericComponent()({
12196
12247
  },
12197
12248
  focus,
12198
12249
  blur
12199
- }) ?? createVNode("div", {
12250
+ }) ?? createElementVNode("div", {
12200
12251
  "id": id.value,
12201
12252
  "class": "v-field__input",
12202
12253
  "aria-describedby": messagesId.value
12203
12254
  }, null)]), hasClear && createVNode(VExpandXTransition, {
12204
12255
  "key": "clear"
12205
12256
  }, {
12206
- default: () => [withDirectives(createVNode("div", {
12257
+ default: () => [withDirectives(createElementVNode("div", {
12207
12258
  "class": "v-field__clearable",
12208
12259
  "onMousedown": e => {
12209
12260
  e.preventDefault();
@@ -12221,27 +12272,29 @@ const VField = genericComponent()({
12221
12272
  props: {
12222
12273
  onFocus: focus,
12223
12274
  onBlur: blur,
12224
- onClick: props['onClick:clear']
12275
+ onClick: props['onClick:clear'],
12276
+ tabindex: -1
12225
12277
  }
12226
12278
  }) : createVNode(InputIcon, {
12227
12279
  "name": "clear",
12228
12280
  "onFocus": focus,
12229
- "onBlur": blur
12281
+ "onBlur": blur,
12282
+ "tabindex": -1
12230
12283
  }, null)]
12231
12284
  })]), [[vShow, props.dirty]])]
12232
- }), hasAppend && createVNode("div", {
12285
+ }), hasAppend && createElementVNode("div", {
12233
12286
  "key": "append",
12234
12287
  "class": "v-field__append-inner"
12235
12288
  }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && createVNode(InputIcon, {
12236
12289
  "key": "append-icon",
12237
12290
  "name": "appendInner",
12238
12291
  "color": iconColor.value
12239
- }, null)]), createVNode("div", {
12240
- "class": ['v-field__outline', textColorClasses.value],
12241
- "style": textColorStyles.value
12242
- }, [isOutlined && createVNode(Fragment, null, [createVNode("div", {
12292
+ }, null)]), createElementVNode("div", {
12293
+ "class": normalizeClass(['v-field__outline', textColorClasses.value]),
12294
+ "style": normalizeStyle(textColorStyles.value)
12295
+ }, [isOutlined && createElementVNode(Fragment, null, [createElementVNode("div", {
12243
12296
  "class": "v-field__outline__start"
12244
- }, null), hasFloatingLabel.value && createVNode("div", {
12297
+ }, null), hasFloatingLabel.value && createElementVNode("div", {
12245
12298
  "class": "v-field__outline__notch"
12246
12299
  }, [createVNode(VFieldLabel, {
12247
12300
  "ref": floatingLabelRef,
@@ -12249,7 +12302,7 @@ const VField = genericComponent()({
12249
12302
  "for": id.value
12250
12303
  }, {
12251
12304
  default: () => [label()]
12252
- })]), createVNode("div", {
12305
+ })]), createElementVNode("div", {
12253
12306
  "class": "v-field__outline__end"
12254
12307
  }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && createVNode(VFieldLabel, {
12255
12308
  "ref": floatingLabelRef,
@@ -12290,7 +12343,7 @@ const makeVTextFieldProps = propsFactory({
12290
12343
  const VTextField = genericComponent()({
12291
12344
  name: 'VTextField',
12292
12345
  directives: {
12293
- Intersect
12346
+ vIntersect: Intersect
12294
12347
  },
12295
12348
  inheritAttrs: false,
12296
12349
  props: makeVTextFieldProps(),
@@ -12422,7 +12475,7 @@ const VTextField = genericComponent()({
12422
12475
  ...slotProps
12423
12476
  }
12424
12477
  } = _ref3;
12425
- const inputNode = withDirectives(createVNode("input", mergeProps({
12478
+ const inputNode = withDirectives(createElementVNode("input", mergeProps({
12426
12479
  "ref": inputRef,
12427
12480
  "value": model.value,
12428
12481
  "onInput": onInput,
@@ -12435,29 +12488,29 @@ const VTextField = genericComponent()({
12435
12488
  "type": props.type,
12436
12489
  "onFocus": onFocus,
12437
12490
  "onBlur": blur
12438
- }, slotProps, inputAttrs), null), [[resolveDirective("intersect"), {
12491
+ }, slotProps, inputAttrs), null), [[Intersect, {
12439
12492
  handler: onIntersect
12440
12493
  }, null, {
12441
12494
  once: true
12442
12495
  }]]);
12443
- return createVNode(Fragment, null, [props.prefix && createVNode("span", {
12496
+ return createElementVNode(Fragment, null, [props.prefix && createElementVNode("span", {
12444
12497
  "class": "v-text-field__prefix"
12445
- }, [createVNode("span", {
12498
+ }, [createElementVNode("span", {
12446
12499
  "class": "v-text-field__prefix__text"
12447
- }, [props.prefix])]), slots.default ? createVNode("div", {
12448
- "class": fieldClass,
12500
+ }, [props.prefix])]), slots.default ? createElementVNode("div", {
12501
+ "class": normalizeClass(fieldClass),
12449
12502
  "data-no-activator": ""
12450
12503
  }, [slots.default(), inputNode]) : cloneVNode(inputNode, {
12451
12504
  class: fieldClass
12452
- }), props.suffix && createVNode("span", {
12505
+ }), props.suffix && createElementVNode("span", {
12453
12506
  "class": "v-text-field__suffix"
12454
- }, [createVNode("span", {
12507
+ }, [createElementVNode("span", {
12455
12508
  "class": "v-text-field__suffix__text"
12456
12509
  }, [props.suffix])])]);
12457
12510
  }
12458
12511
  });
12459
12512
  },
12460
- details: hasDetails ? slotProps => createVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createVNode(Fragment, null, [createVNode("span", null, null), createVNode(VCounter, {
12513
+ details: hasDetails ? slotProps => createElementVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createElementVNode(Fragment, null, [createElementVNode("span", null, null), createVNode(VCounter, {
12461
12514
  "active": props.persistentCounter || isFocused.value,
12462
12515
  "value": counterValue.value,
12463
12516
  "max": max.value,
@@ -12495,9 +12548,9 @@ const VVirtualScrollItem = genericComponent()({
12495
12548
  watch(() => contentRect.value?.height, height => {
12496
12549
  if (height != null) emit('update:height', height);
12497
12550
  });
12498
- useRender(() => props.renderless ? createVNode(Fragment, null, [slots.default?.({
12551
+ useRender(() => props.renderless ? createElementVNode(Fragment, null, [slots.default?.({
12499
12552
  itemRef: resizeRef
12500
- })]) : createVNode("div", mergeProps({
12553
+ })]) : createElementVNode("div", mergeProps({
12501
12554
  "ref": resizeRef,
12502
12555
  "class": ['v-virtual-scroll__item', props.class],
12503
12556
  "style": props.style
@@ -12832,30 +12885,30 @@ const VVirtualScroll = genericComponent()({
12832
12885
  ...slotProps
12833
12886
  })
12834
12887
  }));
12835
- return props.renderless ? createVNode(Fragment, null, [createVNode("div", {
12888
+ return props.renderless ? createElementVNode(Fragment, null, [createElementVNode("div", {
12836
12889
  "ref": markerRef,
12837
12890
  "class": "v-virtual-scroll__spacer",
12838
- "style": {
12891
+ "style": normalizeStyle({
12839
12892
  paddingTop: convertToUnit(paddingTop.value)
12840
- }
12841
- }, null), children, createVNode("div", {
12893
+ })
12894
+ }, null), children, createElementVNode("div", {
12842
12895
  "class": "v-virtual-scroll__spacer",
12843
- "style": {
12896
+ "style": normalizeStyle({
12844
12897
  paddingBottom: convertToUnit(paddingBottom.value)
12845
- }
12846
- }, null)]) : createVNode("div", {
12898
+ })
12899
+ }, null)]) : createElementVNode("div", {
12847
12900
  "ref": containerRef,
12848
- "class": ['v-virtual-scroll', props.class],
12901
+ "class": normalizeClass(['v-virtual-scroll', props.class]),
12849
12902
  "onScrollPassive": handleScroll,
12850
12903
  "onScrollend": handleScrollend,
12851
- "style": [dimensionStyles.value, props.style]
12852
- }, [createVNode("div", {
12904
+ "style": normalizeStyle([dimensionStyles.value, props.style])
12905
+ }, [createElementVNode("div", {
12853
12906
  "ref": markerRef,
12854
12907
  "class": "v-virtual-scroll__container",
12855
- "style": {
12908
+ "style": normalizeStyle({
12856
12909
  paddingTop: convertToUnit(paddingTop.value),
12857
12910
  paddingBottom: convertToUnit(paddingBottom.value)
12858
- }
12911
+ })
12859
12912
  }, [children])]);
12860
12913
  });
12861
12914
  return {
@@ -13017,6 +13070,7 @@ const VSelect = genericComponent()({
13017
13070
  const selectedValues = computed(() => model.value.map(selection => selection.value));
13018
13071
  const isFocused = shallowRef(false);
13019
13072
  let keyboardLookupPrefix = '';
13073
+ let keyboardLookupIndex = -1;
13020
13074
  let keyboardLookupLastTime;
13021
13075
  const displayItems = computed(() => {
13022
13076
  if (props.hideSelected) {
@@ -13084,18 +13138,46 @@ const VSelect = genericComponent()({
13084
13138
  const now = performance.now();
13085
13139
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
13086
13140
  keyboardLookupPrefix = '';
13141
+ keyboardLookupIndex = -1;
13087
13142
  }
13088
13143
  keyboardLookupPrefix += e.key.toLowerCase();
13089
13144
  keyboardLookupLastTime = now;
13090
- const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
13091
- if (item !== undefined) {
13092
- if (!props.multiple) {
13093
- model.value = [item];
13145
+ const items = displayItems.value;
13146
+ function findItem() {
13147
+ let result = findItemBase();
13148
+ if (result) return result;
13149
+ if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
13150
+ // No matches but we have a repeated letter, try the next item with that prefix
13151
+ keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
13152
+ result = findItemBase();
13153
+ if (result) return result;
13094
13154
  }
13095
- const index = displayItems.value.indexOf(item);
13096
- if (~index && IN_BROWSER) {
13097
- listRef.value?.focus(index);
13155
+
13156
+ // Still nothing, wrap around to the top
13157
+ keyboardLookupIndex = -1;
13158
+ result = findItemBase();
13159
+ if (result) return result;
13160
+
13161
+ // Still nothing, try just the new letter
13162
+ keyboardLookupPrefix = e.key.toLowerCase();
13163
+ return findItemBase();
13164
+ }
13165
+ function findItemBase() {
13166
+ for (let i = keyboardLookupIndex + 1; i < items.length; i++) {
13167
+ const _item = items[i];
13168
+ if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
13169
+ return [_item, i];
13170
+ }
13098
13171
  }
13172
+ return undefined;
13173
+ }
13174
+ const result = findItem();
13175
+ if (!result) return;
13176
+ const [item, index] = result;
13177
+ keyboardLookupIndex = index;
13178
+ listRef.value?.focus(index);
13179
+ if (!props.multiple) {
13180
+ model.value = [item];
13099
13181
  }
13100
13182
  }
13101
13183
 
@@ -13197,7 +13279,7 @@ const VSelect = genericComponent()({
13197
13279
  "title": t(label.value)
13198
13280
  }), {
13199
13281
  ...slots,
13200
- default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({
13282
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, mergeProps({
13201
13283
  "ref": vMenuRef,
13202
13284
  "modelValue": menu.value,
13203
13285
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -13255,7 +13337,7 @@ const VSelect = genericComponent()({
13255
13337
  let {
13256
13338
  isSelected
13257
13339
  } = _ref3;
13258
- return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
13340
+ return createElementVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
13259
13341
  "key": item.value,
13260
13342
  "modelValue": isSelected,
13261
13343
  "ripple": false,
@@ -13301,7 +13383,7 @@ const VSelect = genericComponent()({
13301
13383
  index
13302
13384
  })) : undefined;
13303
13385
  if (hasSlot && !slotContent) return undefined;
13304
- return createVNode("div", {
13386
+ return createElementVNode("div", {
13305
13387
  "key": item.value,
13306
13388
  "class": "v-select__selection"
13307
13389
  }, [hasChips ? !slots.chip ? createVNode(VChip, mergeProps({
@@ -13321,9 +13403,9 @@ const VSelect = genericComponent()({
13321
13403
  }
13322
13404
  }, {
13323
13405
  default: () => [slotContent]
13324
- }) : slotContent ?? createVNode("span", {
13406
+ }) : slotContent ?? createElementVNode("span", {
13325
13407
  "class": "v-select__selection-text"
13326
- }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
13408
+ }, [item.title, props.multiple && index < model.value.length - 1 && createElementVNode("span", {
13327
13409
  "class": "v-select__selection-comma"
13328
13410
  }, [createTextVNode(",")])])]);
13329
13411
  })]),
@@ -13331,7 +13413,7 @@ const VSelect = genericComponent()({
13331
13413
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13332
13414
  args[_key] = arguments[_key];
13333
13415
  }
13334
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
13416
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
13335
13417
  "class": "v-select__menu-icon",
13336
13418
  "color": vTextFieldRef.value?.fieldIconColor,
13337
13419
  "icon": props.menuIcon
@@ -13482,17 +13564,17 @@ function highlightResult(name, text, matches) {
13482
13564
  if (matches == null || !matches.length) return text;
13483
13565
  return matches.map((match, i) => {
13484
13566
  const start = i === 0 ? 0 : matches[i - 1][1];
13485
- const result = [createVNode("span", {
13486
- "class": `${name}__unmask`
13487
- }, [text.slice(start, match[0])]), createVNode("span", {
13488
- "class": `${name}__mask`
13567
+ const result = [createElementVNode("span", {
13568
+ "class": normalizeClass(`${name}__unmask`)
13569
+ }, [text.slice(start, match[0])]), createElementVNode("span", {
13570
+ "class": normalizeClass(`${name}__mask`)
13489
13571
  }, [text.slice(match[0], match[1])])];
13490
13572
  if (i === matches.length - 1) {
13491
- result.push(createVNode("span", {
13492
- "class": `${name}__unmask`
13573
+ result.push(createElementVNode("span", {
13574
+ "class": normalizeClass(`${name}__unmask`)
13493
13575
  }, [text.slice(match[1])]));
13494
13576
  }
13495
- return createVNode(Fragment, null, [result]);
13577
+ return createElementVNode(Fragment, null, [result]);
13496
13578
  });
13497
13579
  }
13498
13580
 
@@ -13794,7 +13876,7 @@ const VAutocomplete = genericComponent()({
13794
13876
  "onKeydown": onKeydown
13795
13877
  }), {
13796
13878
  ...slots,
13797
- default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({
13879
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, mergeProps({
13798
13880
  "ref": vMenuRef,
13799
13881
  "modelValue": menu.value,
13800
13882
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -13853,7 +13935,7 @@ const VAutocomplete = genericComponent()({
13853
13935
  let {
13854
13936
  isSelected
13855
13937
  } = _ref4;
13856
- return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
13938
+ return createElementVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
13857
13939
  "key": item.value,
13858
13940
  "modelValue": isSelected,
13859
13941
  "ripple": false,
@@ -13902,10 +13984,10 @@ const VAutocomplete = genericComponent()({
13902
13984
  index
13903
13985
  })) : undefined;
13904
13986
  if (hasSlot && !slotContent) return undefined;
13905
- return createVNode("div", {
13987
+ return createElementVNode("div", {
13906
13988
  "key": item.value,
13907
- "class": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],
13908
- "style": index === selectionIndex.value ? textColorStyles.value : {}
13989
+ "class": normalizeClass(['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]]),
13990
+ "style": normalizeStyle(index === selectionIndex.value ? textColorStyles.value : {})
13909
13991
  }, [hasChips.value ? !slots.chip ? createVNode(VChip, mergeProps({
13910
13992
  "key": "chip",
13911
13993
  "closable": props.closableChips,
@@ -13923,9 +14005,9 @@ const VAutocomplete = genericComponent()({
13923
14005
  }
13924
14006
  }, {
13925
14007
  default: () => [slotContent]
13926
- }) : slotContent ?? createVNode("span", {
14008
+ }) : slotContent ?? createElementVNode("span", {
13927
14009
  "class": "v-autocomplete__selection-text"
13928
- }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
14010
+ }, [item.title, props.multiple && index < model.value.length - 1 && createElementVNode("span", {
13929
14011
  "class": "v-autocomplete__selection-comma"
13930
14012
  }, [createTextVNode(",")])])]);
13931
14013
  })]),
@@ -13933,7 +14015,7 @@ const VAutocomplete = genericComponent()({
13933
14015
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13934
14016
  args[_key] = arguments[_key];
13935
14017
  }
13936
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
14018
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
13937
14019
  "class": "v-autocomplete__menu-icon",
13938
14020
  "color": vTextFieldRef.value?.fieldIconColor,
13939
14021
  "icon": props.menuIcon,
@@ -14030,12 +14112,12 @@ const VBadge = genericComponent()({
14030
14112
  }, attrs, {
14031
14113
  "style": props.style
14032
14114
  }), {
14033
- default: () => [createVNode("div", {
14115
+ default: () => [createElementVNode("div", {
14034
14116
  "class": "v-badge__wrapper"
14035
14117
  }, [ctx.slots.default?.(), createVNode(MaybeTransition, {
14036
14118
  "transition": props.transition
14037
14119
  }, {
14038
- default: () => [withDirectives(createVNode("span", mergeProps({
14120
+ default: () => [withDirectives(createElementVNode("span", mergeProps({
14039
14121
  "class": ['v-badge__badge', themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value],
14040
14122
  "style": [backgroundColorStyles.value, textColorStyles.value, props.inline ? {} : locationStyles.value],
14041
14123
  "aria-atomic": "true",
@@ -14072,9 +14154,9 @@ const VBannerActions = genericComponent()({
14072
14154
  variant: 'text'
14073
14155
  }
14074
14156
  });
14075
- useRender(() => createVNode("div", {
14076
- "class": ['v-banner-actions', props.class],
14077
- "style": props.style
14157
+ useRender(() => createElementVNode("div", {
14158
+ "class": normalizeClass(['v-banner-actions', props.class]),
14159
+ "style": normalizeStyle(props.style)
14078
14160
  }, [slots.default?.()]));
14079
14161
  return {};
14080
14162
  }
@@ -14160,15 +14242,15 @@ const VBanner = genericComponent()({
14160
14242
  const hasPrependMedia = !!(props.avatar || props.icon);
14161
14243
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
14162
14244
  return createVNode(props.tag, {
14163
- "class": ['v-banner', {
14245
+ "class": normalizeClass(['v-banner', {
14164
14246
  'v-banner--stacked': props.stacked || mobile.value,
14165
14247
  'v-banner--sticky': props.sticky,
14166
14248
  [`v-banner--${props.lines}-line`]: !!props.lines
14167
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
14168
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
14249
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),
14250
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]),
14169
14251
  "role": "banner"
14170
14252
  }, {
14171
- default: () => [hasPrepend && createVNode("div", {
14253
+ default: () => [hasPrepend && createElementVNode("div", {
14172
14254
  "key": "prepend",
14173
14255
  "class": "v-banner__prepend"
14174
14256
  }, [!slots.prepend ? createVNode(VAvatar, {
@@ -14188,7 +14270,7 @@ const VBanner = genericComponent()({
14188
14270
  image: props.avatar
14189
14271
  }
14190
14272
  }
14191
- }, slots.prepend)]), createVNode("div", {
14273
+ }, slots.prepend)]), createElementVNode("div", {
14192
14274
  "class": "v-banner__content"
14193
14275
  }, [hasText && createVNode(VBannerText, {
14194
14276
  "key": "text"
@@ -14297,16 +14379,16 @@ const VBottomNavigation = genericComponent()({
14297
14379
  });
14298
14380
  useRender(() => {
14299
14381
  return createVNode(props.tag, {
14300
- "class": ['v-bottom-navigation', {
14382
+ "class": normalizeClass(['v-bottom-navigation', {
14301
14383
  'v-bottom-navigation--active': isActive.value,
14302
14384
  'v-bottom-navigation--grow': props.grow,
14303
14385
  'v-bottom-navigation--shift': props.mode === 'shift'
14304
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
14305
- "style": [backgroundColorStyles.value, layoutItemStyles.value, {
14386
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
14387
+ "style": normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, {
14306
14388
  height: convertToUnit(height.value)
14307
- }, ssrBootStyles.value, props.style]
14389
+ }, ssrBootStyles.value, props.style])
14308
14390
  }, {
14309
- default: () => [slots.default && createVNode("div", {
14391
+ default: () => [slots.default && createElementVNode("div", {
14310
14392
  "class": "v-bottom-navigation__content"
14311
14393
  }, [slots.default()])]
14312
14394
  });
@@ -14493,10 +14575,10 @@ const VBreadcrumbsDivider = genericComponent()({
14493
14575
  let {
14494
14576
  slots
14495
14577
  } = _ref;
14496
- useRender(() => createVNode("li", {
14578
+ useRender(() => createElementVNode("li", {
14497
14579
  "aria-hidden": "true",
14498
- "class": ['v-breadcrumbs-divider', props.class],
14499
- "style": props.style
14580
+ "class": normalizeClass(['v-breadcrumbs-divider', props.class]),
14581
+ "style": normalizeStyle(props.style)
14500
14582
  }, [slots?.default?.() ?? props.divider]));
14501
14583
  return {};
14502
14584
  }
@@ -14531,15 +14613,15 @@ const VBreadcrumbsItem = genericComponent()({
14531
14613
  } = useTextColor(() => isActive.value ? props.activeColor : props.color);
14532
14614
  useRender(() => {
14533
14615
  return createVNode(props.tag, {
14534
- "class": ['v-breadcrumbs-item', {
14616
+ "class": normalizeClass(['v-breadcrumbs-item', {
14535
14617
  'v-breadcrumbs-item--active': isActive.value,
14536
14618
  'v-breadcrumbs-item--disabled': props.disabled,
14537
14619
  [`${props.activeClass}`]: isActive.value && props.activeClass
14538
- }, textColorClasses.value, props.class],
14539
- "style": [textColorStyles.value, props.style],
14620
+ }, textColorClasses.value, props.class]),
14621
+ "style": normalizeStyle([textColorStyles.value, props.style]),
14540
14622
  "aria-current": isActive.value ? 'page' : undefined
14541
14623
  }, {
14542
- default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createVNode("a", mergeProps({
14624
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createElementVNode("a", mergeProps({
14543
14625
  "class": "v-breadcrumbs-item--link",
14544
14626
  "onClick": link.navigate
14545
14627
  }, link.linkProps), [slots.default?.() ?? props.title])]
@@ -14615,10 +14697,10 @@ const VBreadcrumbs = genericComponent()({
14615
14697
  useRender(() => {
14616
14698
  const hasPrepend = !!(slots.prepend || props.icon);
14617
14699
  return createVNode(props.tag, {
14618
- "class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
14619
- "style": [backgroundColorStyles.value, props.style]
14700
+ "class": normalizeClass(['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class]),
14701
+ "style": normalizeStyle([backgroundColorStyles.value, props.style])
14620
14702
  }, {
14621
- default: () => [hasPrepend && createVNode("li", {
14703
+ default: () => [hasPrepend && createElementVNode("li", {
14622
14704
  "key": "prepend",
14623
14705
  "class": "v-breadcrumbs__prepend"
14624
14706
  }, [!slots.prepend ? createVNode(VIcon, {
@@ -14639,7 +14721,7 @@ const VBreadcrumbs = genericComponent()({
14639
14721
  item,
14640
14722
  raw
14641
14723
  } = _ref2;
14642
- return createVNode(Fragment, null, [slots.item?.({
14724
+ return createElementVNode(Fragment, null, [slots.item?.({
14643
14725
  item,
14644
14726
  index
14645
14727
  }) ?? createVNode(VBreadcrumbsItem, mergeProps({
@@ -14678,9 +14760,9 @@ const VCardActions = genericComponent()({
14678
14760
  variant: 'text'
14679
14761
  }
14680
14762
  });
14681
- useRender(() => createVNode("div", {
14682
- "class": ['v-card-actions', props.class],
14683
- "style": props.style
14763
+ useRender(() => createElementVNode("div", {
14764
+ "class": normalizeClass(['v-card-actions', props.class]),
14765
+ "style": normalizeStyle(props.style)
14684
14766
  }, [slots.default?.()]));
14685
14767
  return {};
14686
14768
  }
@@ -14699,10 +14781,10 @@ const VCardSubtitle = genericComponent()({
14699
14781
  slots
14700
14782
  } = _ref;
14701
14783
  useRender(() => createVNode(props.tag, {
14702
- "class": ['v-card-subtitle', props.class],
14703
- "style": [{
14784
+ "class": normalizeClass(['v-card-subtitle', props.class]),
14785
+ "style": normalizeStyle([{
14704
14786
  '--v-card-subtitle-opacity': props.opacity
14705
- }, props.style]
14787
+ }, props.style])
14706
14788
  }, slots));
14707
14789
  return {};
14708
14790
  }
@@ -14741,13 +14823,13 @@ const VCardItem = genericComponent()({
14741
14823
  const hasAppend = !!(hasAppendMedia || slots.append);
14742
14824
  const hasTitle = !!(props.title != null || slots.title);
14743
14825
  const hasSubtitle = !!(props.subtitle != null || slots.subtitle);
14744
- return createVNode("div", {
14745
- "class": ['v-card-item', props.class],
14746
- "style": props.style
14747
- }, [hasPrepend && createVNode("div", {
14826
+ return createElementVNode("div", {
14827
+ "class": normalizeClass(['v-card-item', props.class]),
14828
+ "style": normalizeStyle(props.style)
14829
+ }, [hasPrepend && createElementVNode("div", {
14748
14830
  "key": "prepend",
14749
14831
  "class": "v-card-item__prepend"
14750
- }, [!slots.prepend ? createVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
14832
+ }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
14751
14833
  "key": "prepend-avatar",
14752
14834
  "density": props.density,
14753
14835
  "image": props.prependAvatar
@@ -14768,7 +14850,7 @@ const VCardItem = genericComponent()({
14768
14850
  icon: props.prependIcon
14769
14851
  }
14770
14852
  }
14771
- }, slots.prepend)]), createVNode("div", {
14853
+ }, slots.prepend)]), createElementVNode("div", {
14772
14854
  "class": "v-card-item__content"
14773
14855
  }, [hasTitle && createVNode(VCardTitle, {
14774
14856
  "key": "title"
@@ -14778,10 +14860,10 @@ const VCardItem = genericComponent()({
14778
14860
  "key": "subtitle"
14779
14861
  }, {
14780
14862
  default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
14781
- }), slots.default?.()]), hasAppend && createVNode("div", {
14863
+ }), slots.default?.()]), hasAppend && createElementVNode("div", {
14782
14864
  "key": "append",
14783
14865
  "class": "v-card-item__append"
14784
- }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
14866
+ }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
14785
14867
  "key": "append-icon",
14786
14868
  "density": props.density,
14787
14869
  "icon": props.appendIcon
@@ -14821,10 +14903,10 @@ const VCardText = genericComponent()({
14821
14903
  slots
14822
14904
  } = _ref;
14823
14905
  useRender(() => createVNode(props.tag, {
14824
- "class": ['v-card-text', props.class],
14825
- "style": [{
14906
+ "class": normalizeClass(['v-card-text', props.class]),
14907
+ "style": normalizeStyle([{
14826
14908
  '--v-card-text-opacity': props.opacity
14827
- }, props.style]
14909
+ }, props.style])
14828
14910
  }, slots));
14829
14911
  return {};
14830
14912
  }
@@ -14880,7 +14962,7 @@ const makeVCardProps = propsFactory({
14880
14962
  const VCard = genericComponent()({
14881
14963
  name: 'VCard',
14882
14964
  directives: {
14883
- Ripple
14965
+ vRipple: Ripple
14884
14966
  },
14885
14967
  props: makeVCardProps(),
14886
14968
  setup(props, _ref) {
@@ -14944,7 +15026,7 @@ const VCard = genericComponent()({
14944
15026
  "onClick": isClickable && link.navigate,
14945
15027
  "tabindex": props.disabled ? -1 : undefined
14946
15028
  }, link.linkProps), {
14947
- default: () => [hasImage && createVNode("div", {
15029
+ default: () => [hasImage && createElementVNode("div", {
14948
15030
  "key": "image",
14949
15031
  "class": "v-card__image"
14950
15032
  }, [!slots.image ? createVNode(VImg, {
@@ -14987,7 +15069,7 @@ const VCard = genericComponent()({
14987
15069
  }), slots.default?.(), slots.actions && createVNode(VCardActions, null, {
14988
15070
  default: slots.actions
14989
15071
  }), genOverlays(isClickable, 'v-card')]
14990
- }), [[resolveDirective("ripple"), isClickable && props.ripple]]);
15072
+ }), [[Ripple, isClickable && props.ripple]]);
14991
15073
  });
14992
15074
  return {};
14993
15075
  }
@@ -15146,7 +15228,7 @@ const makeVWindowProps = propsFactory({
15146
15228
  const VWindow = genericComponent()({
15147
15229
  name: 'VWindow',
15148
15230
  directives: {
15149
- Touch
15231
+ vTouch: Touch
15150
15232
  },
15151
15233
  props: makeVWindowProps(),
15152
15234
  emits: {
@@ -15218,7 +15300,7 @@ const VWindow = genericComponent()({
15218
15300
  };
15219
15301
  arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
15220
15302
  props: prevProps
15221
- }) : createVNode(VBtn, prevProps, null) : createVNode("div", null, null));
15303
+ }) : createVNode(VBtn, prevProps, null) : createElementVNode("div", null, null));
15222
15304
  const nextProps = {
15223
15305
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
15224
15306
  class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
@@ -15227,7 +15309,7 @@ const VWindow = genericComponent()({
15227
15309
  };
15228
15310
  arrows.push(canMoveForward.value ? slots.next ? slots.next({
15229
15311
  props: nextProps
15230
- }) : createVNode(VBtn, nextProps, null) : createVNode("div", null, null));
15312
+ }) : createVNode(VBtn, nextProps, null) : createElementVNode("div", null, null));
15231
15313
  return arrows;
15232
15314
  });
15233
15315
  const touchOptions = computed(() => {
@@ -15253,24 +15335,24 @@ const VWindow = genericComponent()({
15253
15335
  });
15254
15336
  useRender(() => withDirectives(createVNode(props.tag, {
15255
15337
  "ref": rootRef,
15256
- "class": ['v-window', {
15338
+ "class": normalizeClass(['v-window', {
15257
15339
  'v-window--show-arrows-on-hover': props.showArrows === 'hover'
15258
- }, themeClasses.value, props.class],
15259
- "style": props.style
15340
+ }, themeClasses.value, props.class]),
15341
+ "style": normalizeStyle(props.style)
15260
15342
  }, {
15261
- default: () => [createVNode("div", {
15343
+ default: () => [createElementVNode("div", {
15262
15344
  "class": "v-window__container",
15263
- "style": {
15345
+ "style": normalizeStyle({
15264
15346
  height: transitionHeight.value
15265
- }
15347
+ })
15266
15348
  }, [slots.default?.({
15267
15349
  group
15268
- }), props.showArrows !== false && createVNode("div", {
15350
+ }), props.showArrows !== false && createElementVNode("div", {
15269
15351
  "class": "v-window__controls"
15270
15352
  }, [arrows.value])]), slots.additional?.({
15271
15353
  group
15272
15354
  })]
15273
- }), [[resolveDirective("touch"), touchOptions.value]]));
15355
+ }), [[Touch, touchOptions.value]]));
15274
15356
  return {
15275
15357
  group
15276
15358
  };
@@ -15355,12 +15437,12 @@ const VCarousel = genericComponent()({
15355
15437
  let {
15356
15438
  group
15357
15439
  } = _ref2;
15358
- return createVNode(Fragment, null, [!props.hideDelimiters && createVNode("div", {
15440
+ return createElementVNode(Fragment, null, [!props.hideDelimiters && createElementVNode("div", {
15359
15441
  "class": "v-carousel__controls",
15360
- "style": {
15442
+ "style": normalizeStyle({
15361
15443
  left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',
15362
15444
  right: props.verticalDelimiters === 'right' ? 0 : 'auto'
15363
- }
15445
+ })
15364
15446
  }, [group.items.value.length > 0 && createVNode(VDefaultsProvider, {
15365
15447
  "defaults": {
15366
15448
  VBtn: {
@@ -15414,7 +15496,7 @@ const makeVWindowItemProps = propsFactory({
15414
15496
  const VWindowItem = genericComponent()({
15415
15497
  name: 'VWindowItem',
15416
15498
  directives: {
15417
- Touch
15499
+ vTouch: Touch
15418
15500
  },
15419
15501
  props: makeVWindowItemProps(),
15420
15502
  emits: {
@@ -15498,9 +15580,9 @@ const VWindowItem = genericComponent()({
15498
15580
  "transition": transition.value,
15499
15581
  "disabled": !isBooted.value
15500
15582
  }, {
15501
- default: () => [withDirectives(createVNode("div", {
15502
- "class": ['v-window-item', groupItem.selectedClass.value, props.class],
15503
- "style": props.style
15583
+ default: () => [withDirectives(createElementVNode("div", {
15584
+ "class": normalizeClass(['v-window-item', groupItem.selectedClass.value, props.class]),
15585
+ "style": normalizeStyle(props.style)
15504
15586
  }, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
15505
15587
  }));
15506
15588
  return {
@@ -15700,21 +15782,21 @@ const VColorPickerCanvas = defineComponent({
15700
15782
  immediate: true
15701
15783
  });
15702
15784
  onMounted(() => updateCanvas());
15703
- useRender(() => createVNode("div", {
15785
+ useRender(() => createElementVNode("div", {
15704
15786
  "ref": resizeRef,
15705
- "class": ['v-color-picker-canvas', props.class],
15706
- "style": props.style,
15787
+ "class": normalizeClass(['v-color-picker-canvas', props.class]),
15788
+ "style": normalizeStyle(props.style),
15707
15789
  "onMousedown": handleMouseDown,
15708
15790
  "onTouchstartPassive": handleMouseDown
15709
- }, [createVNode("canvas", {
15791
+ }, [createElementVNode("canvas", {
15710
15792
  "ref": canvasRef,
15711
15793
  "width": canvasWidth.value,
15712
15794
  "height": canvasHeight.value
15713
- }, null), props.color && createVNode("div", {
15714
- "class": ['v-color-picker-canvas__dot', {
15795
+ }, null), props.color && createElementVNode("div", {
15796
+ "class": normalizeClass(['v-color-picker-canvas__dot', {
15715
15797
  'v-color-picker-canvas__dot--disabled': props.disabled
15716
- }],
15717
- "style": dotStyles.value
15798
+ }]),
15799
+ "style": normalizeStyle(dotStyles.value)
15718
15800
  }, null)]));
15719
15801
  return {};
15720
15802
  }
@@ -15914,9 +15996,9 @@ const VColorPickerInput = _ref => {
15914
15996
  label,
15915
15997
  ...rest
15916
15998
  } = _ref;
15917
- return createVNode("div", {
15999
+ return createElementVNode("div", {
15918
16000
  "class": "v-color-picker-edit__input"
15919
- }, [createVNode("input", rest, null), createVNode("span", null, [label])]);
16001
+ }, [createElementVNode("input", normalizeProps(guardReactiveProps(rest)), null), createElementVNode("span", null, [label])]);
15920
16002
  };
15921
16003
  const makeVColorPickerEditProps = propsFactory({
15922
16004
  color: Object,
@@ -15973,9 +16055,9 @@ const VColorPickerEdit = defineComponent({
15973
16055
  };
15974
16056
  });
15975
16057
  });
15976
- useRender(() => createVNode("div", {
15977
- "class": ['v-color-picker-edit', props.class],
15978
- "style": props.style
16058
+ useRender(() => createElementVNode("div", {
16059
+ "class": normalizeClass(['v-color-picker-edit', props.class]),
16060
+ "style": normalizeStyle(props.style)
15979
16061
  }, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
15980
16062
  "icon": "$unfold",
15981
16063
  "size": "x-small",
@@ -16139,7 +16221,7 @@ const useSlider = _ref => {
16139
16221
  const clickOffset = getPosition(e, position);
16140
16222
 
16141
16223
  // It is possible for left to be NaN, force to number
16142
- let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0;
16224
+ let clickPos = clamp((clickOffset - trackStart - startOffset.value) / trackLength) || 0;
16143
16225
  if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;
16144
16226
  return roundValue(min.value + clickPos * (max.value - min.value));
16145
16227
  }
@@ -16318,7 +16400,7 @@ const makeVSliderThumbProps = propsFactory({
16318
16400
  const VSliderThumb = genericComponent()({
16319
16401
  name: 'VSliderThumb',
16320
16402
  directives: {
16321
- Ripple
16403
+ vRipple: Ripple
16322
16404
  },
16323
16405
  props: makeVSliderThumbProps(),
16324
16406
  emits: {
@@ -16398,15 +16480,15 @@ const VSliderThumb = genericComponent()({
16398
16480
  }
16399
16481
  useRender(() => {
16400
16482
  const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');
16401
- return createVNode("div", {
16402
- "class": ['v-slider-thumb', {
16483
+ return createElementVNode("div", {
16484
+ "class": normalizeClass(['v-slider-thumb', {
16403
16485
  'v-slider-thumb--focused': props.focused,
16404
16486
  'v-slider-thumb--pressed': props.focused && mousePressed.value
16405
- }, props.class, rtlClasses.value],
16406
- "style": [{
16487
+ }, props.class, rtlClasses.value]),
16488
+ "style": normalizeStyle([{
16407
16489
  '--v-slider-thumb-position': positionPercentage,
16408
16490
  '--v-slider-thumb-size': convertToUnit(thumbSize.value)
16409
- }, props.style],
16491
+ }, props.style]),
16410
16492
  "role": "slider",
16411
16493
  "tabindex": disabled.value ? -1 : 0,
16412
16494
  "aria-label": props.name,
@@ -16416,25 +16498,25 @@ const VSliderThumb = genericComponent()({
16416
16498
  "aria-readonly": !!readonly.value,
16417
16499
  "aria-orientation": direction.value,
16418
16500
  "onKeydown": !readonly.value ? onKeydown : undefined
16419
- }, [createVNode("div", {
16420
- "class": ['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value],
16421
- "style": {
16501
+ }, [createElementVNode("div", {
16502
+ "class": normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),
16503
+ "style": normalizeStyle({
16422
16504
  ...textColorStyles.value
16423
- }
16424
- }, null), withDirectives(createVNode("div", {
16425
- "class": ['v-slider-thumb__ripple', textColorClasses.value],
16426
- "style": textColorStyles.value
16427
- }, null), [[resolveDirective("ripple"), props.ripple, null, {
16505
+ })
16506
+ }, null), withDirectives(createElementVNode("div", {
16507
+ "class": normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),
16508
+ "style": normalizeStyle(textColorStyles.value)
16509
+ }, null), [[Ripple, props.ripple, null, {
16428
16510
  circle: true,
16429
16511
  center: true
16430
16512
  }]]), createVNode(VScaleTransition, {
16431
16513
  "origin": "bottom center"
16432
16514
  }, {
16433
- default: () => [withDirectives(createVNode("div", {
16515
+ default: () => [withDirectives(createElementVNode("div", {
16434
16516
  "class": "v-slider-thumb__label-container"
16435
- }, [createVNode("div", {
16517
+ }, [createElementVNode("div", {
16436
16518
  "class": ['v-slider-thumb__label']
16437
- }, [createVNode("div", null, [slots['thumb-label']?.({
16519
+ }, [createElementVNode("div", null, [slots['thumb-label']?.({
16438
16520
  modelValue: props.modelValue
16439
16521
  }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
16440
16522
  })]);
@@ -16511,17 +16593,17 @@ const VSliderTrack = genericComponent()({
16511
16593
  const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;
16512
16594
  return ticks.map((tick, index) => {
16513
16595
  const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;
16514
- return createVNode("div", {
16596
+ return createElementVNode("div", {
16515
16597
  "key": tick.value,
16516
- "class": ['v-slider-track__tick', {
16598
+ "class": normalizeClass(['v-slider-track__tick', {
16517
16599
  'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,
16518
16600
  'v-slider-track__tick--first': tick.value === min.value,
16519
16601
  'v-slider-track__tick--last': tick.value === max.value
16520
- }],
16521
- "style": {
16602
+ }]),
16603
+ "style": normalizeStyle({
16522
16604
  [startDir.value]: directionValue
16523
- }
16524
- }, [(tick.label || slots['tick-label']) && createVNode("div", {
16605
+ })
16606
+ }, [(tick.label || slots['tick-label']) && createElementVNode("div", {
16525
16607
  "class": "v-slider-track__tick-label"
16526
16608
  }, [slots['tick-label']?.({
16527
16609
  tick,
@@ -16530,30 +16612,30 @@ const VSliderTrack = genericComponent()({
16530
16612
  });
16531
16613
  });
16532
16614
  useRender(() => {
16533
- return createVNode("div", {
16534
- "class": ['v-slider-track', roundedClasses.value, props.class],
16535
- "style": [{
16615
+ return createElementVNode("div", {
16616
+ "class": normalizeClass(['v-slider-track', roundedClasses.value, props.class]),
16617
+ "style": normalizeStyle([{
16536
16618
  '--v-slider-track-size': convertToUnit(trackSize.value),
16537
16619
  '--v-slider-tick-size': convertToUnit(tickSize.value)
16538
- }, props.style]
16539
- }, [createVNode("div", {
16540
- "class": ['v-slider-track__background', trackColorClasses.value, {
16620
+ }, props.style])
16621
+ }, [createElementVNode("div", {
16622
+ "class": normalizeClass(['v-slider-track__background', trackColorClasses.value, {
16541
16623
  'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
16542
- }],
16543
- "style": {
16624
+ }]),
16625
+ "style": normalizeStyle({
16544
16626
  ...backgroundStyles.value,
16545
16627
  ...trackColorStyles.value
16546
- }
16547
- }, null), createVNode("div", {
16548
- "class": ['v-slider-track__fill', trackFillColorClasses.value],
16549
- "style": {
16628
+ })
16629
+ }, null), createElementVNode("div", {
16630
+ "class": normalizeClass(['v-slider-track__fill', trackFillColorClasses.value]),
16631
+ "style": normalizeStyle({
16550
16632
  ...trackFillStyles.value,
16551
16633
  ...trackFillColorStyles.value
16552
- }
16553
- }, null), showTicks.value && createVNode("div", {
16554
- "class": ['v-slider-track__ticks', {
16634
+ })
16635
+ }, null), showTicks.value && createElementVNode("div", {
16636
+ "class": normalizeClass(['v-slider-track__ticks', {
16555
16637
  'v-slider-track__ticks--always-show': showTicks.value === 'always'
16556
- }]
16638
+ }])
16557
16639
  }, [computedTicks.value])]);
16558
16640
  });
16559
16641
  return {};
@@ -16647,7 +16729,7 @@ const VSlider = genericComponent()({
16647
16729
  "focused": isFocused.value
16648
16730
  }), {
16649
16731
  ...slots,
16650
- prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
16732
+ prepend: hasPrepend ? slotProps => createElementVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
16651
16733
  "id": slotProps.id.value,
16652
16734
  "class": "v-slider__label",
16653
16735
  "text": props.label
@@ -16657,11 +16739,11 @@ const VSlider = genericComponent()({
16657
16739
  id,
16658
16740
  messagesId
16659
16741
  } = _ref4;
16660
- return createVNode("div", {
16742
+ return createElementVNode("div", {
16661
16743
  "class": "v-slider__container",
16662
16744
  "onMousedown": !readonly.value ? onSliderMousedown : undefined,
16663
16745
  "onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
16664
- }, [createVNode("input", {
16746
+ }, [createElementVNode("input", {
16665
16747
  "id": id.value,
16666
16748
  "name": props.name || id.value,
16667
16749
  "disabled": !!props.disabled,
@@ -16734,12 +16816,12 @@ const VColorPickerPreview = defineComponent({
16734
16816
  });
16735
16817
  } catch (e) {}
16736
16818
  }
16737
- useRender(() => createVNode("div", {
16738
- "class": ['v-color-picker-preview', {
16819
+ useRender(() => createElementVNode("div", {
16820
+ "class": normalizeClass(['v-color-picker-preview', {
16739
16821
  'v-color-picker-preview--hide-alpha': props.hideAlpha
16740
- }, props.class],
16741
- "style": props.style
16742
- }, [SUPPORTS_EYE_DROPPER && createVNode("div", {
16822
+ }, props.class]),
16823
+ "style": normalizeStyle(props.style)
16824
+ }, [SUPPORTS_EYE_DROPPER && createElementVNode("div", {
16743
16825
  "class": "v-color-picker-preview__eye-dropper",
16744
16826
  "key": "eyeDropper"
16745
16827
  }, [createVNode(VBtn, {
@@ -16748,13 +16830,13 @@ const VColorPickerPreview = defineComponent({
16748
16830
  "icon": "$eyeDropper",
16749
16831
  "variant": "plain",
16750
16832
  "onClick": openEyeDropper
16751
- }, null)]), createVNode("div", {
16833
+ }, null)]), createElementVNode("div", {
16752
16834
  "class": "v-color-picker-preview__dot"
16753
- }, [createVNode("div", {
16754
- "style": {
16835
+ }, [createElementVNode("div", {
16836
+ "style": normalizeStyle({
16755
16837
  background: HSVtoCSS(props.color ?? nullColor)
16756
- }
16757
- }, null)]), createVNode("div", {
16838
+ })
16839
+ }, null)]), createElementVNode("div", {
16758
16840
  "class": "v-color-picker-preview__sliders"
16759
16841
  }, [createVNode(VSlider, {
16760
16842
  "class": "v-color-picker-preview__track v-color-picker-preview__hue",
@@ -17139,24 +17221,24 @@ const VColorPickerSwatches = defineComponent({
17139
17221
  let {
17140
17222
  emit
17141
17223
  } = _ref;
17142
- useRender(() => createVNode("div", {
17143
- "class": ['v-color-picker-swatches', props.class],
17144
- "style": [{
17224
+ useRender(() => createElementVNode("div", {
17225
+ "class": normalizeClass(['v-color-picker-swatches', props.class]),
17226
+ "style": normalizeStyle([{
17145
17227
  maxHeight: convertToUnit(props.maxHeight)
17146
- }, props.style]
17147
- }, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
17228
+ }, props.style])
17229
+ }, [createElementVNode("div", null, [props.swatches.map(swatch => createElementVNode("div", {
17148
17230
  "class": "v-color-picker-swatches__swatch"
17149
17231
  }, [swatch.map(color => {
17150
17232
  const rgba = parseColor(color);
17151
17233
  const hsva = RGBtoHSV(rgba);
17152
17234
  const background = RGBtoCSS(rgba);
17153
- return createVNode("div", {
17235
+ return createElementVNode("div", {
17154
17236
  "class": "v-color-picker-swatches__color",
17155
17237
  "onClick": () => hsva && emit('update:color', hsva)
17156
- }, [createVNode("div", {
17157
- "style": {
17238
+ }, [createElementVNode("div", {
17239
+ "style": normalizeStyle({
17158
17240
  background
17159
- }
17241
+ })
17160
17242
  }, [props.color && deepEqual(props.color, hsva) ? createVNode(VIcon, {
17161
17243
  "size": "x-small",
17162
17244
  "icon": "$success",
@@ -17215,8 +17297,8 @@ const VSheet = genericComponent()({
17215
17297
  roundedClasses
17216
17298
  } = useRounded(props);
17217
17299
  useRender(() => createVNode(props.tag, {
17218
- "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
17219
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
17300
+ "class": normalizeClass(['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),
17301
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style])
17220
17302
  }, slots));
17221
17303
  return {};
17222
17304
  }
@@ -17255,17 +17337,17 @@ const VPicker = genericComponent()({
17255
17337
  }, props.class],
17256
17338
  "style": props.style
17257
17339
  }), {
17258
- default: () => [!props.hideHeader && createVNode("div", {
17340
+ default: () => [!props.hideHeader && createElementVNode("div", {
17259
17341
  "key": "header",
17260
- "class": [backgroundColorClasses.value],
17261
- "style": [backgroundColorStyles.value]
17342
+ "class": normalizeClass([backgroundColorClasses.value]),
17343
+ "style": normalizeStyle([backgroundColorStyles.value])
17262
17344
  }, [hasTitle && createVNode(VPickerTitle, {
17263
17345
  "key": "picker-title"
17264
17346
  }, {
17265
17347
  default: () => [slots.title?.() ?? props.title]
17266
- }), slots.header && createVNode("div", {
17348
+ }), slots.header && createElementVNode("div", {
17267
17349
  "class": "v-picker__header"
17268
- }, [slots.header()])]), createVNode("div", {
17350
+ }, [slots.header()])]), createElementVNode("div", {
17269
17351
  "class": "v-picker__body"
17270
17352
  }, [slots.default?.()]), slots.actions && createVNode(VDefaultsProvider, {
17271
17353
  "defaults": {
@@ -17275,7 +17357,7 @@ const VPicker = genericComponent()({
17275
17357
  }
17276
17358
  }
17277
17359
  }, {
17278
- default: () => [createVNode("div", {
17360
+ default: () => [createElementVNode("div", {
17279
17361
  "class": "v-picker__actions"
17280
17362
  }, [slots.actions()])]
17281
17363
  })]
@@ -18137,7 +18219,7 @@ const VColorPicker = defineComponent({
18137
18219
  }, props.style]
18138
18220
  }), {
18139
18221
  ...slots,
18140
- default: () => createVNode(Fragment, null, [!props.hideCanvas && createVNode(VColorPickerCanvas, {
18222
+ default: () => createElementVNode(Fragment, null, [!props.hideCanvas && createVNode(VColorPickerCanvas, {
18141
18223
  "key": "canvas",
18142
18224
  "color": currentColor.value,
18143
18225
  "onUpdate:color": updateColor,
@@ -18145,7 +18227,7 @@ const VColorPicker = defineComponent({
18145
18227
  "dotSize": props.dotSize,
18146
18228
  "width": props.width,
18147
18229
  "height": props.canvasHeight
18148
- }, null), (!props.hideSliders || !props.hideInputs) && createVNode("div", {
18230
+ }, null), (!props.hideSliders || !props.hideInputs) && createElementVNode("div", {
18149
18231
  "key": "controls",
18150
18232
  "class": "v-color-picker__controls"
18151
18233
  }, [!props.hideSliders && createVNode(VColorPickerPreview, {
@@ -18520,7 +18602,7 @@ const VCombobox = genericComponent()({
18520
18602
  "onKeydown": onKeydown
18521
18603
  }), {
18522
18604
  ...slots,
18523
- default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({
18605
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, mergeProps({
18524
18606
  "ref": vMenuRef,
18525
18607
  "modelValue": menu.value,
18526
18608
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -18579,7 +18661,7 @@ const VCombobox = genericComponent()({
18579
18661
  let {
18580
18662
  isSelected
18581
18663
  } = _ref5;
18582
- return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
18664
+ return createElementVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
18583
18665
  "key": item.value,
18584
18666
  "modelValue": isSelected,
18585
18667
  "ripple": false,
@@ -18628,10 +18710,10 @@ const VCombobox = genericComponent()({
18628
18710
  index
18629
18711
  })) : undefined;
18630
18712
  if (hasSlot && !slotContent) return undefined;
18631
- return createVNode("div", {
18713
+ return createElementVNode("div", {
18632
18714
  "key": item.value,
18633
- "class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
18634
- "style": index === selectionIndex.value ? textColorStyles.value : {}
18715
+ "class": normalizeClass(['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]]),
18716
+ "style": normalizeStyle(index === selectionIndex.value ? textColorStyles.value : {})
18635
18717
  }, [hasChips.value ? !slots.chip ? createVNode(VChip, mergeProps({
18636
18718
  "key": "chip",
18637
18719
  "closable": props.closableChips,
@@ -18649,9 +18731,9 @@ const VCombobox = genericComponent()({
18649
18731
  }
18650
18732
  }, {
18651
18733
  default: () => [slotContent]
18652
- }) : slotContent ?? createVNode("span", {
18734
+ }) : slotContent ?? createElementVNode("span", {
18653
18735
  "class": "v-combobox__selection-text"
18654
- }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
18736
+ }, [item.title, props.multiple && index < model.value.length - 1 && createElementVNode("span", {
18655
18737
  "class": "v-combobox__selection-comma"
18656
18738
  }, [createTextVNode(",")])])]);
18657
18739
  })]),
@@ -18659,7 +18741,7 @@ const VCombobox = genericComponent()({
18659
18741
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18660
18742
  args[_key] = arguments[_key];
18661
18743
  }
18662
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? createVNode(VIcon, {
18744
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? createVNode(VIcon, {
18663
18745
  "class": "v-combobox__menu-icon",
18664
18746
  "color": vTextFieldRef.value?.fieldIconColor,
18665
18747
  "icon": props.menuIcon,
@@ -18747,7 +18829,7 @@ const VConfirmEdit = genericComponent()({
18747
18829
  emit('cancel');
18748
18830
  }
18749
18831
  function actions(actionsProps) {
18750
- return createVNode(Fragment, null, [createVNode(VBtn, mergeProps({
18832
+ return createElementVNode(Fragment, null, [createVNode(VBtn, mergeProps({
18751
18833
  "disabled": isCancelDisabled.value,
18752
18834
  "variant": "text",
18753
18835
  "color": props.color,
@@ -18763,7 +18845,7 @@ const VConfirmEdit = genericComponent()({
18763
18845
  }
18764
18846
  let actionsUsed = false;
18765
18847
  useRender(() => {
18766
- return createVNode(Fragment, null, [slots.default?.({
18848
+ return createElementVNode(Fragment, null, [slots.default?.({
18767
18849
  model: internalModel,
18768
18850
  save,
18769
18851
  cancel,
@@ -19646,10 +19728,10 @@ const VDataIterator = genericComponent()({
19646
19728
  groupedItems: paginatedItems.value
19647
19729
  }));
19648
19730
  useRender(() => createVNode(props.tag, {
19649
- "class": ['v-data-iterator', {
19731
+ "class": normalizeClass(['v-data-iterator', {
19650
19732
  'v-data-iterator--loading': props.loading
19651
- }, props.class],
19652
- "style": props.style
19733
+ }, props.class]),
19734
+ "style": normalizeStyle(props.style)
19653
19735
  }, {
19654
19736
  default: () => [slots.header?.(slotProps.value), createVNode(MaybeTransition, {
19655
19737
  "transition": props.transition
@@ -19660,7 +19742,7 @@ const VDataIterator = genericComponent()({
19660
19742
  "active": true
19661
19743
  }, {
19662
19744
  default: slotProps => slots.loader?.(slotProps)
19663
- }) : createVNode("div", {
19745
+ }) : createElementVNode("div", {
19664
19746
  "key": "items"
19665
19747
  }, [!paginatedItems.value.length ? slots['no-data']?.() : slots.default?.(slotProps.value)])]
19666
19748
  }), slots.footer?.(slotProps.value)]
@@ -19954,44 +20036,44 @@ const VPagination = genericComponent()({
19954
20036
  }
19955
20037
  useRender(() => createVNode(props.tag, {
19956
20038
  "ref": resizeRef,
19957
- "class": ['v-pagination', themeClasses.value, props.class],
19958
- "style": props.style,
20039
+ "class": normalizeClass(['v-pagination', themeClasses.value, props.class]),
20040
+ "style": normalizeStyle(props.style),
19959
20041
  "role": "navigation",
19960
20042
  "aria-label": t(props.ariaLabel),
19961
20043
  "onKeydown": onKeydown,
19962
20044
  "data-test": "v-pagination-root"
19963
20045
  }, {
19964
- default: () => [createVNode("ul", {
20046
+ default: () => [createElementVNode("ul", {
19965
20047
  "class": "v-pagination__list"
19966
- }, [props.showFirstLastPage && createVNode("li", {
20048
+ }, [props.showFirstLastPage && createElementVNode("li", {
19967
20049
  "key": "first",
19968
20050
  "class": "v-pagination__first",
19969
20051
  "data-test": "v-pagination-first"
19970
20052
  }, [slots.first ? slots.first(controls.value.first) : createVNode(VBtn, mergeProps({
19971
20053
  "_as": "VPaginationBtn"
19972
- }, controls.value.first), null)]), createVNode("li", {
20054
+ }, controls.value.first), null)]), createElementVNode("li", {
19973
20055
  "key": "prev",
19974
20056
  "class": "v-pagination__prev",
19975
20057
  "data-test": "v-pagination-prev"
19976
20058
  }, [slots.prev ? slots.prev(controls.value.prev) : createVNode(VBtn, mergeProps({
19977
20059
  "_as": "VPaginationBtn"
19978
- }, controls.value.prev), null)]), items.value.map((item, index) => createVNode("li", {
20060
+ }, controls.value.prev), null)]), items.value.map((item, index) => createElementVNode("li", {
19979
20061
  "key": item.key,
19980
- "class": ['v-pagination__item', {
20062
+ "class": normalizeClass(['v-pagination__item', {
19981
20063
  'v-pagination__item--is-active': item.isActive
19982
- }],
20064
+ }]),
19983
20065
  "data-test": "v-pagination-item"
19984
20066
  }, [slots.item ? slots.item(item) : createVNode(VBtn, mergeProps({
19985
20067
  "_as": "VPaginationBtn"
19986
20068
  }, item.props), {
19987
20069
  default: () => [item.page]
19988
- })])), createVNode("li", {
20070
+ })])), createElementVNode("li", {
19989
20071
  "key": "next",
19990
20072
  "class": "v-pagination__next",
19991
20073
  "data-test": "v-pagination-next"
19992
20074
  }, [slots.next ? slots.next(controls.value.next) : createVNode(VBtn, mergeProps({
19993
20075
  "_as": "VPaginationBtn"
19994
- }, controls.value.next), null)]), props.showFirstLastPage && createVNode("li", {
20076
+ }, controls.value.next), null)]), props.showFirstLastPage && createElementVNode("li", {
19995
20077
  "key": "last",
19996
20078
  "class": "v-pagination__last",
19997
20079
  "data-test": "v-pagination-last"
@@ -20100,20 +20182,20 @@ const VDataTableFooter = genericComponent()({
20100
20182
  }));
20101
20183
  useRender(() => {
20102
20184
  const paginationProps = VPagination.filterProps(props);
20103
- return createVNode("div", {
20185
+ return createElementVNode("div", {
20104
20186
  "class": "v-data-table-footer"
20105
- }, [slots.prepend?.(), createVNode("div", {
20187
+ }, [slots.prepend?.(), createElementVNode("div", {
20106
20188
  "class": "v-data-table-footer__items-per-page"
20107
- }, [createVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
20189
+ }, [createElementVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
20108
20190
  "items": itemsPerPageOptions.value,
20109
20191
  "modelValue": itemsPerPage.value,
20110
20192
  "onUpdate:modelValue": v => setItemsPerPage(Number(v)),
20111
20193
  "density": "compact",
20112
20194
  "variant": "outlined",
20113
20195
  "hide-details": true
20114
- }, null)]), createVNode("div", {
20196
+ }, null)]), createElementVNode("div", {
20115
20197
  "class": "v-data-table-footer__info"
20116
- }, [createVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), createVNode("div", {
20198
+ }, [createElementVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), createElementVNode("div", {
20117
20199
  "class": "v-data-table-footer__pagination"
20118
20200
  }, [createVNode(VPagination, mergeProps({
20119
20201
  "modelValue": page.value,
@@ -20156,18 +20238,18 @@ const VDataTableColumn = defineFunctionalComponent({
20156
20238
  } = _ref;
20157
20239
  const Tag = props.tag ?? 'td';
20158
20240
  return createVNode(Tag, {
20159
- "class": ['v-data-table__td', {
20241
+ "class": normalizeClass(['v-data-table__td', {
20160
20242
  'v-data-table-column--fixed': props.fixed,
20161
20243
  'v-data-table-column--last-fixed': props.lastFixed,
20162
20244
  'v-data-table-column--no-padding': props.noPadding,
20163
20245
  'v-data-table-column--nowrap': props.nowrap
20164
- }, `v-data-table-column--align-${props.align}`],
20165
- "style": {
20246
+ }, `v-data-table-column--align-${props.align}`]),
20247
+ "style": normalizeStyle({
20166
20248
  height: convertToUnit(props.height),
20167
20249
  width: convertToUnit(props.width),
20168
20250
  maxWidth: convertToUnit(props.maxWidth),
20169
20251
  left: convertToUnit(props.fixedOffset || null)
20170
- }
20252
+ })
20171
20253
  }, {
20172
20254
  default: () => [slots.default?.()]
20173
20255
  });
@@ -20577,16 +20659,16 @@ const VDataTableHeaders = genericComponent()({
20577
20659
  "onUpdate:modelValue": selectAll
20578
20660
  }, null));
20579
20661
  }
20580
- return createVNode("div", {
20662
+ return createElementVNode("div", {
20581
20663
  "class": "v-data-table-header__content"
20582
- }, [createVNode("span", null, [column.title]), column.sortable && !props.disableSort && createVNode(VIcon, {
20664
+ }, [createElementVNode("span", null, [column.title]), column.sortable && !props.disableSort && createVNode(VIcon, {
20583
20665
  "key": "icon",
20584
20666
  "class": "v-data-table-header__sort-icon",
20585
20667
  "icon": getSortIcon(column)
20586
- }, null), props.multiSort && isSorted(column) && createVNode("div", {
20668
+ }, null), props.multiSort && isSorted(column) && createElementVNode("div", {
20587
20669
  "key": "badge",
20588
- "class": ['v-data-table-header__sort-badge', ...backgroundColorClasses.value],
20589
- "style": backgroundColorStyles.value
20670
+ "class": normalizeClass(['v-data-table-header__sort-badge', ...backgroundColorClasses.value]),
20671
+ "style": normalizeStyle(backgroundColorStyles.value)
20590
20672
  }, [sortBy.value.findIndex(x => x.key === column.key) + 1])]);
20591
20673
  }
20592
20674
  });
@@ -20605,7 +20687,7 @@ const VDataTableHeaders = genericComponent()({
20605
20687
  "class": [...headerCellClasses.value],
20606
20688
  "colspan": headers.value.length + 1
20607
20689
  }, props.headerProps), {
20608
- default: () => [createVNode("div", {
20690
+ default: () => [createElementVNode("div", {
20609
20691
  "class": "v-data-table-header__content"
20610
20692
  }, [createVNode(VSelect, {
20611
20693
  "chips": true,
@@ -20629,7 +20711,7 @@ const VDataTableHeaders = genericComponent()({
20629
20711
  }
20630
20712
  }, {
20631
20713
  default: () => [props.item.title, createVNode(VIcon, {
20632
- "class": ['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active'],
20714
+ "class": normalizeClass(['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active']),
20633
20715
  "icon": getSortIcon(props.item.raw),
20634
20716
  "size": "small"
20635
20717
  }, null)]
@@ -20638,13 +20720,13 @@ const VDataTableHeaders = genericComponent()({
20638
20720
  });
20639
20721
  };
20640
20722
  useRender(() => {
20641
- return mobile.value ? createVNode("tr", null, [createVNode(VDataTableMobileHeaderCell, null, null)]) : createVNode(Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => createVNode("tr", null, [row.map((column, x) => createVNode(VDataTableHeaderCell, {
20723
+ return mobile.value ? createElementVNode("tr", null, [createVNode(VDataTableMobileHeaderCell, null, null)]) : createElementVNode(Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => createElementVNode("tr", null, [row.map((column, x) => createVNode(VDataTableHeaderCell, {
20642
20724
  "column": column,
20643
20725
  "x": x,
20644
20726
  "y": y
20645
- }, null))])), props.loading && createVNode("tr", {
20727
+ }, null))])), props.loading && createElementVNode("tr", {
20646
20728
  "class": "v-data-table-progress"
20647
- }, [createVNode("th", {
20729
+ }, [createElementVNode("th", {
20648
20730
  "colspan": columns.value.length
20649
20731
  }, [createVNode(LoaderSlot, {
20650
20732
  "name": "v-data-table-progress",
@@ -20690,11 +20772,11 @@ const VDataTableGroupHeaderRow = genericComponent()({
20690
20772
  const rows = computed(() => {
20691
20773
  return extractRows([props.item]);
20692
20774
  });
20693
- return () => createVNode("tr", {
20775
+ return () => createElementVNode("tr", {
20694
20776
  "class": "v-data-table-group-header-row",
20695
- "style": {
20777
+ "style": normalizeStyle({
20696
20778
  '--v-data-table-group-header-row-depth': props.item.depth
20697
- }
20779
+ })
20698
20780
  }, [columns.value.map(column => {
20699
20781
  if (column.key === 'data-table-group') {
20700
20782
  const icon = isGroupOpen(props.item) ? '$expand' : '$next';
@@ -20714,7 +20796,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
20714
20796
  "variant": "text",
20715
20797
  "icon": icon,
20716
20798
  "onClick": onClick
20717
- }, null), createVNode("span", null, [props.item.value]), createVNode("span", null, [createTextVNode("("), rows.value.length, createTextVNode(")")])]
20799
+ }, null), createElementVNode("span", null, [props.item.value]), createElementVNode("span", null, [createTextVNode("("), rows.value.length, createTextVNode(")")])]
20718
20800
  });
20719
20801
  }
20720
20802
  if (column.key === 'data-table-select') {
@@ -20727,13 +20809,13 @@ const VDataTableGroupHeaderRow = genericComponent()({
20727
20809
  indeterminate,
20728
20810
  'onUpdate:modelValue': selectGroup
20729
20811
  }
20730
- }) ?? createVNode("td", null, [createVNode(VCheckboxBtn, {
20812
+ }) ?? createElementVNode("td", null, [createVNode(VCheckboxBtn, {
20731
20813
  "modelValue": modelValue,
20732
20814
  "indeterminate": indeterminate,
20733
20815
  "onUpdate:modelValue": selectGroup
20734
20816
  }, null)]);
20735
20817
  }
20736
- return createVNode("td", null, null);
20818
+ return createElementVNode("td", null, null);
20737
20819
  })]);
20738
20820
  }
20739
20821
  });
@@ -20779,10 +20861,10 @@ const VDataTableRow = genericComponent()({
20779
20861
  const {
20780
20862
  columns
20781
20863
  } = useHeaders();
20782
- useRender(() => createVNode("tr", {
20783
- "class": ['v-data-table__tr', {
20864
+ useRender(() => createElementVNode("tr", {
20865
+ "class": normalizeClass(['v-data-table__tr', {
20784
20866
  'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick)
20785
- }, displayClasses.value],
20867
+ }, displayClasses.value]),
20786
20868
  "onClick": props.onClick,
20787
20869
  "onContextmenu": props.onContextmenu,
20788
20870
  "onDblclick": props.onDblclick
@@ -20871,9 +20953,9 @@ const VDataTableRow = genericComponent()({
20871
20953
  }
20872
20954
  if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
20873
20955
  const displayValue = toDisplayString(slotProps.value);
20874
- return !mobile.value ? displayValue : createVNode(Fragment, null, [createVNode("div", {
20956
+ return !mobile.value ? displayValue : createElementVNode(Fragment, null, [createElementVNode("div", {
20875
20957
  "class": "v-data-table__td-title"
20876
- }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), createVNode("div", {
20958
+ }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), createElementVNode("div", {
20877
20959
  "class": "v-data-table__td-value"
20878
20960
  }, [slots[slotName]?.(slotProps) ?? displayValue])]);
20879
20961
  }
@@ -20936,22 +21018,22 @@ const VDataTableRows = genericComponent()({
20936
21018
  } = useDisplay(props);
20937
21019
  useRender(() => {
20938
21020
  if (props.loading && (!props.items.length || slots.loading)) {
20939
- return createVNode("tr", {
21021
+ return createElementVNode("tr", {
20940
21022
  "class": "v-data-table-rows-loading",
20941
21023
  "key": "loading"
20942
- }, [createVNode("td", {
21024
+ }, [createElementVNode("td", {
20943
21025
  "colspan": columns.value.length
20944
21026
  }, [slots.loading?.() ?? t(props.loadingText)])]);
20945
21027
  }
20946
21028
  if (!props.loading && !props.items.length && !props.hideNoData) {
20947
- return createVNode("tr", {
21029
+ return createElementVNode("tr", {
20948
21030
  "class": "v-data-table-rows-no-data",
20949
21031
  "key": "no-data"
20950
- }, [createVNode("td", {
21032
+ }, [createElementVNode("td", {
20951
21033
  "colspan": columns.value.length
20952
21034
  }, [slots['no-data']?.() ?? t(props.noDataText)])]);
20953
21035
  }
20954
- return createVNode(Fragment, null, [props.items.map((item, index) => {
21036
+ return createElementVNode(Fragment, null, [props.items.map((item, index) => {
20955
21037
  if (item.type === 'group') {
20956
21038
  const slotProps = {
20957
21039
  index,
@@ -20996,7 +21078,7 @@ const VDataTableRows = genericComponent()({
20996
21078
  internalItem: slotProps.internalItem
20997
21079
  }) : props.rowProps)
20998
21080
  };
20999
- return createVNode(Fragment, {
21081
+ return createElementVNode(Fragment, {
21000
21082
  "key": itemSlotProps.props.key
21001
21083
  }, [slots.item ? slots.item(itemSlotProps) : createVNode(VDataTableRow, itemSlotProps.props, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
21002
21084
  })]);
@@ -21030,22 +21112,22 @@ const VTable = genericComponent()({
21030
21112
  densityClasses
21031
21113
  } = useDensity(props);
21032
21114
  useRender(() => createVNode(props.tag, {
21033
- "class": ['v-table', {
21115
+ "class": normalizeClass(['v-table', {
21034
21116
  'v-table--fixed-height': !!props.height,
21035
21117
  'v-table--fixed-header': props.fixedHeader,
21036
21118
  'v-table--fixed-footer': props.fixedFooter,
21037
21119
  'v-table--has-top': !!slots.top,
21038
21120
  'v-table--has-bottom': !!slots.bottom,
21039
21121
  'v-table--hover': props.hover
21040
- }, themeClasses.value, densityClasses.value, props.class],
21041
- "style": props.style
21122
+ }, themeClasses.value, densityClasses.value, props.class]),
21123
+ "style": normalizeStyle(props.style)
21042
21124
  }, {
21043
- default: () => [slots.top?.(), slots.default ? createVNode("div", {
21125
+ default: () => [slots.top?.(), slots.default ? createElementVNode("div", {
21044
21126
  "class": "v-table__wrapper",
21045
- "style": {
21127
+ "style": normalizeStyle({
21046
21128
  height: convertToUnit(props.height)
21047
- }
21048
- }, [createVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
21129
+ })
21130
+ }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
21049
21131
  }));
21050
21132
  return {};
21051
21133
  }
@@ -21298,12 +21380,12 @@ const VDataTable = genericComponent()({
21298
21380
  "fixedHeader": props.fixedHeader || props.sticky
21299
21381
  }), {
21300
21382
  top: () => slots.top?.(slotProps.value),
21301
- default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
21383
+ default: () => slots.default ? slots.default(slotProps.value) : createElementVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createElementVNode("thead", {
21302
21384
  "key": "thead"
21303
- }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
21385
+ }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createElementVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
21304
21386
  "items": paginatedItems.value
21305
21387
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
21306
- bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21388
+ bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createElementVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21307
21389
  prepend: slots['footer.prepend']
21308
21390
  })])
21309
21391
  });
@@ -21474,25 +21556,25 @@ const VDataTableVirtual = genericComponent()({
21474
21556
  "fixedHeader": props.fixedHeader || props.sticky
21475
21557
  }), {
21476
21558
  top: () => slots.top?.(slotProps.value),
21477
- wrapper: () => createVNode("div", {
21559
+ wrapper: () => createElementVNode("div", {
21478
21560
  "ref": containerRef,
21479
21561
  "onScrollPassive": handleScroll,
21480
21562
  "onScrollend": handleScrollend,
21481
21563
  "class": "v-table__wrapper",
21482
- "style": {
21564
+ "style": normalizeStyle({
21483
21565
  height: convertToUnit(props.height)
21484
- }
21485
- }, [createVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
21566
+ })
21567
+ }, [createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createElementVNode("thead", {
21486
21568
  "key": "thead"
21487
- }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createVNode("tbody", {
21569
+ }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createElementVNode("tbody", {
21488
21570
  "key": "tbody"
21489
- }, [createVNode("tr", {
21571
+ }, [createElementVNode("tr", {
21490
21572
  "ref": markerRef,
21491
- "style": {
21573
+ "style": normalizeStyle({
21492
21574
  height: convertToUnit(paddingTop.value),
21493
21575
  border: 0
21494
- }
21495
- }, [createVNode("td", {
21576
+ })
21577
+ }, [createElementVNode("td", {
21496
21578
  "colspan": columns.value.length,
21497
21579
  "style": {
21498
21580
  height: 0,
@@ -21521,12 +21603,12 @@ const VDataTableVirtual = genericComponent()({
21521
21603
  }), slots);
21522
21604
  }
21523
21605
  })
21524
- }), slots['body.append']?.(slotProps.value), createVNode("tr", {
21525
- "style": {
21606
+ }), slots['body.append']?.(slotProps.value), createElementVNode("tr", {
21607
+ "style": normalizeStyle({
21526
21608
  height: convertToUnit(paddingBottom.value),
21527
21609
  border: 0
21528
- }
21529
- }, [createVNode("td", {
21610
+ })
21611
+ }, [createElementVNode("td", {
21530
21612
  "colspan": columns.value.length,
21531
21613
  "style": {
21532
21614
  height: 0,
@@ -21699,17 +21781,17 @@ const VDataTableServer = genericComponent()({
21699
21781
  "fixedHeader": props.fixedHeader || props.sticky
21700
21782
  }), {
21701
21783
  top: () => slots.top?.(slotProps.value),
21702
- default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
21784
+ default: () => slots.default ? slots.default(slotProps.value) : createElementVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createElementVNode("thead", {
21703
21785
  "key": "thead",
21704
21786
  "class": "v-data-table__thead",
21705
21787
  "role": "rowgroup"
21706
- }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createVNode("tbody", {
21788
+ }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createElementVNode("tbody", {
21707
21789
  "class": "v-data-table__tbody",
21708
21790
  "role": "rowgroup"
21709
21791
  }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
21710
21792
  "items": flatItems.value
21711
21793
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
21712
- bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21794
+ bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createElementVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21713
21795
  prepend: slots['footer.prepend']
21714
21796
  })])
21715
21797
  });
@@ -21740,10 +21822,10 @@ const VContainer = genericComponent()({
21740
21822
  dimensionStyles
21741
21823
  } = useDimension(props);
21742
21824
  useRender(() => createVNode(props.tag, {
21743
- "class": ['v-container', {
21825
+ "class": normalizeClass(['v-container', {
21744
21826
  'v-container--fluid': props.fluid
21745
- }, rtlClasses.value, props.class],
21746
- "style": [dimensionStyles.value, props.style]
21827
+ }, rtlClasses.value, props.class]),
21828
+ "style": normalizeStyle([dimensionStyles.value, props.style])
21747
21829
  }, slots));
21748
21830
  return {};
21749
21831
  }
@@ -22062,11 +22144,11 @@ const VDatePickerControls = genericComponent()({
22062
22144
  }
22063
22145
  useRender(() => {
22064
22146
  // TODO: add slot support and scope defaults
22065
- return createVNode("div", {
22147
+ return createElementVNode("div", {
22066
22148
  "class": ['v-date-picker-controls'],
22067
- "style": {
22149
+ "style": normalizeStyle({
22068
22150
  '--v-date-picker-controls-height': convertToUnit(props.controlHeight)
22069
- }
22151
+ })
22070
22152
  }, [createVNode(VBtn, {
22071
22153
  "class": "v-date-picker-controls__month-btn",
22072
22154
  "data-testid": "month-btn",
@@ -22083,7 +22165,7 @@ const VDatePickerControls = genericComponent()({
22083
22165
  "icon": props.modeIcon,
22084
22166
  "variant": "text",
22085
22167
  "onClick": onClickYear
22086
- }, null), createVNode(VSpacer, null, null), createVNode("div", {
22168
+ }, null), createVNode(VSpacer, null, null), createElementVNode("div", {
22087
22169
  "class": "v-date-picker-controls__month"
22088
22170
  }, [createVNode(VBtn, {
22089
22171
  "data-testid": "prev-month",
@@ -22139,24 +22221,24 @@ const VDatePickerHeader = genericComponent()({
22139
22221
  useRender(() => {
22140
22222
  const hasContent = !!(slots.default || props.header);
22141
22223
  const hasAppend = !!(slots.append || props.appendIcon);
22142
- return createVNode("div", {
22143
- "class": ['v-date-picker-header', {
22224
+ return createElementVNode("div", {
22225
+ "class": normalizeClass(['v-date-picker-header', {
22144
22226
  'v-date-picker-header--clickable': !!props.onClick
22145
- }, backgroundColorClasses.value],
22146
- "style": backgroundColorStyles.value,
22227
+ }, backgroundColorClasses.value]),
22228
+ "style": normalizeStyle(backgroundColorStyles.value),
22147
22229
  "onClick": onClick
22148
- }, [slots.prepend && createVNode("div", {
22230
+ }, [slots.prepend && createElementVNode("div", {
22149
22231
  "key": "prepend",
22150
22232
  "class": "v-date-picker-header__prepend"
22151
22233
  }, [slots.prepend()]), hasContent && createVNode(MaybeTransition, {
22152
22234
  "key": "content",
22153
22235
  "name": props.transition
22154
22236
  }, {
22155
- default: () => [createVNode("div", {
22237
+ default: () => [createElementVNode("div", {
22156
22238
  "key": props.header,
22157
22239
  "class": "v-date-picker-header__content"
22158
22240
  }, [slots.default?.() ?? props.header])]
22159
- }), hasAppend && createVNode("div", {
22241
+ }), hasAppend && createElementVNode("div", {
22160
22242
  "class": "v-date-picker-header__append"
22161
22243
  }, [!slots.append ? createVNode(VBtn, {
22162
22244
  "key": "append-btn",
@@ -22442,24 +22524,24 @@ const VDatePickerMonth = genericComponent()({
22442
22524
  model.value = [value];
22443
22525
  }
22444
22526
  }
22445
- useRender(() => createVNode("div", {
22527
+ useRender(() => createElementVNode("div", {
22446
22528
  "class": "v-date-picker-month"
22447
- }, [props.showWeek && createVNode("div", {
22529
+ }, [props.showWeek && createElementVNode("div", {
22448
22530
  "key": "weeks",
22449
22531
  "class": "v-date-picker-month__weeks"
22450
- }, [!props.hideWeekdays && createVNode("div", {
22532
+ }, [!props.hideWeekdays && createElementVNode("div", {
22451
22533
  "key": "hide-week-days",
22452
22534
  "class": "v-date-picker-month__day"
22453
- }, [createTextVNode("\xA0")]), weekNumbers.value.map(week => createVNode("div", {
22535
+ }, [createTextVNode("\xA0")]), weekNumbers.value.map(week => createElementVNode("div", {
22454
22536
  "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
22455
22537
  }, [week]))]), createVNode(MaybeTransition, {
22456
22538
  "name": transition.value
22457
22539
  }, {
22458
- default: () => [createVNode("div", {
22540
+ default: () => [createElementVNode("div", {
22459
22541
  "ref": daysRef,
22460
22542
  "key": daysInMonth.value[0].date?.toString(),
22461
22543
  "class": "v-date-picker-month__days"
22462
- }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createVNode("div", {
22544
+ }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createElementVNode("div", {
22463
22545
  "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
22464
22546
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22465
22547
  const slotProps = {
@@ -22479,14 +22561,14 @@ const VDatePickerMonth = genericComponent()({
22479
22561
  if (atMax.value && !item.isSelected) {
22480
22562
  item.isDisabled = true;
22481
22563
  }
22482
- return createVNode("div", {
22483
- "class": ['v-date-picker-month__day', {
22564
+ return createElementVNode("div", {
22565
+ "class": normalizeClass(['v-date-picker-month__day', {
22484
22566
  'v-date-picker-month__day--adjacent': item.isAdjacent,
22485
22567
  'v-date-picker-month__day--hide-adjacent': item.isHidden,
22486
22568
  'v-date-picker-month__day--selected': item.isSelected,
22487
22569
  'v-date-picker-month__day--week-end': item.isWeekEnd,
22488
22570
  'v-date-picker-month__day--week-start': item.isWeekStart
22489
- }],
22571
+ }]),
22490
22572
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
22491
22573
  }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null))]);
22492
22574
  })])]
@@ -22536,12 +22618,12 @@ const VDatePickerMonths = genericComponent()({
22536
22618
  watchEffect(() => {
22537
22619
  model.value = model.value ?? adapter.getMonth(adapter.date());
22538
22620
  });
22539
- useRender(() => createVNode("div", {
22621
+ useRender(() => createElementVNode("div", {
22540
22622
  "class": "v-date-picker-months",
22541
- "style": {
22623
+ "style": normalizeStyle({
22542
22624
  height: convertToUnit(props.height)
22543
- }
22544
- }, [createVNode("div", {
22625
+ })
22626
+ }, [createElementVNode("div", {
22545
22627
  "class": "v-date-picker-months__content"
22546
22628
  }, [months.value.map((month, i) => {
22547
22629
  const btnProps = {
@@ -22627,12 +22709,12 @@ const VDatePickerYears = genericComponent()({
22627
22709
  block: 'center'
22628
22710
  });
22629
22711
  });
22630
- useRender(() => createVNode("div", {
22712
+ useRender(() => createElementVNode("div", {
22631
22713
  "class": "v-date-picker-years",
22632
- "style": {
22714
+ "style": normalizeStyle({
22633
22715
  height: convertToUnit(props.height)
22634
- }
22635
- }, [createVNode("div", {
22716
+ })
22717
+ }, [createElementVNode("div", {
22636
22718
  "class": "v-date-picker-years__content"
22637
22719
  }, [years.value.map((year, i) => {
22638
22720
  const btnProps = {
@@ -22869,7 +22951,7 @@ const VDatePicker = genericComponent()({
22869
22951
  }, rtlClasses.value, props.class],
22870
22952
  "style": props.style
22871
22953
  }), {
22872
- title: () => slots.title?.() ?? createVNode("div", {
22954
+ title: () => slots.title?.() ?? createElementVNode("div", {
22873
22955
  "class": "v-date-picker__title"
22874
22956
  }, [t(props.title)]),
22875
22957
  header: () => slots.header ? createVNode(VDefaultsProvider, {
@@ -22888,7 +22970,7 @@ const VDatePicker = genericComponent()({
22888
22970
  ...slots,
22889
22971
  default: undefined
22890
22972
  }),
22891
- default: () => createVNode(Fragment, null, [createVNode(VDatePickerControls, mergeProps(datePickerControlsProps, {
22973
+ default: () => createElementVNode(Fragment, null, [createVNode(VDatePickerControls, mergeProps(datePickerControlsProps, {
22892
22974
  "disabled": disabled.value,
22893
22975
  "text": text.value,
22894
22976
  "onClick:next": onClickNext,
@@ -22997,15 +23079,15 @@ const VEmptyState = genericComponent()({
22997
23079
  const hasText = !!(slots.text || props.text);
22998
23080
  const hasMedia = !!(slots.media || props.image || props.icon);
22999
23081
  const size = props.size || (props.image ? 200 : 96);
23000
- return createVNode("div", {
23001
- "class": ['v-empty-state', {
23082
+ return createElementVNode("div", {
23083
+ "class": normalizeClass(['v-empty-state', {
23002
23084
  [`v-empty-state--${props.justify}`]: true
23003
- }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class],
23004
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style]
23005
- }, [hasMedia && createVNode("div", {
23085
+ }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class]),
23086
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style])
23087
+ }, [hasMedia && createElementVNode("div", {
23006
23088
  "key": "media",
23007
23089
  "class": "v-empty-state__media"
23008
- }, [!slots.media ? createVNode(Fragment, null, [props.image ? createVNode(VImg, {
23090
+ }, [!slots.media ? createElementVNode(Fragment, null, [props.image ? createVNode(VImg, {
23009
23091
  "key": "image",
23010
23092
  "src": props.image,
23011
23093
  "height": size
@@ -23028,22 +23110,22 @@ const VEmptyState = genericComponent()({
23028
23110
  }
23029
23111
  }, {
23030
23112
  default: () => [slots.media()]
23031
- })]), hasHeadline && createVNode("div", {
23113
+ })]), hasHeadline && createElementVNode("div", {
23032
23114
  "key": "headline",
23033
23115
  "class": "v-empty-state__headline"
23034
- }, [slots.headline?.() ?? props.headline]), hasTitle && createVNode("div", {
23116
+ }, [slots.headline?.() ?? props.headline]), hasTitle && createElementVNode("div", {
23035
23117
  "key": "title",
23036
23118
  "class": "v-empty-state__title"
23037
- }, [slots.title?.() ?? props.title]), hasText && createVNode("div", {
23119
+ }, [slots.title?.() ?? props.title]), hasText && createElementVNode("div", {
23038
23120
  "key": "text",
23039
23121
  "class": "v-empty-state__text",
23040
- "style": {
23122
+ "style": normalizeStyle({
23041
23123
  maxWidth: convertToUnit(props.textWidth)
23042
- }
23043
- }, [slots.text?.() ?? props.text]), slots.default && createVNode("div", {
23124
+ })
23125
+ }, [slots.text?.() ?? props.text]), slots.default && createElementVNode("div", {
23044
23126
  "key": "content",
23045
23127
  "class": "v-empty-state__content"
23046
- }, [slots.default()]), hasActions && createVNode("div", {
23128
+ }, [slots.default()]), hasActions && createElementVNode("div", {
23047
23129
  "key": "actions",
23048
23130
  "class": "v-empty-state__actions"
23049
23131
  }, [createVNode(VDefaultsProvider, {
@@ -23094,10 +23176,10 @@ const VExpansionPanelText = genericComponent()({
23094
23176
  useRender(() => createVNode(VExpandTransition, {
23095
23177
  "onAfterLeave": onAfterLeave
23096
23178
  }, {
23097
- default: () => [withDirectives(createVNode("div", {
23098
- "class": ['v-expansion-panel-text', props.class],
23099
- "style": props.style
23100
- }, [slots.default && hasContent.value && createVNode("div", {
23179
+ default: () => [withDirectives(createElementVNode("div", {
23180
+ "class": normalizeClass(['v-expansion-panel-text', props.class]),
23181
+ "style": normalizeStyle(props.style)
23182
+ }, [slots.default && hasContent.value && createElementVNode("div", {
23101
23183
  "class": "v-expansion-panel-text__wrapper"
23102
23184
  }, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
23103
23185
  }));
@@ -23131,7 +23213,7 @@ const makeVExpansionPanelTitleProps = propsFactory({
23131
23213
  const VExpansionPanelTitle = genericComponent()({
23132
23214
  name: 'VExpansionPanelTitle',
23133
23215
  directives: {
23134
- Ripple
23216
+ vRipple: Ripple
23135
23217
  },
23136
23218
  props: makeVExpansionPanelTitleProps(),
23137
23219
  setup(props, _ref) {
@@ -23155,19 +23237,19 @@ const VExpansionPanelTitle = genericComponent()({
23155
23237
  readonly: props.readonly
23156
23238
  }));
23157
23239
  const icon = toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
23158
- useRender(() => withDirectives(createVNode("button", {
23159
- "class": ['v-expansion-panel-title', {
23240
+ useRender(() => withDirectives(createElementVNode("button", {
23241
+ "class": normalizeClass(['v-expansion-panel-title', {
23160
23242
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
23161
23243
  'v-expansion-panel-title--focusable': props.focusable,
23162
23244
  'v-expansion-panel-title--static': props.static
23163
- }, backgroundColorClasses.value, props.class],
23164
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
23245
+ }, backgroundColorClasses.value, props.class]),
23246
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),
23165
23247
  "type": "button",
23166
23248
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
23167
23249
  "disabled": expansionPanel.disabled.value,
23168
23250
  "aria-expanded": expansionPanel.isSelected.value,
23169
23251
  "onClick": !props.readonly ? expansionPanel.toggle : undefined
23170
- }, [createVNode("span", {
23252
+ }, [createElementVNode("span", {
23171
23253
  "class": "v-expansion-panel-title__overlay"
23172
23254
  }, null), slots.default?.(slotProps.value), !props.hideActions && createVNode(VDefaultsProvider, {
23173
23255
  "defaults": {
@@ -23176,10 +23258,10 @@ const VExpansionPanelTitle = genericComponent()({
23176
23258
  }
23177
23259
  }
23178
23260
  }, {
23179
- default: () => [createVNode("span", {
23261
+ default: () => [createElementVNode("span", {
23180
23262
  "class": "v-expansion-panel-title__icon"
23181
23263
  }, [slots.actions?.(slotProps.value) ?? createVNode(VIcon, null, null)])]
23182
- })]), [[resolveDirective("ripple"), props.ripple]]));
23264
+ })]), [[Ripple, props.ripple]]));
23183
23265
  return {};
23184
23266
  }
23185
23267
  });
@@ -23236,16 +23318,16 @@ const VExpansionPanel = genericComponent()({
23236
23318
  const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props);
23237
23319
  const expansionPanelTextProps = VExpansionPanelText.filterProps(props);
23238
23320
  return createVNode(props.tag, {
23239
- "class": ['v-expansion-panel', {
23321
+ "class": normalizeClass(['v-expansion-panel', {
23240
23322
  'v-expansion-panel--active': groupItem.isSelected.value,
23241
23323
  'v-expansion-panel--before-active': isBeforeSelected.value,
23242
23324
  'v-expansion-panel--after-active': isAfterSelected.value,
23243
23325
  'v-expansion-panel--disabled': isDisabled.value
23244
- }, roundedClasses.value, backgroundColorClasses.value, props.class],
23245
- "style": [backgroundColorStyles.value, props.style]
23326
+ }, roundedClasses.value, backgroundColorClasses.value, props.class]),
23327
+ "style": normalizeStyle([backgroundColorStyles.value, props.style])
23246
23328
  }, {
23247
- default: () => [createVNode("div", {
23248
- "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
23329
+ default: () => [createElementVNode("div", {
23330
+ "class": normalizeClass(['v-expansion-panel__shadow', ...elevationClasses.value])
23249
23331
  }, null), createVNode(VDefaultsProvider, {
23250
23332
  "defaults": {
23251
23333
  VExpansionPanelTitle: {
@@ -23325,11 +23407,11 @@ const VExpansionPanels = genericComponent()({
23325
23407
  }
23326
23408
  });
23327
23409
  useRender(() => createVNode(props.tag, {
23328
- "class": ['v-expansion-panels', {
23410
+ "class": normalizeClass(['v-expansion-panels', {
23329
23411
  'v-expansion-panels--flat': props.flat,
23330
23412
  'v-expansion-panels--tile': props.tile
23331
- }, themeClasses.value, variantClass.value, props.class],
23332
- "style": props.style
23413
+ }, themeClasses.value, variantClass.value, props.class]),
23414
+ "style": normalizeStyle(props.style)
23333
23415
  }, {
23334
23416
  default: () => [slots.default?.({
23335
23417
  prev,
@@ -23409,22 +23491,22 @@ const VFab = genericComponent()({
23409
23491
  const vFabRef = ref();
23410
23492
  useRender(() => {
23411
23493
  const btnProps = VBtn.filterProps(props);
23412
- return createVNode("div", {
23494
+ return createElementVNode("div", {
23413
23495
  "ref": vFabRef,
23414
- "class": ['v-fab', {
23496
+ "class": normalizeClass(['v-fab', {
23415
23497
  'v-fab--absolute': props.absolute,
23416
23498
  'v-fab--app': !!props.app,
23417
23499
  'v-fab--extended': props.extended,
23418
23500
  'v-fab--offset': props.offset,
23419
23501
  [`v-fab--${position.value}`]: hasPosition.value,
23420
23502
  [`v-fab--${orientation.value}`]: hasPosition.value
23421
- }, props.class],
23422
- "style": [props.app ? {
23503
+ }, props.class]),
23504
+ "style": normalizeStyle([props.app ? {
23423
23505
  ...layoutItemStyles.value
23424
23506
  } : {
23425
23507
  height: props.absolute ? '100%' : 'inherit'
23426
- }, props.style]
23427
- }, [createVNode("div", {
23508
+ }, props.style])
23509
+ }, [createElementVNode("div", {
23428
23510
  "class": "v-fab__container"
23429
23511
  }, [createVNode(MaybeTransition, {
23430
23512
  "appear": props.appear,
@@ -23640,7 +23722,7 @@ const VFileInput = genericComponent()({
23640
23722
  ...slotProps
23641
23723
  }
23642
23724
  } = _ref4;
23643
- return createVNode(Fragment, null, [createVNode("input", mergeProps({
23725
+ return createElementVNode(Fragment, null, [createElementVNode("input", mergeProps({
23644
23726
  "ref": inputRef,
23645
23727
  "type": "file",
23646
23728
  "readonly": isReadonly.value,
@@ -23660,8 +23742,8 @@ const VFileInput = genericComponent()({
23660
23742
  "onDragleave": onDragleave,
23661
23743
  "onFocus": onFocus,
23662
23744
  "onBlur": blur
23663
- }, slotProps, inputAttrs), null), createVNode("div", {
23664
- "class": fieldClass
23745
+ }, slotProps, inputAttrs), null), createElementVNode("div", {
23746
+ "class": normalizeClass(fieldClass)
23665
23747
  }, [!!model.value?.length && !props.hideInput && (slots.selection ? slots.selection({
23666
23748
  fileNames: fileNames.value,
23667
23749
  totalBytes: totalBytes.value,
@@ -23674,7 +23756,7 @@ const VFileInput = genericComponent()({
23674
23756
  }
23675
23757
  });
23676
23758
  },
23677
- details: hasDetails ? slotProps => createVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createVNode(Fragment, null, [createVNode("span", null, null), createVNode(VCounter, {
23759
+ details: hasDetails ? slotProps => createElementVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createElementVNode(Fragment, null, [createElementVNode("span", null, null), createVNode(VCounter, {
23678
23760
  "active": !!model.value?.length,
23679
23761
  "value": counterValue.value,
23680
23762
  "disabled": props.disabled
@@ -23750,10 +23832,10 @@ const VFooter = genericComponent()({
23750
23832
  });
23751
23833
  useRender(() => createVNode(props.tag, {
23752
23834
  "ref": resizeRef,
23753
- "class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
23754
- "style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
23835
+ "class": normalizeClass(['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
23836
+ "style": normalizeStyle([backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
23755
23837
  height: convertToUnit(props.height)
23756
- }, props.style]
23838
+ }, props.style])
23757
23839
  }, slots));
23758
23840
  return {};
23759
23841
  }
@@ -23802,10 +23884,10 @@ const VForm = genericComponent()({
23802
23884
  }
23803
23885
  e.preventDefault();
23804
23886
  }
23805
- useRender(() => createVNode("form", {
23887
+ useRender(() => createElementVNode("form", {
23806
23888
  "ref": formRef,
23807
- "class": ['v-form', props.class],
23808
- "style": props.style,
23889
+ "class": normalizeClass(['v-form', props.class]),
23890
+ "style": normalizeStyle(props.style),
23809
23891
  "novalidate": true,
23810
23892
  "onReset": onReset,
23811
23893
  "onSubmit": onSubmit
@@ -23902,11 +23984,11 @@ const VInfiniteScrollIntersect = defineComponent({
23902
23984
  watch(isIntersecting, async val => {
23903
23985
  emit('intersect', props.side, val);
23904
23986
  });
23905
- useRender(() => createVNode("div", {
23987
+ useRender(() => createElementVNode("div", {
23906
23988
  "class": "v-infinite-scroll-intersect",
23907
- "style": {
23989
+ "style": normalizeStyle({
23908
23990
  '--v-infinite-margin-size': props.rootMargin
23909
- },
23991
+ }),
23910
23992
  "ref": intersectionRef
23911
23993
  }, [createTextVNode("\xA0")]));
23912
23994
  return {};
@@ -24018,7 +24100,7 @@ const VInfiniteScroll = genericComponent()({
24018
24100
  }
24019
24101
  };
24020
24102
  if (status === 'error') return slots.error?.(slotProps);
24021
- if (status === 'empty') return slots.empty?.(slotProps) ?? createVNode("div", null, [t(props.emptyText)]);
24103
+ if (status === 'empty') return slots.empty?.(slotProps) ?? createElementVNode("div", null, [t(props.emptyText)]);
24022
24104
  if (props.mode === 'manual') {
24023
24105
  if (status === 'loading') {
24024
24106
  return slots.loading?.(slotProps) ?? createVNode(VProgressCircular, {
@@ -24049,13 +24131,13 @@ const VInfiniteScroll = genericComponent()({
24049
24131
  const intersectMode = props.mode === 'intersect';
24050
24132
  return createVNode(Tag, {
24051
24133
  "ref": rootEl,
24052
- "class": ['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
24134
+ "class": normalizeClass(['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
24053
24135
  'v-infinite-scroll--start': hasStartIntersect,
24054
24136
  'v-infinite-scroll--end': hasEndIntersect
24055
- }],
24056
- "style": dimensionStyles.value
24137
+ }]),
24138
+ "style": normalizeStyle(dimensionStyles.value)
24057
24139
  }, {
24058
- default: () => [createVNode("div", {
24140
+ default: () => [createElementVNode("div", {
24059
24141
  "class": "v-infinite-scroll__side"
24060
24142
  }, [renderSide('start', startStatus.value)]), hasStartIntersect && intersectMode && createVNode(VInfiniteScrollIntersect, {
24061
24143
  "key": "start",
@@ -24067,7 +24149,7 @@ const VInfiniteScroll = genericComponent()({
24067
24149
  "side": "end",
24068
24150
  "onIntersect": handleIntersect,
24069
24151
  "rootMargin": margin.value
24070
- }, null), createVNode("div", {
24152
+ }, null), createElementVNode("div", {
24071
24153
  "class": "v-infinite-scroll__side"
24072
24154
  }, [renderSide('end', endStatus.value)])]
24073
24155
  });
@@ -24107,8 +24189,8 @@ const VItemGroup = genericComponent()({
24107
24189
  selected
24108
24190
  } = useGroup(props, VItemGroupSymbol);
24109
24191
  return () => createVNode(props.tag, {
24110
- "class": ['v-item-group', themeClasses.value, props.class],
24111
- "style": props.style
24192
+ "class": normalizeClass(['v-item-group', themeClasses.value, props.class]),
24193
+ "style": normalizeStyle(props.style)
24112
24194
  }, {
24113
24195
  default: () => [slots.default?.({
24114
24196
  isSelected,
@@ -24176,10 +24258,10 @@ const VLayout = genericComponent()({
24176
24258
  const {
24177
24259
  dimensionStyles
24178
24260
  } = useDimension(props);
24179
- useRender(() => createVNode("div", {
24261
+ useRender(() => createElementVNode("div", {
24180
24262
  "ref": layoutRef,
24181
- "class": [layoutClasses.value, props.class],
24182
- "style": [dimensionStyles.value, layoutStyles.value, props.style]
24263
+ "class": normalizeClass([layoutClasses.value, props.class]),
24264
+ "style": normalizeStyle([dimensionStyles.value, layoutStyles.value, props.style])
24183
24265
  }, [slots.default?.()]));
24184
24266
  return {
24185
24267
  getLayoutItem,
@@ -24221,9 +24303,9 @@ const VLayoutItem = genericComponent()({
24221
24303
  active: toRef(() => props.modelValue),
24222
24304
  absolute: toRef(() => props.absolute)
24223
24305
  });
24224
- return () => createVNode("div", {
24225
- "class": ['v-layout-item', props.class],
24226
- "style": [layoutItemStyles.value, props.style]
24306
+ return () => createElementVNode("div", {
24307
+ "class": normalizeClass(['v-layout-item', props.class]),
24308
+ "style": normalizeStyle([layoutItemStyles.value, props.style])
24227
24309
  }, [slots.default?.()]);
24228
24310
  }
24229
24311
  });
@@ -24252,7 +24334,7 @@ const makeVLazyProps = propsFactory({
24252
24334
  const VLazy = genericComponent()({
24253
24335
  name: 'VLazy',
24254
24336
  directives: {
24255
- intersect: Intersect
24337
+ vIntersect: Intersect
24256
24338
  },
24257
24339
  props: makeVLazyProps(),
24258
24340
  emits: {
@@ -24271,8 +24353,8 @@ const VLazy = genericComponent()({
24271
24353
  isActive.value = isIntersecting;
24272
24354
  }
24273
24355
  useRender(() => withDirectives(createVNode(props.tag, {
24274
- "class": ['v-lazy', props.class],
24275
- "style": [dimensionStyles.value, props.style]
24356
+ "class": normalizeClass(['v-lazy', props.class]),
24357
+ "style": normalizeStyle([dimensionStyles.value, props.style])
24276
24358
  }, {
24277
24359
  default: () => [isActive.value && createVNode(MaybeTransition, {
24278
24360
  "transition": props.transition,
@@ -24280,7 +24362,7 @@ const VLazy = genericComponent()({
24280
24362
  }, {
24281
24363
  default: () => [slots.default?.()]
24282
24364
  })]
24283
- }), [[resolveDirective("intersect"), {
24365
+ }), [[Intersect, {
24284
24366
  handler: onIntersect,
24285
24367
  options: props.options
24286
24368
  }, null]]));
@@ -24308,9 +24390,9 @@ const VLocaleProvider = genericComponent()({
24308
24390
  const {
24309
24391
  rtlClasses
24310
24392
  } = provideLocale(props);
24311
- useRender(() => createVNode("div", {
24312
- "class": ['v-locale-provider', rtlClasses.value, props.class],
24313
- "style": props.style
24393
+ useRender(() => createElementVNode("div", {
24394
+ "class": normalizeClass(['v-locale-provider', rtlClasses.value, props.class]),
24395
+ "style": normalizeStyle(props.style)
24314
24396
  }, [slots.default?.()]));
24315
24397
  return {};
24316
24398
  }
@@ -24341,12 +24423,12 @@ const VMain = genericComponent()({
24341
24423
  ssrBootStyles
24342
24424
  } = useSsrBoot();
24343
24425
  useRender(() => createVNode(props.tag, {
24344
- "class": ['v-main', {
24426
+ "class": normalizeClass(['v-main', {
24345
24427
  'v-main--scrollable': props.scrollable
24346
- }, props.class],
24347
- "style": [mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style]
24428
+ }, props.class]),
24429
+ "style": normalizeStyle([mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style])
24348
24430
  }, {
24349
- default: () => [props.scrollable ? createVNode("div", {
24431
+ default: () => [props.scrollable ? createElementVNode("div", {
24350
24432
  "class": "v-main__scroller"
24351
24433
  }, [slots.default?.()]) : slots.default?.()]
24352
24434
  }));
@@ -24577,7 +24659,7 @@ function useTouch(_ref) {
24577
24659
  function getProgress(pos) {
24578
24660
  let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
24579
24661
  const progress = position.value === 'left' ? (pos - offset.value) / width.value : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value : position.value === 'top' ? (pos - offset.value) / width.value : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value : oops();
24580
- return limit ? Math.max(0, Math.min(1, progress)) : progress;
24662
+ return limit ? clamp(progress) : progress;
24581
24663
  }
24582
24664
  function onTouchstart(e) {
24583
24665
  if (touchless.value) return;
@@ -24857,7 +24939,7 @@ const VNavigationDrawer = genericComponent()({
24857
24939
  });
24858
24940
  useRender(() => {
24859
24941
  const hasImage = slots.image || props.image;
24860
- return createVNode(Fragment, null, [createVNode(props.tag, mergeProps({
24942
+ return createElementVNode(Fragment, null, [createVNode(props.tag, mergeProps({
24861
24943
  "ref": rootEl,
24862
24944
  "onMouseenter": runOpenDelay,
24863
24945
  "onMouseleave": runCloseDelay,
@@ -24873,7 +24955,7 @@ const VNavigationDrawer = genericComponent()({
24873
24955
  }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
24874
24956
  "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
24875
24957
  }, scopeId, attrs), {
24876
- default: () => [hasImage && createVNode("div", {
24958
+ default: () => [hasImage && createElementVNode("div", {
24877
24959
  "key": "image",
24878
24960
  "class": "v-navigation-drawer__img"
24879
24961
  }, [!slots.image ? createVNode(VImg, {
@@ -24893,17 +24975,17 @@ const VNavigationDrawer = genericComponent()({
24893
24975
  src: props.image
24894
24976
  }
24895
24977
  }
24896
- }, slots.image)]), slots.prepend && createVNode("div", {
24978
+ }, slots.image)]), slots.prepend && createElementVNode("div", {
24897
24979
  "class": "v-navigation-drawer__prepend"
24898
- }, [slots.prepend?.()]), createVNode("div", {
24980
+ }, [slots.prepend?.()]), createElementVNode("div", {
24899
24981
  "class": "v-navigation-drawer__content"
24900
- }, [slots.default?.()]), slots.append && createVNode("div", {
24982
+ }, [slots.default?.()]), slots.append && createElementVNode("div", {
24901
24983
  "class": "v-navigation-drawer__append"
24902
24984
  }, [slots.append?.()])]
24903
24985
  }), createVNode(Transition, {
24904
24986
  "name": "fade-transition"
24905
24987
  }, {
24906
- default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && createVNode("div", mergeProps({
24988
+ default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && createElementVNode("div", mergeProps({
24907
24989
  "class": ['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value],
24908
24990
  "style": [scrimStyles.value, scrimColor.backgroundColorStyles.value],
24909
24991
  "onClick": () => {
@@ -25062,6 +25144,9 @@ const VNumberInput = genericComponent()({
25062
25144
  const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
25063
25145
  const incrementSlotProps = {
25064
25146
  props: {
25147
+ style: {
25148
+ touchAction: 'none'
25149
+ },
25065
25150
  onClick: onControlClick,
25066
25151
  onPointerup: onControlMouseup,
25067
25152
  onPointerdown: onUpControlMousedown
@@ -25069,6 +25154,9 @@ const VNumberInput = genericComponent()({
25069
25154
  };
25070
25155
  const decrementSlotProps = {
25071
25156
  props: {
25157
+ style: {
25158
+ touchAction: 'none'
25159
+ },
25072
25160
  onClick: onControlClick,
25073
25161
  onPointerup: onControlMouseup,
25074
25162
  onPointerdown: onDownControlMousedown
@@ -25101,25 +25189,33 @@ const VNumberInput = genericComponent()({
25101
25189
  }
25102
25190
  function onBeforeinput(e) {
25103
25191
  if (!e.data) return;
25104
- const existingTxt = e.target?.value;
25105
- const selectionStart = e.target?.selectionStart;
25106
- const selectionEnd = e.target?.selectionEnd;
25192
+ const inputElement = e.target;
25193
+ const {
25194
+ value: existingTxt,
25195
+ selectionStart,
25196
+ selectionEnd
25197
+ } = inputElement ?? {};
25107
25198
  const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e.data + existingTxt.slice(selectionEnd) : e.data;
25199
+ const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision);
25200
+
25108
25201
  // Only numbers, "-", "." are allowed
25109
25202
  // AND "-", "." are allowed only once
25110
25203
  // AND "-" is only allowed at the start
25111
25204
  if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
25112
25205
  e.preventDefault();
25206
+ inputElement.value = potentialNewNumber;
25113
25207
  }
25114
25208
  if (props.precision == null) return;
25115
25209
 
25116
25210
  // Ignore decimal digits above precision limit
25117
25211
  if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
25118
25212
  e.preventDefault();
25213
+ inputElement.value = potentialNewNumber;
25119
25214
  }
25120
25215
  // Ignore decimal separator when precision = 0
25121
25216
  if (props.precision === 0 && potentialNewInputVal.includes('.')) {
25122
25217
  e.preventDefault();
25218
+ inputElement.value = potentialNewNumber;
25123
25219
  }
25124
25220
  }
25125
25221
  async function onKeydown(e) {
@@ -25201,17 +25297,18 @@ const VNumberInput = genericComponent()({
25201
25297
  } = VTextField.filterProps(props);
25202
25298
  function incrementControlNode() {
25203
25299
  return !slots.increment ? createVNode(VBtn, {
25300
+ "aria-hidden": "true",
25301
+ "data-testid": "increment",
25204
25302
  "disabled": !canIncrease.value,
25205
25303
  "flat": true,
25206
- "key": "increment-btn",
25207
25304
  "height": controlNodeDefaultHeight.value,
25208
- "data-testid": "increment",
25209
- "aria-hidden": "true",
25210
25305
  "icon": incrementIcon.value,
25306
+ "key": "increment-btn",
25211
25307
  "onClick": onControlClick,
25212
- "onPointerup": onControlMouseup,
25213
25308
  "onPointerdown": onUpControlMousedown,
25309
+ "onPointerup": onControlMouseup,
25214
25310
  "size": controlNodeSize.value,
25311
+ "style": "touch-action: none",
25215
25312
  "tabindex": "-1"
25216
25313
  }, null) : createVNode(VDefaultsProvider, {
25217
25314
  "key": "increment-defaults",
@@ -25230,18 +25327,19 @@ const VNumberInput = genericComponent()({
25230
25327
  }
25231
25328
  function decrementControlNode() {
25232
25329
  return !slots.decrement ? createVNode(VBtn, {
25330
+ "aria-hidden": "true",
25331
+ "data-testid": "decrement",
25233
25332
  "disabled": !canDecrease.value,
25234
25333
  "flat": true,
25235
- "key": "decrement-btn",
25236
25334
  "height": controlNodeDefaultHeight.value,
25237
- "data-testid": "decrement",
25238
- "aria-hidden": "true",
25239
25335
  "icon": decrementIcon.value,
25240
- "size": controlNodeSize.value,
25241
- "tabindex": "-1",
25336
+ "key": "decrement-btn",
25242
25337
  "onClick": onControlClick,
25338
+ "onPointerdown": onDownControlMousedown,
25243
25339
  "onPointerup": onControlMouseup,
25244
- "onPointerdown": onDownControlMousedown
25340
+ "size": controlNodeSize.value,
25341
+ "style": "touch-action: none",
25342
+ "tabindex": "-1"
25245
25343
  }, null) : createVNode(VDefaultsProvider, {
25246
25344
  "key": "decrement-defaults",
25247
25345
  "defaults": {
@@ -25258,7 +25356,7 @@ const VNumberInput = genericComponent()({
25258
25356
  });
25259
25357
  }
25260
25358
  function controlNode() {
25261
- return createVNode("div", {
25359
+ return createElementVNode("div", {
25262
25360
  "class": "v-number-input__control"
25263
25361
  }, [decrementControlNode(), createVNode(VDivider, {
25264
25362
  "vertical": controlVariant.value !== 'stacked'
@@ -25269,17 +25367,17 @@ const VNumberInput = genericComponent()({
25269
25367
  "vertical": true
25270
25368
  }, null) : undefined;
25271
25369
  }
25272
- const appendInnerControl = controlVariant.value === 'split' ? createVNode("div", {
25370
+ const appendInnerControl = controlVariant.value === 'split' ? createElementVNode("div", {
25273
25371
  "class": "v-number-input__control"
25274
25372
  }, [createVNode(VDivider, {
25275
25373
  "vertical": true
25276
- }, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : createVNode(Fragment, null, [dividerNode(), controlNode()]);
25374
+ }, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : createElementVNode(Fragment, null, [dividerNode(), controlNode()]);
25277
25375
  const hasAppendInner = slots['append-inner'] || appendInnerControl;
25278
- const prependInnerControl = controlVariant.value === 'split' ? createVNode("div", {
25376
+ const prependInnerControl = controlVariant.value === 'split' ? createElementVNode("div", {
25279
25377
  "class": "v-number-input__control"
25280
25378
  }, [decrementControlNode(), createVNode(VDivider, {
25281
25379
  "vertical": true
25282
- }, null)]) : props.reverse && controlVariant.value !== 'hidden' ? createVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
25380
+ }, null)]) : props.reverse && controlVariant.value !== 'hidden' ? createElementVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
25283
25381
  const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
25284
25382
  return createVNode(VTextField, mergeProps({
25285
25383
  "ref": vTextFieldRef,
@@ -25307,13 +25405,13 @@ const VNumberInput = genericComponent()({
25307
25405
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25308
25406
  args[_key] = arguments[_key];
25309
25407
  }
25310
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
25408
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
25311
25409
  } : undefined,
25312
25410
  'prepend-inner': hasPrependInner ? function () {
25313
25411
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
25314
25412
  args[_key2] = arguments[_key2];
25315
25413
  }
25316
- return createVNode(Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
25414
+ return createElementVNode(Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
25317
25415
  } : undefined
25318
25416
  });
25319
25417
  });
@@ -25477,16 +25575,16 @@ const VOtpInput = genericComponent()({
25477
25575
  });
25478
25576
  useRender(() => {
25479
25577
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
25480
- return createVNode("div", mergeProps({
25578
+ return createElementVNode("div", mergeProps({
25481
25579
  "class": ['v-otp-input', {
25482
25580
  'v-otp-input--divided': !!props.divider
25483
25581
  }, props.class],
25484
25582
  "style": [props.style]
25485
- }, rootAttrs), [createVNode("div", {
25583
+ }, rootAttrs), [createElementVNode("div", {
25486
25584
  "ref": contentRef,
25487
25585
  "class": "v-otp-input__content",
25488
- "style": [dimensionStyles.value]
25489
- }, [fields.value.map((_, i) => createVNode(Fragment, null, [props.divider && i !== 0 && createVNode("span", {
25586
+ "style": normalizeStyle([dimensionStyles.value])
25587
+ }, [fields.value.map((_, i) => createElementVNode(Fragment, null, [props.divider && i !== 0 && createElementVNode("span", {
25490
25588
  "class": "v-otp-input__divider"
25491
25589
  }, [props.divider]), createVNode(VField, {
25492
25590
  "focused": isFocused.value && props.focusAll || focusIndex.value === i,
@@ -25495,7 +25593,7 @@ const VOtpInput = genericComponent()({
25495
25593
  ...slots,
25496
25594
  loader: undefined,
25497
25595
  default: () => {
25498
- return createVNode("input", {
25596
+ return createElementVNode("input", {
25499
25597
  "ref": val => inputRef.value[i] = val,
25500
25598
  "aria-label": t(props.label, i + 1),
25501
25599
  "autofocus": i === 0 && props.autofocus,
@@ -25515,7 +25613,7 @@ const VOtpInput = genericComponent()({
25515
25613
  "onPaste": event => onPaste(i, event)
25516
25614
  }, null);
25517
25615
  }
25518
- })])), createVNode("input", mergeProps({
25616
+ })])), createElementVNode("input", mergeProps({
25519
25617
  "class": "v-otp-input-input",
25520
25618
  "type": "hidden"
25521
25619
  }, inputAttrs, {
@@ -25620,10 +25718,10 @@ const VParallax = genericComponent()({
25620
25718
  });
25621
25719
  }
25622
25720
  useRender(() => createVNode(VImg, {
25623
- "class": ['v-parallax', {
25721
+ "class": normalizeClass(['v-parallax', {
25624
25722
  'v-parallax--active': isIntersecting.value
25625
- }, props.class],
25626
- "style": props.style,
25723
+ }, props.class]),
25724
+ "style": normalizeStyle(props.style),
25627
25725
  "ref": root,
25628
25726
  "cover": true,
25629
25727
  "onLoadstart": onScroll,
@@ -25723,7 +25821,7 @@ const VRadioGroup = genericComponent()({
25723
25821
  isDisabled,
25724
25822
  isReadonly
25725
25823
  } = _ref2;
25726
- return createVNode(Fragment, null, [label && createVNode(VLabel, {
25824
+ return createElementVNode(Fragment, null, [label && createVNode(VLabel, {
25727
25825
  "id": id.value
25728
25826
  }, {
25729
25827
  default: () => [label]
@@ -25861,7 +25959,7 @@ const VRangeSlider = genericComponent()({
25861
25959
  "focused": isFocused.value
25862
25960
  }), {
25863
25961
  ...slots,
25864
- prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
25962
+ prepend: hasPrepend ? slotProps => createElementVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
25865
25963
  "class": "v-slider__label",
25866
25964
  "text": props.label
25867
25965
  }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,
@@ -25870,18 +25968,18 @@ const VRangeSlider = genericComponent()({
25870
25968
  id,
25871
25969
  messagesId
25872
25970
  } = _ref4;
25873
- return createVNode("div", {
25971
+ return createElementVNode("div", {
25874
25972
  "class": "v-slider__container",
25875
25973
  "onMousedown": !readonly.value ? onSliderMousedown : undefined,
25876
25974
  "onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
25877
- }, [createVNode("input", {
25975
+ }, [createElementVNode("input", {
25878
25976
  "id": `${id.value}_start`,
25879
25977
  "name": props.name || id.value,
25880
25978
  "disabled": !!props.disabled,
25881
25979
  "readonly": !!props.readonly,
25882
25980
  "tabindex": "-1",
25883
25981
  "value": model.value[0]
25884
- }, null), createVNode("input", {
25982
+ }, null), createElementVNode("input", {
25885
25983
  "id": `${id.value}_stop`,
25886
25984
  "name": props.name || id.value,
25887
25985
  "disabled": !!props.disabled,
@@ -26080,16 +26178,16 @@ const VRating = genericComponent()({
26080
26178
  size: props.size,
26081
26179
  variant: 'plain'
26082
26180
  };
26083
- return createVNode(Fragment, null, [createVNode("label", {
26181
+ return createElementVNode(Fragment, null, [createElementVNode("label", {
26084
26182
  "for": id,
26085
- "class": {
26183
+ "class": normalizeClass({
26086
26184
  'v-rating__item--half': props.halfIncrements && value % 1 > 0,
26087
26185
  'v-rating__item--full': props.halfIncrements && value % 1 === 0
26088
- },
26186
+ }),
26089
26187
  "onMouseenter": onMouseenter,
26090
26188
  "onMouseleave": onMouseleave,
26091
26189
  "onClick": onClick
26092
- }, [createVNode("span", {
26190
+ }, [createElementVNode("span", {
26093
26191
  "class": "v-rating__hidden"
26094
26192
  }, [t(props.itemAriaLabel, value, props.length)]), !showStar ? undefined : slots.item ? slots.item({
26095
26193
  ...itemState.value[index],
@@ -26099,7 +26197,7 @@ const VRating = genericComponent()({
26099
26197
  rating: normalizedValue.value
26100
26198
  }) : createVNode(VBtn, mergeProps({
26101
26199
  "aria-label": t(props.itemAriaLabel, value, props.length)
26102
- }, btnProps), null)]), createVNode("input", {
26200
+ }, btnProps), null)]), createElementVNode("input", {
26103
26201
  "class": "v-rating__hidden",
26104
26202
  "name": name.value,
26105
26203
  "id": id,
@@ -26113,31 +26211,31 @@ const VRating = genericComponent()({
26113
26211
  }
26114
26212
  function createLabel(labelProps) {
26115
26213
  if (slots['item-label']) return slots['item-label'](labelProps);
26116
- if (labelProps.label) return createVNode("span", null, [labelProps.label]);
26117
- return createVNode("span", null, [createTextVNode("\xA0")]);
26214
+ if (labelProps.label) return createElementVNode("span", null, [labelProps.label]);
26215
+ return createElementVNode("span", null, [createTextVNode("\xA0")]);
26118
26216
  }
26119
26217
  useRender(() => {
26120
26218
  const hasLabels = !!props.itemLabels?.length || slots['item-label'];
26121
26219
  return createVNode(props.tag, {
26122
- "class": ['v-rating', {
26220
+ "class": normalizeClass(['v-rating', {
26123
26221
  'v-rating--hover': props.hover,
26124
26222
  'v-rating--readonly': props.readonly
26125
- }, themeClasses.value, props.class],
26126
- "style": props.style
26223
+ }, themeClasses.value, props.class]),
26224
+ "style": normalizeStyle(props.style)
26127
26225
  }, {
26128
26226
  default: () => [createVNode(VRatingItem, {
26129
26227
  "value": 0,
26130
26228
  "index": -1,
26131
26229
  "showStar": false
26132
- }, null), range.value.map((value, i) => createVNode("div", {
26230
+ }, null), range.value.map((value, i) => createElementVNode("div", {
26133
26231
  "class": "v-rating__wrapper"
26134
26232
  }, [hasLabels && props.itemLabelPosition === 'top' ? createLabel({
26135
26233
  value,
26136
26234
  index: i,
26137
26235
  label: props.itemLabels?.[i]
26138
- }) : undefined, createVNode("div", {
26236
+ }) : undefined, createElementVNode("div", {
26139
26237
  "class": "v-rating__item"
26140
- }, [props.halfIncrements ? createVNode(Fragment, null, [createVNode(VRatingItem, {
26238
+ }, [props.halfIncrements ? createElementVNode(Fragment, null, [createVNode(VRatingItem, {
26141
26239
  "value": value - 0.5,
26142
26240
  "index": i * 2
26143
26241
  }, null), createVNode(VRatingItem, {
@@ -26194,8 +26292,8 @@ const rootTypes = {
26194
26292
  };
26195
26293
  function genBone(type) {
26196
26294
  let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
26197
- return createVNode("div", {
26198
- "class": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]
26295
+ return createElementVNode("div", {
26296
+ "class": normalizeClass(['v-skeleton-loader__bone', `v-skeleton-loader__${type}`])
26199
26297
  }, [children]);
26200
26298
  }
26201
26299
  function genBones(bone) {
@@ -26281,7 +26379,7 @@ const VSkeletonLoader = genericComponent()({
26281
26379
  ariaLabel: t(props.loadingText),
26282
26380
  role: 'alert'
26283
26381
  };
26284
- return createVNode("div", mergeProps({
26382
+ return createElementVNode("div", mergeProps({
26285
26383
  "class": ['v-skeleton-loader', {
26286
26384
  'v-skeleton-loader--boilerplate': props.boilerplate
26287
26385
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
@@ -26487,7 +26585,7 @@ const VSnackbar = genericComponent()({
26487
26585
  "onTouchend": onTouchend,
26488
26586
  "onAfterLeave": onAfterLeave
26489
26587
  }, scopeId), {
26490
- default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && createVNode("div", {
26588
+ default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && createElementVNode("div", {
26491
26589
  "key": "timer",
26492
26590
  "class": "v-snackbar__timer"
26493
26591
  }, [createVNode(VProgressLinear, {
@@ -26495,7 +26593,7 @@ const VSnackbar = genericComponent()({
26495
26593
  "color": typeof props.timer === 'string' ? props.timer : 'info',
26496
26594
  "max": props.timeout,
26497
26595
  "model-value": countdown.time.value
26498
- }, null)]), hasContent && createVNode("div", {
26596
+ }, null)]), hasContent && createElementVNode("div", {
26499
26597
  "key": "content",
26500
26598
  "class": "v-snackbar__content",
26501
26599
  "role": "status",
@@ -26509,7 +26607,7 @@ const VSnackbar = genericComponent()({
26509
26607
  }
26510
26608
  }
26511
26609
  }, {
26512
- default: () => [createVNode("div", {
26610
+ default: () => [createElementVNode("div", {
26513
26611
  "class": "v-snackbar__actions"
26514
26612
  }, [slots.actions({
26515
26613
  isActive
@@ -26593,7 +26691,7 @@ const VSnackbarQueue = genericComponent()({
26593
26691
  modelValue: _,
26594
26692
  ...snackbarProps
26595
26693
  } = VSnackbar.filterProps(props);
26596
- return createVNode(Fragment, null, [isVisible.value && !!current.value && (slots.default ? createVNode(VDefaultsProvider, {
26694
+ return createElementVNode(Fragment, null, [isVisible.value && !!current.value && (slots.default ? createVNode(VDefaultsProvider, {
26597
26695
  "defaults": {
26598
26696
  VSnackbar: current.value
26599
26697
  }
@@ -26609,7 +26707,7 @@ const VSnackbarQueue = genericComponent()({
26609
26707
  text: slots.text ? () => slots.text?.({
26610
26708
  item: current.value
26611
26709
  }) : undefined,
26612
- actions: hasActions ? () => createVNode(Fragment, null, [!slots.actions ? createVNode(VBtn, mergeProps(btnProps.value, {
26710
+ actions: hasActions ? () => createElementVNode(Fragment, null, [!slots.actions ? createVNode(VBtn, mergeProps(btnProps.value, {
26613
26711
  "onClick": onClickClose
26614
26712
  }), null) : createVNode(VDefaultsProvider, {
26615
26713
  "defaults": {
@@ -26767,57 +26865,57 @@ const VBarline = genericComponent()({
26767
26865
  const smooth = computed(() => typeof props.smooth === 'boolean' ? props.smooth ? 2 : 0 : Number(props.smooth));
26768
26866
  useRender(() => {
26769
26867
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
26770
- return createVNode("svg", {
26868
+ return createElementVNode("svg", {
26771
26869
  "display": "block"
26772
- }, [createVNode("defs", null, [createVNode("linearGradient", {
26870
+ }, [createElementVNode("defs", null, [createElementVNode("linearGradient", {
26773
26871
  "id": id.value,
26774
26872
  "gradientUnits": "userSpaceOnUse",
26775
26873
  "x1": props.gradientDirection === 'left' ? '100%' : '0',
26776
26874
  "y1": props.gradientDirection === 'top' ? '100%' : '0',
26777
26875
  "x2": props.gradientDirection === 'right' ? '100%' : '0',
26778
26876
  "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
26779
- }, [gradientData.map((color, index) => createVNode("stop", {
26877
+ }, [gradientData.map((color, index) => createElementVNode("stop", {
26780
26878
  "offset": index / Math.max(gradientData.length - 1, 1),
26781
26879
  "stop-color": color || 'currentColor'
26782
- }, null))])]), createVNode("clipPath", {
26880
+ }, null))])]), createElementVNode("clipPath", {
26783
26881
  "id": `${id.value}-clip`
26784
- }, [bars.value.map(item => createVNode("rect", {
26882
+ }, [bars.value.map(item => createElementVNode("rect", {
26785
26883
  "x": item.x + offsetX.value,
26786
26884
  "y": item.y,
26787
26885
  "width": lineWidth.value,
26788
26886
  "height": item.height,
26789
26887
  "rx": smooth.value,
26790
26888
  "ry": smooth.value
26791
- }, [props.autoDraw && createVNode(Fragment, null, [createVNode("animate", {
26889
+ }, [props.autoDraw && createElementVNode(Fragment, null, [createElementVNode("animate", {
26792
26890
  "attributeName": "y",
26793
26891
  "from": item.y + item.height,
26794
26892
  "to": item.y,
26795
26893
  "dur": `${autoDrawDuration.value}ms`,
26796
26894
  "fill": "freeze"
26797
- }, null), createVNode("animate", {
26895
+ }, null), createElementVNode("animate", {
26798
26896
  "attributeName": "height",
26799
26897
  "from": "0",
26800
26898
  "to": item.height,
26801
26899
  "dur": `${autoDrawDuration.value}ms`,
26802
26900
  "fill": "freeze"
26803
- }, null)])]))]), hasLabels.value && createVNode("g", {
26901
+ }, null)])]))]), hasLabels.value && createElementVNode("g", {
26804
26902
  "key": "labels",
26805
26903
  "style": {
26806
26904
  textAnchor: 'middle',
26807
26905
  dominantBaseline: 'mathematical',
26808
26906
  fill: 'currentColor'
26809
26907
  }
26810
- }, [parsedLabels.value.map((item, i) => createVNode("text", {
26908
+ }, [parsedLabels.value.map((item, i) => createElementVNode("text", {
26811
26909
  "x": item.x + offsetX.value + lineWidth.value / 2,
26812
26910
  "y": parseInt(props.height, 10) - 2 + (parseInt(props.labelSize, 10) || 7 * 0.75),
26813
26911
  "font-size": Number(props.labelSize) || 7
26814
26912
  }, [slots.label?.({
26815
26913
  index: i,
26816
26914
  value: item.value
26817
- }) ?? item.value]))]), createVNode("g", {
26915
+ }) ?? item.value]))]), createElementVNode("g", {
26818
26916
  "clip-path": `url(#${id.value}-clip)`,
26819
26917
  "fill": `url(#${id.value})`
26820
- }, [createVNode("rect", {
26918
+ }, [createElementVNode("rect", {
26821
26919
  "x": 0,
26822
26920
  "y": 0,
26823
26921
  "width": Math.max(props.modelValue.length * lineWidth.value, Number(props.width)),
@@ -26996,39 +27094,39 @@ const VTrendline = genericComponent()({
26996
27094
  }
26997
27095
  useRender(() => {
26998
27096
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
26999
- return createVNode("svg", {
27097
+ return createElementVNode("svg", {
27000
27098
  "display": "block",
27001
27099
  "stroke-width": parseFloat(props.lineWidth) ?? 4
27002
- }, [createVNode("defs", null, [createVNode("linearGradient", {
27100
+ }, [createElementVNode("defs", null, [createElementVNode("linearGradient", {
27003
27101
  "id": id.value,
27004
27102
  "gradientUnits": "userSpaceOnUse",
27005
27103
  "x1": props.gradientDirection === 'left' ? '100%' : '0',
27006
27104
  "y1": props.gradientDirection === 'top' ? '100%' : '0',
27007
27105
  "x2": props.gradientDirection === 'right' ? '100%' : '0',
27008
27106
  "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
27009
- }, [gradientData.map((color, index) => createVNode("stop", {
27107
+ }, [gradientData.map((color, index) => createElementVNode("stop", {
27010
27108
  "offset": index / Math.max(gradientData.length - 1, 1),
27011
27109
  "stop-color": color || 'currentColor'
27012
- }, null))])]), hasLabels.value && createVNode("g", {
27110
+ }, null))])]), hasLabels.value && createElementVNode("g", {
27013
27111
  "key": "labels",
27014
27112
  "style": {
27015
27113
  textAnchor: 'middle',
27016
27114
  dominantBaseline: 'mathematical',
27017
27115
  fill: 'currentColor'
27018
27116
  }
27019
- }, [parsedLabels.value.map((item, i) => createVNode("text", {
27117
+ }, [parsedLabels.value.map((item, i) => createElementVNode("text", {
27020
27118
  "x": item.x + lineWidth.value / 2 + lineWidth.value / 2,
27021
27119
  "y": parseInt(props.height, 10) - 4 + (parseInt(props.labelSize, 10) || 7 * 0.75),
27022
27120
  "font-size": Number(props.labelSize) || 7
27023
27121
  }, [slots.label?.({
27024
27122
  index: i,
27025
27123
  value: item.value
27026
- }) ?? item.value]))]), createVNode("path", {
27124
+ }) ?? item.value]))]), createElementVNode("path", {
27027
27125
  "ref": path,
27028
27126
  "d": genPath$1(props.fill),
27029
27127
  "fill": props.fill ? `url(#${id.value})` : 'none',
27030
27128
  "stroke": props.fill ? 'none' : `url(#${id.value})`
27031
- }, null), props.fill && createVNode("path", {
27129
+ }, null), props.fill && createElementVNode("path", {
27032
27130
  "d": genPath$1(false),
27033
27131
  "fill": "none",
27034
27132
  "stroke": props.color ?? props.gradient?.[0]
@@ -27196,7 +27294,7 @@ const VStepperActions = genericComponent()({
27196
27294
  const nextSlotProps = {
27197
27295
  onClick: onClickNext
27198
27296
  };
27199
- return createVNode("div", {
27297
+ return createElementVNode("div", {
27200
27298
  "class": "v-stepper-actions"
27201
27299
  }, [createVNode(VDefaultsProvider, {
27202
27300
  "defaults": {
@@ -27270,7 +27368,7 @@ const makeVStepperItemProps = propsFactory({
27270
27368
  const VStepperItem = genericComponent()({
27271
27369
  name: 'VStepperItem',
27272
27370
  directives: {
27273
- Ripple
27371
+ vRipple: Ripple
27274
27372
  },
27275
27373
  props: makeVStepperItemProps(),
27276
27374
  emits: {
@@ -27309,12 +27407,12 @@ const VStepperItem = genericComponent()({
27309
27407
  function onClick() {
27310
27408
  group?.toggle();
27311
27409
  }
27312
- return withDirectives(createVNode("button", {
27313
- "class": ['v-stepper-item', {
27410
+ return withDirectives(createElementVNode("button", {
27411
+ "class": normalizeClass(['v-stepper-item', {
27314
27412
  'v-stepper-item--complete': hasCompleted.value,
27315
27413
  'v-stepper-item--disabled': props.disabled,
27316
27414
  'v-stepper-item--error': hasError.value
27317
- }, group?.selectedClass.value],
27415
+ }, group?.selectedClass.value]),
27318
27416
  "disabled": !props.editable,
27319
27417
  "type": "button",
27320
27418
  "onClick": onClick
@@ -27327,15 +27425,15 @@ const VStepperItem = genericComponent()({
27327
27425
  default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? createVNode(VIcon, {
27328
27426
  "icon": icon.value
27329
27427
  }, null) : step.value)]
27330
- }), createVNode("div", {
27428
+ }), createElementVNode("div", {
27331
27429
  "class": "v-stepper-item__content"
27332
- }, [hasTitle && createVNode("div", {
27430
+ }, [hasTitle && createElementVNode("div", {
27333
27431
  "key": "title",
27334
27432
  "class": "v-stepper-item__title"
27335
- }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && createVNode("div", {
27433
+ }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && createElementVNode("div", {
27336
27434
  "key": "subtitle",
27337
27435
  "class": "v-stepper-item__subtitle"
27338
- }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[resolveDirective("ripple"), props.ripple && props.editable, null]]);
27436
+ }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[Ripple, props.ripple && props.editable, null]]);
27339
27437
  });
27340
27438
  return {};
27341
27439
  }
@@ -27531,7 +27629,7 @@ const VStepper = genericComponent()({
27531
27629
  raw,
27532
27630
  ...item
27533
27631
  } = _ref2;
27534
- return createVNode(Fragment, null, [!!index && createVNode(VDivider, null, null), createVNode(VStepperItem, item, {
27632
+ return createElementVNode(Fragment, null, [!!index && createVNode(VDivider, null, null), createVNode(VStepperItem, item, {
27535
27633
  default: slots[`header-item.${item.value}`] ?? slots.header,
27536
27634
  icon: slots.icon,
27537
27635
  title: slots.title,
@@ -27672,14 +27770,14 @@ const VSwitch = genericComponent()({
27672
27770
  backgroundColorClasses,
27673
27771
  backgroundColorStyles
27674
27772
  } = _ref3;
27675
- return createVNode("div", {
27676
- "class": ['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
27677
- "style": backgroundColorStyles.value,
27773
+ return createElementVNode("div", {
27774
+ "class": normalizeClass(['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
27775
+ "style": normalizeStyle(backgroundColorStyles.value),
27678
27776
  "onClick": onTrackClick
27679
- }, [slots['track-true'] && createVNode("div", {
27777
+ }, [slots['track-true'] && createElementVNode("div", {
27680
27778
  "key": "prepend",
27681
27779
  "class": "v-switch__track-true"
27682
- }, [slots['track-true'](slotProps)]), slots['track-false'] && createVNode("div", {
27780
+ }, [slots['track-true'](slotProps)]), slots['track-false'] && createElementVNode("div", {
27683
27781
  "key": "append",
27684
27782
  "class": "v-switch__track-false"
27685
27783
  }, [slots['track-false'](slotProps)])]);
@@ -27691,11 +27789,11 @@ const VSwitch = genericComponent()({
27691
27789
  backgroundColorClasses,
27692
27790
  backgroundColorStyles
27693
27791
  } = _ref4;
27694
- return createVNode(Fragment, null, [inputNode, createVNode("div", {
27695
- "class": ['v-switch__thumb', {
27792
+ return createElementVNode(Fragment, null, [inputNode, createElementVNode("div", {
27793
+ "class": normalizeClass(['v-switch__thumb', {
27696
27794
  'v-switch__thumb--filled': icon || props.loading
27697
- }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value],
27698
- "style": props.inset ? undefined : backgroundColorStyles.value
27795
+ }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value]),
27796
+ "style": normalizeStyle(props.inset ? undefined : backgroundColorStyles.value)
27699
27797
  }, [slots.thumb ? createVNode(VDefaultsProvider, {
27700
27798
  "defaults": {
27701
27799
  VIcon: {
@@ -27783,10 +27881,10 @@ const VSystemBar = genericComponent()({
27783
27881
  absolute: toRef(() => props.absolute)
27784
27882
  });
27785
27883
  useRender(() => createVNode(props.tag, {
27786
- "class": ['v-system-bar', {
27884
+ "class": normalizeClass(['v-system-bar', {
27787
27885
  'v-system-bar--window': props.window
27788
- }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
27789
- "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
27886
+ }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
27887
+ "style": normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style])
27790
27888
  }, slots));
27791
27889
  return {};
27792
27890
  }
@@ -27877,10 +27975,10 @@ const VTab = genericComponent()({
27877
27975
  "onGroup:selected": updateSlider
27878
27976
  }), {
27879
27977
  ...slots,
27880
- default: () => createVNode(Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && createVNode("div", {
27978
+ default: () => createElementVNode(Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && createElementVNode("div", {
27881
27979
  "ref": sliderEl,
27882
- "class": ['v-tab__slider', sliderColorClasses.value],
27883
- "style": sliderColorStyles.value
27980
+ "class": normalizeClass(['v-tab__slider', sliderColorClasses.value]),
27981
+ "style": normalizeStyle(sliderColorStyles.value)
27884
27982
  }, null)])
27885
27983
  });
27886
27984
  });
@@ -28032,7 +28130,7 @@ const VTabs = genericComponent()({
28032
28130
  useRender(() => {
28033
28131
  const slideGroupProps = VSlideGroup.filterProps(props);
28034
28132
  const hasWindow = !!(slots.window || props.items.length > 0);
28035
- return createVNode(Fragment, null, [createVNode(VSlideGroup, mergeProps(slideGroupProps, {
28133
+ return createElementVNode(Fragment, null, [createVNode(VSlideGroup, mergeProps(slideGroupProps, {
28036
28134
  "modelValue": model.value,
28037
28135
  "onUpdate:modelValue": $event => model.value = $event,
28038
28136
  "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
@@ -28105,7 +28203,7 @@ const makeVTextareaProps = propsFactory({
28105
28203
  const VTextarea = genericComponent()({
28106
28204
  name: 'VTextarea',
28107
28205
  directives: {
28108
- Intersect
28206
+ vIntersect: Intersect
28109
28207
  },
28110
28208
  inheritAttrs: false,
28111
28209
  props: makeVTextareaProps(),
@@ -28278,9 +28376,9 @@ const VTextarea = genericComponent()({
28278
28376
  ...slotProps
28279
28377
  }
28280
28378
  } = _ref3;
28281
- return createVNode(Fragment, null, [props.prefix && createVNode("span", {
28379
+ return createElementVNode(Fragment, null, [props.prefix && createElementVNode("span", {
28282
28380
  "class": "v-text-field__prefix"
28283
- }, [props.prefix]), withDirectives(createVNode("textarea", mergeProps({
28381
+ }, [props.prefix]), withDirectives(createElementVNode("textarea", mergeProps({
28284
28382
  "ref": textareaRef,
28285
28383
  "class": fieldClass,
28286
28384
  "value": model.value,
@@ -28293,24 +28391,24 @@ const VTextarea = genericComponent()({
28293
28391
  "name": props.name,
28294
28392
  "onFocus": onFocus,
28295
28393
  "onBlur": blur
28296
- }, slotProps, inputAttrs), null), [[resolveDirective("intersect"), {
28394
+ }, slotProps, inputAttrs), null), [[Intersect, {
28297
28395
  handler: onIntersect
28298
28396
  }, null, {
28299
28397
  once: true
28300
- }]]), props.autoGrow && withDirectives(createVNode("textarea", {
28301
- "class": [fieldClass, 'v-textarea__sizer'],
28398
+ }]]), props.autoGrow && withDirectives(createElementVNode("textarea", {
28399
+ "class": normalizeClass([fieldClass, 'v-textarea__sizer']),
28302
28400
  "id": `${slotProps.id}-sizer`,
28303
28401
  "onUpdate:modelValue": $event => model.value = $event,
28304
28402
  "ref": sizerRef,
28305
28403
  "readonly": true,
28306
28404
  "aria-hidden": "true"
28307
- }, null), [[vModelText, model.value]]), props.suffix && createVNode("span", {
28405
+ }, null), [[vModelText, model.value]]), props.suffix && createElementVNode("span", {
28308
28406
  "class": "v-text-field__suffix"
28309
28407
  }, [props.suffix])]);
28310
28408
  }
28311
28409
  });
28312
28410
  },
28313
- details: hasDetails ? slotProps => createVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createVNode(Fragment, null, [createVNode("span", null, null), createVNode(VCounter, {
28411
+ details: hasDetails ? slotProps => createElementVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createElementVNode(Fragment, null, [createElementVNode("span", null, null), createVNode(VCounter, {
28314
28412
  "active": props.persistentCounter || isFocused.value,
28315
28413
  "value": counterValue.value,
28316
28414
  "max": max.value,
@@ -28341,8 +28439,8 @@ const VThemeProvider = genericComponent()({
28341
28439
  return () => {
28342
28440
  if (!props.withBackground) return slots.default?.();
28343
28441
  return createVNode(props.tag, {
28344
- "class": ['v-theme-provider', themeClasses.value, props.class],
28345
- "style": props.style
28442
+ "class": normalizeClass(['v-theme-provider', themeClasses.value, props.class]),
28443
+ "style": normalizeStyle(props.style)
28346
28444
  }, {
28347
28445
  default: () => [slots.default?.()]
28348
28446
  });
@@ -28387,21 +28485,21 @@ const VTimelineDivider = genericComponent()({
28387
28485
  backgroundColorClasses: lineColorClasses,
28388
28486
  backgroundColorStyles: lineColorStyles
28389
28487
  } = useBackgroundColor(() => props.lineColor);
28390
- useRender(() => createVNode("div", {
28391
- "class": ['v-timeline-divider', {
28488
+ useRender(() => createElementVNode("div", {
28489
+ "class": normalizeClass(['v-timeline-divider', {
28392
28490
  'v-timeline-divider--fill-dot': props.fillDot
28393
- }, props.class],
28394
- "style": props.style
28395
- }, [createVNode("div", {
28396
- "class": ['v-timeline-divider__before', lineColorClasses.value],
28397
- "style": lineColorStyles.value
28398
- }, null), !props.hideDot && createVNode("div", {
28491
+ }, props.class]),
28492
+ "style": normalizeStyle(props.style)
28493
+ }, [createElementVNode("div", {
28494
+ "class": normalizeClass(['v-timeline-divider__before', lineColorClasses.value]),
28495
+ "style": normalizeStyle(lineColorStyles.value)
28496
+ }, null), !props.hideDot && createElementVNode("div", {
28399
28497
  "key": "dot",
28400
- "class": ['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value],
28401
- "style": sizeStyles.value
28402
- }, [createVNode("div", {
28403
- "class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
28404
- "style": backgroundColorStyles.value
28498
+ "class": normalizeClass(['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value]),
28499
+ "style": normalizeStyle(sizeStyles.value)
28500
+ }, [createElementVNode("div", {
28501
+ "class": normalizeClass(['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value]),
28502
+ "style": normalizeStyle(backgroundColorStyles.value)
28405
28503
  }, [!slots.default ? createVNode(VIcon, {
28406
28504
  "key": "icon",
28407
28505
  "color": props.iconColor,
@@ -28417,9 +28515,9 @@ const VTimelineDivider = genericComponent()({
28417
28515
  size: props.size
28418
28516
  }
28419
28517
  }
28420
- }, slots.default)])]), createVNode("div", {
28421
- "class": ['v-timeline-divider__after', lineColorClasses.value],
28422
- "style": lineColorStyles.value
28518
+ }, slots.default)])]), createElementVNode("div", {
28519
+ "class": normalizeClass(['v-timeline-divider__after', lineColorClasses.value]),
28520
+ "style": normalizeStyle(lineColorStyles.value)
28423
28521
  }, null)]));
28424
28522
  return {};
28425
28523
  }
@@ -28470,19 +28568,19 @@ const VTimelineItem = genericComponent()({
28470
28568
  }, {
28471
28569
  flush: 'post'
28472
28570
  });
28473
- useRender(() => createVNode("div", {
28474
- "class": ['v-timeline-item', {
28571
+ useRender(() => createElementVNode("div", {
28572
+ "class": normalizeClass(['v-timeline-item', {
28475
28573
  'v-timeline-item--fill-dot': props.fillDot,
28476
28574
  'v-timeline-item--side-start': props.side === 'start',
28477
28575
  'v-timeline-item--side-end': props.side === 'end'
28478
- }, props.class],
28479
- "style": [{
28576
+ }, props.class]),
28577
+ "style": normalizeStyle([{
28480
28578
  '--v-timeline-dot-size': convertToUnit(dotSize.value),
28481
28579
  '--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
28482
- }, props.style]
28483
- }, [createVNode("div", {
28580
+ }, props.style])
28581
+ }, [createElementVNode("div", {
28484
28582
  "class": "v-timeline-item__body",
28485
- "style": dimensionStyles.value
28583
+ "style": normalizeStyle(dimensionStyles.value)
28486
28584
  }, [slots.default?.()]), createVNode(VTimelineDivider, {
28487
28585
  "ref": dotRef,
28488
28586
  "hideDot": props.hideDot,
@@ -28495,7 +28593,7 @@ const VTimelineItem = genericComponent()({
28495
28593
  "rounded": props.rounded
28496
28594
  }, {
28497
28595
  default: slots.icon
28498
- }), props.density !== 'compact' && createVNode("div", {
28596
+ }), props.density !== 'compact' && createElementVNode("div", {
28499
28597
  "class": "v-timeline-item__opposite"
28500
28598
  }, [!props.hideOpposite && slots.opposite?.()])]));
28501
28599
  return {};
@@ -28588,12 +28686,12 @@ const VTimeline = genericComponent()({
28588
28686
  }
28589
28687
  });
28590
28688
  useRender(() => createVNode(props.tag, {
28591
- "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
28689
+ "class": normalizeClass(['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
28592
28690
  'v-timeline--inset-line': !!props.lineInset
28593
- }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
28594
- "style": [{
28691
+ }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class]),
28692
+ "style": normalizeStyle([{
28595
28693
  '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
28596
- }, props.style]
28694
+ }, props.style])
28597
28695
  }, slots));
28598
28696
  return {};
28599
28697
  }
@@ -28619,9 +28717,9 @@ const VToolbarItems = genericComponent()({
28619
28717
  variant: toRef(() => props.variant)
28620
28718
  }
28621
28719
  });
28622
- useRender(() => createVNode("div", {
28623
- "class": ['v-toolbar-items', props.class],
28624
- "style": props.style
28720
+ useRender(() => createElementVNode("div", {
28721
+ "class": normalizeClass(['v-toolbar-items', props.class]),
28722
+ "style": normalizeStyle(props.style)
28625
28723
  }, [slots.default?.()]));
28626
28724
  return {};
28627
28725
  }
@@ -29218,7 +29316,7 @@ function createVuetify$1() {
29218
29316
  };
29219
29317
  });
29220
29318
  }
29221
- const version$1 = "3.8.6";
29319
+ const version$1 = "3.8.7";
29222
29320
  createVuetify$1.version = version$1;
29223
29321
 
29224
29322
  // Vue's inject() can only be used in setup
@@ -29243,7 +29341,7 @@ const createVuetify = function () {
29243
29341
  ...options
29244
29342
  });
29245
29343
  };
29246
- const version = "3.8.6";
29344
+ const version = "3.8.7";
29247
29345
  createVuetify.version = version;
29248
29346
 
29249
29347
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };