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, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, toRefs, toValue, 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, onBeforeUnmount, watch, readonly, onMounted, useId, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createElementVNode, normalizeStyle, normalizeClass, createVNode, TransitionGroup, Transition, mergeProps, toRefs, toValue, 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
  // Types
10
10
  // eslint-disable-line vue/prefer-import-from-vue
@@ -587,6 +587,21 @@ function checkPrintable(e) {
587
587
  function isPrimitive(value) {
588
588
  return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
589
589
  }
590
+ function extractNumber(text, decimalDigitsLimit) {
591
+ const cleanText = text.split('').filter(x => /[\d\-.]/.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||
592
+ // sign allowed at the start
593
+ x === '.' && i === all.indexOf('.') ||
594
+ // decimal separator allowed only once
595
+ /\d/.test(x)).join('');
596
+ if (decimalDigitsLimit === 0) {
597
+ return cleanText.split('.')[0];
598
+ }
599
+ if (decimalDigitsLimit !== null && /\.\d/.test(cleanText)) {
600
+ const parts = cleanText.split('.');
601
+ return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join('.');
602
+ }
603
+ return cleanText;
604
+ }
590
605
 
591
606
  // Utilities
592
607
  const block = ['top', 'bottom'];
@@ -691,6 +706,33 @@ function getTargetBox(target) {
691
706
  return target.getBoundingClientRect();
692
707
  }
693
708
  }
709
+ function getElementBox(el) {
710
+ if (el === document.documentElement) {
711
+ if (!visualViewport) {
712
+ return new Box({
713
+ x: 0,
714
+ y: 0,
715
+ width: document.documentElement.clientWidth,
716
+ height: document.documentElement.clientHeight
717
+ });
718
+ } else {
719
+ return new Box({
720
+ x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
721
+ y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
722
+ width: visualViewport.width * visualViewport.scale,
723
+ height: visualViewport.height * visualViewport.scale
724
+ });
725
+ }
726
+ } else {
727
+ const rect = el.getBoundingClientRect();
728
+ return new Box({
729
+ x: rect.x,
730
+ y: rect.y,
731
+ width: el.clientWidth,
732
+ height: el.clientHeight
733
+ });
734
+ }
735
+ }
694
736
 
695
737
  // Utilities
696
738
 
@@ -2625,11 +2667,11 @@ const VApp = genericComponent()({
2625
2667
  const {
2626
2668
  rtlClasses
2627
2669
  } = useRtl();
2628
- useRender(() => createVNode("div", {
2670
+ useRender(() => createElementVNode("div", {
2629
2671
  "ref": layoutRef,
2630
- "class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
2631
- "style": [props.style]
2632
- }, [createVNode("div", {
2672
+ "class": normalizeClass(['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class]),
2673
+ "style": normalizeStyle([props.style])
2674
+ }, [createElementVNode("div", {
2633
2675
  "class": "v-application__wrap"
2634
2676
  }, [slots.default?.()])]));
2635
2677
  return {
@@ -2669,10 +2711,10 @@ const VToolbarTitle = genericComponent()({
2669
2711
  useRender(() => {
2670
2712
  const hasText = !!(slots.default || slots.text || props.text);
2671
2713
  return createVNode(props.tag, {
2672
- "class": ['v-toolbar-title', props.class],
2673
- "style": props.style
2714
+ "class": normalizeClass(['v-toolbar-title', props.class]),
2715
+ "style": normalizeStyle(props.style)
2674
2716
  }, {
2675
- default: () => [hasText && createVNode("div", {
2717
+ default: () => [hasText && createElementVNode("div", {
2676
2718
  "class": "v-toolbar-title__placeholder"
2677
2719
  }, [slots.text ? slots.text() : props.text, slots.default?.()])]
2678
2720
  });
@@ -3132,16 +3174,16 @@ const VResponsive = genericComponent()({
3132
3174
  const {
3133
3175
  dimensionStyles
3134
3176
  } = useDimension(props);
3135
- useRender(() => createVNode("div", {
3136
- "class": ['v-responsive', {
3177
+ useRender(() => createElementVNode("div", {
3178
+ "class": normalizeClass(['v-responsive', {
3137
3179
  'v-responsive--inline': props.inline
3138
- }, props.class],
3139
- "style": [dimensionStyles.value, props.style]
3140
- }, [createVNode("div", {
3180
+ }, props.class]),
3181
+ "style": normalizeStyle([dimensionStyles.value, props.style])
3182
+ }, [createElementVNode("div", {
3141
3183
  "class": "v-responsive__sizer",
3142
- "style": aspectStyles.value
3143
- }, null), slots.additional?.(), slots.default && createVNode("div", {
3144
- "class": ['v-responsive__content', props.contentClass]
3184
+ "style": normalizeStyle(aspectStyles.value)
3185
+ }, null), slots.additional?.(), slots.default && createElementVNode("div", {
3186
+ "class": normalizeClass(['v-responsive__content', props.contentClass])
3145
3187
  }, [slots.default()])]));
3146
3188
  return {};
3147
3189
  }
@@ -3375,7 +3417,7 @@ const makeVImgProps = propsFactory({
3375
3417
  const VImg = genericComponent()({
3376
3418
  name: 'VImg',
3377
3419
  directives: {
3378
- intersect: Intersect
3420
+ vIntersect: Intersect
3379
3421
  },
3380
3422
  props: makeVImgProps(),
3381
3423
  emits: {
@@ -3504,11 +3546,11 @@ const VImg = genericComponent()({
3504
3546
  }));
3505
3547
  const __image = () => {
3506
3548
  if (!normalisedSrc.value.src || state.value === 'idle') return null;
3507
- const img = createVNode("img", {
3508
- "class": ['v-img__img', containClasses.value],
3509
- "style": {
3549
+ const img = createElementVNode("img", {
3550
+ "class": normalizeClass(['v-img__img', containClasses.value]),
3551
+ "style": normalizeStyle({
3510
3552
  objectPosition: props.position
3511
- },
3553
+ }),
3512
3554
  "crossorigin": props.crossorigin,
3513
3555
  "src": normalisedSrc.value.src,
3514
3556
  "srcset": normalisedSrc.value.srcset,
@@ -3525,7 +3567,7 @@ const VImg = genericComponent()({
3525
3567
  "transition": props.transition,
3526
3568
  "appear": true
3527
3569
  }, {
3528
- default: () => [withDirectives(sources ? createVNode("picture", {
3570
+ default: () => [withDirectives(sources ? createElementVNode("picture", {
3529
3571
  "class": "v-img__picture"
3530
3572
  }, [sources, img]) : img, [[vShow, state.value === 'loaded']])]
3531
3573
  });
@@ -3533,11 +3575,11 @@ const VImg = genericComponent()({
3533
3575
  const __preloadImage = () => createVNode(MaybeTransition, {
3534
3576
  "transition": props.transition
3535
3577
  }, {
3536
- default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && createVNode("img", {
3537
- "class": ['v-img__img', 'v-img__img--preload', containClasses.value],
3538
- "style": {
3578
+ default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && createElementVNode("img", {
3579
+ "class": normalizeClass(['v-img__img', 'v-img__img--preload', containClasses.value]),
3580
+ "style": normalizeStyle({
3539
3581
  objectPosition: props.position
3540
- },
3582
+ }),
3541
3583
  "crossorigin": props.crossorigin,
3542
3584
  "src": normalisedSrc.value.lazySrc,
3543
3585
  "alt": props.alt,
@@ -3551,7 +3593,7 @@ const VImg = genericComponent()({
3551
3593
  "transition": props.transition,
3552
3594
  "appear": true
3553
3595
  }, {
3554
- default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && createVNode("div", {
3596
+ default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && createElementVNode("div", {
3555
3597
  "class": "v-img__placeholder"
3556
3598
  }, [slots.placeholder()])]
3557
3599
  });
@@ -3562,18 +3604,18 @@ const VImg = genericComponent()({
3562
3604
  "transition": props.transition,
3563
3605
  "appear": true
3564
3606
  }, {
3565
- default: () => [state.value === 'error' && createVNode("div", {
3607
+ default: () => [state.value === 'error' && createElementVNode("div", {
3566
3608
  "class": "v-img__error"
3567
3609
  }, [slots.error()])]
3568
3610
  });
3569
3611
  };
3570
3612
  const __gradient = () => {
3571
3613
  if (!props.gradient) return null;
3572
- return createVNode("div", {
3614
+ return createElementVNode("div", {
3573
3615
  "class": "v-img__gradient",
3574
- "style": {
3616
+ "style": normalizeStyle({
3575
3617
  backgroundImage: `linear-gradient(${props.gradient})`
3576
- }
3618
+ })
3577
3619
  }, null);
3578
3620
  };
3579
3621
  const isBooted = shallowRef(false);
@@ -3605,9 +3647,9 @@ const VImg = genericComponent()({
3605
3647
  "aria-label": props.alt,
3606
3648
  "role": props.alt ? 'img' : undefined
3607
3649
  }), {
3608
- additional: () => createVNode(Fragment, null, [createVNode(__image, null, null), createVNode(__preloadImage, null, null), createVNode(__gradient, null, null), createVNode(__placeholder, null, null), createVNode(__error, null, null)]),
3650
+ additional: () => createElementVNode(Fragment, null, [createVNode(__image, null, null), createVNode(__preloadImage, null, null), createVNode(__gradient, null, null), createVNode(__placeholder, null, null), createVNode(__error, null, null)]),
3609
3651
  default: slots.default
3610
- }), [[resolveDirective("intersect"), {
3652
+ }), [[Intersect, {
3611
3653
  handler: init,
3612
3654
  options: props.options
3613
3655
  }, null, {
@@ -3750,16 +3792,16 @@ const VToolbar = genericComponent()({
3750
3792
  const extension = slots.extension?.();
3751
3793
  isExtended.value = !!(props.extended || extension);
3752
3794
  return createVNode(props.tag, {
3753
- "class": ['v-toolbar', {
3795
+ "class": normalizeClass(['v-toolbar', {
3754
3796
  'v-toolbar--absolute': props.absolute,
3755
3797
  'v-toolbar--collapse': props.collapse,
3756
3798
  'v-toolbar--flat': props.flat,
3757
3799
  'v-toolbar--floating': props.floating,
3758
3800
  [`v-toolbar--density-${props.density}`]: true
3759
- }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
3760
- "style": [backgroundColorStyles.value, props.style]
3801
+ }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),
3802
+ "style": normalizeStyle([backgroundColorStyles.value, props.style])
3761
3803
  }, {
3762
- default: () => [hasImage && createVNode("div", {
3804
+ default: () => [hasImage && createElementVNode("div", {
3763
3805
  "key": "image",
3764
3806
  "class": "v-toolbar__image"
3765
3807
  }, [!slots.image ? createVNode(VImg, {
@@ -3782,19 +3824,19 @@ const VToolbar = genericComponent()({
3782
3824
  }
3783
3825
  }
3784
3826
  }, {
3785
- default: () => [createVNode("div", {
3827
+ default: () => [createElementVNode("div", {
3786
3828
  "class": "v-toolbar__content",
3787
- "style": {
3829
+ "style": normalizeStyle({
3788
3830
  height: convertToUnit(contentHeight.value)
3789
- }
3790
- }, [slots.prepend && createVNode("div", {
3831
+ })
3832
+ }, [slots.prepend && createElementVNode("div", {
3791
3833
  "class": "v-toolbar__prepend"
3792
3834
  }, [slots.prepend?.()]), hasTitle && createVNode(VToolbarTitle, {
3793
3835
  "key": "title",
3794
3836
  "text": props.title
3795
3837
  }, {
3796
3838
  text: slots.title
3797
- }), slots.default?.(), slots.append && createVNode("div", {
3839
+ }), slots.default?.(), slots.append && createElementVNode("div", {
3798
3840
  "class": "v-toolbar__append"
3799
3841
  }, [slots.append?.()])])]
3800
3842
  }), createVNode(VDefaultsProvider, {
@@ -3805,11 +3847,11 @@ const VToolbar = genericComponent()({
3805
3847
  }
3806
3848
  }, {
3807
3849
  default: () => [createVNode(VExpandTransition, null, {
3808
- default: () => [isExtended.value && createVNode("div", {
3850
+ default: () => [isExtended.value && createElementVNode("div", {
3809
3851
  "class": "v-toolbar__extension",
3810
- "style": {
3852
+ "style": normalizeStyle({
3811
3853
  height: convertToUnit(extensionHeight.value)
3812
- }
3854
+ })
3813
3855
  }, [extension])]
3814
3856
  })]
3815
3857
  })]
@@ -4088,12 +4130,12 @@ function useDensity(props) {
4088
4130
 
4089
4131
  const allowedVariants$2 = ['elevated', 'flat', 'tonal', 'outlined', 'text', 'plain'];
4090
4132
  function genOverlays(isClickable, name) {
4091
- return createVNode(Fragment, null, [isClickable && createVNode("span", {
4133
+ return createElementVNode(Fragment, null, [isClickable && createElementVNode("span", {
4092
4134
  "key": "overlay",
4093
- "class": `${name}__overlay`
4094
- }, null), createVNode("span", {
4135
+ "class": normalizeClass(`${name}__overlay`)
4136
+ }, null), createElementVNode("span", {
4095
4137
  "key": "underlay",
4096
- "class": `${name}__underlay`
4138
+ "class": normalizeClass(`${name}__underlay`)
4097
4139
  }, null)]);
4098
4140
  }
4099
4141
  const makeVariantProps = propsFactory({
@@ -4177,10 +4219,10 @@ const VBtnGroup = genericComponent()({
4177
4219
  });
4178
4220
  useRender(() => {
4179
4221
  return createVNode(props.tag, {
4180
- "class": ['v-btn-group', {
4222
+ "class": normalizeClass(['v-btn-group', {
4181
4223
  'v-btn-group--divided': props.divided
4182
- }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
4183
- "style": props.style
4224
+ }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
4225
+ "style": normalizeStyle(props.style)
4184
4226
  }, slots);
4185
4227
  });
4186
4228
  }
@@ -4558,18 +4600,18 @@ const VSvgIcon = defineComponent({
4558
4600
  return createVNode(props.tag, mergeProps(attrs, {
4559
4601
  "style": null
4560
4602
  }), {
4561
- default: () => [createVNode("svg", {
4603
+ default: () => [createElementVNode("svg", {
4562
4604
  "class": "v-icon__svg",
4563
4605
  "xmlns": "http://www.w3.org/2000/svg",
4564
4606
  "viewBox": "0 0 24 24",
4565
4607
  "role": "img",
4566
4608
  "aria-hidden": "true"
4567
- }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
4609
+ }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createElementVNode("path", {
4568
4610
  "d": path[0],
4569
4611
  "fill-opacity": path[1]
4570
- }, null) : createVNode("path", {
4612
+ }, null) : createElementVNode("path", {
4571
4613
  "d": path
4572
- }, null)) : createVNode("path", {
4614
+ }, null)) : createElementVNode("path", {
4573
4615
  "d": props.icon
4574
4616
  }, null)])]
4575
4617
  });
@@ -4593,7 +4635,7 @@ const VClassIcon = defineComponent({
4593
4635
  setup(props) {
4594
4636
  return () => {
4595
4637
  return createVNode(props.tag, {
4596
- "class": props.icon
4638
+ "class": normalizeClass(props.icon)
4597
4639
  }, null);
4598
4640
  };
4599
4641
  }
@@ -4746,19 +4788,19 @@ const VIcon = genericComponent()({
4746
4788
  return createVNode(iconData.value.component, {
4747
4789
  "tag": props.tag,
4748
4790
  "icon": iconData.value.icon,
4749
- "class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
4791
+ "class": normalizeClass(['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
4750
4792
  'v-icon--clickable': hasClick,
4751
4793
  'v-icon--disabled': props.disabled,
4752
4794
  'v-icon--start': props.start,
4753
4795
  'v-icon--end': props.end
4754
- }, props.class],
4755
- "style": [{
4796
+ }, props.class]),
4797
+ "style": normalizeStyle([{
4756
4798
  '--v-icon-opacity': props.opacity
4757
4799
  }, !sizeClasses.value ? {
4758
4800
  fontSize: convertToUnit(props.size),
4759
4801
  height: convertToUnit(props.size),
4760
4802
  width: convertToUnit(props.size)
4761
- } : undefined, textColorStyles.value, props.style],
4803
+ } : undefined, textColorStyles.value, props.style]),
4762
4804
  "role": hasClick ? 'button' : undefined,
4763
4805
  "aria-hidden": !hasClick,
4764
4806
  "tabindex": hasClick ? props.disabled ? -1 : 0 : undefined
@@ -4855,7 +4897,7 @@ const VProgressCircular = genericComponent()({
4855
4897
  resizeRef,
4856
4898
  contentRect
4857
4899
  } = useResizeObserver();
4858
- const normalizedValue = toRef(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));
4900
+ const normalizedValue = toRef(() => clamp(parseFloat(props.modelValue), 0, 100));
4859
4901
  const width = toRef(() => Number(props.width));
4860
4902
  const size = toRef(() => {
4861
4903
  // Get size from element if size prop value is small, large etc
@@ -4870,26 +4912,26 @@ const VProgressCircular = genericComponent()({
4870
4912
  });
4871
4913
  useRender(() => createVNode(props.tag, {
4872
4914
  "ref": root,
4873
- "class": ['v-progress-circular', {
4915
+ "class": normalizeClass(['v-progress-circular', {
4874
4916
  'v-progress-circular--indeterminate': !!props.indeterminate,
4875
4917
  'v-progress-circular--visible': isIntersecting.value,
4876
4918
  'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
4877
- }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
4878
- "style": [sizeStyles.value, textColorStyles.value, props.style],
4919
+ }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class]),
4920
+ "style": normalizeStyle([sizeStyles.value, textColorStyles.value, props.style]),
4879
4921
  "role": "progressbar",
4880
4922
  "aria-valuemin": "0",
4881
4923
  "aria-valuemax": "100",
4882
4924
  "aria-valuenow": props.indeterminate ? undefined : normalizedValue.value
4883
4925
  }, {
4884
- default: () => [createVNode("svg", {
4885
- "style": {
4926
+ default: () => [createElementVNode("svg", {
4927
+ "style": normalizeStyle({
4886
4928
  transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`
4887
- },
4929
+ }),
4888
4930
  "xmlns": "http://www.w3.org/2000/svg",
4889
4931
  "viewBox": `0 0 ${diameter.value} ${diameter.value}`
4890
- }, [createVNode("circle", {
4891
- "class": ['v-progress-circular__underlay', underlayColorClasses.value],
4892
- "style": underlayColorStyles.value,
4932
+ }, [createElementVNode("circle", {
4933
+ "class": normalizeClass(['v-progress-circular__underlay', underlayColorClasses.value]),
4934
+ "style": normalizeStyle(underlayColorStyles.value),
4893
4935
  "fill": "transparent",
4894
4936
  "cx": "50%",
4895
4937
  "cy": "50%",
@@ -4897,7 +4939,7 @@ const VProgressCircular = genericComponent()({
4897
4939
  "stroke-width": strokeWidth.value,
4898
4940
  "stroke-dasharray": CIRCUMFERENCE,
4899
4941
  "stroke-dashoffset": 0
4900
- }, null), createVNode("circle", {
4942
+ }, null), createElementVNode("circle", {
4901
4943
  "class": "v-progress-circular__overlay",
4902
4944
  "fill": "transparent",
4903
4945
  "cx": "50%",
@@ -4906,7 +4948,7 @@ const VProgressCircular = genericComponent()({
4906
4948
  "stroke-width": strokeWidth.value,
4907
4949
  "stroke-dasharray": CIRCUMFERENCE,
4908
4950
  "stroke-dashoffset": strokeDashOffset.value
4909
- }, null)]), slots.default && createVNode("div", {
4951
+ }, null)]), slots.default && createElementVNode("div", {
4910
4952
  "class": "v-progress-circular__content"
4911
4953
  }, [slots.default({
4912
4954
  value: normalizedValue.value
@@ -5080,21 +5122,21 @@ const VProgressLinear = genericComponent()({
5080
5122
  }
5081
5123
  useRender(() => createVNode(props.tag, {
5082
5124
  "ref": intersectionRef,
5083
- "class": ['v-progress-linear', {
5125
+ "class": normalizeClass(['v-progress-linear', {
5084
5126
  'v-progress-linear--absolute': props.absolute,
5085
5127
  'v-progress-linear--active': props.active && isIntersecting.value,
5086
5128
  'v-progress-linear--reverse': isReversed.value,
5087
5129
  'v-progress-linear--rounded': props.rounded,
5088
5130
  'v-progress-linear--rounded-bar': props.roundedBar,
5089
5131
  'v-progress-linear--striped': props.striped
5090
- }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
5091
- "style": [{
5132
+ }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),
5133
+ "style": normalizeStyle([{
5092
5134
  bottom: props.location === 'bottom' ? 0 : undefined,
5093
5135
  top: props.location === 'top' ? 0 : undefined,
5094
5136
  height: props.active ? convertToUnit(height.value) : 0,
5095
5137
  '--v-progress-linear-height': convertToUnit(height.value),
5096
5138
  ...(props.absolute ? locationStyles.value : {})
5097
- }, props.style],
5139
+ }, props.style]),
5098
5140
  "role": "progressbar",
5099
5141
  "aria-hidden": props.active ? 'false' : 'true',
5100
5142
  "aria-valuemin": "0",
@@ -5102,10 +5144,10 @@ const VProgressLinear = genericComponent()({
5102
5144
  "aria-valuenow": props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value),
5103
5145
  "onClick": props.clickable && handleClick
5104
5146
  }, {
5105
- default: () => [props.stream && createVNode("div", {
5147
+ default: () => [props.stream && createElementVNode("div", {
5106
5148
  "key": "stream",
5107
- "class": ['v-progress-linear__stream', textColorClasses.value],
5108
- "style": {
5149
+ "class": normalizeClass(['v-progress-linear__stream', textColorClasses.value]),
5150
+ "style": normalizeStyle({
5109
5151
  ...textColorStyles.value,
5110
5152
  [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),
5111
5153
  borderTop: `${convertToUnit(height.value / 2)} dotted`,
@@ -5113,35 +5155,35 @@ const VProgressLinear = genericComponent()({
5113
5155
  top: `calc(50% - ${convertToUnit(height.value / 4)})`,
5114
5156
  width: convertToUnit(100 - normalizedBuffer.value, '%'),
5115
5157
  '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
5116
- }
5117
- }, null), createVNode("div", {
5118
- "class": ['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
5119
- "style": [backgroundColorStyles.value, {
5158
+ })
5159
+ }, null), createElementVNode("div", {
5160
+ "class": normalizeClass(['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
5161
+ "style": normalizeStyle([backgroundColorStyles.value, {
5120
5162
  opacity: parseFloat(props.bgOpacity),
5121
5163
  width: props.stream ? 0 : undefined
5122
- }]
5123
- }, null), createVNode("div", {
5124
- "class": ['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined],
5125
- "style": [bufferColorStyles.value, {
5164
+ }])
5165
+ }, null), createElementVNode("div", {
5166
+ "class": normalizeClass(['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined]),
5167
+ "style": normalizeStyle([bufferColorStyles.value, {
5126
5168
  opacity: parseFloat(props.bufferOpacity),
5127
5169
  width: convertToUnit(normalizedBuffer.value, '%')
5128
- }]
5170
+ }])
5129
5171
  }, null), createVNode(Transition, {
5130
5172
  "name": transition.value
5131
5173
  }, {
5132
- default: () => [!props.indeterminate ? createVNode("div", {
5133
- "class": ['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined],
5134
- "style": [barColorStyles.value, {
5174
+ default: () => [!props.indeterminate ? createElementVNode("div", {
5175
+ "class": normalizeClass(['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5176
+ "style": normalizeStyle([barColorStyles.value, {
5135
5177
  width: convertToUnit(normalizedValue.value, '%')
5136
- }]
5137
- }, null) : createVNode("div", {
5178
+ }])
5179
+ }, null) : createElementVNode("div", {
5138
5180
  "class": "v-progress-linear__indeterminate"
5139
- }, [['long', 'short'].map(bar => createVNode("div", {
5181
+ }, [['long', 'short'].map(bar => createElementVNode("div", {
5140
5182
  "key": bar,
5141
- "class": ['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined],
5142
- "style": barColorStyles.value
5183
+ "class": normalizeClass(['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5184
+ "style": normalizeStyle(barColorStyles.value)
5143
5185
  }, null))])]
5144
- }), slots.default && createVNode("div", {
5186
+ }), slots.default && createElementVNode("div", {
5145
5187
  "class": "v-progress-linear__content"
5146
5188
  }, [slots.default({
5147
5189
  value: normalizedValue.value,
@@ -5171,8 +5213,8 @@ function LoaderSlot(props, _ref) {
5171
5213
  let {
5172
5214
  slots
5173
5215
  } = _ref;
5174
- return createVNode("div", {
5175
- "class": `${props.name}__loader`
5216
+ return createElementVNode("div", {
5217
+ "class": normalizeClass(`${props.name}__loader`)
5176
5218
  }, [slots.default?.({
5177
5219
  color: props.color,
5178
5220
  isActive: props.active
@@ -5762,7 +5804,7 @@ const VBtn = genericComponent()({
5762
5804
  "onClick": onClick,
5763
5805
  "value": valueAttr.value
5764
5806
  }, link.linkProps), {
5765
- default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
5807
+ default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createElementVNode("span", {
5766
5808
  "key": "prepend",
5767
5809
  "class": "v-btn__prepend"
5768
5810
  }, [!slots.prepend ? createVNode(VIcon, {
@@ -5776,7 +5818,7 @@ const VBtn = genericComponent()({
5776
5818
  icon: props.prependIcon
5777
5819
  }
5778
5820
  }
5779
- }, slots.prepend)]), createVNode("span", {
5821
+ }, slots.prepend)]), createElementVNode("span", {
5780
5822
  "class": "v-btn__content",
5781
5823
  "data-no-activator": ""
5782
5824
  }, [!slots.default && hasIcon ? createVNode(VIcon, {
@@ -5792,7 +5834,7 @@ const VBtn = genericComponent()({
5792
5834
  }
5793
5835
  }, {
5794
5836
  default: () => [slots.default?.() ?? toDisplayString(props.text)]
5795
- })]), !props.icon && hasAppend && createVNode("span", {
5837
+ })]), !props.icon && hasAppend && createElementVNode("span", {
5796
5838
  "key": "append",
5797
5839
  "class": "v-btn__append"
5798
5840
  }, [!slots.append ? createVNode(VIcon, {
@@ -5806,7 +5848,7 @@ const VBtn = genericComponent()({
5806
5848
  icon: props.appendIcon
5807
5849
  }
5808
5850
  }
5809
- }, slots.append)]), !!props.loading && createVNode("span", {
5851
+ }, slots.append)]), !!props.loading && createElementVNode("span", {
5810
5852
  "key": "loader",
5811
5853
  "class": "v-btn__loader"
5812
5854
  }, [slots.loader?.() ?? createVNode(VProgressCircular, {
@@ -5979,20 +6021,20 @@ const VAlert = genericComponent()({
5979
6021
  const hasTitle = !!(slots.title || props.title);
5980
6022
  const hasClose = !!(slots.close || props.closable);
5981
6023
  return isActive.value && createVNode(props.tag, {
5982
- "class": ['v-alert', props.border && {
6024
+ "class": normalizeClass(['v-alert', props.border && {
5983
6025
  'v-alert--border': !!props.border,
5984
6026
  [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
5985
6027
  }, {
5986
6028
  'v-alert--prominent': props.prominent
5987
- }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
5988
- "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
6029
+ }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class]),
6030
+ "style": normalizeStyle([colorStyles.value, dimensionStyles.value, locationStyles.value, props.style]),
5989
6031
  "role": "alert"
5990
6032
  }, {
5991
- default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
6033
+ default: () => [genOverlays(false, 'v-alert'), props.border && createElementVNode("div", {
5992
6034
  "key": "border",
5993
- "class": ['v-alert__border', textColorClasses.value],
5994
- "style": textColorStyles.value
5995
- }, null), hasPrepend && createVNode("div", {
6035
+ "class": normalizeClass(['v-alert__border', textColorClasses.value]),
6036
+ "style": normalizeStyle(textColorStyles.value)
6037
+ }, null), hasPrepend && createElementVNode("div", {
5996
6038
  "key": "prepend",
5997
6039
  "class": "v-alert__prepend"
5998
6040
  }, [!slots.prepend ? createVNode(VIcon, {
@@ -6010,16 +6052,16 @@ const VAlert = genericComponent()({
6010
6052
  size: props.prominent ? 44 : 28
6011
6053
  }
6012
6054
  }
6013
- }, slots.prepend)]), createVNode("div", {
6055
+ }, slots.prepend)]), createElementVNode("div", {
6014
6056
  "class": "v-alert__content"
6015
6057
  }, [hasTitle && createVNode(VAlertTitle, {
6016
6058
  "key": "title"
6017
6059
  }, {
6018
6060
  default: () => [slots.title?.() ?? props.title]
6019
- }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && createVNode("div", {
6061
+ }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && createElementVNode("div", {
6020
6062
  "key": "append",
6021
6063
  "class": "v-alert__append"
6022
- }, [slots.append()]), hasClose && createVNode("div", {
6064
+ }, [slots.append()]), hasClose && createElementVNode("div", {
6023
6065
  "key": "close",
6024
6066
  "class": "v-alert__close"
6025
6067
  }, [!slots.close ? createVNode(VBtn, mergeProps({
@@ -6092,11 +6134,11 @@ const VAvatar = genericComponent()({
6092
6134
  sizeStyles
6093
6135
  } = useSize(props);
6094
6136
  useRender(() => createVNode(props.tag, {
6095
- "class": ['v-avatar', {
6137
+ "class": normalizeClass(['v-avatar', {
6096
6138
  'v-avatar--start': props.start,
6097
6139
  'v-avatar--end': props.end
6098
- }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6099
- "style": [colorStyles.value, sizeStyles.value, props.style]
6140
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class]),
6141
+ "style": normalizeStyle([colorStyles.value, sizeStyles.value, props.style])
6100
6142
  }, {
6101
6143
  default: () => [!slots.default ? props.image ? createVNode(VImg, {
6102
6144
  "key": "image",
@@ -6138,11 +6180,11 @@ const VLabel = genericComponent()({
6138
6180
  let {
6139
6181
  slots
6140
6182
  } = _ref;
6141
- useRender(() => createVNode("label", {
6142
- "class": ['v-label', {
6183
+ useRender(() => createElementVNode("label", {
6184
+ "class": normalizeClass(['v-label', {
6143
6185
  'v-label--clickable': !!props.onClick
6144
- }, props.class],
6145
- "style": props.style,
6186
+ }, props.class]),
6187
+ "style": normalizeStyle(props.style),
6146
6188
  "onClick": props.onClick
6147
6189
  }, [props.text, slots.default?.()]));
6148
6190
  return {};
@@ -6237,11 +6279,11 @@ const VSelectionControlGroup = genericComponent()({
6237
6279
  valueComparator: toRef(() => props.valueComparator)
6238
6280
  }
6239
6281
  });
6240
- useRender(() => createVNode("div", {
6241
- "class": ['v-selection-control-group', {
6282
+ useRender(() => createElementVNode("div", {
6283
+ "class": normalizeClass(['v-selection-control-group', {
6242
6284
  'v-selection-control-group--inline': props.inline
6243
- }, props.class],
6244
- "style": props.style,
6285
+ }, props.class]),
6286
+ "style": normalizeStyle(props.style),
6245
6287
  "role": props.type === 'radio' ? 'radiogroup' : undefined
6246
6288
  }, [slots.default?.()]));
6247
6289
  return {};
@@ -6317,7 +6359,7 @@ function useSelectionControl(props) {
6317
6359
  const VSelectionControl = genericComponent()({
6318
6360
  name: 'VSelectionControl',
6319
6361
  directives: {
6320
- Ripple
6362
+ vRipple: Ripple
6321
6363
  },
6322
6364
  inheritAttrs: false,
6323
6365
  props: makeVSelectionControlProps(),
@@ -6388,7 +6430,7 @@ const VSelectionControl = genericComponent()({
6388
6430
  }
6389
6431
  }) : props.label;
6390
6432
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
6391
- const inputNode = createVNode("input", mergeProps({
6433
+ const inputNode = createElementVNode("input", mergeProps({
6392
6434
  "ref": input,
6393
6435
  "checked": model.value,
6394
6436
  "disabled": !!props.disabled,
@@ -6403,7 +6445,7 @@ const VSelectionControl = genericComponent()({
6403
6445
  "name": props.name,
6404
6446
  "aria-checked": props.type === 'checkbox' ? model.value : undefined
6405
6447
  }, inputAttrs), null);
6406
- return createVNode("div", mergeProps({
6448
+ return createElementVNode("div", mergeProps({
6407
6449
  "class": ['v-selection-control', {
6408
6450
  'v-selection-control--dirty': model.value,
6409
6451
  'v-selection-control--disabled': props.disabled,
@@ -6414,13 +6456,13 @@ const VSelectionControl = genericComponent()({
6414
6456
  }, densityClasses.value, props.class]
6415
6457
  }, rootAttrs, {
6416
6458
  "style": props.style
6417
- }), [createVNode("div", {
6418
- "class": ['v-selection-control__wrapper', textColorClasses.value],
6419
- "style": textColorStyles.value
6459
+ }), [createElementVNode("div", {
6460
+ "class": normalizeClass(['v-selection-control__wrapper', textColorClasses.value]),
6461
+ "style": normalizeStyle(textColorStyles.value)
6420
6462
  }, [slots.default?.({
6421
6463
  backgroundColorClasses,
6422
6464
  backgroundColorStyles
6423
- }), withDirectives(createVNode("div", {
6465
+ }), withDirectives(createElementVNode("div", {
6424
6466
  "class": ['v-selection-control__input']
6425
6467
  }, [slots.input?.({
6426
6468
  model,
@@ -6435,10 +6477,10 @@ const VSelectionControl = genericComponent()({
6435
6477
  onBlur,
6436
6478
  id: id.value
6437
6479
  }
6438
- }) ?? createVNode(Fragment, null, [icon.value && createVNode(VIcon, {
6480
+ }) ?? createElementVNode(Fragment, null, [icon.value && createVNode(VIcon, {
6439
6481
  "key": "icon",
6440
6482
  "icon": icon.value
6441
- }, null), inputNode])]), [[resolveDirective("ripple"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && createVNode(VLabel, {
6483
+ }, null), inputNode])]), [[Ripple, props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && createVNode(VLabel, {
6442
6484
  "for": id.value,
6443
6485
  "onClick": onClickLabel
6444
6486
  }, {
@@ -6515,7 +6557,8 @@ function useInputIcon(props) {
6515
6557
  function InputIcon(_ref) {
6516
6558
  let {
6517
6559
  name,
6518
- color
6560
+ color,
6561
+ ...attrs
6519
6562
  } = _ref;
6520
6563
  const localeKey = {
6521
6564
  prepend: 'prependAction',
@@ -6532,13 +6575,13 @@ function useInputIcon(props) {
6532
6575
  callEvent(listener, new PointerEvent('click', e));
6533
6576
  }
6534
6577
  const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined;
6535
- return createVNode(VIcon, {
6578
+ return createVNode(VIcon, mergeProps({
6536
6579
  "icon": props[`${name}Icon`],
6537
6580
  "aria-label": label,
6538
6581
  "onClick": listener,
6539
6582
  "onKeydown": onKeydown,
6540
6583
  "color": color
6541
- }, null);
6584
+ }, attrs), null);
6542
6585
  }
6543
6586
  return {
6544
6587
  InputIcon
@@ -6578,10 +6621,10 @@ const VMessages = genericComponent()({
6578
6621
  useRender(() => createVNode(MaybeTransition, {
6579
6622
  "transition": props.transition,
6580
6623
  "tag": "div",
6581
- "class": ['v-messages', textColorClasses.value, props.class],
6582
- "style": [textColorStyles.value, props.style]
6624
+ "class": normalizeClass(['v-messages', textColorClasses.value, props.class]),
6625
+ "style": normalizeStyle([textColorStyles.value, props.style])
6583
6626
  }, {
6584
- default: () => [props.active && messages.value.map((message, i) => createVNode("div", {
6627
+ default: () => [props.active && messages.value.map((message, i) => createElementVNode("div", {
6585
6628
  "class": "v-messages__message",
6586
6629
  "key": `${i}-${messages.value}`
6587
6630
  }, [slots.message ? slots.message({
@@ -7047,31 +7090,31 @@ const VInput = genericComponent()({
7047
7090
  const hasAppend = !!(slots.append || props.appendIcon);
7048
7091
  const hasMessages = messages.value.length > 0;
7049
7092
  const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
7050
- return createVNode("div", {
7051
- "class": ['v-input', `v-input--${props.direction}`, {
7093
+ return createElementVNode("div", {
7094
+ "class": normalizeClass(['v-input', `v-input--${props.direction}`, {
7052
7095
  'v-input--center-affix': props.centerAffix,
7053
7096
  'v-input--focused': props.focused,
7054
7097
  'v-input--glow': props.glow,
7055
7098
  'v-input--hide-spin-buttons': props.hideSpinButtons
7056
- }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],
7057
- "style": [dimensionStyles.value, props.style]
7058
- }, [hasPrepend && createVNode("div", {
7099
+ }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class]),
7100
+ "style": normalizeStyle([dimensionStyles.value, props.style])
7101
+ }, [hasPrepend && createElementVNode("div", {
7059
7102
  "key": "prepend",
7060
7103
  "class": "v-input__prepend"
7061
7104
  }, [slots.prepend?.(slotProps.value), props.prependIcon && createVNode(InputIcon, {
7062
7105
  "key": "prepend-icon",
7063
7106
  "name": "prepend",
7064
7107
  "color": iconColor.value
7065
- }, null)]), slots.default && createVNode("div", {
7108
+ }, null)]), slots.default && createElementVNode("div", {
7066
7109
  "class": "v-input__control"
7067
- }, [slots.default?.(slotProps.value)]), hasAppend && createVNode("div", {
7110
+ }, [slots.default?.(slotProps.value)]), hasAppend && createElementVNode("div", {
7068
7111
  "key": "append",
7069
7112
  "class": "v-input__append"
7070
7113
  }, [props.appendIcon && createVNode(InputIcon, {
7071
7114
  "key": "append-icon",
7072
7115
  "name": "append",
7073
7116
  "color": iconColor.value
7074
- }, null), slots.append?.(slotProps.value)]), hasDetails && createVNode("div", {
7117
+ }, null), slots.append?.(slotProps.value)]), hasDetails && createElementVNode("div", {
7075
7118
  "id": messagesId.value,
7076
7119
  "class": "v-input__details",
7077
7120
  "role": "alert",
@@ -7462,7 +7505,7 @@ function clampTarget(container, value, rtl, horizontal) {
7462
7505
  min = 0;
7463
7506
  max = scrollHeight + -containerHeight;
7464
7507
  }
7465
- return Math.max(Math.min(value, max), min);
7508
+ return clamp(value, min, max);
7466
7509
  }
7467
7510
 
7468
7511
  function calculateUpdatedTarget(_ref) {
@@ -7820,42 +7863,42 @@ const VSlideGroup = genericComponent()({
7820
7863
  return scrollSizeMax - Math.abs(scrollOffset.value) > 1;
7821
7864
  });
7822
7865
  useRender(() => createVNode(props.tag, {
7823
- "class": ['v-slide-group', {
7866
+ "class": normalizeClass(['v-slide-group', {
7824
7867
  'v-slide-group--vertical': !isHorizontal.value,
7825
7868
  'v-slide-group--has-affixes': hasAffixes.value,
7826
7869
  'v-slide-group--is-overflowing': isOverflowing.value
7827
- }, displayClasses.value, props.class],
7828
- "style": props.style,
7870
+ }, displayClasses.value, props.class]),
7871
+ "style": normalizeStyle(props.style),
7829
7872
  "tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
7830
7873
  "onFocus": onFocus
7831
7874
  }, {
7832
- default: () => [hasAffixes.value && createVNode("div", {
7875
+ default: () => [hasAffixes.value && createElementVNode("div", {
7833
7876
  "key": "prev",
7834
- "class": ['v-slide-group__prev', {
7877
+ "class": normalizeClass(['v-slide-group__prev', {
7835
7878
  'v-slide-group__prev--disabled': !hasPrev.value
7836
- }],
7879
+ }]),
7837
7880
  "onMousedown": onFocusAffixes,
7838
7881
  "onClick": () => hasPrev.value && scrollTo('prev')
7839
7882
  }, [slots.prev?.(slotProps.value) ?? createVNode(VFadeTransition, null, {
7840
7883
  default: () => [createVNode(VIcon, {
7841
7884
  "icon": isRtl.value ? props.nextIcon : props.prevIcon
7842
7885
  }, null)]
7843
- })]), createVNode("div", {
7886
+ })]), createElementVNode("div", {
7844
7887
  "key": "container",
7845
7888
  "ref": containerRef,
7846
7889
  "class": "v-slide-group__container",
7847
7890
  "onScroll": onScroll
7848
- }, [createVNode("div", {
7891
+ }, [createElementVNode("div", {
7849
7892
  "ref": contentRef,
7850
7893
  "class": "v-slide-group__content",
7851
7894
  "onFocusin": onFocusin,
7852
7895
  "onFocusout": onFocusout,
7853
7896
  "onKeydown": onKeydown
7854
- }, [slots.default?.(slotProps.value)])]), hasAffixes.value && createVNode("div", {
7897
+ }, [slots.default?.(slotProps.value)])]), hasAffixes.value && createElementVNode("div", {
7855
7898
  "key": "next",
7856
- "class": ['v-slide-group__next', {
7899
+ "class": normalizeClass(['v-slide-group__next', {
7857
7900
  'v-slide-group__next--disabled': !hasNext.value
7858
- }],
7901
+ }]),
7859
7902
  "onMousedown": onFocusAffixes,
7860
7903
  "onClick": () => hasNext.value && scrollTo('next')
7861
7904
  }, [slots.next?.(slotProps.value) ?? createVNode(VFadeTransition, null, {
@@ -8010,7 +8053,7 @@ const makeVChipProps = propsFactory({
8010
8053
  const VChip = genericComponent()({
8011
8054
  name: 'VChip',
8012
8055
  directives: {
8013
- Ripple
8056
+ vRipple: Ripple
8014
8057
  },
8015
8058
  props: makeVChipProps(),
8016
8059
  emits: {
@@ -8110,7 +8153,7 @@ const VChip = genericComponent()({
8110
8153
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VExpandXTransition, {
8111
8154
  "key": "filter"
8112
8155
  }, {
8113
- default: () => [withDirectives(createVNode("div", {
8156
+ default: () => [withDirectives(createElementVNode("div", {
8114
8157
  "class": "v-chip__filter"
8115
8158
  }, [!slots.filter ? createVNode(VIcon, {
8116
8159
  "key": "filter-icon",
@@ -8124,10 +8167,10 @@ const VChip = genericComponent()({
8124
8167
  }
8125
8168
  }
8126
8169
  }, slots.filter)]), [[vShow, group.isSelected.value]])]
8127
- }), hasPrepend && createVNode("div", {
8170
+ }), hasPrepend && createElementVNode("div", {
8128
8171
  "key": "prepend",
8129
8172
  "class": "v-chip__prepend"
8130
- }, [!slots.prepend ? createVNode(Fragment, null, [props.prependIcon && createVNode(VIcon, {
8173
+ }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependIcon && createVNode(VIcon, {
8131
8174
  "key": "prepend-icon",
8132
8175
  "icon": props.prependIcon,
8133
8176
  "start": true
@@ -8148,7 +8191,7 @@ const VChip = genericComponent()({
8148
8191
  start: true
8149
8192
  }
8150
8193
  }
8151
- }, slots.prepend)]), createVNode("div", {
8194
+ }, slots.prepend)]), createElementVNode("div", {
8152
8195
  "class": "v-chip__content",
8153
8196
  "data-no-activator": ""
8154
8197
  }, [slots.default?.({
@@ -8158,10 +8201,10 @@ const VChip = genericComponent()({
8158
8201
  toggle: group?.toggle,
8159
8202
  value: group?.value.value,
8160
8203
  disabled: props.disabled
8161
- }) ?? toDisplayString(props.text)]), hasAppend && createVNode("div", {
8204
+ }) ?? toDisplayString(props.text)]), hasAppend && createElementVNode("div", {
8162
8205
  "key": "append",
8163
8206
  "class": "v-chip__append"
8164
- }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
8207
+ }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
8165
8208
  "key": "append-icon",
8166
8209
  "end": true,
8167
8210
  "icon": props.appendIcon
@@ -8182,7 +8225,7 @@ const VChip = genericComponent()({
8182
8225
  icon: props.appendIcon
8183
8226
  }
8184
8227
  }
8185
- }, slots.append)]), hasClose && createVNode("button", mergeProps({
8228
+ }, slots.append)]), hasClose && createElementVNode("button", mergeProps({
8186
8229
  "key": "close",
8187
8230
  "class": "v-chip__close",
8188
8231
  "type": "button",
@@ -8200,7 +8243,7 @@ const VChip = genericComponent()({
8200
8243
  }
8201
8244
  }
8202
8245
  }, slots.close)])]
8203
- }), [[resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
8246
+ }), [[Ripple, isClickable.value && props.ripple, null]]);
8204
8247
  };
8205
8248
  }
8206
8249
  });
@@ -8973,13 +9016,13 @@ const VListGroup = genericComponent()({
8973
9016
  }
8974
9017
  }));
8975
9018
  useRender(() => createVNode(props.tag, {
8976
- "class": ['v-list-group', {
9019
+ "class": normalizeClass(['v-list-group', {
8977
9020
  'v-list-group--prepend': list?.hasPrepend.value,
8978
9021
  'v-list-group--fluid': props.fluid,
8979
9022
  'v-list-group--subgroup': props.subgroup,
8980
9023
  'v-list-group--open': isOpen.value
8981
- }, props.class],
8982
- "style": props.style
9024
+ }, props.class]),
9025
+ "style": normalizeStyle(props.style)
8983
9026
  }, {
8984
9027
  default: () => [slots.activator && createVNode(VDefaultsProvider, {
8985
9028
  "defaults": activatorDefaults.value
@@ -8996,7 +9039,7 @@ const VListGroup = genericComponent()({
8996
9039
  },
8997
9040
  "disabled": !isBooted.value
8998
9041
  }, {
8999
- default: () => [withDirectives(createVNode("div", {
9042
+ default: () => [withDirectives(createElementVNode("div", {
9000
9043
  "class": "v-list-group__items",
9001
9044
  "role": "group",
9002
9045
  "aria-labelledby": id.value
@@ -9022,10 +9065,10 @@ const VListItemSubtitle = genericComponent()({
9022
9065
  slots
9023
9066
  } = _ref;
9024
9067
  useRender(() => createVNode(props.tag, {
9025
- "class": ['v-list-item-subtitle', props.class],
9026
- "style": [{
9068
+ "class": normalizeClass(['v-list-item-subtitle', props.class]),
9069
+ "style": normalizeStyle([{
9027
9070
  '--v-list-item-subtitle-opacity': props.opacity
9028
- }, props.style]
9071
+ }, props.style])
9029
9072
  }, slots));
9030
9073
  return {};
9031
9074
  }
@@ -9088,7 +9131,7 @@ const makeVListItemProps = propsFactory({
9088
9131
  const VListItem = genericComponent()({
9089
9132
  name: 'VListItem',
9090
9133
  directives: {
9091
- Ripple
9134
+ vRipple: Ripple
9092
9135
  },
9093
9136
  props: makeVListItemProps(),
9094
9137
  emits: {
@@ -9223,10 +9266,10 @@ const VListItem = genericComponent()({
9223
9266
  "onClick": onClick,
9224
9267
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9225
9268
  }, link.linkProps), {
9226
- default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createVNode("div", {
9269
+ default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createElementVNode("div", {
9227
9270
  "key": "prepend",
9228
9271
  "class": "v-list-item__prepend"
9229
- }, [!slots.prepend ? createVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
9272
+ }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
9230
9273
  "key": "prepend-avatar",
9231
9274
  "density": props.density,
9232
9275
  "image": props.prependAvatar
@@ -9252,9 +9295,9 @@ const VListItem = genericComponent()({
9252
9295
  }
9253
9296
  }, {
9254
9297
  default: () => [slots.prepend?.(slotProps.value)]
9255
- }), createVNode("div", {
9298
+ }), createElementVNode("div", {
9256
9299
  "class": "v-list-item__spacer"
9257
- }, null)]), createVNode("div", {
9300
+ }, null)]), createElementVNode("div", {
9258
9301
  "class": "v-list-item__content",
9259
9302
  "data-no-activator": ""
9260
9303
  }, [hasTitle && createVNode(VListItemTitle, {
@@ -9269,10 +9312,10 @@ const VListItem = genericComponent()({
9269
9312
  default: () => [slots.subtitle?.({
9270
9313
  subtitle: props.subtitle
9271
9314
  }) ?? toDisplayString(props.subtitle)]
9272
- }), slots.default?.(slotProps.value)]), hasAppend && createVNode("div", {
9315
+ }), slots.default?.(slotProps.value)]), hasAppend && createElementVNode("div", {
9273
9316
  "key": "append",
9274
9317
  "class": "v-list-item__append"
9275
- }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
9318
+ }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
9276
9319
  "key": "append-icon",
9277
9320
  "density": props.density,
9278
9321
  "icon": props.appendIcon
@@ -9298,10 +9341,10 @@ const VListItem = genericComponent()({
9298
9341
  }
9299
9342
  }, {
9300
9343
  default: () => [slots.append?.(slotProps.value)]
9301
- }), createVNode("div", {
9344
+ }), createElementVNode("div", {
9302
9345
  "class": "v-list-item__spacer"
9303
9346
  }, null)])]
9304
- }), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
9347
+ }), [[Ripple, isClickable.value && props.ripple]]);
9305
9348
  });
9306
9349
  return {
9307
9350
  activate,
@@ -9339,15 +9382,15 @@ const VListSubheader = genericComponent()({
9339
9382
  useRender(() => {
9340
9383
  const hasText = !!(slots.default || props.title);
9341
9384
  return createVNode(props.tag, {
9342
- "class": ['v-list-subheader', {
9385
+ "class": normalizeClass(['v-list-subheader', {
9343
9386
  'v-list-subheader--inset': props.inset,
9344
9387
  'v-list-subheader--sticky': props.sticky
9345
- }, textColorClasses.value, props.class],
9346
- "style": [{
9388
+ }, textColorClasses.value, props.class]),
9389
+ "style": normalizeStyle([{
9347
9390
  textColorStyles
9348
- }, props.style]
9391
+ }, props.style])
9349
9392
  }, {
9350
- default: () => [hasText && createVNode("div", {
9393
+ default: () => [hasText && createElementVNode("div", {
9351
9394
  "class": "v-list-subheader__text"
9352
9395
  }, [slots.default?.() ?? props.title])]
9353
9396
  });
@@ -9392,25 +9435,25 @@ const VDivider = genericComponent()({
9392
9435
  return styles;
9393
9436
  });
9394
9437
  useRender(() => {
9395
- const divider = createVNode("hr", {
9396
- "class": [{
9438
+ const divider = createElementVNode("hr", {
9439
+ "class": normalizeClass([{
9397
9440
  'v-divider': true,
9398
9441
  'v-divider--inset': props.inset,
9399
9442
  'v-divider--vertical': props.vertical
9400
- }, themeClasses.value, textColorClasses.value, props.class],
9401
- "style": [dividerStyles.value, textColorStyles.value, {
9443
+ }, themeClasses.value, textColorClasses.value, props.class]),
9444
+ "style": normalizeStyle([dividerStyles.value, textColorStyles.value, {
9402
9445
  '--v-border-opacity': props.opacity
9403
- }, props.style],
9446
+ }, props.style]),
9404
9447
  "aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
9405
9448
  "role": `${attrs.role || 'separator'}`
9406
9449
  }, null);
9407
9450
  if (!slots.default) return divider;
9408
- return createVNode("div", {
9409
- "class": ['v-divider__wrapper', {
9451
+ return createElementVNode("div", {
9452
+ "class": normalizeClass(['v-divider__wrapper', {
9410
9453
  'v-divider__wrapper--vertical': props.vertical,
9411
9454
  'v-divider__wrapper--inset': props.inset
9412
- }]
9413
- }, [divider, createVNode("div", {
9455
+ }])
9456
+ }, [divider, createElementVNode("div", {
9414
9457
  "class": "v-divider__content"
9415
9458
  }, [slots.default()]), divider]);
9416
9459
  });
@@ -9829,12 +9872,12 @@ const VList = genericComponent()({
9829
9872
  useRender(() => {
9830
9873
  return createVNode(props.tag, {
9831
9874
  "ref": contentRef,
9832
- "class": ['v-list', {
9875
+ "class": normalizeClass(['v-list', {
9833
9876
  'v-list--disabled': props.disabled,
9834
9877
  'v-list--nav': props.nav,
9835
9878
  'v-list--slim': props.slim
9836
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
9837
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
9879
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class]),
9880
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),
9838
9881
  "tabindex": props.disabled ? -1 : 0,
9839
9882
  "role": "listbox",
9840
9883
  "aria-activedescendant": undefined,
@@ -9878,11 +9921,11 @@ const VListItemAction = genericComponent()({
9878
9921
  slots
9879
9922
  } = _ref;
9880
9923
  useRender(() => createVNode(props.tag, {
9881
- "class": ['v-list-item-action', {
9924
+ "class": normalizeClass(['v-list-item-action', {
9882
9925
  'v-list-item-action--start': props.start,
9883
9926
  'v-list-item-action--end': props.end
9884
- }, props.class],
9885
- "style": props.style
9927
+ }, props.class]),
9928
+ "style": normalizeStyle(props.style)
9886
9929
  }, slots));
9887
9930
  return {};
9888
9931
  }
@@ -9903,11 +9946,11 @@ const VListItemMedia = genericComponent()({
9903
9946
  } = _ref;
9904
9947
  useRender(() => {
9905
9948
  return createVNode(props.tag, {
9906
- "class": ['v-list-item-media', {
9949
+ "class": normalizeClass(['v-list-item-media', {
9907
9950
  'v-list-item-media--start': props.start,
9908
9951
  'v-list-item-media--end': props.end
9909
- }, props.class],
9910
- "style": props.style
9952
+ }, props.class]),
9953
+ "style": normalizeStyle(props.style)
9911
9954
  }, slots);
9912
9955
  });
9913
9956
  return {};
@@ -9996,11 +10039,19 @@ function useLocationStrategies(props, data) {
9996
10039
  watch(() => props.locationStrategy, reset);
9997
10040
  onScopeDispose(() => {
9998
10041
  window.removeEventListener('resize', onResize);
10042
+ visualViewport?.removeEventListener('resize', onVisualResize);
10043
+ visualViewport?.removeEventListener('scroll', onVisualScroll);
9999
10044
  updateLocation.value = undefined;
10000
10045
  });
10001
10046
  window.addEventListener('resize', onResize, {
10002
10047
  passive: true
10003
10048
  });
10049
+ visualViewport?.addEventListener('resize', onVisualResize, {
10050
+ passive: true
10051
+ });
10052
+ visualViewport?.addEventListener('scroll', onVisualScroll, {
10053
+ passive: true
10054
+ });
10004
10055
  if (typeof props.locationStrategy === 'function') {
10005
10056
  updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation;
10006
10057
  } else {
@@ -10011,6 +10062,12 @@ function useLocationStrategies(props, data) {
10011
10062
  function onResize(e) {
10012
10063
  updateLocation.value?.(e);
10013
10064
  }
10065
+ function onVisualResize(e) {
10066
+ updateLocation.value?.(e);
10067
+ }
10068
+ function onVisualScroll(e) {
10069
+ updateLocation.value?.(e);
10070
+ }
10014
10071
  return {
10015
10072
  contentStyles,
10016
10073
  updateLocation
@@ -10162,13 +10219,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
10162
10219
  }
10163
10220
  }
10164
10221
  const viewport = scrollParents.reduce((box, el) => {
10165
- const rect = el.getBoundingClientRect();
10166
- const scrollBox = new Box({
10167
- x: el === document.documentElement ? 0 : rect.x,
10168
- y: el === document.documentElement ? 0 : rect.y,
10169
- width: el.clientWidth,
10170
- height: el.clientHeight
10171
- });
10222
+ const scrollBox = getElementBox(el);
10172
10223
  if (box) {
10173
10224
  return new Box({
10174
10225
  x: Math.max(box.left, scrollBox.left),
@@ -11059,7 +11110,7 @@ function Scrim(props) {
11059
11110
  "name": "fade-transition",
11060
11111
  "appear": true
11061
11112
  }, {
11062
- default: () => [props.modelValue && createVNode("div", mergeProps({
11113
+ default: () => [props.modelValue && createElementVNode("div", mergeProps({
11063
11114
  "class": ['v-overlay__scrim', props.color.backgroundColorClasses.value],
11064
11115
  "style": props.color.backgroundColorStyles.value
11065
11116
  }, rest), null)]
@@ -11100,7 +11151,7 @@ const makeVOverlayProps = propsFactory({
11100
11151
  const VOverlay = genericComponent()({
11101
11152
  name: 'VOverlay',
11102
11153
  directives: {
11103
- ClickOutside
11154
+ vClickOutside: ClickOutside
11104
11155
  },
11105
11156
  inheritAttrs: false,
11106
11157
  props: {
@@ -11280,7 +11331,7 @@ const VOverlay = genericComponent()({
11280
11331
  _onAfterLeave();
11281
11332
  emit('afterLeave');
11282
11333
  }
11283
- useRender(() => createVNode(Fragment, null, [slots.activator?.({
11334
+ useRender(() => createElementVNode(Fragment, null, [slots.activator?.({
11284
11335
  isActive: isActive.value,
11285
11336
  targetRef,
11286
11337
  props: mergeProps({
@@ -11290,7 +11341,7 @@ const VOverlay = genericComponent()({
11290
11341
  "disabled": !teleportTarget.value,
11291
11342
  "to": teleportTarget.value
11292
11343
  }, {
11293
- default: () => [createVNode("div", mergeProps({
11344
+ default: () => [createElementVNode("div", mergeProps({
11294
11345
  "class": ['v-overlay', {
11295
11346
  'v-overlay--absolute': props.absolute || props.contained,
11296
11347
  'v-overlay--active': isActive.value,
@@ -11314,13 +11365,13 @@ const VOverlay = genericComponent()({
11314
11365
  "onAfterEnter": onAfterEnter,
11315
11366
  "onAfterLeave": onAfterLeave
11316
11367
  }, {
11317
- default: () => [withDirectives(createVNode("div", mergeProps({
11368
+ default: () => [withDirectives(createElementVNode("div", mergeProps({
11318
11369
  "ref": contentEl,
11319
11370
  "class": ['v-overlay__content', props.contentClass],
11320
11371
  "style": [dimensionStyles.value, contentStyles.value]
11321
11372
  }, contentEvents.value, props.contentProps), [slots.default?.({
11322
11373
  isActive
11323
- })]), [[vShow, isActive.value], [resolveDirective("click-outside"), {
11374
+ })]), [[vShow, isActive.value], [ClickOutside, {
11324
11375
  handler: onClickOutside,
11325
11376
  closeConditional,
11326
11377
  include: () => [activatorEl.value]
@@ -11649,11 +11700,11 @@ const VCounter = genericComponent()({
11649
11700
  useRender(() => createVNode(MaybeTransition, {
11650
11701
  "transition": props.transition
11651
11702
  }, {
11652
- default: () => [withDirectives(createVNode("div", {
11653
- "class": ['v-counter', {
11703
+ default: () => [withDirectives(createElementVNode("div", {
11704
+ "class": normalizeClass(['v-counter', {
11654
11705
  'text-error': props.max && !props.disabled && parseFloat(props.value) > parseFloat(props.max)
11655
- }, props.class],
11656
- "style": props.style
11706
+ }, props.class]),
11707
+ "style": normalizeStyle(props.style)
11657
11708
  }, [slots.default ? slots.default({
11658
11709
  counter: counter.value,
11659
11710
  max: props.max,
@@ -11676,10 +11727,10 @@ const VFieldLabel = genericComponent()({
11676
11727
  slots
11677
11728
  } = _ref;
11678
11729
  useRender(() => createVNode(VLabel, {
11679
- "class": ['v-field-label', {
11730
+ "class": normalizeClass(['v-field-label', {
11680
11731
  'v-field-label--floating': props.floating
11681
- }, props.class],
11682
- "style": props.style,
11732
+ }, props.class]),
11733
+ "style": normalizeStyle(props.style),
11683
11734
  "aria-hidden": props.floating || undefined
11684
11735
  }, slots));
11685
11736
  return {};
@@ -11856,7 +11907,7 @@ const VField = genericComponent()({
11856
11907
  for: id.value
11857
11908
  }
11858
11909
  }) : props.label;
11859
- return createVNode("div", mergeProps({
11910
+ return createElementVNode("div", mergeProps({
11860
11911
  "class": ['v-field', {
11861
11912
  'v-field--active': isActive.value,
11862
11913
  'v-field--appended': hasAppend,
@@ -11876,7 +11927,7 @@ const VField = genericComponent()({
11876
11927
  }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
11877
11928
  "style": [backgroundColorStyles.value, props.style],
11878
11929
  "onClick": onClick
11879
- }, attrs), [createVNode("div", {
11930
+ }, attrs), [createElementVNode("div", {
11880
11931
  "class": "v-field__overlay"
11881
11932
  }, null), createVNode(LoaderSlot, {
11882
11933
  "name": "v-field",
@@ -11884,23 +11935,23 @@ const VField = genericComponent()({
11884
11935
  "color": props.error ? 'error' : typeof props.loading === 'string' ? props.loading : props.color
11885
11936
  }, {
11886
11937
  default: slots.loader
11887
- }), hasPrepend && createVNode("div", {
11938
+ }), hasPrepend && createElementVNode("div", {
11888
11939
  "key": "prepend",
11889
11940
  "class": "v-field__prepend-inner"
11890
11941
  }, [props.prependInnerIcon && createVNode(InputIcon, {
11891
11942
  "key": "prepend-icon",
11892
11943
  "name": "prependInner",
11893
11944
  "color": iconColor.value
11894
- }, null), slots['prepend-inner']?.(slotProps.value)]), createVNode("div", {
11945
+ }, null), slots['prepend-inner']?.(slotProps.value)]), createElementVNode("div", {
11895
11946
  "class": "v-field__field",
11896
11947
  "data-no-activator": ""
11897
11948
  }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && createVNode(VFieldLabel, {
11898
11949
  "key": "floating-label",
11899
11950
  "ref": floatingLabelRef,
11900
- "class": [textColorClasses.value],
11951
+ "class": normalizeClass([textColorClasses.value]),
11901
11952
  "floating": true,
11902
11953
  "for": id.value,
11903
- "style": textColorStyles.value
11954
+ "style": normalizeStyle(textColorStyles.value)
11904
11955
  }, {
11905
11956
  default: () => [label()]
11906
11957
  }), hasLabel.value && createVNode(VFieldLabel, {
@@ -11918,14 +11969,14 @@ const VField = genericComponent()({
11918
11969
  },
11919
11970
  focus,
11920
11971
  blur
11921
- }) ?? createVNode("div", {
11972
+ }) ?? createElementVNode("div", {
11922
11973
  "id": id.value,
11923
11974
  "class": "v-field__input",
11924
11975
  "aria-describedby": messagesId.value
11925
11976
  }, null)]), hasClear && createVNode(VExpandXTransition, {
11926
11977
  "key": "clear"
11927
11978
  }, {
11928
- default: () => [withDirectives(createVNode("div", {
11979
+ default: () => [withDirectives(createElementVNode("div", {
11929
11980
  "class": "v-field__clearable",
11930
11981
  "onMousedown": e => {
11931
11982
  e.preventDefault();
@@ -11943,27 +11994,29 @@ const VField = genericComponent()({
11943
11994
  props: {
11944
11995
  onFocus: focus,
11945
11996
  onBlur: blur,
11946
- onClick: props['onClick:clear']
11997
+ onClick: props['onClick:clear'],
11998
+ tabindex: -1
11947
11999
  }
11948
12000
  }) : createVNode(InputIcon, {
11949
12001
  "name": "clear",
11950
12002
  "onFocus": focus,
11951
- "onBlur": blur
12003
+ "onBlur": blur,
12004
+ "tabindex": -1
11952
12005
  }, null)]
11953
12006
  })]), [[vShow, props.dirty]])]
11954
- }), hasAppend && createVNode("div", {
12007
+ }), hasAppend && createElementVNode("div", {
11955
12008
  "key": "append",
11956
12009
  "class": "v-field__append-inner"
11957
12010
  }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && createVNode(InputIcon, {
11958
12011
  "key": "append-icon",
11959
12012
  "name": "appendInner",
11960
12013
  "color": iconColor.value
11961
- }, null)]), createVNode("div", {
11962
- "class": ['v-field__outline', textColorClasses.value],
11963
- "style": textColorStyles.value
11964
- }, [isOutlined && createVNode(Fragment, null, [createVNode("div", {
12014
+ }, null)]), createElementVNode("div", {
12015
+ "class": normalizeClass(['v-field__outline', textColorClasses.value]),
12016
+ "style": normalizeStyle(textColorStyles.value)
12017
+ }, [isOutlined && createElementVNode(Fragment, null, [createElementVNode("div", {
11965
12018
  "class": "v-field__outline__start"
11966
- }, null), hasFloatingLabel.value && createVNode("div", {
12019
+ }, null), hasFloatingLabel.value && createElementVNode("div", {
11967
12020
  "class": "v-field__outline__notch"
11968
12021
  }, [createVNode(VFieldLabel, {
11969
12022
  "ref": floatingLabelRef,
@@ -11971,7 +12024,7 @@ const VField = genericComponent()({
11971
12024
  "for": id.value
11972
12025
  }, {
11973
12026
  default: () => [label()]
11974
- })]), createVNode("div", {
12027
+ })]), createElementVNode("div", {
11975
12028
  "class": "v-field__outline__end"
11976
12029
  }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && createVNode(VFieldLabel, {
11977
12030
  "ref": floatingLabelRef,
@@ -12012,7 +12065,7 @@ const makeVTextFieldProps = propsFactory({
12012
12065
  const VTextField = genericComponent()({
12013
12066
  name: 'VTextField',
12014
12067
  directives: {
12015
- Intersect
12068
+ vIntersect: Intersect
12016
12069
  },
12017
12070
  inheritAttrs: false,
12018
12071
  props: makeVTextFieldProps(),
@@ -12144,7 +12197,7 @@ const VTextField = genericComponent()({
12144
12197
  ...slotProps
12145
12198
  }
12146
12199
  } = _ref3;
12147
- const inputNode = withDirectives(createVNode("input", mergeProps({
12200
+ const inputNode = withDirectives(createElementVNode("input", mergeProps({
12148
12201
  "ref": inputRef,
12149
12202
  "value": model.value,
12150
12203
  "onInput": onInput,
@@ -12157,29 +12210,29 @@ const VTextField = genericComponent()({
12157
12210
  "type": props.type,
12158
12211
  "onFocus": onFocus,
12159
12212
  "onBlur": blur
12160
- }, slotProps, inputAttrs), null), [[resolveDirective("intersect"), {
12213
+ }, slotProps, inputAttrs), null), [[Intersect, {
12161
12214
  handler: onIntersect
12162
12215
  }, null, {
12163
12216
  once: true
12164
12217
  }]]);
12165
- return createVNode(Fragment, null, [props.prefix && createVNode("span", {
12218
+ return createElementVNode(Fragment, null, [props.prefix && createElementVNode("span", {
12166
12219
  "class": "v-text-field__prefix"
12167
- }, [createVNode("span", {
12220
+ }, [createElementVNode("span", {
12168
12221
  "class": "v-text-field__prefix__text"
12169
- }, [props.prefix])]), slots.default ? createVNode("div", {
12170
- "class": fieldClass,
12222
+ }, [props.prefix])]), slots.default ? createElementVNode("div", {
12223
+ "class": normalizeClass(fieldClass),
12171
12224
  "data-no-activator": ""
12172
12225
  }, [slots.default(), inputNode]) : cloneVNode(inputNode, {
12173
12226
  class: fieldClass
12174
- }), props.suffix && createVNode("span", {
12227
+ }), props.suffix && createElementVNode("span", {
12175
12228
  "class": "v-text-field__suffix"
12176
- }, [createVNode("span", {
12229
+ }, [createElementVNode("span", {
12177
12230
  "class": "v-text-field__suffix__text"
12178
12231
  }, [props.suffix])])]);
12179
12232
  }
12180
12233
  });
12181
12234
  },
12182
- details: hasDetails ? slotProps => createVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createVNode(Fragment, null, [createVNode("span", null, null), createVNode(VCounter, {
12235
+ details: hasDetails ? slotProps => createElementVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createElementVNode(Fragment, null, [createElementVNode("span", null, null), createVNode(VCounter, {
12183
12236
  "active": props.persistentCounter || isFocused.value,
12184
12237
  "value": counterValue.value,
12185
12238
  "max": max.value,
@@ -12217,9 +12270,9 @@ const VVirtualScrollItem = genericComponent()({
12217
12270
  watch(() => contentRect.value?.height, height => {
12218
12271
  if (height != null) emit('update:height', height);
12219
12272
  });
12220
- useRender(() => props.renderless ? createVNode(Fragment, null, [slots.default?.({
12273
+ useRender(() => props.renderless ? createElementVNode(Fragment, null, [slots.default?.({
12221
12274
  itemRef: resizeRef
12222
- })]) : createVNode("div", mergeProps({
12275
+ })]) : createElementVNode("div", mergeProps({
12223
12276
  "ref": resizeRef,
12224
12277
  "class": ['v-virtual-scroll__item', props.class],
12225
12278
  "style": props.style
@@ -12554,30 +12607,30 @@ const VVirtualScroll = genericComponent()({
12554
12607
  ...slotProps
12555
12608
  })
12556
12609
  }));
12557
- return props.renderless ? createVNode(Fragment, null, [createVNode("div", {
12610
+ return props.renderless ? createElementVNode(Fragment, null, [createElementVNode("div", {
12558
12611
  "ref": markerRef,
12559
12612
  "class": "v-virtual-scroll__spacer",
12560
- "style": {
12613
+ "style": normalizeStyle({
12561
12614
  paddingTop: convertToUnit(paddingTop.value)
12562
- }
12563
- }, null), children, createVNode("div", {
12615
+ })
12616
+ }, null), children, createElementVNode("div", {
12564
12617
  "class": "v-virtual-scroll__spacer",
12565
- "style": {
12618
+ "style": normalizeStyle({
12566
12619
  paddingBottom: convertToUnit(paddingBottom.value)
12567
- }
12568
- }, null)]) : createVNode("div", {
12620
+ })
12621
+ }, null)]) : createElementVNode("div", {
12569
12622
  "ref": containerRef,
12570
- "class": ['v-virtual-scroll', props.class],
12623
+ "class": normalizeClass(['v-virtual-scroll', props.class]),
12571
12624
  "onScrollPassive": handleScroll,
12572
12625
  "onScrollend": handleScrollend,
12573
- "style": [dimensionStyles.value, props.style]
12574
- }, [createVNode("div", {
12626
+ "style": normalizeStyle([dimensionStyles.value, props.style])
12627
+ }, [createElementVNode("div", {
12575
12628
  "ref": markerRef,
12576
12629
  "class": "v-virtual-scroll__container",
12577
- "style": {
12630
+ "style": normalizeStyle({
12578
12631
  paddingTop: convertToUnit(paddingTop.value),
12579
12632
  paddingBottom: convertToUnit(paddingBottom.value)
12580
- }
12633
+ })
12581
12634
  }, [children])]);
12582
12635
  });
12583
12636
  return {
@@ -12739,6 +12792,7 @@ const VSelect = genericComponent()({
12739
12792
  const selectedValues = computed(() => model.value.map(selection => selection.value));
12740
12793
  const isFocused = shallowRef(false);
12741
12794
  let keyboardLookupPrefix = '';
12795
+ let keyboardLookupIndex = -1;
12742
12796
  let keyboardLookupLastTime;
12743
12797
  const displayItems = computed(() => {
12744
12798
  if (props.hideSelected) {
@@ -12806,18 +12860,46 @@ const VSelect = genericComponent()({
12806
12860
  const now = performance.now();
12807
12861
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
12808
12862
  keyboardLookupPrefix = '';
12863
+ keyboardLookupIndex = -1;
12809
12864
  }
12810
12865
  keyboardLookupPrefix += e.key.toLowerCase();
12811
12866
  keyboardLookupLastTime = now;
12812
- const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
12813
- if (item !== undefined) {
12814
- if (!props.multiple) {
12815
- model.value = [item];
12867
+ const items = displayItems.value;
12868
+ function findItem() {
12869
+ let result = findItemBase();
12870
+ if (result) return result;
12871
+ if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
12872
+ // No matches but we have a repeated letter, try the next item with that prefix
12873
+ keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
12874
+ result = findItemBase();
12875
+ if (result) return result;
12816
12876
  }
12817
- const index = displayItems.value.indexOf(item);
12818
- if (~index && IN_BROWSER) {
12819
- listRef.value?.focus(index);
12877
+
12878
+ // Still nothing, wrap around to the top
12879
+ keyboardLookupIndex = -1;
12880
+ result = findItemBase();
12881
+ if (result) return result;
12882
+
12883
+ // Still nothing, try just the new letter
12884
+ keyboardLookupPrefix = e.key.toLowerCase();
12885
+ return findItemBase();
12886
+ }
12887
+ function findItemBase() {
12888
+ for (let i = keyboardLookupIndex + 1; i < items.length; i++) {
12889
+ const _item = items[i];
12890
+ if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
12891
+ return [_item, i];
12892
+ }
12820
12893
  }
12894
+ return undefined;
12895
+ }
12896
+ const result = findItem();
12897
+ if (!result) return;
12898
+ const [item, index] = result;
12899
+ keyboardLookupIndex = index;
12900
+ listRef.value?.focus(index);
12901
+ if (!props.multiple) {
12902
+ model.value = [item];
12821
12903
  }
12822
12904
  }
12823
12905
 
@@ -12919,7 +13001,7 @@ const VSelect = genericComponent()({
12919
13001
  "title": t(label.value)
12920
13002
  }), {
12921
13003
  ...slots,
12922
- default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({
13004
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, mergeProps({
12923
13005
  "ref": vMenuRef,
12924
13006
  "modelValue": menu.value,
12925
13007
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -12977,7 +13059,7 @@ const VSelect = genericComponent()({
12977
13059
  let {
12978
13060
  isSelected
12979
13061
  } = _ref3;
12980
- return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
13062
+ return createElementVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
12981
13063
  "key": item.value,
12982
13064
  "modelValue": isSelected,
12983
13065
  "ripple": false,
@@ -13023,7 +13105,7 @@ const VSelect = genericComponent()({
13023
13105
  index
13024
13106
  })) : undefined;
13025
13107
  if (hasSlot && !slotContent) return undefined;
13026
- return createVNode("div", {
13108
+ return createElementVNode("div", {
13027
13109
  "key": item.value,
13028
13110
  "class": "v-select__selection"
13029
13111
  }, [hasChips ? !slots.chip ? createVNode(VChip, mergeProps({
@@ -13043,9 +13125,9 @@ const VSelect = genericComponent()({
13043
13125
  }
13044
13126
  }, {
13045
13127
  default: () => [slotContent]
13046
- }) : slotContent ?? createVNode("span", {
13128
+ }) : slotContent ?? createElementVNode("span", {
13047
13129
  "class": "v-select__selection-text"
13048
- }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
13130
+ }, [item.title, props.multiple && index < model.value.length - 1 && createElementVNode("span", {
13049
13131
  "class": "v-select__selection-comma"
13050
13132
  }, [createTextVNode(",")])])]);
13051
13133
  })]),
@@ -13053,7 +13135,7 @@ const VSelect = genericComponent()({
13053
13135
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13054
13136
  args[_key] = arguments[_key];
13055
13137
  }
13056
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
13138
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
13057
13139
  "class": "v-select__menu-icon",
13058
13140
  "color": vTextFieldRef.value?.fieldIconColor,
13059
13141
  "icon": props.menuIcon
@@ -13204,17 +13286,17 @@ function highlightResult(name, text, matches) {
13204
13286
  if (matches == null || !matches.length) return text;
13205
13287
  return matches.map((match, i) => {
13206
13288
  const start = i === 0 ? 0 : matches[i - 1][1];
13207
- const result = [createVNode("span", {
13208
- "class": `${name}__unmask`
13209
- }, [text.slice(start, match[0])]), createVNode("span", {
13210
- "class": `${name}__mask`
13289
+ const result = [createElementVNode("span", {
13290
+ "class": normalizeClass(`${name}__unmask`)
13291
+ }, [text.slice(start, match[0])]), createElementVNode("span", {
13292
+ "class": normalizeClass(`${name}__mask`)
13211
13293
  }, [text.slice(match[0], match[1])])];
13212
13294
  if (i === matches.length - 1) {
13213
- result.push(createVNode("span", {
13214
- "class": `${name}__unmask`
13295
+ result.push(createElementVNode("span", {
13296
+ "class": normalizeClass(`${name}__unmask`)
13215
13297
  }, [text.slice(match[1])]));
13216
13298
  }
13217
- return createVNode(Fragment, null, [result]);
13299
+ return createElementVNode(Fragment, null, [result]);
13218
13300
  });
13219
13301
  }
13220
13302
 
@@ -13516,7 +13598,7 @@ const VAutocomplete = genericComponent()({
13516
13598
  "onKeydown": onKeydown
13517
13599
  }), {
13518
13600
  ...slots,
13519
- default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({
13601
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, mergeProps({
13520
13602
  "ref": vMenuRef,
13521
13603
  "modelValue": menu.value,
13522
13604
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -13575,7 +13657,7 @@ const VAutocomplete = genericComponent()({
13575
13657
  let {
13576
13658
  isSelected
13577
13659
  } = _ref4;
13578
- return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
13660
+ return createElementVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
13579
13661
  "key": item.value,
13580
13662
  "modelValue": isSelected,
13581
13663
  "ripple": false,
@@ -13624,10 +13706,10 @@ const VAutocomplete = genericComponent()({
13624
13706
  index
13625
13707
  })) : undefined;
13626
13708
  if (hasSlot && !slotContent) return undefined;
13627
- return createVNode("div", {
13709
+ return createElementVNode("div", {
13628
13710
  "key": item.value,
13629
- "class": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],
13630
- "style": index === selectionIndex.value ? textColorStyles.value : {}
13711
+ "class": normalizeClass(['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]]),
13712
+ "style": normalizeStyle(index === selectionIndex.value ? textColorStyles.value : {})
13631
13713
  }, [hasChips.value ? !slots.chip ? createVNode(VChip, mergeProps({
13632
13714
  "key": "chip",
13633
13715
  "closable": props.closableChips,
@@ -13645,9 +13727,9 @@ const VAutocomplete = genericComponent()({
13645
13727
  }
13646
13728
  }, {
13647
13729
  default: () => [slotContent]
13648
- }) : slotContent ?? createVNode("span", {
13730
+ }) : slotContent ?? createElementVNode("span", {
13649
13731
  "class": "v-autocomplete__selection-text"
13650
- }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
13732
+ }, [item.title, props.multiple && index < model.value.length - 1 && createElementVNode("span", {
13651
13733
  "class": "v-autocomplete__selection-comma"
13652
13734
  }, [createTextVNode(",")])])]);
13653
13735
  })]),
@@ -13655,7 +13737,7 @@ const VAutocomplete = genericComponent()({
13655
13737
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13656
13738
  args[_key] = arguments[_key];
13657
13739
  }
13658
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
13740
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
13659
13741
  "class": "v-autocomplete__menu-icon",
13660
13742
  "color": vTextFieldRef.value?.fieldIconColor,
13661
13743
  "icon": props.menuIcon,
@@ -13752,12 +13834,12 @@ const VBadge = genericComponent()({
13752
13834
  }, attrs, {
13753
13835
  "style": props.style
13754
13836
  }), {
13755
- default: () => [createVNode("div", {
13837
+ default: () => [createElementVNode("div", {
13756
13838
  "class": "v-badge__wrapper"
13757
13839
  }, [ctx.slots.default?.(), createVNode(MaybeTransition, {
13758
13840
  "transition": props.transition
13759
13841
  }, {
13760
- default: () => [withDirectives(createVNode("span", mergeProps({
13842
+ default: () => [withDirectives(createElementVNode("span", mergeProps({
13761
13843
  "class": ['v-badge__badge', themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value],
13762
13844
  "style": [backgroundColorStyles.value, textColorStyles.value, props.inline ? {} : locationStyles.value],
13763
13845
  "aria-atomic": "true",
@@ -13794,9 +13876,9 @@ const VBannerActions = genericComponent()({
13794
13876
  variant: 'text'
13795
13877
  }
13796
13878
  });
13797
- useRender(() => createVNode("div", {
13798
- "class": ['v-banner-actions', props.class],
13799
- "style": props.style
13879
+ useRender(() => createElementVNode("div", {
13880
+ "class": normalizeClass(['v-banner-actions', props.class]),
13881
+ "style": normalizeStyle(props.style)
13800
13882
  }, [slots.default?.()]));
13801
13883
  return {};
13802
13884
  }
@@ -13882,15 +13964,15 @@ const VBanner = genericComponent()({
13882
13964
  const hasPrependMedia = !!(props.avatar || props.icon);
13883
13965
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
13884
13966
  return createVNode(props.tag, {
13885
- "class": ['v-banner', {
13967
+ "class": normalizeClass(['v-banner', {
13886
13968
  'v-banner--stacked': props.stacked || mobile.value,
13887
13969
  'v-banner--sticky': props.sticky,
13888
13970
  [`v-banner--${props.lines}-line`]: !!props.lines
13889
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
13890
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
13971
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),
13972
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]),
13891
13973
  "role": "banner"
13892
13974
  }, {
13893
- default: () => [hasPrepend && createVNode("div", {
13975
+ default: () => [hasPrepend && createElementVNode("div", {
13894
13976
  "key": "prepend",
13895
13977
  "class": "v-banner__prepend"
13896
13978
  }, [!slots.prepend ? createVNode(VAvatar, {
@@ -13910,7 +13992,7 @@ const VBanner = genericComponent()({
13910
13992
  image: props.avatar
13911
13993
  }
13912
13994
  }
13913
- }, slots.prepend)]), createVNode("div", {
13995
+ }, slots.prepend)]), createElementVNode("div", {
13914
13996
  "class": "v-banner__content"
13915
13997
  }, [hasText && createVNode(VBannerText, {
13916
13998
  "key": "text"
@@ -14019,16 +14101,16 @@ const VBottomNavigation = genericComponent()({
14019
14101
  });
14020
14102
  useRender(() => {
14021
14103
  return createVNode(props.tag, {
14022
- "class": ['v-bottom-navigation', {
14104
+ "class": normalizeClass(['v-bottom-navigation', {
14023
14105
  'v-bottom-navigation--active': isActive.value,
14024
14106
  'v-bottom-navigation--grow': props.grow,
14025
14107
  'v-bottom-navigation--shift': props.mode === 'shift'
14026
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
14027
- "style": [backgroundColorStyles.value, layoutItemStyles.value, {
14108
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
14109
+ "style": normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, {
14028
14110
  height: convertToUnit(height.value)
14029
- }, ssrBootStyles.value, props.style]
14111
+ }, ssrBootStyles.value, props.style])
14030
14112
  }, {
14031
- default: () => [slots.default && createVNode("div", {
14113
+ default: () => [slots.default && createElementVNode("div", {
14032
14114
  "class": "v-bottom-navigation__content"
14033
14115
  }, [slots.default()])]
14034
14116
  });
@@ -14215,10 +14297,10 @@ const VBreadcrumbsDivider = genericComponent()({
14215
14297
  let {
14216
14298
  slots
14217
14299
  } = _ref;
14218
- useRender(() => createVNode("li", {
14300
+ useRender(() => createElementVNode("li", {
14219
14301
  "aria-hidden": "true",
14220
- "class": ['v-breadcrumbs-divider', props.class],
14221
- "style": props.style
14302
+ "class": normalizeClass(['v-breadcrumbs-divider', props.class]),
14303
+ "style": normalizeStyle(props.style)
14222
14304
  }, [slots?.default?.() ?? props.divider]));
14223
14305
  return {};
14224
14306
  }
@@ -14253,15 +14335,15 @@ const VBreadcrumbsItem = genericComponent()({
14253
14335
  } = useTextColor(() => isActive.value ? props.activeColor : props.color);
14254
14336
  useRender(() => {
14255
14337
  return createVNode(props.tag, {
14256
- "class": ['v-breadcrumbs-item', {
14338
+ "class": normalizeClass(['v-breadcrumbs-item', {
14257
14339
  'v-breadcrumbs-item--active': isActive.value,
14258
14340
  'v-breadcrumbs-item--disabled': props.disabled,
14259
14341
  [`${props.activeClass}`]: isActive.value && props.activeClass
14260
- }, textColorClasses.value, props.class],
14261
- "style": [textColorStyles.value, props.style],
14342
+ }, textColorClasses.value, props.class]),
14343
+ "style": normalizeStyle([textColorStyles.value, props.style]),
14262
14344
  "aria-current": isActive.value ? 'page' : undefined
14263
14345
  }, {
14264
- default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createVNode("a", mergeProps({
14346
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createElementVNode("a", mergeProps({
14265
14347
  "class": "v-breadcrumbs-item--link",
14266
14348
  "onClick": link.navigate
14267
14349
  }, link.linkProps), [slots.default?.() ?? props.title])]
@@ -14337,10 +14419,10 @@ const VBreadcrumbs = genericComponent()({
14337
14419
  useRender(() => {
14338
14420
  const hasPrepend = !!(slots.prepend || props.icon);
14339
14421
  return createVNode(props.tag, {
14340
- "class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
14341
- "style": [backgroundColorStyles.value, props.style]
14422
+ "class": normalizeClass(['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class]),
14423
+ "style": normalizeStyle([backgroundColorStyles.value, props.style])
14342
14424
  }, {
14343
- default: () => [hasPrepend && createVNode("li", {
14425
+ default: () => [hasPrepend && createElementVNode("li", {
14344
14426
  "key": "prepend",
14345
14427
  "class": "v-breadcrumbs__prepend"
14346
14428
  }, [!slots.prepend ? createVNode(VIcon, {
@@ -14361,7 +14443,7 @@ const VBreadcrumbs = genericComponent()({
14361
14443
  item,
14362
14444
  raw
14363
14445
  } = _ref2;
14364
- return createVNode(Fragment, null, [slots.item?.({
14446
+ return createElementVNode(Fragment, null, [slots.item?.({
14365
14447
  item,
14366
14448
  index
14367
14449
  }) ?? createVNode(VBreadcrumbsItem, mergeProps({
@@ -14400,9 +14482,9 @@ const VCardActions = genericComponent()({
14400
14482
  variant: 'text'
14401
14483
  }
14402
14484
  });
14403
- useRender(() => createVNode("div", {
14404
- "class": ['v-card-actions', props.class],
14405
- "style": props.style
14485
+ useRender(() => createElementVNode("div", {
14486
+ "class": normalizeClass(['v-card-actions', props.class]),
14487
+ "style": normalizeStyle(props.style)
14406
14488
  }, [slots.default?.()]));
14407
14489
  return {};
14408
14490
  }
@@ -14421,10 +14503,10 @@ const VCardSubtitle = genericComponent()({
14421
14503
  slots
14422
14504
  } = _ref;
14423
14505
  useRender(() => createVNode(props.tag, {
14424
- "class": ['v-card-subtitle', props.class],
14425
- "style": [{
14506
+ "class": normalizeClass(['v-card-subtitle', props.class]),
14507
+ "style": normalizeStyle([{
14426
14508
  '--v-card-subtitle-opacity': props.opacity
14427
- }, props.style]
14509
+ }, props.style])
14428
14510
  }, slots));
14429
14511
  return {};
14430
14512
  }
@@ -14463,13 +14545,13 @@ const VCardItem = genericComponent()({
14463
14545
  const hasAppend = !!(hasAppendMedia || slots.append);
14464
14546
  const hasTitle = !!(props.title != null || slots.title);
14465
14547
  const hasSubtitle = !!(props.subtitle != null || slots.subtitle);
14466
- return createVNode("div", {
14467
- "class": ['v-card-item', props.class],
14468
- "style": props.style
14469
- }, [hasPrepend && createVNode("div", {
14548
+ return createElementVNode("div", {
14549
+ "class": normalizeClass(['v-card-item', props.class]),
14550
+ "style": normalizeStyle(props.style)
14551
+ }, [hasPrepend && createElementVNode("div", {
14470
14552
  "key": "prepend",
14471
14553
  "class": "v-card-item__prepend"
14472
- }, [!slots.prepend ? createVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
14554
+ }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
14473
14555
  "key": "prepend-avatar",
14474
14556
  "density": props.density,
14475
14557
  "image": props.prependAvatar
@@ -14490,7 +14572,7 @@ const VCardItem = genericComponent()({
14490
14572
  icon: props.prependIcon
14491
14573
  }
14492
14574
  }
14493
- }, slots.prepend)]), createVNode("div", {
14575
+ }, slots.prepend)]), createElementVNode("div", {
14494
14576
  "class": "v-card-item__content"
14495
14577
  }, [hasTitle && createVNode(VCardTitle, {
14496
14578
  "key": "title"
@@ -14500,10 +14582,10 @@ const VCardItem = genericComponent()({
14500
14582
  "key": "subtitle"
14501
14583
  }, {
14502
14584
  default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
14503
- }), slots.default?.()]), hasAppend && createVNode("div", {
14585
+ }), slots.default?.()]), hasAppend && createElementVNode("div", {
14504
14586
  "key": "append",
14505
14587
  "class": "v-card-item__append"
14506
- }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
14588
+ }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
14507
14589
  "key": "append-icon",
14508
14590
  "density": props.density,
14509
14591
  "icon": props.appendIcon
@@ -14543,10 +14625,10 @@ const VCardText = genericComponent()({
14543
14625
  slots
14544
14626
  } = _ref;
14545
14627
  useRender(() => createVNode(props.tag, {
14546
- "class": ['v-card-text', props.class],
14547
- "style": [{
14628
+ "class": normalizeClass(['v-card-text', props.class]),
14629
+ "style": normalizeStyle([{
14548
14630
  '--v-card-text-opacity': props.opacity
14549
- }, props.style]
14631
+ }, props.style])
14550
14632
  }, slots));
14551
14633
  return {};
14552
14634
  }
@@ -14602,7 +14684,7 @@ const makeVCardProps = propsFactory({
14602
14684
  const VCard = genericComponent()({
14603
14685
  name: 'VCard',
14604
14686
  directives: {
14605
- Ripple
14687
+ vRipple: Ripple
14606
14688
  },
14607
14689
  props: makeVCardProps(),
14608
14690
  setup(props, _ref) {
@@ -14666,7 +14748,7 @@ const VCard = genericComponent()({
14666
14748
  "onClick": isClickable && link.navigate,
14667
14749
  "tabindex": props.disabled ? -1 : undefined
14668
14750
  }, link.linkProps), {
14669
- default: () => [hasImage && createVNode("div", {
14751
+ default: () => [hasImage && createElementVNode("div", {
14670
14752
  "key": "image",
14671
14753
  "class": "v-card__image"
14672
14754
  }, [!slots.image ? createVNode(VImg, {
@@ -14709,7 +14791,7 @@ const VCard = genericComponent()({
14709
14791
  }), slots.default?.(), slots.actions && createVNode(VCardActions, null, {
14710
14792
  default: slots.actions
14711
14793
  }), genOverlays(isClickable, 'v-card')]
14712
- }), [[resolveDirective("ripple"), isClickable && props.ripple]]);
14794
+ }), [[Ripple, isClickable && props.ripple]]);
14713
14795
  });
14714
14796
  return {};
14715
14797
  }
@@ -14868,7 +14950,7 @@ const makeVWindowProps = propsFactory({
14868
14950
  const VWindow = genericComponent()({
14869
14951
  name: 'VWindow',
14870
14952
  directives: {
14871
- Touch
14953
+ vTouch: Touch
14872
14954
  },
14873
14955
  props: makeVWindowProps(),
14874
14956
  emits: {
@@ -14940,7 +15022,7 @@ const VWindow = genericComponent()({
14940
15022
  };
14941
15023
  arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
14942
15024
  props: prevProps
14943
- }) : createVNode(VBtn, prevProps, null) : createVNode("div", null, null));
15025
+ }) : createVNode(VBtn, prevProps, null) : createElementVNode("div", null, null));
14944
15026
  const nextProps = {
14945
15027
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
14946
15028
  class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
@@ -14949,7 +15031,7 @@ const VWindow = genericComponent()({
14949
15031
  };
14950
15032
  arrows.push(canMoveForward.value ? slots.next ? slots.next({
14951
15033
  props: nextProps
14952
- }) : createVNode(VBtn, nextProps, null) : createVNode("div", null, null));
15034
+ }) : createVNode(VBtn, nextProps, null) : createElementVNode("div", null, null));
14953
15035
  return arrows;
14954
15036
  });
14955
15037
  const touchOptions = computed(() => {
@@ -14975,24 +15057,24 @@ const VWindow = genericComponent()({
14975
15057
  });
14976
15058
  useRender(() => withDirectives(createVNode(props.tag, {
14977
15059
  "ref": rootRef,
14978
- "class": ['v-window', {
15060
+ "class": normalizeClass(['v-window', {
14979
15061
  'v-window--show-arrows-on-hover': props.showArrows === 'hover'
14980
- }, themeClasses.value, props.class],
14981
- "style": props.style
15062
+ }, themeClasses.value, props.class]),
15063
+ "style": normalizeStyle(props.style)
14982
15064
  }, {
14983
- default: () => [createVNode("div", {
15065
+ default: () => [createElementVNode("div", {
14984
15066
  "class": "v-window__container",
14985
- "style": {
15067
+ "style": normalizeStyle({
14986
15068
  height: transitionHeight.value
14987
- }
15069
+ })
14988
15070
  }, [slots.default?.({
14989
15071
  group
14990
- }), props.showArrows !== false && createVNode("div", {
15072
+ }), props.showArrows !== false && createElementVNode("div", {
14991
15073
  "class": "v-window__controls"
14992
15074
  }, [arrows.value])]), slots.additional?.({
14993
15075
  group
14994
15076
  })]
14995
- }), [[resolveDirective("touch"), touchOptions.value]]));
15077
+ }), [[Touch, touchOptions.value]]));
14996
15078
  return {
14997
15079
  group
14998
15080
  };
@@ -15077,12 +15159,12 @@ const VCarousel = genericComponent()({
15077
15159
  let {
15078
15160
  group
15079
15161
  } = _ref2;
15080
- return createVNode(Fragment, null, [!props.hideDelimiters && createVNode("div", {
15162
+ return createElementVNode(Fragment, null, [!props.hideDelimiters && createElementVNode("div", {
15081
15163
  "class": "v-carousel__controls",
15082
- "style": {
15164
+ "style": normalizeStyle({
15083
15165
  left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',
15084
15166
  right: props.verticalDelimiters === 'right' ? 0 : 'auto'
15085
- }
15167
+ })
15086
15168
  }, [group.items.value.length > 0 && createVNode(VDefaultsProvider, {
15087
15169
  "defaults": {
15088
15170
  VBtn: {
@@ -15136,7 +15218,7 @@ const makeVWindowItemProps = propsFactory({
15136
15218
  const VWindowItem = genericComponent()({
15137
15219
  name: 'VWindowItem',
15138
15220
  directives: {
15139
- Touch
15221
+ vTouch: Touch
15140
15222
  },
15141
15223
  props: makeVWindowItemProps(),
15142
15224
  emits: {
@@ -15220,9 +15302,9 @@ const VWindowItem = genericComponent()({
15220
15302
  "transition": transition.value,
15221
15303
  "disabled": !isBooted.value
15222
15304
  }, {
15223
- default: () => [withDirectives(createVNode("div", {
15224
- "class": ['v-window-item', groupItem.selectedClass.value, props.class],
15225
- "style": props.style
15305
+ default: () => [withDirectives(createElementVNode("div", {
15306
+ "class": normalizeClass(['v-window-item', groupItem.selectedClass.value, props.class]),
15307
+ "style": normalizeStyle(props.style)
15226
15308
  }, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
15227
15309
  }));
15228
15310
  return {
@@ -15422,21 +15504,21 @@ const VColorPickerCanvas = defineComponent({
15422
15504
  immediate: true
15423
15505
  });
15424
15506
  onMounted(() => updateCanvas());
15425
- useRender(() => createVNode("div", {
15507
+ useRender(() => createElementVNode("div", {
15426
15508
  "ref": resizeRef,
15427
- "class": ['v-color-picker-canvas', props.class],
15428
- "style": props.style,
15509
+ "class": normalizeClass(['v-color-picker-canvas', props.class]),
15510
+ "style": normalizeStyle(props.style),
15429
15511
  "onMousedown": handleMouseDown,
15430
15512
  "onTouchstartPassive": handleMouseDown
15431
- }, [createVNode("canvas", {
15513
+ }, [createElementVNode("canvas", {
15432
15514
  "ref": canvasRef,
15433
15515
  "width": canvasWidth.value,
15434
15516
  "height": canvasHeight.value
15435
- }, null), props.color && createVNode("div", {
15436
- "class": ['v-color-picker-canvas__dot', {
15517
+ }, null), props.color && createElementVNode("div", {
15518
+ "class": normalizeClass(['v-color-picker-canvas__dot', {
15437
15519
  'v-color-picker-canvas__dot--disabled': props.disabled
15438
- }],
15439
- "style": dotStyles.value
15520
+ }]),
15521
+ "style": normalizeStyle(dotStyles.value)
15440
15522
  }, null)]));
15441
15523
  return {};
15442
15524
  }
@@ -15636,9 +15718,9 @@ const VColorPickerInput = _ref => {
15636
15718
  label,
15637
15719
  ...rest
15638
15720
  } = _ref;
15639
- return createVNode("div", {
15721
+ return createElementVNode("div", {
15640
15722
  "class": "v-color-picker-edit__input"
15641
- }, [createVNode("input", rest, null), createVNode("span", null, [label])]);
15723
+ }, [createElementVNode("input", normalizeProps(guardReactiveProps(rest)), null), createElementVNode("span", null, [label])]);
15642
15724
  };
15643
15725
  const makeVColorPickerEditProps = propsFactory({
15644
15726
  color: Object,
@@ -15695,9 +15777,9 @@ const VColorPickerEdit = defineComponent({
15695
15777
  };
15696
15778
  });
15697
15779
  });
15698
- useRender(() => createVNode("div", {
15699
- "class": ['v-color-picker-edit', props.class],
15700
- "style": props.style
15780
+ useRender(() => createElementVNode("div", {
15781
+ "class": normalizeClass(['v-color-picker-edit', props.class]),
15782
+ "style": normalizeStyle(props.style)
15701
15783
  }, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
15702
15784
  "icon": "$unfold",
15703
15785
  "size": "x-small",
@@ -15861,7 +15943,7 @@ const useSlider = _ref => {
15861
15943
  const clickOffset = getPosition(e, position);
15862
15944
 
15863
15945
  // It is possible for left to be NaN, force to number
15864
- let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0;
15946
+ let clickPos = clamp((clickOffset - trackStart - startOffset.value) / trackLength) || 0;
15865
15947
  if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;
15866
15948
  return roundValue(min.value + clickPos * (max.value - min.value));
15867
15949
  }
@@ -16040,7 +16122,7 @@ const makeVSliderThumbProps = propsFactory({
16040
16122
  const VSliderThumb = genericComponent()({
16041
16123
  name: 'VSliderThumb',
16042
16124
  directives: {
16043
- Ripple
16125
+ vRipple: Ripple
16044
16126
  },
16045
16127
  props: makeVSliderThumbProps(),
16046
16128
  emits: {
@@ -16120,15 +16202,15 @@ const VSliderThumb = genericComponent()({
16120
16202
  }
16121
16203
  useRender(() => {
16122
16204
  const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');
16123
- return createVNode("div", {
16124
- "class": ['v-slider-thumb', {
16205
+ return createElementVNode("div", {
16206
+ "class": normalizeClass(['v-slider-thumb', {
16125
16207
  'v-slider-thumb--focused': props.focused,
16126
16208
  'v-slider-thumb--pressed': props.focused && mousePressed.value
16127
- }, props.class, rtlClasses.value],
16128
- "style": [{
16209
+ }, props.class, rtlClasses.value]),
16210
+ "style": normalizeStyle([{
16129
16211
  '--v-slider-thumb-position': positionPercentage,
16130
16212
  '--v-slider-thumb-size': convertToUnit(thumbSize.value)
16131
- }, props.style],
16213
+ }, props.style]),
16132
16214
  "role": "slider",
16133
16215
  "tabindex": disabled.value ? -1 : 0,
16134
16216
  "aria-label": props.name,
@@ -16138,25 +16220,25 @@ const VSliderThumb = genericComponent()({
16138
16220
  "aria-readonly": !!readonly.value,
16139
16221
  "aria-orientation": direction.value,
16140
16222
  "onKeydown": !readonly.value ? onKeydown : undefined
16141
- }, [createVNode("div", {
16142
- "class": ['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value],
16143
- "style": {
16223
+ }, [createElementVNode("div", {
16224
+ "class": normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),
16225
+ "style": normalizeStyle({
16144
16226
  ...textColorStyles.value
16145
- }
16146
- }, null), withDirectives(createVNode("div", {
16147
- "class": ['v-slider-thumb__ripple', textColorClasses.value],
16148
- "style": textColorStyles.value
16149
- }, null), [[resolveDirective("ripple"), props.ripple, null, {
16227
+ })
16228
+ }, null), withDirectives(createElementVNode("div", {
16229
+ "class": normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),
16230
+ "style": normalizeStyle(textColorStyles.value)
16231
+ }, null), [[Ripple, props.ripple, null, {
16150
16232
  circle: true,
16151
16233
  center: true
16152
16234
  }]]), createVNode(VScaleTransition, {
16153
16235
  "origin": "bottom center"
16154
16236
  }, {
16155
- default: () => [withDirectives(createVNode("div", {
16237
+ default: () => [withDirectives(createElementVNode("div", {
16156
16238
  "class": "v-slider-thumb__label-container"
16157
- }, [createVNode("div", {
16239
+ }, [createElementVNode("div", {
16158
16240
  "class": ['v-slider-thumb__label']
16159
- }, [createVNode("div", null, [slots['thumb-label']?.({
16241
+ }, [createElementVNode("div", null, [slots['thumb-label']?.({
16160
16242
  modelValue: props.modelValue
16161
16243
  }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
16162
16244
  })]);
@@ -16233,17 +16315,17 @@ const VSliderTrack = genericComponent()({
16233
16315
  const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;
16234
16316
  return ticks.map((tick, index) => {
16235
16317
  const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;
16236
- return createVNode("div", {
16318
+ return createElementVNode("div", {
16237
16319
  "key": tick.value,
16238
- "class": ['v-slider-track__tick', {
16320
+ "class": normalizeClass(['v-slider-track__tick', {
16239
16321
  'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,
16240
16322
  'v-slider-track__tick--first': tick.value === min.value,
16241
16323
  'v-slider-track__tick--last': tick.value === max.value
16242
- }],
16243
- "style": {
16324
+ }]),
16325
+ "style": normalizeStyle({
16244
16326
  [startDir.value]: directionValue
16245
- }
16246
- }, [(tick.label || slots['tick-label']) && createVNode("div", {
16327
+ })
16328
+ }, [(tick.label || slots['tick-label']) && createElementVNode("div", {
16247
16329
  "class": "v-slider-track__tick-label"
16248
16330
  }, [slots['tick-label']?.({
16249
16331
  tick,
@@ -16252,30 +16334,30 @@ const VSliderTrack = genericComponent()({
16252
16334
  });
16253
16335
  });
16254
16336
  useRender(() => {
16255
- return createVNode("div", {
16256
- "class": ['v-slider-track', roundedClasses.value, props.class],
16257
- "style": [{
16337
+ return createElementVNode("div", {
16338
+ "class": normalizeClass(['v-slider-track', roundedClasses.value, props.class]),
16339
+ "style": normalizeStyle([{
16258
16340
  '--v-slider-track-size': convertToUnit(trackSize.value),
16259
16341
  '--v-slider-tick-size': convertToUnit(tickSize.value)
16260
- }, props.style]
16261
- }, [createVNode("div", {
16262
- "class": ['v-slider-track__background', trackColorClasses.value, {
16342
+ }, props.style])
16343
+ }, [createElementVNode("div", {
16344
+ "class": normalizeClass(['v-slider-track__background', trackColorClasses.value, {
16263
16345
  'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
16264
- }],
16265
- "style": {
16346
+ }]),
16347
+ "style": normalizeStyle({
16266
16348
  ...backgroundStyles.value,
16267
16349
  ...trackColorStyles.value
16268
- }
16269
- }, null), createVNode("div", {
16270
- "class": ['v-slider-track__fill', trackFillColorClasses.value],
16271
- "style": {
16350
+ })
16351
+ }, null), createElementVNode("div", {
16352
+ "class": normalizeClass(['v-slider-track__fill', trackFillColorClasses.value]),
16353
+ "style": normalizeStyle({
16272
16354
  ...trackFillStyles.value,
16273
16355
  ...trackFillColorStyles.value
16274
- }
16275
- }, null), showTicks.value && createVNode("div", {
16276
- "class": ['v-slider-track__ticks', {
16356
+ })
16357
+ }, null), showTicks.value && createElementVNode("div", {
16358
+ "class": normalizeClass(['v-slider-track__ticks', {
16277
16359
  'v-slider-track__ticks--always-show': showTicks.value === 'always'
16278
- }]
16360
+ }])
16279
16361
  }, [computedTicks.value])]);
16280
16362
  });
16281
16363
  return {};
@@ -16369,7 +16451,7 @@ const VSlider = genericComponent()({
16369
16451
  "focused": isFocused.value
16370
16452
  }), {
16371
16453
  ...slots,
16372
- prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
16454
+ prepend: hasPrepend ? slotProps => createElementVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
16373
16455
  "id": slotProps.id.value,
16374
16456
  "class": "v-slider__label",
16375
16457
  "text": props.label
@@ -16379,11 +16461,11 @@ const VSlider = genericComponent()({
16379
16461
  id,
16380
16462
  messagesId
16381
16463
  } = _ref4;
16382
- return createVNode("div", {
16464
+ return createElementVNode("div", {
16383
16465
  "class": "v-slider__container",
16384
16466
  "onMousedown": !readonly.value ? onSliderMousedown : undefined,
16385
16467
  "onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
16386
- }, [createVNode("input", {
16468
+ }, [createElementVNode("input", {
16387
16469
  "id": id.value,
16388
16470
  "name": props.name || id.value,
16389
16471
  "disabled": !!props.disabled,
@@ -16456,12 +16538,12 @@ const VColorPickerPreview = defineComponent({
16456
16538
  });
16457
16539
  } catch (e) {}
16458
16540
  }
16459
- useRender(() => createVNode("div", {
16460
- "class": ['v-color-picker-preview', {
16541
+ useRender(() => createElementVNode("div", {
16542
+ "class": normalizeClass(['v-color-picker-preview', {
16461
16543
  'v-color-picker-preview--hide-alpha': props.hideAlpha
16462
- }, props.class],
16463
- "style": props.style
16464
- }, [SUPPORTS_EYE_DROPPER && createVNode("div", {
16544
+ }, props.class]),
16545
+ "style": normalizeStyle(props.style)
16546
+ }, [SUPPORTS_EYE_DROPPER && createElementVNode("div", {
16465
16547
  "class": "v-color-picker-preview__eye-dropper",
16466
16548
  "key": "eyeDropper"
16467
16549
  }, [createVNode(VBtn, {
@@ -16470,13 +16552,13 @@ const VColorPickerPreview = defineComponent({
16470
16552
  "icon": "$eyeDropper",
16471
16553
  "variant": "plain",
16472
16554
  "onClick": openEyeDropper
16473
- }, null)]), createVNode("div", {
16555
+ }, null)]), createElementVNode("div", {
16474
16556
  "class": "v-color-picker-preview__dot"
16475
- }, [createVNode("div", {
16476
- "style": {
16557
+ }, [createElementVNode("div", {
16558
+ "style": normalizeStyle({
16477
16559
  background: HSVtoCSS(props.color ?? nullColor)
16478
- }
16479
- }, null)]), createVNode("div", {
16560
+ })
16561
+ }, null)]), createElementVNode("div", {
16480
16562
  "class": "v-color-picker-preview__sliders"
16481
16563
  }, [createVNode(VSlider, {
16482
16564
  "class": "v-color-picker-preview__track v-color-picker-preview__hue",
@@ -16861,24 +16943,24 @@ const VColorPickerSwatches = defineComponent({
16861
16943
  let {
16862
16944
  emit
16863
16945
  } = _ref;
16864
- useRender(() => createVNode("div", {
16865
- "class": ['v-color-picker-swatches', props.class],
16866
- "style": [{
16946
+ useRender(() => createElementVNode("div", {
16947
+ "class": normalizeClass(['v-color-picker-swatches', props.class]),
16948
+ "style": normalizeStyle([{
16867
16949
  maxHeight: convertToUnit(props.maxHeight)
16868
- }, props.style]
16869
- }, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
16950
+ }, props.style])
16951
+ }, [createElementVNode("div", null, [props.swatches.map(swatch => createElementVNode("div", {
16870
16952
  "class": "v-color-picker-swatches__swatch"
16871
16953
  }, [swatch.map(color => {
16872
16954
  const rgba = parseColor(color);
16873
16955
  const hsva = RGBtoHSV(rgba);
16874
16956
  const background = RGBtoCSS(rgba);
16875
- return createVNode("div", {
16957
+ return createElementVNode("div", {
16876
16958
  "class": "v-color-picker-swatches__color",
16877
16959
  "onClick": () => hsva && emit('update:color', hsva)
16878
- }, [createVNode("div", {
16879
- "style": {
16960
+ }, [createElementVNode("div", {
16961
+ "style": normalizeStyle({
16880
16962
  background
16881
- }
16963
+ })
16882
16964
  }, [props.color && deepEqual(props.color, hsva) ? createVNode(VIcon, {
16883
16965
  "size": "x-small",
16884
16966
  "icon": "$success",
@@ -16937,8 +17019,8 @@ const VSheet = genericComponent()({
16937
17019
  roundedClasses
16938
17020
  } = useRounded(props);
16939
17021
  useRender(() => createVNode(props.tag, {
16940
- "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
16941
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
17022
+ "class": normalizeClass(['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),
17023
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style])
16942
17024
  }, slots));
16943
17025
  return {};
16944
17026
  }
@@ -16977,17 +17059,17 @@ const VPicker = genericComponent()({
16977
17059
  }, props.class],
16978
17060
  "style": props.style
16979
17061
  }), {
16980
- default: () => [!props.hideHeader && createVNode("div", {
17062
+ default: () => [!props.hideHeader && createElementVNode("div", {
16981
17063
  "key": "header",
16982
- "class": [backgroundColorClasses.value],
16983
- "style": [backgroundColorStyles.value]
17064
+ "class": normalizeClass([backgroundColorClasses.value]),
17065
+ "style": normalizeStyle([backgroundColorStyles.value])
16984
17066
  }, [hasTitle && createVNode(VPickerTitle, {
16985
17067
  "key": "picker-title"
16986
17068
  }, {
16987
17069
  default: () => [slots.title?.() ?? props.title]
16988
- }), slots.header && createVNode("div", {
17070
+ }), slots.header && createElementVNode("div", {
16989
17071
  "class": "v-picker__header"
16990
- }, [slots.header()])]), createVNode("div", {
17072
+ }, [slots.header()])]), createElementVNode("div", {
16991
17073
  "class": "v-picker__body"
16992
17074
  }, [slots.default?.()]), slots.actions && createVNode(VDefaultsProvider, {
16993
17075
  "defaults": {
@@ -16997,7 +17079,7 @@ const VPicker = genericComponent()({
16997
17079
  }
16998
17080
  }
16999
17081
  }, {
17000
- default: () => [createVNode("div", {
17082
+ default: () => [createElementVNode("div", {
17001
17083
  "class": "v-picker__actions"
17002
17084
  }, [slots.actions()])]
17003
17085
  })]
@@ -17859,7 +17941,7 @@ const VColorPicker = defineComponent({
17859
17941
  }, props.style]
17860
17942
  }), {
17861
17943
  ...slots,
17862
- default: () => createVNode(Fragment, null, [!props.hideCanvas && createVNode(VColorPickerCanvas, {
17944
+ default: () => createElementVNode(Fragment, null, [!props.hideCanvas && createVNode(VColorPickerCanvas, {
17863
17945
  "key": "canvas",
17864
17946
  "color": currentColor.value,
17865
17947
  "onUpdate:color": updateColor,
@@ -17867,7 +17949,7 @@ const VColorPicker = defineComponent({
17867
17949
  "dotSize": props.dotSize,
17868
17950
  "width": props.width,
17869
17951
  "height": props.canvasHeight
17870
- }, null), (!props.hideSliders || !props.hideInputs) && createVNode("div", {
17952
+ }, null), (!props.hideSliders || !props.hideInputs) && createElementVNode("div", {
17871
17953
  "key": "controls",
17872
17954
  "class": "v-color-picker__controls"
17873
17955
  }, [!props.hideSliders && createVNode(VColorPickerPreview, {
@@ -18242,7 +18324,7 @@ const VCombobox = genericComponent()({
18242
18324
  "onKeydown": onKeydown
18243
18325
  }), {
18244
18326
  ...slots,
18245
- default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({
18327
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, mergeProps({
18246
18328
  "ref": vMenuRef,
18247
18329
  "modelValue": menu.value,
18248
18330
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -18301,7 +18383,7 @@ const VCombobox = genericComponent()({
18301
18383
  let {
18302
18384
  isSelected
18303
18385
  } = _ref5;
18304
- return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
18386
+ return createElementVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
18305
18387
  "key": item.value,
18306
18388
  "modelValue": isSelected,
18307
18389
  "ripple": false,
@@ -18350,10 +18432,10 @@ const VCombobox = genericComponent()({
18350
18432
  index
18351
18433
  })) : undefined;
18352
18434
  if (hasSlot && !slotContent) return undefined;
18353
- return createVNode("div", {
18435
+ return createElementVNode("div", {
18354
18436
  "key": item.value,
18355
- "class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
18356
- "style": index === selectionIndex.value ? textColorStyles.value : {}
18437
+ "class": normalizeClass(['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]]),
18438
+ "style": normalizeStyle(index === selectionIndex.value ? textColorStyles.value : {})
18357
18439
  }, [hasChips.value ? !slots.chip ? createVNode(VChip, mergeProps({
18358
18440
  "key": "chip",
18359
18441
  "closable": props.closableChips,
@@ -18371,9 +18453,9 @@ const VCombobox = genericComponent()({
18371
18453
  }
18372
18454
  }, {
18373
18455
  default: () => [slotContent]
18374
- }) : slotContent ?? createVNode("span", {
18456
+ }) : slotContent ?? createElementVNode("span", {
18375
18457
  "class": "v-combobox__selection-text"
18376
- }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
18458
+ }, [item.title, props.multiple && index < model.value.length - 1 && createElementVNode("span", {
18377
18459
  "class": "v-combobox__selection-comma"
18378
18460
  }, [createTextVNode(",")])])]);
18379
18461
  })]),
@@ -18381,7 +18463,7 @@ const VCombobox = genericComponent()({
18381
18463
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18382
18464
  args[_key] = arguments[_key];
18383
18465
  }
18384
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? createVNode(VIcon, {
18466
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? createVNode(VIcon, {
18385
18467
  "class": "v-combobox__menu-icon",
18386
18468
  "color": vTextFieldRef.value?.fieldIconColor,
18387
18469
  "icon": props.menuIcon,
@@ -18469,7 +18551,7 @@ const VConfirmEdit = genericComponent()({
18469
18551
  emit('cancel');
18470
18552
  }
18471
18553
  function actions(actionsProps) {
18472
- return createVNode(Fragment, null, [createVNode(VBtn, mergeProps({
18554
+ return createElementVNode(Fragment, null, [createVNode(VBtn, mergeProps({
18473
18555
  "disabled": isCancelDisabled.value,
18474
18556
  "variant": "text",
18475
18557
  "color": props.color,
@@ -18485,7 +18567,7 @@ const VConfirmEdit = genericComponent()({
18485
18567
  }
18486
18568
  let actionsUsed = false;
18487
18569
  useRender(() => {
18488
- return createVNode(Fragment, null, [slots.default?.({
18570
+ return createElementVNode(Fragment, null, [slots.default?.({
18489
18571
  model: internalModel,
18490
18572
  save,
18491
18573
  cancel,
@@ -19368,10 +19450,10 @@ const VDataIterator = genericComponent()({
19368
19450
  groupedItems: paginatedItems.value
19369
19451
  }));
19370
19452
  useRender(() => createVNode(props.tag, {
19371
- "class": ['v-data-iterator', {
19453
+ "class": normalizeClass(['v-data-iterator', {
19372
19454
  'v-data-iterator--loading': props.loading
19373
- }, props.class],
19374
- "style": props.style
19455
+ }, props.class]),
19456
+ "style": normalizeStyle(props.style)
19375
19457
  }, {
19376
19458
  default: () => [slots.header?.(slotProps.value), createVNode(MaybeTransition, {
19377
19459
  "transition": props.transition
@@ -19382,7 +19464,7 @@ const VDataIterator = genericComponent()({
19382
19464
  "active": true
19383
19465
  }, {
19384
19466
  default: slotProps => slots.loader?.(slotProps)
19385
- }) : createVNode("div", {
19467
+ }) : createElementVNode("div", {
19386
19468
  "key": "items"
19387
19469
  }, [!paginatedItems.value.length ? slots['no-data']?.() : slots.default?.(slotProps.value)])]
19388
19470
  }), slots.footer?.(slotProps.value)]
@@ -19676,44 +19758,44 @@ const VPagination = genericComponent()({
19676
19758
  }
19677
19759
  useRender(() => createVNode(props.tag, {
19678
19760
  "ref": resizeRef,
19679
- "class": ['v-pagination', themeClasses.value, props.class],
19680
- "style": props.style,
19761
+ "class": normalizeClass(['v-pagination', themeClasses.value, props.class]),
19762
+ "style": normalizeStyle(props.style),
19681
19763
  "role": "navigation",
19682
19764
  "aria-label": t(props.ariaLabel),
19683
19765
  "onKeydown": onKeydown,
19684
19766
  "data-test": "v-pagination-root"
19685
19767
  }, {
19686
- default: () => [createVNode("ul", {
19768
+ default: () => [createElementVNode("ul", {
19687
19769
  "class": "v-pagination__list"
19688
- }, [props.showFirstLastPage && createVNode("li", {
19770
+ }, [props.showFirstLastPage && createElementVNode("li", {
19689
19771
  "key": "first",
19690
19772
  "class": "v-pagination__first",
19691
19773
  "data-test": "v-pagination-first"
19692
19774
  }, [slots.first ? slots.first(controls.value.first) : createVNode(VBtn, mergeProps({
19693
19775
  "_as": "VPaginationBtn"
19694
- }, controls.value.first), null)]), createVNode("li", {
19776
+ }, controls.value.first), null)]), createElementVNode("li", {
19695
19777
  "key": "prev",
19696
19778
  "class": "v-pagination__prev",
19697
19779
  "data-test": "v-pagination-prev"
19698
19780
  }, [slots.prev ? slots.prev(controls.value.prev) : createVNode(VBtn, mergeProps({
19699
19781
  "_as": "VPaginationBtn"
19700
- }, controls.value.prev), null)]), items.value.map((item, index) => createVNode("li", {
19782
+ }, controls.value.prev), null)]), items.value.map((item, index) => createElementVNode("li", {
19701
19783
  "key": item.key,
19702
- "class": ['v-pagination__item', {
19784
+ "class": normalizeClass(['v-pagination__item', {
19703
19785
  'v-pagination__item--is-active': item.isActive
19704
- }],
19786
+ }]),
19705
19787
  "data-test": "v-pagination-item"
19706
19788
  }, [slots.item ? slots.item(item) : createVNode(VBtn, mergeProps({
19707
19789
  "_as": "VPaginationBtn"
19708
19790
  }, item.props), {
19709
19791
  default: () => [item.page]
19710
- })])), createVNode("li", {
19792
+ })])), createElementVNode("li", {
19711
19793
  "key": "next",
19712
19794
  "class": "v-pagination__next",
19713
19795
  "data-test": "v-pagination-next"
19714
19796
  }, [slots.next ? slots.next(controls.value.next) : createVNode(VBtn, mergeProps({
19715
19797
  "_as": "VPaginationBtn"
19716
- }, controls.value.next), null)]), props.showFirstLastPage && createVNode("li", {
19798
+ }, controls.value.next), null)]), props.showFirstLastPage && createElementVNode("li", {
19717
19799
  "key": "last",
19718
19800
  "class": "v-pagination__last",
19719
19801
  "data-test": "v-pagination-last"
@@ -19822,20 +19904,20 @@ const VDataTableFooter = genericComponent()({
19822
19904
  }));
19823
19905
  useRender(() => {
19824
19906
  const paginationProps = VPagination.filterProps(props);
19825
- return createVNode("div", {
19907
+ return createElementVNode("div", {
19826
19908
  "class": "v-data-table-footer"
19827
- }, [slots.prepend?.(), createVNode("div", {
19909
+ }, [slots.prepend?.(), createElementVNode("div", {
19828
19910
  "class": "v-data-table-footer__items-per-page"
19829
- }, [createVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
19911
+ }, [createElementVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
19830
19912
  "items": itemsPerPageOptions.value,
19831
19913
  "modelValue": itemsPerPage.value,
19832
19914
  "onUpdate:modelValue": v => setItemsPerPage(Number(v)),
19833
19915
  "density": "compact",
19834
19916
  "variant": "outlined",
19835
19917
  "hide-details": true
19836
- }, null)]), createVNode("div", {
19918
+ }, null)]), createElementVNode("div", {
19837
19919
  "class": "v-data-table-footer__info"
19838
- }, [createVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), createVNode("div", {
19920
+ }, [createElementVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), createElementVNode("div", {
19839
19921
  "class": "v-data-table-footer__pagination"
19840
19922
  }, [createVNode(VPagination, mergeProps({
19841
19923
  "modelValue": page.value,
@@ -19878,18 +19960,18 @@ const VDataTableColumn = defineFunctionalComponent({
19878
19960
  } = _ref;
19879
19961
  const Tag = props.tag ?? 'td';
19880
19962
  return createVNode(Tag, {
19881
- "class": ['v-data-table__td', {
19963
+ "class": normalizeClass(['v-data-table__td', {
19882
19964
  'v-data-table-column--fixed': props.fixed,
19883
19965
  'v-data-table-column--last-fixed': props.lastFixed,
19884
19966
  'v-data-table-column--no-padding': props.noPadding,
19885
19967
  'v-data-table-column--nowrap': props.nowrap
19886
- }, `v-data-table-column--align-${props.align}`],
19887
- "style": {
19968
+ }, `v-data-table-column--align-${props.align}`]),
19969
+ "style": normalizeStyle({
19888
19970
  height: convertToUnit(props.height),
19889
19971
  width: convertToUnit(props.width),
19890
19972
  maxWidth: convertToUnit(props.maxWidth),
19891
19973
  left: convertToUnit(props.fixedOffset || null)
19892
- }
19974
+ })
19893
19975
  }, {
19894
19976
  default: () => [slots.default?.()]
19895
19977
  });
@@ -20299,16 +20381,16 @@ const VDataTableHeaders = genericComponent()({
20299
20381
  "onUpdate:modelValue": selectAll
20300
20382
  }, null));
20301
20383
  }
20302
- return createVNode("div", {
20384
+ return createElementVNode("div", {
20303
20385
  "class": "v-data-table-header__content"
20304
- }, [createVNode("span", null, [column.title]), column.sortable && !props.disableSort && createVNode(VIcon, {
20386
+ }, [createElementVNode("span", null, [column.title]), column.sortable && !props.disableSort && createVNode(VIcon, {
20305
20387
  "key": "icon",
20306
20388
  "class": "v-data-table-header__sort-icon",
20307
20389
  "icon": getSortIcon(column)
20308
- }, null), props.multiSort && isSorted(column) && createVNode("div", {
20390
+ }, null), props.multiSort && isSorted(column) && createElementVNode("div", {
20309
20391
  "key": "badge",
20310
- "class": ['v-data-table-header__sort-badge', ...backgroundColorClasses.value],
20311
- "style": backgroundColorStyles.value
20392
+ "class": normalizeClass(['v-data-table-header__sort-badge', ...backgroundColorClasses.value]),
20393
+ "style": normalizeStyle(backgroundColorStyles.value)
20312
20394
  }, [sortBy.value.findIndex(x => x.key === column.key) + 1])]);
20313
20395
  }
20314
20396
  });
@@ -20327,7 +20409,7 @@ const VDataTableHeaders = genericComponent()({
20327
20409
  "class": [...headerCellClasses.value],
20328
20410
  "colspan": headers.value.length + 1
20329
20411
  }, props.headerProps), {
20330
- default: () => [createVNode("div", {
20412
+ default: () => [createElementVNode("div", {
20331
20413
  "class": "v-data-table-header__content"
20332
20414
  }, [createVNode(VSelect, {
20333
20415
  "chips": true,
@@ -20351,7 +20433,7 @@ const VDataTableHeaders = genericComponent()({
20351
20433
  }
20352
20434
  }, {
20353
20435
  default: () => [props.item.title, createVNode(VIcon, {
20354
- "class": ['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active'],
20436
+ "class": normalizeClass(['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active']),
20355
20437
  "icon": getSortIcon(props.item.raw),
20356
20438
  "size": "small"
20357
20439
  }, null)]
@@ -20360,13 +20442,13 @@ const VDataTableHeaders = genericComponent()({
20360
20442
  });
20361
20443
  };
20362
20444
  useRender(() => {
20363
- 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, {
20445
+ 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, {
20364
20446
  "column": column,
20365
20447
  "x": x,
20366
20448
  "y": y
20367
- }, null))])), props.loading && createVNode("tr", {
20449
+ }, null))])), props.loading && createElementVNode("tr", {
20368
20450
  "class": "v-data-table-progress"
20369
- }, [createVNode("th", {
20451
+ }, [createElementVNode("th", {
20370
20452
  "colspan": columns.value.length
20371
20453
  }, [createVNode(LoaderSlot, {
20372
20454
  "name": "v-data-table-progress",
@@ -20412,11 +20494,11 @@ const VDataTableGroupHeaderRow = genericComponent()({
20412
20494
  const rows = computed(() => {
20413
20495
  return extractRows([props.item]);
20414
20496
  });
20415
- return () => createVNode("tr", {
20497
+ return () => createElementVNode("tr", {
20416
20498
  "class": "v-data-table-group-header-row",
20417
- "style": {
20499
+ "style": normalizeStyle({
20418
20500
  '--v-data-table-group-header-row-depth': props.item.depth
20419
- }
20501
+ })
20420
20502
  }, [columns.value.map(column => {
20421
20503
  if (column.key === 'data-table-group') {
20422
20504
  const icon = isGroupOpen(props.item) ? '$expand' : '$next';
@@ -20436,7 +20518,7 @@ const VDataTableGroupHeaderRow = genericComponent()({
20436
20518
  "variant": "text",
20437
20519
  "icon": icon,
20438
20520
  "onClick": onClick
20439
- }, null), createVNode("span", null, [props.item.value]), createVNode("span", null, [createTextVNode("("), rows.value.length, createTextVNode(")")])]
20521
+ }, null), createElementVNode("span", null, [props.item.value]), createElementVNode("span", null, [createTextVNode("("), rows.value.length, createTextVNode(")")])]
20440
20522
  });
20441
20523
  }
20442
20524
  if (column.key === 'data-table-select') {
@@ -20449,13 +20531,13 @@ const VDataTableGroupHeaderRow = genericComponent()({
20449
20531
  indeterminate,
20450
20532
  'onUpdate:modelValue': selectGroup
20451
20533
  }
20452
- }) ?? createVNode("td", null, [createVNode(VCheckboxBtn, {
20534
+ }) ?? createElementVNode("td", null, [createVNode(VCheckboxBtn, {
20453
20535
  "modelValue": modelValue,
20454
20536
  "indeterminate": indeterminate,
20455
20537
  "onUpdate:modelValue": selectGroup
20456
20538
  }, null)]);
20457
20539
  }
20458
- return createVNode("td", null, null);
20540
+ return createElementVNode("td", null, null);
20459
20541
  })]);
20460
20542
  }
20461
20543
  });
@@ -20501,10 +20583,10 @@ const VDataTableRow = genericComponent()({
20501
20583
  const {
20502
20584
  columns
20503
20585
  } = useHeaders();
20504
- useRender(() => createVNode("tr", {
20505
- "class": ['v-data-table__tr', {
20586
+ useRender(() => createElementVNode("tr", {
20587
+ "class": normalizeClass(['v-data-table__tr', {
20506
20588
  'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick)
20507
- }, displayClasses.value],
20589
+ }, displayClasses.value]),
20508
20590
  "onClick": props.onClick,
20509
20591
  "onContextmenu": props.onContextmenu,
20510
20592
  "onDblclick": props.onDblclick
@@ -20593,9 +20675,9 @@ const VDataTableRow = genericComponent()({
20593
20675
  }
20594
20676
  if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
20595
20677
  const displayValue = toDisplayString(slotProps.value);
20596
- return !mobile.value ? displayValue : createVNode(Fragment, null, [createVNode("div", {
20678
+ return !mobile.value ? displayValue : createElementVNode(Fragment, null, [createElementVNode("div", {
20597
20679
  "class": "v-data-table__td-title"
20598
- }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), createVNode("div", {
20680
+ }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), createElementVNode("div", {
20599
20681
  "class": "v-data-table__td-value"
20600
20682
  }, [slots[slotName]?.(slotProps) ?? displayValue])]);
20601
20683
  }
@@ -20658,22 +20740,22 @@ const VDataTableRows = genericComponent()({
20658
20740
  } = useDisplay(props);
20659
20741
  useRender(() => {
20660
20742
  if (props.loading && (!props.items.length || slots.loading)) {
20661
- return createVNode("tr", {
20743
+ return createElementVNode("tr", {
20662
20744
  "class": "v-data-table-rows-loading",
20663
20745
  "key": "loading"
20664
- }, [createVNode("td", {
20746
+ }, [createElementVNode("td", {
20665
20747
  "colspan": columns.value.length
20666
20748
  }, [slots.loading?.() ?? t(props.loadingText)])]);
20667
20749
  }
20668
20750
  if (!props.loading && !props.items.length && !props.hideNoData) {
20669
- return createVNode("tr", {
20751
+ return createElementVNode("tr", {
20670
20752
  "class": "v-data-table-rows-no-data",
20671
20753
  "key": "no-data"
20672
- }, [createVNode("td", {
20754
+ }, [createElementVNode("td", {
20673
20755
  "colspan": columns.value.length
20674
20756
  }, [slots['no-data']?.() ?? t(props.noDataText)])]);
20675
20757
  }
20676
- return createVNode(Fragment, null, [props.items.map((item, index) => {
20758
+ return createElementVNode(Fragment, null, [props.items.map((item, index) => {
20677
20759
  if (item.type === 'group') {
20678
20760
  const slotProps = {
20679
20761
  index,
@@ -20718,7 +20800,7 @@ const VDataTableRows = genericComponent()({
20718
20800
  internalItem: slotProps.internalItem
20719
20801
  }) : props.rowProps)
20720
20802
  };
20721
- return createVNode(Fragment, {
20803
+ return createElementVNode(Fragment, {
20722
20804
  "key": itemSlotProps.props.key
20723
20805
  }, [slots.item ? slots.item(itemSlotProps) : createVNode(VDataTableRow, itemSlotProps.props, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
20724
20806
  })]);
@@ -20752,22 +20834,22 @@ const VTable = genericComponent()({
20752
20834
  densityClasses
20753
20835
  } = useDensity(props);
20754
20836
  useRender(() => createVNode(props.tag, {
20755
- "class": ['v-table', {
20837
+ "class": normalizeClass(['v-table', {
20756
20838
  'v-table--fixed-height': !!props.height,
20757
20839
  'v-table--fixed-header': props.fixedHeader,
20758
20840
  'v-table--fixed-footer': props.fixedFooter,
20759
20841
  'v-table--has-top': !!slots.top,
20760
20842
  'v-table--has-bottom': !!slots.bottom,
20761
20843
  'v-table--hover': props.hover
20762
- }, themeClasses.value, densityClasses.value, props.class],
20763
- "style": props.style
20844
+ }, themeClasses.value, densityClasses.value, props.class]),
20845
+ "style": normalizeStyle(props.style)
20764
20846
  }, {
20765
- default: () => [slots.top?.(), slots.default ? createVNode("div", {
20847
+ default: () => [slots.top?.(), slots.default ? createElementVNode("div", {
20766
20848
  "class": "v-table__wrapper",
20767
- "style": {
20849
+ "style": normalizeStyle({
20768
20850
  height: convertToUnit(props.height)
20769
- }
20770
- }, [createVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
20851
+ })
20852
+ }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
20771
20853
  }));
20772
20854
  return {};
20773
20855
  }
@@ -21020,12 +21102,12 @@ const VDataTable = genericComponent()({
21020
21102
  "fixedHeader": props.fixedHeader || props.sticky
21021
21103
  }), {
21022
21104
  top: () => slots.top?.(slotProps.value),
21023
- default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
21105
+ default: () => slots.default ? slots.default(slotProps.value) : createElementVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createElementVNode("thead", {
21024
21106
  "key": "thead"
21025
- }, [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, {
21107
+ }, [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, {
21026
21108
  "items": paginatedItems.value
21027
21109
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
21028
- bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21110
+ bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createElementVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21029
21111
  prepend: slots['footer.prepend']
21030
21112
  })])
21031
21113
  });
@@ -21196,25 +21278,25 @@ const VDataTableVirtual = genericComponent()({
21196
21278
  "fixedHeader": props.fixedHeader || props.sticky
21197
21279
  }), {
21198
21280
  top: () => slots.top?.(slotProps.value),
21199
- wrapper: () => createVNode("div", {
21281
+ wrapper: () => createElementVNode("div", {
21200
21282
  "ref": containerRef,
21201
21283
  "onScrollPassive": handleScroll,
21202
21284
  "onScrollend": handleScrollend,
21203
21285
  "class": "v-table__wrapper",
21204
- "style": {
21286
+ "style": normalizeStyle({
21205
21287
  height: convertToUnit(props.height)
21206
- }
21207
- }, [createVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
21288
+ })
21289
+ }, [createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createElementVNode("thead", {
21208
21290
  "key": "thead"
21209
- }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createVNode("tbody", {
21291
+ }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createElementVNode("tbody", {
21210
21292
  "key": "tbody"
21211
- }, [createVNode("tr", {
21293
+ }, [createElementVNode("tr", {
21212
21294
  "ref": markerRef,
21213
- "style": {
21295
+ "style": normalizeStyle({
21214
21296
  height: convertToUnit(paddingTop.value),
21215
21297
  border: 0
21216
- }
21217
- }, [createVNode("td", {
21298
+ })
21299
+ }, [createElementVNode("td", {
21218
21300
  "colspan": columns.value.length,
21219
21301
  "style": {
21220
21302
  height: 0,
@@ -21243,12 +21325,12 @@ const VDataTableVirtual = genericComponent()({
21243
21325
  }), slots);
21244
21326
  }
21245
21327
  })
21246
- }), slots['body.append']?.(slotProps.value), createVNode("tr", {
21247
- "style": {
21328
+ }), slots['body.append']?.(slotProps.value), createElementVNode("tr", {
21329
+ "style": normalizeStyle({
21248
21330
  height: convertToUnit(paddingBottom.value),
21249
21331
  border: 0
21250
- }
21251
- }, [createVNode("td", {
21332
+ })
21333
+ }, [createElementVNode("td", {
21252
21334
  "colspan": columns.value.length,
21253
21335
  "style": {
21254
21336
  height: 0,
@@ -21421,17 +21503,17 @@ const VDataTableServer = genericComponent()({
21421
21503
  "fixedHeader": props.fixedHeader || props.sticky
21422
21504
  }), {
21423
21505
  top: () => slots.top?.(slotProps.value),
21424
- default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
21506
+ default: () => slots.default ? slots.default(slotProps.value) : createElementVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createElementVNode("thead", {
21425
21507
  "key": "thead",
21426
21508
  "class": "v-data-table__thead",
21427
21509
  "role": "rowgroup"
21428
- }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createVNode("tbody", {
21510
+ }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createElementVNode("tbody", {
21429
21511
  "class": "v-data-table__tbody",
21430
21512
  "role": "rowgroup"
21431
21513
  }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
21432
21514
  "items": flatItems.value
21433
21515
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
21434
- bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21516
+ bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createElementVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
21435
21517
  prepend: slots['footer.prepend']
21436
21518
  })])
21437
21519
  });
@@ -21462,10 +21544,10 @@ const VContainer = genericComponent()({
21462
21544
  dimensionStyles
21463
21545
  } = useDimension(props);
21464
21546
  useRender(() => createVNode(props.tag, {
21465
- "class": ['v-container', {
21547
+ "class": normalizeClass(['v-container', {
21466
21548
  'v-container--fluid': props.fluid
21467
- }, rtlClasses.value, props.class],
21468
- "style": [dimensionStyles.value, props.style]
21549
+ }, rtlClasses.value, props.class]),
21550
+ "style": normalizeStyle([dimensionStyles.value, props.style])
21469
21551
  }, slots));
21470
21552
  return {};
21471
21553
  }
@@ -21784,11 +21866,11 @@ const VDatePickerControls = genericComponent()({
21784
21866
  }
21785
21867
  useRender(() => {
21786
21868
  // TODO: add slot support and scope defaults
21787
- return createVNode("div", {
21869
+ return createElementVNode("div", {
21788
21870
  "class": ['v-date-picker-controls'],
21789
- "style": {
21871
+ "style": normalizeStyle({
21790
21872
  '--v-date-picker-controls-height': convertToUnit(props.controlHeight)
21791
- }
21873
+ })
21792
21874
  }, [createVNode(VBtn, {
21793
21875
  "class": "v-date-picker-controls__month-btn",
21794
21876
  "data-testid": "month-btn",
@@ -21805,7 +21887,7 @@ const VDatePickerControls = genericComponent()({
21805
21887
  "icon": props.modeIcon,
21806
21888
  "variant": "text",
21807
21889
  "onClick": onClickYear
21808
- }, null), createVNode(VSpacer, null, null), createVNode("div", {
21890
+ }, null), createVNode(VSpacer, null, null), createElementVNode("div", {
21809
21891
  "class": "v-date-picker-controls__month"
21810
21892
  }, [createVNode(VBtn, {
21811
21893
  "data-testid": "prev-month",
@@ -21861,24 +21943,24 @@ const VDatePickerHeader = genericComponent()({
21861
21943
  useRender(() => {
21862
21944
  const hasContent = !!(slots.default || props.header);
21863
21945
  const hasAppend = !!(slots.append || props.appendIcon);
21864
- return createVNode("div", {
21865
- "class": ['v-date-picker-header', {
21946
+ return createElementVNode("div", {
21947
+ "class": normalizeClass(['v-date-picker-header', {
21866
21948
  'v-date-picker-header--clickable': !!props.onClick
21867
- }, backgroundColorClasses.value],
21868
- "style": backgroundColorStyles.value,
21949
+ }, backgroundColorClasses.value]),
21950
+ "style": normalizeStyle(backgroundColorStyles.value),
21869
21951
  "onClick": onClick
21870
- }, [slots.prepend && createVNode("div", {
21952
+ }, [slots.prepend && createElementVNode("div", {
21871
21953
  "key": "prepend",
21872
21954
  "class": "v-date-picker-header__prepend"
21873
21955
  }, [slots.prepend()]), hasContent && createVNode(MaybeTransition, {
21874
21956
  "key": "content",
21875
21957
  "name": props.transition
21876
21958
  }, {
21877
- default: () => [createVNode("div", {
21959
+ default: () => [createElementVNode("div", {
21878
21960
  "key": props.header,
21879
21961
  "class": "v-date-picker-header__content"
21880
21962
  }, [slots.default?.() ?? props.header])]
21881
- }), hasAppend && createVNode("div", {
21963
+ }), hasAppend && createElementVNode("div", {
21882
21964
  "class": "v-date-picker-header__append"
21883
21965
  }, [!slots.append ? createVNode(VBtn, {
21884
21966
  "key": "append-btn",
@@ -22164,24 +22246,24 @@ const VDatePickerMonth = genericComponent()({
22164
22246
  model.value = [value];
22165
22247
  }
22166
22248
  }
22167
- useRender(() => createVNode("div", {
22249
+ useRender(() => createElementVNode("div", {
22168
22250
  "class": "v-date-picker-month"
22169
- }, [props.showWeek && createVNode("div", {
22251
+ }, [props.showWeek && createElementVNode("div", {
22170
22252
  "key": "weeks",
22171
22253
  "class": "v-date-picker-month__weeks"
22172
- }, [!props.hideWeekdays && createVNode("div", {
22254
+ }, [!props.hideWeekdays && createElementVNode("div", {
22173
22255
  "key": "hide-week-days",
22174
22256
  "class": "v-date-picker-month__day"
22175
- }, [createTextVNode("\xA0")]), weekNumbers.value.map(week => createVNode("div", {
22257
+ }, [createTextVNode("\xA0")]), weekNumbers.value.map(week => createElementVNode("div", {
22176
22258
  "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
22177
22259
  }, [week]))]), createVNode(MaybeTransition, {
22178
22260
  "name": transition.value
22179
22261
  }, {
22180
- default: () => [createVNode("div", {
22262
+ default: () => [createElementVNode("div", {
22181
22263
  "ref": daysRef,
22182
22264
  "key": daysInMonth.value[0].date?.toString(),
22183
22265
  "class": "v-date-picker-month__days"
22184
- }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createVNode("div", {
22266
+ }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createElementVNode("div", {
22185
22267
  "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
22186
22268
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22187
22269
  const slotProps = {
@@ -22201,14 +22283,14 @@ const VDatePickerMonth = genericComponent()({
22201
22283
  if (atMax.value && !item.isSelected) {
22202
22284
  item.isDisabled = true;
22203
22285
  }
22204
- return createVNode("div", {
22205
- "class": ['v-date-picker-month__day', {
22286
+ return createElementVNode("div", {
22287
+ "class": normalizeClass(['v-date-picker-month__day', {
22206
22288
  'v-date-picker-month__day--adjacent': item.isAdjacent,
22207
22289
  'v-date-picker-month__day--hide-adjacent': item.isHidden,
22208
22290
  'v-date-picker-month__day--selected': item.isSelected,
22209
22291
  'v-date-picker-month__day--week-end': item.isWeekEnd,
22210
22292
  'v-date-picker-month__day--week-start': item.isWeekStart
22211
- }],
22293
+ }]),
22212
22294
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
22213
22295
  }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null))]);
22214
22296
  })])]
@@ -22258,12 +22340,12 @@ const VDatePickerMonths = genericComponent()({
22258
22340
  watchEffect(() => {
22259
22341
  model.value = model.value ?? adapter.getMonth(adapter.date());
22260
22342
  });
22261
- useRender(() => createVNode("div", {
22343
+ useRender(() => createElementVNode("div", {
22262
22344
  "class": "v-date-picker-months",
22263
- "style": {
22345
+ "style": normalizeStyle({
22264
22346
  height: convertToUnit(props.height)
22265
- }
22266
- }, [createVNode("div", {
22347
+ })
22348
+ }, [createElementVNode("div", {
22267
22349
  "class": "v-date-picker-months__content"
22268
22350
  }, [months.value.map((month, i) => {
22269
22351
  const btnProps = {
@@ -22349,12 +22431,12 @@ const VDatePickerYears = genericComponent()({
22349
22431
  block: 'center'
22350
22432
  });
22351
22433
  });
22352
- useRender(() => createVNode("div", {
22434
+ useRender(() => createElementVNode("div", {
22353
22435
  "class": "v-date-picker-years",
22354
- "style": {
22436
+ "style": normalizeStyle({
22355
22437
  height: convertToUnit(props.height)
22356
- }
22357
- }, [createVNode("div", {
22438
+ })
22439
+ }, [createElementVNode("div", {
22358
22440
  "class": "v-date-picker-years__content"
22359
22441
  }, [years.value.map((year, i) => {
22360
22442
  const btnProps = {
@@ -22591,7 +22673,7 @@ const VDatePicker = genericComponent()({
22591
22673
  }, rtlClasses.value, props.class],
22592
22674
  "style": props.style
22593
22675
  }), {
22594
- title: () => slots.title?.() ?? createVNode("div", {
22676
+ title: () => slots.title?.() ?? createElementVNode("div", {
22595
22677
  "class": "v-date-picker__title"
22596
22678
  }, [t(props.title)]),
22597
22679
  header: () => slots.header ? createVNode(VDefaultsProvider, {
@@ -22610,7 +22692,7 @@ const VDatePicker = genericComponent()({
22610
22692
  ...slots,
22611
22693
  default: undefined
22612
22694
  }),
22613
- default: () => createVNode(Fragment, null, [createVNode(VDatePickerControls, mergeProps(datePickerControlsProps, {
22695
+ default: () => createElementVNode(Fragment, null, [createVNode(VDatePickerControls, mergeProps(datePickerControlsProps, {
22614
22696
  "disabled": disabled.value,
22615
22697
  "text": text.value,
22616
22698
  "onClick:next": onClickNext,
@@ -22719,15 +22801,15 @@ const VEmptyState = genericComponent()({
22719
22801
  const hasText = !!(slots.text || props.text);
22720
22802
  const hasMedia = !!(slots.media || props.image || props.icon);
22721
22803
  const size = props.size || (props.image ? 200 : 96);
22722
- return createVNode("div", {
22723
- "class": ['v-empty-state', {
22804
+ return createElementVNode("div", {
22805
+ "class": normalizeClass(['v-empty-state', {
22724
22806
  [`v-empty-state--${props.justify}`]: true
22725
- }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class],
22726
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style]
22727
- }, [hasMedia && createVNode("div", {
22807
+ }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class]),
22808
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style])
22809
+ }, [hasMedia && createElementVNode("div", {
22728
22810
  "key": "media",
22729
22811
  "class": "v-empty-state__media"
22730
- }, [!slots.media ? createVNode(Fragment, null, [props.image ? createVNode(VImg, {
22812
+ }, [!slots.media ? createElementVNode(Fragment, null, [props.image ? createVNode(VImg, {
22731
22813
  "key": "image",
22732
22814
  "src": props.image,
22733
22815
  "height": size
@@ -22750,22 +22832,22 @@ const VEmptyState = genericComponent()({
22750
22832
  }
22751
22833
  }, {
22752
22834
  default: () => [slots.media()]
22753
- })]), hasHeadline && createVNode("div", {
22835
+ })]), hasHeadline && createElementVNode("div", {
22754
22836
  "key": "headline",
22755
22837
  "class": "v-empty-state__headline"
22756
- }, [slots.headline?.() ?? props.headline]), hasTitle && createVNode("div", {
22838
+ }, [slots.headline?.() ?? props.headline]), hasTitle && createElementVNode("div", {
22757
22839
  "key": "title",
22758
22840
  "class": "v-empty-state__title"
22759
- }, [slots.title?.() ?? props.title]), hasText && createVNode("div", {
22841
+ }, [slots.title?.() ?? props.title]), hasText && createElementVNode("div", {
22760
22842
  "key": "text",
22761
22843
  "class": "v-empty-state__text",
22762
- "style": {
22844
+ "style": normalizeStyle({
22763
22845
  maxWidth: convertToUnit(props.textWidth)
22764
- }
22765
- }, [slots.text?.() ?? props.text]), slots.default && createVNode("div", {
22846
+ })
22847
+ }, [slots.text?.() ?? props.text]), slots.default && createElementVNode("div", {
22766
22848
  "key": "content",
22767
22849
  "class": "v-empty-state__content"
22768
- }, [slots.default()]), hasActions && createVNode("div", {
22850
+ }, [slots.default()]), hasActions && createElementVNode("div", {
22769
22851
  "key": "actions",
22770
22852
  "class": "v-empty-state__actions"
22771
22853
  }, [createVNode(VDefaultsProvider, {
@@ -22816,10 +22898,10 @@ const VExpansionPanelText = genericComponent()({
22816
22898
  useRender(() => createVNode(VExpandTransition, {
22817
22899
  "onAfterLeave": onAfterLeave
22818
22900
  }, {
22819
- default: () => [withDirectives(createVNode("div", {
22820
- "class": ['v-expansion-panel-text', props.class],
22821
- "style": props.style
22822
- }, [slots.default && hasContent.value && createVNode("div", {
22901
+ default: () => [withDirectives(createElementVNode("div", {
22902
+ "class": normalizeClass(['v-expansion-panel-text', props.class]),
22903
+ "style": normalizeStyle(props.style)
22904
+ }, [slots.default && hasContent.value && createElementVNode("div", {
22823
22905
  "class": "v-expansion-panel-text__wrapper"
22824
22906
  }, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
22825
22907
  }));
@@ -22853,7 +22935,7 @@ const makeVExpansionPanelTitleProps = propsFactory({
22853
22935
  const VExpansionPanelTitle = genericComponent()({
22854
22936
  name: 'VExpansionPanelTitle',
22855
22937
  directives: {
22856
- Ripple
22938
+ vRipple: Ripple
22857
22939
  },
22858
22940
  props: makeVExpansionPanelTitleProps(),
22859
22941
  setup(props, _ref) {
@@ -22877,19 +22959,19 @@ const VExpansionPanelTitle = genericComponent()({
22877
22959
  readonly: props.readonly
22878
22960
  }));
22879
22961
  const icon = toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
22880
- useRender(() => withDirectives(createVNode("button", {
22881
- "class": ['v-expansion-panel-title', {
22962
+ useRender(() => withDirectives(createElementVNode("button", {
22963
+ "class": normalizeClass(['v-expansion-panel-title', {
22882
22964
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
22883
22965
  'v-expansion-panel-title--focusable': props.focusable,
22884
22966
  'v-expansion-panel-title--static': props.static
22885
- }, backgroundColorClasses.value, props.class],
22886
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
22967
+ }, backgroundColorClasses.value, props.class]),
22968
+ "style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),
22887
22969
  "type": "button",
22888
22970
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
22889
22971
  "disabled": expansionPanel.disabled.value,
22890
22972
  "aria-expanded": expansionPanel.isSelected.value,
22891
22973
  "onClick": !props.readonly ? expansionPanel.toggle : undefined
22892
- }, [createVNode("span", {
22974
+ }, [createElementVNode("span", {
22893
22975
  "class": "v-expansion-panel-title__overlay"
22894
22976
  }, null), slots.default?.(slotProps.value), !props.hideActions && createVNode(VDefaultsProvider, {
22895
22977
  "defaults": {
@@ -22898,10 +22980,10 @@ const VExpansionPanelTitle = genericComponent()({
22898
22980
  }
22899
22981
  }
22900
22982
  }, {
22901
- default: () => [createVNode("span", {
22983
+ default: () => [createElementVNode("span", {
22902
22984
  "class": "v-expansion-panel-title__icon"
22903
22985
  }, [slots.actions?.(slotProps.value) ?? createVNode(VIcon, null, null)])]
22904
- })]), [[resolveDirective("ripple"), props.ripple]]));
22986
+ })]), [[Ripple, props.ripple]]));
22905
22987
  return {};
22906
22988
  }
22907
22989
  });
@@ -22958,16 +23040,16 @@ const VExpansionPanel = genericComponent()({
22958
23040
  const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props);
22959
23041
  const expansionPanelTextProps = VExpansionPanelText.filterProps(props);
22960
23042
  return createVNode(props.tag, {
22961
- "class": ['v-expansion-panel', {
23043
+ "class": normalizeClass(['v-expansion-panel', {
22962
23044
  'v-expansion-panel--active': groupItem.isSelected.value,
22963
23045
  'v-expansion-panel--before-active': isBeforeSelected.value,
22964
23046
  'v-expansion-panel--after-active': isAfterSelected.value,
22965
23047
  'v-expansion-panel--disabled': isDisabled.value
22966
- }, roundedClasses.value, backgroundColorClasses.value, props.class],
22967
- "style": [backgroundColorStyles.value, props.style]
23048
+ }, roundedClasses.value, backgroundColorClasses.value, props.class]),
23049
+ "style": normalizeStyle([backgroundColorStyles.value, props.style])
22968
23050
  }, {
22969
- default: () => [createVNode("div", {
22970
- "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
23051
+ default: () => [createElementVNode("div", {
23052
+ "class": normalizeClass(['v-expansion-panel__shadow', ...elevationClasses.value])
22971
23053
  }, null), createVNode(VDefaultsProvider, {
22972
23054
  "defaults": {
22973
23055
  VExpansionPanelTitle: {
@@ -23047,11 +23129,11 @@ const VExpansionPanels = genericComponent()({
23047
23129
  }
23048
23130
  });
23049
23131
  useRender(() => createVNode(props.tag, {
23050
- "class": ['v-expansion-panels', {
23132
+ "class": normalizeClass(['v-expansion-panels', {
23051
23133
  'v-expansion-panels--flat': props.flat,
23052
23134
  'v-expansion-panels--tile': props.tile
23053
- }, themeClasses.value, variantClass.value, props.class],
23054
- "style": props.style
23135
+ }, themeClasses.value, variantClass.value, props.class]),
23136
+ "style": normalizeStyle(props.style)
23055
23137
  }, {
23056
23138
  default: () => [slots.default?.({
23057
23139
  prev,
@@ -23131,22 +23213,22 @@ const VFab = genericComponent()({
23131
23213
  const vFabRef = ref();
23132
23214
  useRender(() => {
23133
23215
  const btnProps = VBtn.filterProps(props);
23134
- return createVNode("div", {
23216
+ return createElementVNode("div", {
23135
23217
  "ref": vFabRef,
23136
- "class": ['v-fab', {
23218
+ "class": normalizeClass(['v-fab', {
23137
23219
  'v-fab--absolute': props.absolute,
23138
23220
  'v-fab--app': !!props.app,
23139
23221
  'v-fab--extended': props.extended,
23140
23222
  'v-fab--offset': props.offset,
23141
23223
  [`v-fab--${position.value}`]: hasPosition.value,
23142
23224
  [`v-fab--${orientation.value}`]: hasPosition.value
23143
- }, props.class],
23144
- "style": [props.app ? {
23225
+ }, props.class]),
23226
+ "style": normalizeStyle([props.app ? {
23145
23227
  ...layoutItemStyles.value
23146
23228
  } : {
23147
23229
  height: props.absolute ? '100%' : 'inherit'
23148
- }, props.style]
23149
- }, [createVNode("div", {
23230
+ }, props.style])
23231
+ }, [createElementVNode("div", {
23150
23232
  "class": "v-fab__container"
23151
23233
  }, [createVNode(MaybeTransition, {
23152
23234
  "appear": props.appear,
@@ -23362,7 +23444,7 @@ const VFileInput = genericComponent()({
23362
23444
  ...slotProps
23363
23445
  }
23364
23446
  } = _ref4;
23365
- return createVNode(Fragment, null, [createVNode("input", mergeProps({
23447
+ return createElementVNode(Fragment, null, [createElementVNode("input", mergeProps({
23366
23448
  "ref": inputRef,
23367
23449
  "type": "file",
23368
23450
  "readonly": isReadonly.value,
@@ -23382,8 +23464,8 @@ const VFileInput = genericComponent()({
23382
23464
  "onDragleave": onDragleave,
23383
23465
  "onFocus": onFocus,
23384
23466
  "onBlur": blur
23385
- }, slotProps, inputAttrs), null), createVNode("div", {
23386
- "class": fieldClass
23467
+ }, slotProps, inputAttrs), null), createElementVNode("div", {
23468
+ "class": normalizeClass(fieldClass)
23387
23469
  }, [!!model.value?.length && !props.hideInput && (slots.selection ? slots.selection({
23388
23470
  fileNames: fileNames.value,
23389
23471
  totalBytes: totalBytes.value,
@@ -23396,7 +23478,7 @@ const VFileInput = genericComponent()({
23396
23478
  }
23397
23479
  });
23398
23480
  },
23399
- details: hasDetails ? slotProps => createVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createVNode(Fragment, null, [createVNode("span", null, null), createVNode(VCounter, {
23481
+ details: hasDetails ? slotProps => createElementVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createElementVNode(Fragment, null, [createElementVNode("span", null, null), createVNode(VCounter, {
23400
23482
  "active": !!model.value?.length,
23401
23483
  "value": counterValue.value,
23402
23484
  "disabled": props.disabled
@@ -23472,10 +23554,10 @@ const VFooter = genericComponent()({
23472
23554
  });
23473
23555
  useRender(() => createVNode(props.tag, {
23474
23556
  "ref": resizeRef,
23475
- "class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
23476
- "style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
23557
+ "class": normalizeClass(['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
23558
+ "style": normalizeStyle([backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
23477
23559
  height: convertToUnit(props.height)
23478
- }, props.style]
23560
+ }, props.style])
23479
23561
  }, slots));
23480
23562
  return {};
23481
23563
  }
@@ -23524,10 +23606,10 @@ const VForm = genericComponent()({
23524
23606
  }
23525
23607
  e.preventDefault();
23526
23608
  }
23527
- useRender(() => createVNode("form", {
23609
+ useRender(() => createElementVNode("form", {
23528
23610
  "ref": formRef,
23529
- "class": ['v-form', props.class],
23530
- "style": props.style,
23611
+ "class": normalizeClass(['v-form', props.class]),
23612
+ "style": normalizeStyle(props.style),
23531
23613
  "novalidate": true,
23532
23614
  "onReset": onReset,
23533
23615
  "onSubmit": onSubmit
@@ -23624,11 +23706,11 @@ const VInfiniteScrollIntersect = defineComponent({
23624
23706
  watch(isIntersecting, async val => {
23625
23707
  emit('intersect', props.side, val);
23626
23708
  });
23627
- useRender(() => createVNode("div", {
23709
+ useRender(() => createElementVNode("div", {
23628
23710
  "class": "v-infinite-scroll-intersect",
23629
- "style": {
23711
+ "style": normalizeStyle({
23630
23712
  '--v-infinite-margin-size': props.rootMargin
23631
- },
23713
+ }),
23632
23714
  "ref": intersectionRef
23633
23715
  }, [createTextVNode("\xA0")]));
23634
23716
  return {};
@@ -23740,7 +23822,7 @@ const VInfiniteScroll = genericComponent()({
23740
23822
  }
23741
23823
  };
23742
23824
  if (status === 'error') return slots.error?.(slotProps);
23743
- if (status === 'empty') return slots.empty?.(slotProps) ?? createVNode("div", null, [t(props.emptyText)]);
23825
+ if (status === 'empty') return slots.empty?.(slotProps) ?? createElementVNode("div", null, [t(props.emptyText)]);
23744
23826
  if (props.mode === 'manual') {
23745
23827
  if (status === 'loading') {
23746
23828
  return slots.loading?.(slotProps) ?? createVNode(VProgressCircular, {
@@ -23771,13 +23853,13 @@ const VInfiniteScroll = genericComponent()({
23771
23853
  const intersectMode = props.mode === 'intersect';
23772
23854
  return createVNode(Tag, {
23773
23855
  "ref": rootEl,
23774
- "class": ['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
23856
+ "class": normalizeClass(['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
23775
23857
  'v-infinite-scroll--start': hasStartIntersect,
23776
23858
  'v-infinite-scroll--end': hasEndIntersect
23777
- }],
23778
- "style": dimensionStyles.value
23859
+ }]),
23860
+ "style": normalizeStyle(dimensionStyles.value)
23779
23861
  }, {
23780
- default: () => [createVNode("div", {
23862
+ default: () => [createElementVNode("div", {
23781
23863
  "class": "v-infinite-scroll__side"
23782
23864
  }, [renderSide('start', startStatus.value)]), hasStartIntersect && intersectMode && createVNode(VInfiniteScrollIntersect, {
23783
23865
  "key": "start",
@@ -23789,7 +23871,7 @@ const VInfiniteScroll = genericComponent()({
23789
23871
  "side": "end",
23790
23872
  "onIntersect": handleIntersect,
23791
23873
  "rootMargin": margin.value
23792
- }, null), createVNode("div", {
23874
+ }, null), createElementVNode("div", {
23793
23875
  "class": "v-infinite-scroll__side"
23794
23876
  }, [renderSide('end', endStatus.value)])]
23795
23877
  });
@@ -23829,8 +23911,8 @@ const VItemGroup = genericComponent()({
23829
23911
  selected
23830
23912
  } = useGroup(props, VItemGroupSymbol);
23831
23913
  return () => createVNode(props.tag, {
23832
- "class": ['v-item-group', themeClasses.value, props.class],
23833
- "style": props.style
23914
+ "class": normalizeClass(['v-item-group', themeClasses.value, props.class]),
23915
+ "style": normalizeStyle(props.style)
23834
23916
  }, {
23835
23917
  default: () => [slots.default?.({
23836
23918
  isSelected,
@@ -23898,10 +23980,10 @@ const VLayout = genericComponent()({
23898
23980
  const {
23899
23981
  dimensionStyles
23900
23982
  } = useDimension(props);
23901
- useRender(() => createVNode("div", {
23983
+ useRender(() => createElementVNode("div", {
23902
23984
  "ref": layoutRef,
23903
- "class": [layoutClasses.value, props.class],
23904
- "style": [dimensionStyles.value, layoutStyles.value, props.style]
23985
+ "class": normalizeClass([layoutClasses.value, props.class]),
23986
+ "style": normalizeStyle([dimensionStyles.value, layoutStyles.value, props.style])
23905
23987
  }, [slots.default?.()]));
23906
23988
  return {
23907
23989
  getLayoutItem,
@@ -23943,9 +24025,9 @@ const VLayoutItem = genericComponent()({
23943
24025
  active: toRef(() => props.modelValue),
23944
24026
  absolute: toRef(() => props.absolute)
23945
24027
  });
23946
- return () => createVNode("div", {
23947
- "class": ['v-layout-item', props.class],
23948
- "style": [layoutItemStyles.value, props.style]
24028
+ return () => createElementVNode("div", {
24029
+ "class": normalizeClass(['v-layout-item', props.class]),
24030
+ "style": normalizeStyle([layoutItemStyles.value, props.style])
23949
24031
  }, [slots.default?.()]);
23950
24032
  }
23951
24033
  });
@@ -23974,7 +24056,7 @@ const makeVLazyProps = propsFactory({
23974
24056
  const VLazy = genericComponent()({
23975
24057
  name: 'VLazy',
23976
24058
  directives: {
23977
- intersect: Intersect
24059
+ vIntersect: Intersect
23978
24060
  },
23979
24061
  props: makeVLazyProps(),
23980
24062
  emits: {
@@ -23993,8 +24075,8 @@ const VLazy = genericComponent()({
23993
24075
  isActive.value = isIntersecting;
23994
24076
  }
23995
24077
  useRender(() => withDirectives(createVNode(props.tag, {
23996
- "class": ['v-lazy', props.class],
23997
- "style": [dimensionStyles.value, props.style]
24078
+ "class": normalizeClass(['v-lazy', props.class]),
24079
+ "style": normalizeStyle([dimensionStyles.value, props.style])
23998
24080
  }, {
23999
24081
  default: () => [isActive.value && createVNode(MaybeTransition, {
24000
24082
  "transition": props.transition,
@@ -24002,7 +24084,7 @@ const VLazy = genericComponent()({
24002
24084
  }, {
24003
24085
  default: () => [slots.default?.()]
24004
24086
  })]
24005
- }), [[resolveDirective("intersect"), {
24087
+ }), [[Intersect, {
24006
24088
  handler: onIntersect,
24007
24089
  options: props.options
24008
24090
  }, null]]));
@@ -24030,9 +24112,9 @@ const VLocaleProvider = genericComponent()({
24030
24112
  const {
24031
24113
  rtlClasses
24032
24114
  } = provideLocale(props);
24033
- useRender(() => createVNode("div", {
24034
- "class": ['v-locale-provider', rtlClasses.value, props.class],
24035
- "style": props.style
24115
+ useRender(() => createElementVNode("div", {
24116
+ "class": normalizeClass(['v-locale-provider', rtlClasses.value, props.class]),
24117
+ "style": normalizeStyle(props.style)
24036
24118
  }, [slots.default?.()]));
24037
24119
  return {};
24038
24120
  }
@@ -24063,12 +24145,12 @@ const VMain = genericComponent()({
24063
24145
  ssrBootStyles
24064
24146
  } = useSsrBoot();
24065
24147
  useRender(() => createVNode(props.tag, {
24066
- "class": ['v-main', {
24148
+ "class": normalizeClass(['v-main', {
24067
24149
  'v-main--scrollable': props.scrollable
24068
- }, props.class],
24069
- "style": [mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style]
24150
+ }, props.class]),
24151
+ "style": normalizeStyle([mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style])
24070
24152
  }, {
24071
- default: () => [props.scrollable ? createVNode("div", {
24153
+ default: () => [props.scrollable ? createElementVNode("div", {
24072
24154
  "class": "v-main__scroller"
24073
24155
  }, [slots.default?.()]) : slots.default?.()]
24074
24156
  }));
@@ -24299,7 +24381,7 @@ function useTouch(_ref) {
24299
24381
  function getProgress(pos) {
24300
24382
  let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
24301
24383
  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();
24302
- return limit ? Math.max(0, Math.min(1, progress)) : progress;
24384
+ return limit ? clamp(progress) : progress;
24303
24385
  }
24304
24386
  function onTouchstart(e) {
24305
24387
  if (touchless.value) return;
@@ -24579,7 +24661,7 @@ const VNavigationDrawer = genericComponent()({
24579
24661
  });
24580
24662
  useRender(() => {
24581
24663
  const hasImage = slots.image || props.image;
24582
- return createVNode(Fragment, null, [createVNode(props.tag, mergeProps({
24664
+ return createElementVNode(Fragment, null, [createVNode(props.tag, mergeProps({
24583
24665
  "ref": rootEl,
24584
24666
  "onMouseenter": runOpenDelay,
24585
24667
  "onMouseleave": runCloseDelay,
@@ -24595,7 +24677,7 @@ const VNavigationDrawer = genericComponent()({
24595
24677
  }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
24596
24678
  "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
24597
24679
  }, scopeId, attrs), {
24598
- default: () => [hasImage && createVNode("div", {
24680
+ default: () => [hasImage && createElementVNode("div", {
24599
24681
  "key": "image",
24600
24682
  "class": "v-navigation-drawer__img"
24601
24683
  }, [!slots.image ? createVNode(VImg, {
@@ -24615,17 +24697,17 @@ const VNavigationDrawer = genericComponent()({
24615
24697
  src: props.image
24616
24698
  }
24617
24699
  }
24618
- }, slots.image)]), slots.prepend && createVNode("div", {
24700
+ }, slots.image)]), slots.prepend && createElementVNode("div", {
24619
24701
  "class": "v-navigation-drawer__prepend"
24620
- }, [slots.prepend?.()]), createVNode("div", {
24702
+ }, [slots.prepend?.()]), createElementVNode("div", {
24621
24703
  "class": "v-navigation-drawer__content"
24622
- }, [slots.default?.()]), slots.append && createVNode("div", {
24704
+ }, [slots.default?.()]), slots.append && createElementVNode("div", {
24623
24705
  "class": "v-navigation-drawer__append"
24624
24706
  }, [slots.append?.()])]
24625
24707
  }), createVNode(Transition, {
24626
24708
  "name": "fade-transition"
24627
24709
  }, {
24628
- default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && createVNode("div", mergeProps({
24710
+ default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && createElementVNode("div", mergeProps({
24629
24711
  "class": ['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value],
24630
24712
  "style": [scrimStyles.value, scrimColor.backgroundColorStyles.value],
24631
24713
  "onClick": () => {
@@ -24784,6 +24866,9 @@ const VNumberInput = genericComponent()({
24784
24866
  const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
24785
24867
  const incrementSlotProps = {
24786
24868
  props: {
24869
+ style: {
24870
+ touchAction: 'none'
24871
+ },
24787
24872
  onClick: onControlClick,
24788
24873
  onPointerup: onControlMouseup,
24789
24874
  onPointerdown: onUpControlMousedown
@@ -24791,6 +24876,9 @@ const VNumberInput = genericComponent()({
24791
24876
  };
24792
24877
  const decrementSlotProps = {
24793
24878
  props: {
24879
+ style: {
24880
+ touchAction: 'none'
24881
+ },
24794
24882
  onClick: onControlClick,
24795
24883
  onPointerup: onControlMouseup,
24796
24884
  onPointerdown: onDownControlMousedown
@@ -24823,25 +24911,33 @@ const VNumberInput = genericComponent()({
24823
24911
  }
24824
24912
  function onBeforeinput(e) {
24825
24913
  if (!e.data) return;
24826
- const existingTxt = e.target?.value;
24827
- const selectionStart = e.target?.selectionStart;
24828
- const selectionEnd = e.target?.selectionEnd;
24914
+ const inputElement = e.target;
24915
+ const {
24916
+ value: existingTxt,
24917
+ selectionStart,
24918
+ selectionEnd
24919
+ } = inputElement ?? {};
24829
24920
  const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e.data + existingTxt.slice(selectionEnd) : e.data;
24921
+ const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision);
24922
+
24830
24923
  // Only numbers, "-", "." are allowed
24831
24924
  // AND "-", "." are allowed only once
24832
24925
  // AND "-" is only allowed at the start
24833
24926
  if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
24834
24927
  e.preventDefault();
24928
+ inputElement.value = potentialNewNumber;
24835
24929
  }
24836
24930
  if (props.precision == null) return;
24837
24931
 
24838
24932
  // Ignore decimal digits above precision limit
24839
24933
  if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
24840
24934
  e.preventDefault();
24935
+ inputElement.value = potentialNewNumber;
24841
24936
  }
24842
24937
  // Ignore decimal separator when precision = 0
24843
24938
  if (props.precision === 0 && potentialNewInputVal.includes('.')) {
24844
24939
  e.preventDefault();
24940
+ inputElement.value = potentialNewNumber;
24845
24941
  }
24846
24942
  }
24847
24943
  async function onKeydown(e) {
@@ -24923,17 +25019,18 @@ const VNumberInput = genericComponent()({
24923
25019
  } = VTextField.filterProps(props);
24924
25020
  function incrementControlNode() {
24925
25021
  return !slots.increment ? createVNode(VBtn, {
25022
+ "aria-hidden": "true",
25023
+ "data-testid": "increment",
24926
25024
  "disabled": !canIncrease.value,
24927
25025
  "flat": true,
24928
- "key": "increment-btn",
24929
25026
  "height": controlNodeDefaultHeight.value,
24930
- "data-testid": "increment",
24931
- "aria-hidden": "true",
24932
25027
  "icon": incrementIcon.value,
25028
+ "key": "increment-btn",
24933
25029
  "onClick": onControlClick,
24934
- "onPointerup": onControlMouseup,
24935
25030
  "onPointerdown": onUpControlMousedown,
25031
+ "onPointerup": onControlMouseup,
24936
25032
  "size": controlNodeSize.value,
25033
+ "style": "touch-action: none",
24937
25034
  "tabindex": "-1"
24938
25035
  }, null) : createVNode(VDefaultsProvider, {
24939
25036
  "key": "increment-defaults",
@@ -24952,18 +25049,19 @@ const VNumberInput = genericComponent()({
24952
25049
  }
24953
25050
  function decrementControlNode() {
24954
25051
  return !slots.decrement ? createVNode(VBtn, {
25052
+ "aria-hidden": "true",
25053
+ "data-testid": "decrement",
24955
25054
  "disabled": !canDecrease.value,
24956
25055
  "flat": true,
24957
- "key": "decrement-btn",
24958
25056
  "height": controlNodeDefaultHeight.value,
24959
- "data-testid": "decrement",
24960
- "aria-hidden": "true",
24961
25057
  "icon": decrementIcon.value,
24962
- "size": controlNodeSize.value,
24963
- "tabindex": "-1",
25058
+ "key": "decrement-btn",
24964
25059
  "onClick": onControlClick,
25060
+ "onPointerdown": onDownControlMousedown,
24965
25061
  "onPointerup": onControlMouseup,
24966
- "onPointerdown": onDownControlMousedown
25062
+ "size": controlNodeSize.value,
25063
+ "style": "touch-action: none",
25064
+ "tabindex": "-1"
24967
25065
  }, null) : createVNode(VDefaultsProvider, {
24968
25066
  "key": "decrement-defaults",
24969
25067
  "defaults": {
@@ -24980,7 +25078,7 @@ const VNumberInput = genericComponent()({
24980
25078
  });
24981
25079
  }
24982
25080
  function controlNode() {
24983
- return createVNode("div", {
25081
+ return createElementVNode("div", {
24984
25082
  "class": "v-number-input__control"
24985
25083
  }, [decrementControlNode(), createVNode(VDivider, {
24986
25084
  "vertical": controlVariant.value !== 'stacked'
@@ -24991,17 +25089,17 @@ const VNumberInput = genericComponent()({
24991
25089
  "vertical": true
24992
25090
  }, null) : undefined;
24993
25091
  }
24994
- const appendInnerControl = controlVariant.value === 'split' ? createVNode("div", {
25092
+ const appendInnerControl = controlVariant.value === 'split' ? createElementVNode("div", {
24995
25093
  "class": "v-number-input__control"
24996
25094
  }, [createVNode(VDivider, {
24997
25095
  "vertical": true
24998
- }, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : createVNode(Fragment, null, [dividerNode(), controlNode()]);
25096
+ }, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : createElementVNode(Fragment, null, [dividerNode(), controlNode()]);
24999
25097
  const hasAppendInner = slots['append-inner'] || appendInnerControl;
25000
- const prependInnerControl = controlVariant.value === 'split' ? createVNode("div", {
25098
+ const prependInnerControl = controlVariant.value === 'split' ? createElementVNode("div", {
25001
25099
  "class": "v-number-input__control"
25002
25100
  }, [decrementControlNode(), createVNode(VDivider, {
25003
25101
  "vertical": true
25004
- }, null)]) : props.reverse && controlVariant.value !== 'hidden' ? createVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
25102
+ }, null)]) : props.reverse && controlVariant.value !== 'hidden' ? createElementVNode(Fragment, null, [controlNode(), dividerNode()]) : undefined;
25005
25103
  const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
25006
25104
  return createVNode(VTextField, mergeProps({
25007
25105
  "ref": vTextFieldRef,
@@ -25029,13 +25127,13 @@ const VNumberInput = genericComponent()({
25029
25127
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25030
25128
  args[_key] = arguments[_key];
25031
25129
  }
25032
- return createVNode(Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
25130
+ return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
25033
25131
  } : undefined,
25034
25132
  'prepend-inner': hasPrependInner ? function () {
25035
25133
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
25036
25134
  args[_key2] = arguments[_key2];
25037
25135
  }
25038
- return createVNode(Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
25136
+ return createElementVNode(Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
25039
25137
  } : undefined
25040
25138
  });
25041
25139
  });
@@ -25199,16 +25297,16 @@ const VOtpInput = genericComponent()({
25199
25297
  });
25200
25298
  useRender(() => {
25201
25299
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
25202
- return createVNode("div", mergeProps({
25300
+ return createElementVNode("div", mergeProps({
25203
25301
  "class": ['v-otp-input', {
25204
25302
  'v-otp-input--divided': !!props.divider
25205
25303
  }, props.class],
25206
25304
  "style": [props.style]
25207
- }, rootAttrs), [createVNode("div", {
25305
+ }, rootAttrs), [createElementVNode("div", {
25208
25306
  "ref": contentRef,
25209
25307
  "class": "v-otp-input__content",
25210
- "style": [dimensionStyles.value]
25211
- }, [fields.value.map((_, i) => createVNode(Fragment, null, [props.divider && i !== 0 && createVNode("span", {
25308
+ "style": normalizeStyle([dimensionStyles.value])
25309
+ }, [fields.value.map((_, i) => createElementVNode(Fragment, null, [props.divider && i !== 0 && createElementVNode("span", {
25212
25310
  "class": "v-otp-input__divider"
25213
25311
  }, [props.divider]), createVNode(VField, {
25214
25312
  "focused": isFocused.value && props.focusAll || focusIndex.value === i,
@@ -25217,7 +25315,7 @@ const VOtpInput = genericComponent()({
25217
25315
  ...slots,
25218
25316
  loader: undefined,
25219
25317
  default: () => {
25220
- return createVNode("input", {
25318
+ return createElementVNode("input", {
25221
25319
  "ref": val => inputRef.value[i] = val,
25222
25320
  "aria-label": t(props.label, i + 1),
25223
25321
  "autofocus": i === 0 && props.autofocus,
@@ -25237,7 +25335,7 @@ const VOtpInput = genericComponent()({
25237
25335
  "onPaste": event => onPaste(i, event)
25238
25336
  }, null);
25239
25337
  }
25240
- })])), createVNode("input", mergeProps({
25338
+ })])), createElementVNode("input", mergeProps({
25241
25339
  "class": "v-otp-input-input",
25242
25340
  "type": "hidden"
25243
25341
  }, inputAttrs, {
@@ -25342,10 +25440,10 @@ const VParallax = genericComponent()({
25342
25440
  });
25343
25441
  }
25344
25442
  useRender(() => createVNode(VImg, {
25345
- "class": ['v-parallax', {
25443
+ "class": normalizeClass(['v-parallax', {
25346
25444
  'v-parallax--active': isIntersecting.value
25347
- }, props.class],
25348
- "style": props.style,
25445
+ }, props.class]),
25446
+ "style": normalizeStyle(props.style),
25349
25447
  "ref": root,
25350
25448
  "cover": true,
25351
25449
  "onLoadstart": onScroll,
@@ -25445,7 +25543,7 @@ const VRadioGroup = genericComponent()({
25445
25543
  isDisabled,
25446
25544
  isReadonly
25447
25545
  } = _ref2;
25448
- return createVNode(Fragment, null, [label && createVNode(VLabel, {
25546
+ return createElementVNode(Fragment, null, [label && createVNode(VLabel, {
25449
25547
  "id": id.value
25450
25548
  }, {
25451
25549
  default: () => [label]
@@ -25583,7 +25681,7 @@ const VRangeSlider = genericComponent()({
25583
25681
  "focused": isFocused.value
25584
25682
  }), {
25585
25683
  ...slots,
25586
- prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
25684
+ prepend: hasPrepend ? slotProps => createElementVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
25587
25685
  "class": "v-slider__label",
25588
25686
  "text": props.label
25589
25687
  }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,
@@ -25592,18 +25690,18 @@ const VRangeSlider = genericComponent()({
25592
25690
  id,
25593
25691
  messagesId
25594
25692
  } = _ref4;
25595
- return createVNode("div", {
25693
+ return createElementVNode("div", {
25596
25694
  "class": "v-slider__container",
25597
25695
  "onMousedown": !readonly.value ? onSliderMousedown : undefined,
25598
25696
  "onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
25599
- }, [createVNode("input", {
25697
+ }, [createElementVNode("input", {
25600
25698
  "id": `${id.value}_start`,
25601
25699
  "name": props.name || id.value,
25602
25700
  "disabled": !!props.disabled,
25603
25701
  "readonly": !!props.readonly,
25604
25702
  "tabindex": "-1",
25605
25703
  "value": model.value[0]
25606
- }, null), createVNode("input", {
25704
+ }, null), createElementVNode("input", {
25607
25705
  "id": `${id.value}_stop`,
25608
25706
  "name": props.name || id.value,
25609
25707
  "disabled": !!props.disabled,
@@ -25802,16 +25900,16 @@ const VRating = genericComponent()({
25802
25900
  size: props.size,
25803
25901
  variant: 'plain'
25804
25902
  };
25805
- return createVNode(Fragment, null, [createVNode("label", {
25903
+ return createElementVNode(Fragment, null, [createElementVNode("label", {
25806
25904
  "for": id,
25807
- "class": {
25905
+ "class": normalizeClass({
25808
25906
  'v-rating__item--half': props.halfIncrements && value % 1 > 0,
25809
25907
  'v-rating__item--full': props.halfIncrements && value % 1 === 0
25810
- },
25908
+ }),
25811
25909
  "onMouseenter": onMouseenter,
25812
25910
  "onMouseleave": onMouseleave,
25813
25911
  "onClick": onClick
25814
- }, [createVNode("span", {
25912
+ }, [createElementVNode("span", {
25815
25913
  "class": "v-rating__hidden"
25816
25914
  }, [t(props.itemAriaLabel, value, props.length)]), !showStar ? undefined : slots.item ? slots.item({
25817
25915
  ...itemState.value[index],
@@ -25821,7 +25919,7 @@ const VRating = genericComponent()({
25821
25919
  rating: normalizedValue.value
25822
25920
  }) : createVNode(VBtn, mergeProps({
25823
25921
  "aria-label": t(props.itemAriaLabel, value, props.length)
25824
- }, btnProps), null)]), createVNode("input", {
25922
+ }, btnProps), null)]), createElementVNode("input", {
25825
25923
  "class": "v-rating__hidden",
25826
25924
  "name": name.value,
25827
25925
  "id": id,
@@ -25835,31 +25933,31 @@ const VRating = genericComponent()({
25835
25933
  }
25836
25934
  function createLabel(labelProps) {
25837
25935
  if (slots['item-label']) return slots['item-label'](labelProps);
25838
- if (labelProps.label) return createVNode("span", null, [labelProps.label]);
25839
- return createVNode("span", null, [createTextVNode("\xA0")]);
25936
+ if (labelProps.label) return createElementVNode("span", null, [labelProps.label]);
25937
+ return createElementVNode("span", null, [createTextVNode("\xA0")]);
25840
25938
  }
25841
25939
  useRender(() => {
25842
25940
  const hasLabels = !!props.itemLabels?.length || slots['item-label'];
25843
25941
  return createVNode(props.tag, {
25844
- "class": ['v-rating', {
25942
+ "class": normalizeClass(['v-rating', {
25845
25943
  'v-rating--hover': props.hover,
25846
25944
  'v-rating--readonly': props.readonly
25847
- }, themeClasses.value, props.class],
25848
- "style": props.style
25945
+ }, themeClasses.value, props.class]),
25946
+ "style": normalizeStyle(props.style)
25849
25947
  }, {
25850
25948
  default: () => [createVNode(VRatingItem, {
25851
25949
  "value": 0,
25852
25950
  "index": -1,
25853
25951
  "showStar": false
25854
- }, null), range.value.map((value, i) => createVNode("div", {
25952
+ }, null), range.value.map((value, i) => createElementVNode("div", {
25855
25953
  "class": "v-rating__wrapper"
25856
25954
  }, [hasLabels && props.itemLabelPosition === 'top' ? createLabel({
25857
25955
  value,
25858
25956
  index: i,
25859
25957
  label: props.itemLabels?.[i]
25860
- }) : undefined, createVNode("div", {
25958
+ }) : undefined, createElementVNode("div", {
25861
25959
  "class": "v-rating__item"
25862
- }, [props.halfIncrements ? createVNode(Fragment, null, [createVNode(VRatingItem, {
25960
+ }, [props.halfIncrements ? createElementVNode(Fragment, null, [createVNode(VRatingItem, {
25863
25961
  "value": value - 0.5,
25864
25962
  "index": i * 2
25865
25963
  }, null), createVNode(VRatingItem, {
@@ -25916,8 +26014,8 @@ const rootTypes = {
25916
26014
  };
25917
26015
  function genBone(type) {
25918
26016
  let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
25919
- return createVNode("div", {
25920
- "class": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]
26017
+ return createElementVNode("div", {
26018
+ "class": normalizeClass(['v-skeleton-loader__bone', `v-skeleton-loader__${type}`])
25921
26019
  }, [children]);
25922
26020
  }
25923
26021
  function genBones(bone) {
@@ -26003,7 +26101,7 @@ const VSkeletonLoader = genericComponent()({
26003
26101
  ariaLabel: t(props.loadingText),
26004
26102
  role: 'alert'
26005
26103
  };
26006
- return createVNode("div", mergeProps({
26104
+ return createElementVNode("div", mergeProps({
26007
26105
  "class": ['v-skeleton-loader', {
26008
26106
  'v-skeleton-loader--boilerplate': props.boilerplate
26009
26107
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
@@ -26209,7 +26307,7 @@ const VSnackbar = genericComponent()({
26209
26307
  "onTouchend": onTouchend,
26210
26308
  "onAfterLeave": onAfterLeave
26211
26309
  }, scopeId), {
26212
- default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && createVNode("div", {
26310
+ default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && createElementVNode("div", {
26213
26311
  "key": "timer",
26214
26312
  "class": "v-snackbar__timer"
26215
26313
  }, [createVNode(VProgressLinear, {
@@ -26217,7 +26315,7 @@ const VSnackbar = genericComponent()({
26217
26315
  "color": typeof props.timer === 'string' ? props.timer : 'info',
26218
26316
  "max": props.timeout,
26219
26317
  "model-value": countdown.time.value
26220
- }, null)]), hasContent && createVNode("div", {
26318
+ }, null)]), hasContent && createElementVNode("div", {
26221
26319
  "key": "content",
26222
26320
  "class": "v-snackbar__content",
26223
26321
  "role": "status",
@@ -26231,7 +26329,7 @@ const VSnackbar = genericComponent()({
26231
26329
  }
26232
26330
  }
26233
26331
  }, {
26234
- default: () => [createVNode("div", {
26332
+ default: () => [createElementVNode("div", {
26235
26333
  "class": "v-snackbar__actions"
26236
26334
  }, [slots.actions({
26237
26335
  isActive
@@ -26315,7 +26413,7 @@ const VSnackbarQueue = genericComponent()({
26315
26413
  modelValue: _,
26316
26414
  ...snackbarProps
26317
26415
  } = VSnackbar.filterProps(props);
26318
- return createVNode(Fragment, null, [isVisible.value && !!current.value && (slots.default ? createVNode(VDefaultsProvider, {
26416
+ return createElementVNode(Fragment, null, [isVisible.value && !!current.value && (slots.default ? createVNode(VDefaultsProvider, {
26319
26417
  "defaults": {
26320
26418
  VSnackbar: current.value
26321
26419
  }
@@ -26331,7 +26429,7 @@ const VSnackbarQueue = genericComponent()({
26331
26429
  text: slots.text ? () => slots.text?.({
26332
26430
  item: current.value
26333
26431
  }) : undefined,
26334
- actions: hasActions ? () => createVNode(Fragment, null, [!slots.actions ? createVNode(VBtn, mergeProps(btnProps.value, {
26432
+ actions: hasActions ? () => createElementVNode(Fragment, null, [!slots.actions ? createVNode(VBtn, mergeProps(btnProps.value, {
26335
26433
  "onClick": onClickClose
26336
26434
  }), null) : createVNode(VDefaultsProvider, {
26337
26435
  "defaults": {
@@ -26489,57 +26587,57 @@ const VBarline = genericComponent()({
26489
26587
  const smooth = computed(() => typeof props.smooth === 'boolean' ? props.smooth ? 2 : 0 : Number(props.smooth));
26490
26588
  useRender(() => {
26491
26589
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
26492
- return createVNode("svg", {
26590
+ return createElementVNode("svg", {
26493
26591
  "display": "block"
26494
- }, [createVNode("defs", null, [createVNode("linearGradient", {
26592
+ }, [createElementVNode("defs", null, [createElementVNode("linearGradient", {
26495
26593
  "id": id.value,
26496
26594
  "gradientUnits": "userSpaceOnUse",
26497
26595
  "x1": props.gradientDirection === 'left' ? '100%' : '0',
26498
26596
  "y1": props.gradientDirection === 'top' ? '100%' : '0',
26499
26597
  "x2": props.gradientDirection === 'right' ? '100%' : '0',
26500
26598
  "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
26501
- }, [gradientData.map((color, index) => createVNode("stop", {
26599
+ }, [gradientData.map((color, index) => createElementVNode("stop", {
26502
26600
  "offset": index / Math.max(gradientData.length - 1, 1),
26503
26601
  "stop-color": color || 'currentColor'
26504
- }, null))])]), createVNode("clipPath", {
26602
+ }, null))])]), createElementVNode("clipPath", {
26505
26603
  "id": `${id.value}-clip`
26506
- }, [bars.value.map(item => createVNode("rect", {
26604
+ }, [bars.value.map(item => createElementVNode("rect", {
26507
26605
  "x": item.x + offsetX.value,
26508
26606
  "y": item.y,
26509
26607
  "width": lineWidth.value,
26510
26608
  "height": item.height,
26511
26609
  "rx": smooth.value,
26512
26610
  "ry": smooth.value
26513
- }, [props.autoDraw && createVNode(Fragment, null, [createVNode("animate", {
26611
+ }, [props.autoDraw && createElementVNode(Fragment, null, [createElementVNode("animate", {
26514
26612
  "attributeName": "y",
26515
26613
  "from": item.y + item.height,
26516
26614
  "to": item.y,
26517
26615
  "dur": `${autoDrawDuration.value}ms`,
26518
26616
  "fill": "freeze"
26519
- }, null), createVNode("animate", {
26617
+ }, null), createElementVNode("animate", {
26520
26618
  "attributeName": "height",
26521
26619
  "from": "0",
26522
26620
  "to": item.height,
26523
26621
  "dur": `${autoDrawDuration.value}ms`,
26524
26622
  "fill": "freeze"
26525
- }, null)])]))]), hasLabels.value && createVNode("g", {
26623
+ }, null)])]))]), hasLabels.value && createElementVNode("g", {
26526
26624
  "key": "labels",
26527
26625
  "style": {
26528
26626
  textAnchor: 'middle',
26529
26627
  dominantBaseline: 'mathematical',
26530
26628
  fill: 'currentColor'
26531
26629
  }
26532
- }, [parsedLabels.value.map((item, i) => createVNode("text", {
26630
+ }, [parsedLabels.value.map((item, i) => createElementVNode("text", {
26533
26631
  "x": item.x + offsetX.value + lineWidth.value / 2,
26534
26632
  "y": parseInt(props.height, 10) - 2 + (parseInt(props.labelSize, 10) || 7 * 0.75),
26535
26633
  "font-size": Number(props.labelSize) || 7
26536
26634
  }, [slots.label?.({
26537
26635
  index: i,
26538
26636
  value: item.value
26539
- }) ?? item.value]))]), createVNode("g", {
26637
+ }) ?? item.value]))]), createElementVNode("g", {
26540
26638
  "clip-path": `url(#${id.value}-clip)`,
26541
26639
  "fill": `url(#${id.value})`
26542
- }, [createVNode("rect", {
26640
+ }, [createElementVNode("rect", {
26543
26641
  "x": 0,
26544
26642
  "y": 0,
26545
26643
  "width": Math.max(props.modelValue.length * lineWidth.value, Number(props.width)),
@@ -26718,39 +26816,39 @@ const VTrendline = genericComponent()({
26718
26816
  }
26719
26817
  useRender(() => {
26720
26818
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
26721
- return createVNode("svg", {
26819
+ return createElementVNode("svg", {
26722
26820
  "display": "block",
26723
26821
  "stroke-width": parseFloat(props.lineWidth) ?? 4
26724
- }, [createVNode("defs", null, [createVNode("linearGradient", {
26822
+ }, [createElementVNode("defs", null, [createElementVNode("linearGradient", {
26725
26823
  "id": id.value,
26726
26824
  "gradientUnits": "userSpaceOnUse",
26727
26825
  "x1": props.gradientDirection === 'left' ? '100%' : '0',
26728
26826
  "y1": props.gradientDirection === 'top' ? '100%' : '0',
26729
26827
  "x2": props.gradientDirection === 'right' ? '100%' : '0',
26730
26828
  "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
26731
- }, [gradientData.map((color, index) => createVNode("stop", {
26829
+ }, [gradientData.map((color, index) => createElementVNode("stop", {
26732
26830
  "offset": index / Math.max(gradientData.length - 1, 1),
26733
26831
  "stop-color": color || 'currentColor'
26734
- }, null))])]), hasLabels.value && createVNode("g", {
26832
+ }, null))])]), hasLabels.value && createElementVNode("g", {
26735
26833
  "key": "labels",
26736
26834
  "style": {
26737
26835
  textAnchor: 'middle',
26738
26836
  dominantBaseline: 'mathematical',
26739
26837
  fill: 'currentColor'
26740
26838
  }
26741
- }, [parsedLabels.value.map((item, i) => createVNode("text", {
26839
+ }, [parsedLabels.value.map((item, i) => createElementVNode("text", {
26742
26840
  "x": item.x + lineWidth.value / 2 + lineWidth.value / 2,
26743
26841
  "y": parseInt(props.height, 10) - 4 + (parseInt(props.labelSize, 10) || 7 * 0.75),
26744
26842
  "font-size": Number(props.labelSize) || 7
26745
26843
  }, [slots.label?.({
26746
26844
  index: i,
26747
26845
  value: item.value
26748
- }) ?? item.value]))]), createVNode("path", {
26846
+ }) ?? item.value]))]), createElementVNode("path", {
26749
26847
  "ref": path,
26750
26848
  "d": genPath$1(props.fill),
26751
26849
  "fill": props.fill ? `url(#${id.value})` : 'none',
26752
26850
  "stroke": props.fill ? 'none' : `url(#${id.value})`
26753
- }, null), props.fill && createVNode("path", {
26851
+ }, null), props.fill && createElementVNode("path", {
26754
26852
  "d": genPath$1(false),
26755
26853
  "fill": "none",
26756
26854
  "stroke": props.color ?? props.gradient?.[0]
@@ -26918,7 +27016,7 @@ const VStepperActions = genericComponent()({
26918
27016
  const nextSlotProps = {
26919
27017
  onClick: onClickNext
26920
27018
  };
26921
- return createVNode("div", {
27019
+ return createElementVNode("div", {
26922
27020
  "class": "v-stepper-actions"
26923
27021
  }, [createVNode(VDefaultsProvider, {
26924
27022
  "defaults": {
@@ -26992,7 +27090,7 @@ const makeVStepperItemProps = propsFactory({
26992
27090
  const VStepperItem = genericComponent()({
26993
27091
  name: 'VStepperItem',
26994
27092
  directives: {
26995
- Ripple
27093
+ vRipple: Ripple
26996
27094
  },
26997
27095
  props: makeVStepperItemProps(),
26998
27096
  emits: {
@@ -27031,12 +27129,12 @@ const VStepperItem = genericComponent()({
27031
27129
  function onClick() {
27032
27130
  group?.toggle();
27033
27131
  }
27034
- return withDirectives(createVNode("button", {
27035
- "class": ['v-stepper-item', {
27132
+ return withDirectives(createElementVNode("button", {
27133
+ "class": normalizeClass(['v-stepper-item', {
27036
27134
  'v-stepper-item--complete': hasCompleted.value,
27037
27135
  'v-stepper-item--disabled': props.disabled,
27038
27136
  'v-stepper-item--error': hasError.value
27039
- }, group?.selectedClass.value],
27137
+ }, group?.selectedClass.value]),
27040
27138
  "disabled": !props.editable,
27041
27139
  "type": "button",
27042
27140
  "onClick": onClick
@@ -27049,15 +27147,15 @@ const VStepperItem = genericComponent()({
27049
27147
  default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? createVNode(VIcon, {
27050
27148
  "icon": icon.value
27051
27149
  }, null) : step.value)]
27052
- }), createVNode("div", {
27150
+ }), createElementVNode("div", {
27053
27151
  "class": "v-stepper-item__content"
27054
- }, [hasTitle && createVNode("div", {
27152
+ }, [hasTitle && createElementVNode("div", {
27055
27153
  "key": "title",
27056
27154
  "class": "v-stepper-item__title"
27057
- }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && createVNode("div", {
27155
+ }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && createElementVNode("div", {
27058
27156
  "key": "subtitle",
27059
27157
  "class": "v-stepper-item__subtitle"
27060
- }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[resolveDirective("ripple"), props.ripple && props.editable, null]]);
27158
+ }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[Ripple, props.ripple && props.editable, null]]);
27061
27159
  });
27062
27160
  return {};
27063
27161
  }
@@ -27253,7 +27351,7 @@ const VStepper = genericComponent()({
27253
27351
  raw,
27254
27352
  ...item
27255
27353
  } = _ref2;
27256
- return createVNode(Fragment, null, [!!index && createVNode(VDivider, null, null), createVNode(VStepperItem, item, {
27354
+ return createElementVNode(Fragment, null, [!!index && createVNode(VDivider, null, null), createVNode(VStepperItem, item, {
27257
27355
  default: slots[`header-item.${item.value}`] ?? slots.header,
27258
27356
  icon: slots.icon,
27259
27357
  title: slots.title,
@@ -27394,14 +27492,14 @@ const VSwitch = genericComponent()({
27394
27492
  backgroundColorClasses,
27395
27493
  backgroundColorStyles
27396
27494
  } = _ref3;
27397
- return createVNode("div", {
27398
- "class": ['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
27399
- "style": backgroundColorStyles.value,
27495
+ return createElementVNode("div", {
27496
+ "class": normalizeClass(['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
27497
+ "style": normalizeStyle(backgroundColorStyles.value),
27400
27498
  "onClick": onTrackClick
27401
- }, [slots['track-true'] && createVNode("div", {
27499
+ }, [slots['track-true'] && createElementVNode("div", {
27402
27500
  "key": "prepend",
27403
27501
  "class": "v-switch__track-true"
27404
- }, [slots['track-true'](slotProps)]), slots['track-false'] && createVNode("div", {
27502
+ }, [slots['track-true'](slotProps)]), slots['track-false'] && createElementVNode("div", {
27405
27503
  "key": "append",
27406
27504
  "class": "v-switch__track-false"
27407
27505
  }, [slots['track-false'](slotProps)])]);
@@ -27413,11 +27511,11 @@ const VSwitch = genericComponent()({
27413
27511
  backgroundColorClasses,
27414
27512
  backgroundColorStyles
27415
27513
  } = _ref4;
27416
- return createVNode(Fragment, null, [inputNode, createVNode("div", {
27417
- "class": ['v-switch__thumb', {
27514
+ return createElementVNode(Fragment, null, [inputNode, createElementVNode("div", {
27515
+ "class": normalizeClass(['v-switch__thumb', {
27418
27516
  'v-switch__thumb--filled': icon || props.loading
27419
- }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value],
27420
- "style": props.inset ? undefined : backgroundColorStyles.value
27517
+ }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value]),
27518
+ "style": normalizeStyle(props.inset ? undefined : backgroundColorStyles.value)
27421
27519
  }, [slots.thumb ? createVNode(VDefaultsProvider, {
27422
27520
  "defaults": {
27423
27521
  VIcon: {
@@ -27505,10 +27603,10 @@ const VSystemBar = genericComponent()({
27505
27603
  absolute: toRef(() => props.absolute)
27506
27604
  });
27507
27605
  useRender(() => createVNode(props.tag, {
27508
- "class": ['v-system-bar', {
27606
+ "class": normalizeClass(['v-system-bar', {
27509
27607
  'v-system-bar--window': props.window
27510
- }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
27511
- "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
27608
+ }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
27609
+ "style": normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style])
27512
27610
  }, slots));
27513
27611
  return {};
27514
27612
  }
@@ -27599,10 +27697,10 @@ const VTab = genericComponent()({
27599
27697
  "onGroup:selected": updateSlider
27600
27698
  }), {
27601
27699
  ...slots,
27602
- default: () => createVNode(Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && createVNode("div", {
27700
+ default: () => createElementVNode(Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && createElementVNode("div", {
27603
27701
  "ref": sliderEl,
27604
- "class": ['v-tab__slider', sliderColorClasses.value],
27605
- "style": sliderColorStyles.value
27702
+ "class": normalizeClass(['v-tab__slider', sliderColorClasses.value]),
27703
+ "style": normalizeStyle(sliderColorStyles.value)
27606
27704
  }, null)])
27607
27705
  });
27608
27706
  });
@@ -27754,7 +27852,7 @@ const VTabs = genericComponent()({
27754
27852
  useRender(() => {
27755
27853
  const slideGroupProps = VSlideGroup.filterProps(props);
27756
27854
  const hasWindow = !!(slots.window || props.items.length > 0);
27757
- return createVNode(Fragment, null, [createVNode(VSlideGroup, mergeProps(slideGroupProps, {
27855
+ return createElementVNode(Fragment, null, [createVNode(VSlideGroup, mergeProps(slideGroupProps, {
27758
27856
  "modelValue": model.value,
27759
27857
  "onUpdate:modelValue": $event => model.value = $event,
27760
27858
  "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
@@ -27827,7 +27925,7 @@ const makeVTextareaProps = propsFactory({
27827
27925
  const VTextarea = genericComponent()({
27828
27926
  name: 'VTextarea',
27829
27927
  directives: {
27830
- Intersect
27928
+ vIntersect: Intersect
27831
27929
  },
27832
27930
  inheritAttrs: false,
27833
27931
  props: makeVTextareaProps(),
@@ -28000,9 +28098,9 @@ const VTextarea = genericComponent()({
28000
28098
  ...slotProps
28001
28099
  }
28002
28100
  } = _ref3;
28003
- return createVNode(Fragment, null, [props.prefix && createVNode("span", {
28101
+ return createElementVNode(Fragment, null, [props.prefix && createElementVNode("span", {
28004
28102
  "class": "v-text-field__prefix"
28005
- }, [props.prefix]), withDirectives(createVNode("textarea", mergeProps({
28103
+ }, [props.prefix]), withDirectives(createElementVNode("textarea", mergeProps({
28006
28104
  "ref": textareaRef,
28007
28105
  "class": fieldClass,
28008
28106
  "value": model.value,
@@ -28015,24 +28113,24 @@ const VTextarea = genericComponent()({
28015
28113
  "name": props.name,
28016
28114
  "onFocus": onFocus,
28017
28115
  "onBlur": blur
28018
- }, slotProps, inputAttrs), null), [[resolveDirective("intersect"), {
28116
+ }, slotProps, inputAttrs), null), [[Intersect, {
28019
28117
  handler: onIntersect
28020
28118
  }, null, {
28021
28119
  once: true
28022
- }]]), props.autoGrow && withDirectives(createVNode("textarea", {
28023
- "class": [fieldClass, 'v-textarea__sizer'],
28120
+ }]]), props.autoGrow && withDirectives(createElementVNode("textarea", {
28121
+ "class": normalizeClass([fieldClass, 'v-textarea__sizer']),
28024
28122
  "id": `${slotProps.id}-sizer`,
28025
28123
  "onUpdate:modelValue": $event => model.value = $event,
28026
28124
  "ref": sizerRef,
28027
28125
  "readonly": true,
28028
28126
  "aria-hidden": "true"
28029
- }, null), [[vModelText, model.value]]), props.suffix && createVNode("span", {
28127
+ }, null), [[vModelText, model.value]]), props.suffix && createElementVNode("span", {
28030
28128
  "class": "v-text-field__suffix"
28031
28129
  }, [props.suffix])]);
28032
28130
  }
28033
28131
  });
28034
28132
  },
28035
- details: hasDetails ? slotProps => createVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createVNode(Fragment, null, [createVNode("span", null, null), createVNode(VCounter, {
28133
+ details: hasDetails ? slotProps => createElementVNode(Fragment, null, [slots.details?.(slotProps), hasCounter && createElementVNode(Fragment, null, [createElementVNode("span", null, null), createVNode(VCounter, {
28036
28134
  "active": props.persistentCounter || isFocused.value,
28037
28135
  "value": counterValue.value,
28038
28136
  "max": max.value,
@@ -28063,8 +28161,8 @@ const VThemeProvider = genericComponent()({
28063
28161
  return () => {
28064
28162
  if (!props.withBackground) return slots.default?.();
28065
28163
  return createVNode(props.tag, {
28066
- "class": ['v-theme-provider', themeClasses.value, props.class],
28067
- "style": props.style
28164
+ "class": normalizeClass(['v-theme-provider', themeClasses.value, props.class]),
28165
+ "style": normalizeStyle(props.style)
28068
28166
  }, {
28069
28167
  default: () => [slots.default?.()]
28070
28168
  });
@@ -28109,21 +28207,21 @@ const VTimelineDivider = genericComponent()({
28109
28207
  backgroundColorClasses: lineColorClasses,
28110
28208
  backgroundColorStyles: lineColorStyles
28111
28209
  } = useBackgroundColor(() => props.lineColor);
28112
- useRender(() => createVNode("div", {
28113
- "class": ['v-timeline-divider', {
28210
+ useRender(() => createElementVNode("div", {
28211
+ "class": normalizeClass(['v-timeline-divider', {
28114
28212
  'v-timeline-divider--fill-dot': props.fillDot
28115
- }, props.class],
28116
- "style": props.style
28117
- }, [createVNode("div", {
28118
- "class": ['v-timeline-divider__before', lineColorClasses.value],
28119
- "style": lineColorStyles.value
28120
- }, null), !props.hideDot && createVNode("div", {
28213
+ }, props.class]),
28214
+ "style": normalizeStyle(props.style)
28215
+ }, [createElementVNode("div", {
28216
+ "class": normalizeClass(['v-timeline-divider__before', lineColorClasses.value]),
28217
+ "style": normalizeStyle(lineColorStyles.value)
28218
+ }, null), !props.hideDot && createElementVNode("div", {
28121
28219
  "key": "dot",
28122
- "class": ['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value],
28123
- "style": sizeStyles.value
28124
- }, [createVNode("div", {
28125
- "class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
28126
- "style": backgroundColorStyles.value
28220
+ "class": normalizeClass(['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value]),
28221
+ "style": normalizeStyle(sizeStyles.value)
28222
+ }, [createElementVNode("div", {
28223
+ "class": normalizeClass(['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value]),
28224
+ "style": normalizeStyle(backgroundColorStyles.value)
28127
28225
  }, [!slots.default ? createVNode(VIcon, {
28128
28226
  "key": "icon",
28129
28227
  "color": props.iconColor,
@@ -28139,9 +28237,9 @@ const VTimelineDivider = genericComponent()({
28139
28237
  size: props.size
28140
28238
  }
28141
28239
  }
28142
- }, slots.default)])]), createVNode("div", {
28143
- "class": ['v-timeline-divider__after', lineColorClasses.value],
28144
- "style": lineColorStyles.value
28240
+ }, slots.default)])]), createElementVNode("div", {
28241
+ "class": normalizeClass(['v-timeline-divider__after', lineColorClasses.value]),
28242
+ "style": normalizeStyle(lineColorStyles.value)
28145
28243
  }, null)]));
28146
28244
  return {};
28147
28245
  }
@@ -28192,19 +28290,19 @@ const VTimelineItem = genericComponent()({
28192
28290
  }, {
28193
28291
  flush: 'post'
28194
28292
  });
28195
- useRender(() => createVNode("div", {
28196
- "class": ['v-timeline-item', {
28293
+ useRender(() => createElementVNode("div", {
28294
+ "class": normalizeClass(['v-timeline-item', {
28197
28295
  'v-timeline-item--fill-dot': props.fillDot,
28198
28296
  'v-timeline-item--side-start': props.side === 'start',
28199
28297
  'v-timeline-item--side-end': props.side === 'end'
28200
- }, props.class],
28201
- "style": [{
28298
+ }, props.class]),
28299
+ "style": normalizeStyle([{
28202
28300
  '--v-timeline-dot-size': convertToUnit(dotSize.value),
28203
28301
  '--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
28204
- }, props.style]
28205
- }, [createVNode("div", {
28302
+ }, props.style])
28303
+ }, [createElementVNode("div", {
28206
28304
  "class": "v-timeline-item__body",
28207
- "style": dimensionStyles.value
28305
+ "style": normalizeStyle(dimensionStyles.value)
28208
28306
  }, [slots.default?.()]), createVNode(VTimelineDivider, {
28209
28307
  "ref": dotRef,
28210
28308
  "hideDot": props.hideDot,
@@ -28217,7 +28315,7 @@ const VTimelineItem = genericComponent()({
28217
28315
  "rounded": props.rounded
28218
28316
  }, {
28219
28317
  default: slots.icon
28220
- }), props.density !== 'compact' && createVNode("div", {
28318
+ }), props.density !== 'compact' && createElementVNode("div", {
28221
28319
  "class": "v-timeline-item__opposite"
28222
28320
  }, [!props.hideOpposite && slots.opposite?.()])]));
28223
28321
  return {};
@@ -28310,12 +28408,12 @@ const VTimeline = genericComponent()({
28310
28408
  }
28311
28409
  });
28312
28410
  useRender(() => createVNode(props.tag, {
28313
- "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
28411
+ "class": normalizeClass(['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
28314
28412
  'v-timeline--inset-line': !!props.lineInset
28315
- }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
28316
- "style": [{
28413
+ }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class]),
28414
+ "style": normalizeStyle([{
28317
28415
  '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
28318
- }, props.style]
28416
+ }, props.style])
28319
28417
  }, slots));
28320
28418
  return {};
28321
28419
  }
@@ -28341,9 +28439,9 @@ const VToolbarItems = genericComponent()({
28341
28439
  variant: toRef(() => props.variant)
28342
28440
  }
28343
28441
  });
28344
- useRender(() => createVNode("div", {
28345
- "class": ['v-toolbar-items', props.class],
28346
- "style": props.style
28442
+ useRender(() => createElementVNode("div", {
28443
+ "class": normalizeClass(['v-toolbar-items', props.class]),
28444
+ "style": normalizeStyle(props.style)
28347
28445
  }, [slots.default?.()]));
28348
28446
  return {};
28349
28447
  }
@@ -28515,7 +28613,7 @@ const VCalendarIntervalEvent = genericComponent()({
28515
28613
  }
28516
28614
  };
28517
28615
  useRender(() => {
28518
- return createVNode("div", null, [slots.intervalEvent?.({
28616
+ return createElementVNode("div", null, [slots.intervalEvent?.({
28519
28617
  height: calcHeight().height,
28520
28618
  margin: calcHeight().margin,
28521
28619
  eventClass: 'v-calendar-internal-event',
@@ -28607,20 +28705,20 @@ const VCalendarInterval = genericComponent()({
28607
28705
  };
28608
28706
  });
28609
28707
  useRender(() => {
28610
- return props.dayIndex === 0 ? createVNode("div", {
28708
+ return props.dayIndex === 0 ? createElementVNode("div", {
28611
28709
  "class": "v-calendar-day__row-with-label",
28612
- "style": `height: ${convertToUnit(props.intervalHeight)}`
28613
- }, [createVNode("div", mergeProps({
28710
+ "style": normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
28711
+ }, [createElementVNode("div", mergeProps({
28614
28712
  "class": "v-calendar-day__row-label"
28615
28713
  }, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots.intervalTitle?.({
28616
28714
  interval: interval.value
28617
- }) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), createVNode("div", {
28715
+ }) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), createElementVNode("div", {
28618
28716
  "class": "v-calendar-day__row-hairline"
28619
- }, null), createVNode("div", mergeProps({
28717
+ }, null), createElementVNode("div", mergeProps({
28620
28718
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28621
28719
  }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
28622
28720
  interval: interval.value
28623
- }) ?? createVNode("div", null, [interval.value.events?.map(event => createVNode(VCalendarIntervalEvent, mergeProps({
28721
+ }) ?? createElementVNode("div", null, [interval.value.events?.map(event => createVNode(VCalendarIntervalEvent, mergeProps({
28624
28722
  "event": event,
28625
28723
  "interval": interval.value,
28626
28724
  "intervalDivisions": props.intervalDivisions,
@@ -28645,10 +28743,10 @@ const VCalendarInterval = genericComponent()({
28645
28743
  });
28646
28744
  }
28647
28745
  } : {})
28648
- }))])])]) : createVNode("div", {
28746
+ }))])])]) : createElementVNode("div", {
28649
28747
  "class": "v-calendar-day__row-without-label",
28650
- "style": `height: ${convertToUnit(props.intervalHeight)}`
28651
- }, [createVNode("div", mergeProps({
28748
+ "style": normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
28749
+ }, [createElementVNode("div", mergeProps({
28652
28750
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28653
28751
  }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
28654
28752
  interval: interval.value
@@ -28710,12 +28808,12 @@ const VCalendarDay = genericComponent()({
28710
28808
  }, (v, i) => i).filter((_, index) => props.intervalDuration * (index + props.intervalStart) < 1440)]);
28711
28809
  useRender(() => {
28712
28810
  const calendarIntervalProps = VCalendarInterval.filterProps(props);
28713
- return createVNode("div", {
28811
+ return createElementVNode("div", {
28714
28812
  "class": "v-calendar-day__container"
28715
- }, [!props.hideDayHeader && createVNode("div", mergeProps({
28813
+ }, [!props.hideDayHeader && createElementVNode("div", mergeProps({
28716
28814
  "key": "calendar-week-name",
28717
28815
  "class": "v-calendar-weekly__head-weekday"
28718
- }, getPrefixedEventHandlers(attrs, ':day', () => props.day)), [adapter.format(props.day.date, 'weekdayShort'), createVNode("div", null, [createVNode(VBtn, mergeProps(getPrefixedEventHandlers(attrs, ':date', () => props.day), {
28816
+ }, getPrefixedEventHandlers(attrs, ':day', () => props.day)), [adapter.format(props.day.date, 'weekdayShort'), createElementVNode("div", null, [createVNode(VBtn, mergeProps(getPrefixedEventHandlers(attrs, ':date', () => props.day), {
28719
28817
  "class": props.day?.isToday ? 'v-calendar-day-label__today' : undefined,
28720
28818
  "icon": true,
28721
28819
  "text": adapter.format(props.day.date, 'dayOfMonth'),
@@ -28778,7 +28876,7 @@ const VCalendarHeader = genericComponent()({
28778
28876
  function toToday() {
28779
28877
  emit('click:toToday');
28780
28878
  }
28781
- useRender(() => createVNode("div", {
28879
+ useRender(() => createElementVNode("div", {
28782
28880
  "class": "v-calendar-header"
28783
28881
  }, [props.text && createVNode(VBtn, {
28784
28882
  "key": "today",
@@ -28796,11 +28894,11 @@ const VCalendarHeader = genericComponent()({
28796
28894
  "icon": props.nextIcon,
28797
28895
  "variant": "text",
28798
28896
  "onClick": next
28799
- }, null), createVNode("div", {
28897
+ }, null), createElementVNode("div", {
28800
28898
  "class": "v-calendar-header__title"
28801
28899
  }, [slots.title?.({
28802
28900
  title: props.title
28803
- }) ?? createVNode("span", null, [props.title])])]));
28901
+ }) ?? createElementVNode("span", null, [props.title])])]));
28804
28902
  return {};
28805
28903
  }
28806
28904
  });
@@ -28862,9 +28960,9 @@ const VCalendarMonthDay = genericComponent()({
28862
28960
  slots
28863
28961
  } = _ref;
28864
28962
  useRender(() => {
28865
- return createVNode("div", mergeProps({
28963
+ return createElementVNode("div", mergeProps({
28866
28964
  "class": ['v-calendar-month__day']
28867
- }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? createVNode("div", {
28965
+ }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? createElementVNode("div", {
28868
28966
  "key": "title",
28869
28967
  "class": "v-calendar-weekly__day-label"
28870
28968
  }, [slots.dayTitle?.({
@@ -28877,13 +28975,13 @@ const VCalendarMonthDay = genericComponent()({
28877
28975
  "size": "x-small",
28878
28976
  "variant": props.day?.isToday ? undefined : 'flat',
28879
28977
  "text": `${props.title}`
28880
- }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? createVNode("div", {
28978
+ }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? createElementVNode("div", {
28881
28979
  "key": "content",
28882
28980
  "class": "v-calendar-weekly__day-content"
28883
28981
  }, [slots.dayBody?.({
28884
28982
  day: props.day,
28885
28983
  events: props.events
28886
- }) ?? createVNode("div", null, [createVNode("div", {
28984
+ }) ?? createElementVNode("div", null, [createElementVNode("div", {
28887
28985
  "class": "v-calendar-weekly__day-alldayevents-container"
28888
28986
  }, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
28889
28987
  day: props.day,
@@ -28893,7 +28991,7 @@ const VCalendarMonthDay = genericComponent()({
28893
28991
  "day": props.day,
28894
28992
  "event": event,
28895
28993
  "allDay": true
28896
- }, attrs), null))]), createVNode("div", {
28994
+ }, attrs), null))]), createElementVNode("div", {
28897
28995
  "class": "v-calendar-weekly__day-events-container"
28898
28996
  }, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
28899
28997
  day: props.day,
@@ -28980,13 +29078,13 @@ const VCalendar = genericComponent()({
28980
29078
  useRender(() => {
28981
29079
  const calendarDayProps = VCalendarDay.filterProps(props);
28982
29080
  const calendarHeaderProps = VCalendarHeader.filterProps(props);
28983
- return createVNode("div", {
28984
- "class": ['v-calendar', {
29081
+ return createElementVNode("div", {
29082
+ "class": normalizeClass(['v-calendar', {
28985
29083
  'v-calendar-monthly': props.viewMode === 'month',
28986
29084
  'v-calendar-weekly': props.viewMode === 'week',
28987
29085
  'v-calendar-day': props.viewMode === 'day'
28988
- }]
28989
- }, [createVNode("div", null, [!props.hideHeader && (slots.header?.({
29086
+ }])
29087
+ }, [createElementVNode("div", null, [!props.hideHeader && (slots.header?.({
28990
29088
  title: title.value,
28991
29089
  clickNext: onClickNext,
28992
29090
  clickPrev: onClickPrev,
@@ -29000,20 +29098,20 @@ const VCalendar = genericComponent()({
29000
29098
  "onClick:toToday": onClickToday
29001
29099
  }), {
29002
29100
  title: slots.title
29003
- }))]), createVNode("div", {
29004
- "class": ['v-calendar__container', `days__${weekDays.value.length}`]
29005
- }, [props.viewMode === 'month' && !props.hideDayHeader && createVNode("div", {
29006
- "class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
29101
+ }))]), createElementVNode("div", {
29102
+ "class": normalizeClass(['v-calendar__container', `days__${weekDays.value.length}`])
29103
+ }, [props.viewMode === 'month' && !props.hideDayHeader && createElementVNode("div", {
29104
+ "class": normalizeClass(['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])]),
29007
29105
  "key": "calendarWeeklyHead"
29008
- }, [!props.hideWeekNumber ? createVNode("div", {
29106
+ }, [!props.hideWeekNumber ? createElementVNode("div", {
29009
29107
  "key": "weekNumber0",
29010
29108
  "class": "v-calendar-weekly__head-weeknumber"
29011
- }, null) : '', weekDays.value.map(weekday => createVNode("div", {
29012
- "class": `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`
29013
- }, [dayNames[weekday]]))]), props.viewMode === 'month' && createVNode("div", {
29109
+ }, null) : '', weekDays.value.map(weekday => createElementVNode("div", {
29110
+ "class": normalizeClass(`v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`)
29111
+ }, [dayNames[weekday]]))]), props.viewMode === 'month' && createElementVNode("div", {
29014
29112
  "key": "VCalendarMonth",
29015
- "class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
29016
- }, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? createVNode("div", mergeProps({
29113
+ "class": normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])])
29114
+ }, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? createElementVNode("div", mergeProps({
29017
29115
  "class": "v-calendar-month__weeknumber"
29018
29116
  }, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
29019
29117
  weekNumber: weekNumbers.value[wi],
@@ -29125,11 +29223,11 @@ const VColorInput = genericComponent()({
29125
29223
  }
29126
29224
  }), {
29127
29225
  ...slots,
29128
- prepend: props.pipIcon ? arg => createVNode(Fragment, null, [hasPrepend && createVNode(VIcon, {
29226
+ prepend: props.pipIcon ? arg => createElementVNode(Fragment, null, [hasPrepend && createVNode(VIcon, {
29129
29227
  "color": props.pip ? model.value : undefined,
29130
29228
  "icon": props.pipIcon
29131
29229
  }, null), slots.prepend?.(arg)]) : undefined,
29132
- default: () => createVNode(Fragment, null, [createVNode(VMenu, {
29230
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, {
29133
29231
  "modelValue": menu.value,
29134
29232
  "onUpdate:modelValue": $event => menu.value = $event,
29135
29233
  "activator": "parent",
@@ -29485,7 +29583,7 @@ const VDateInput = genericComponent()({
29485
29583
  "onUpdate:modelValue": onUpdateDisplayModel
29486
29584
  }), {
29487
29585
  ...slots,
29488
- default: () => createVNode(Fragment, null, [createVNode(VMenu, {
29586
+ default: () => createElementVNode(Fragment, null, [createVNode(VMenu, {
29489
29587
  "modelValue": menu.value,
29490
29588
  "onUpdate:modelValue": $event => menu.value = $event,
29491
29589
  "activator": "parent",
@@ -29590,7 +29688,7 @@ const VFileUploadItem = genericComponent()({
29590
29688
  "class": "v-file-upload-item"
29591
29689
  }), {
29592
29690
  ...slots,
29593
- prepend: slotProps => createVNode(Fragment, null, [!slots.prepend ? createVNode(VAvatar, {
29691
+ prepend: slotProps => createElementVNode(Fragment, null, [!slots.prepend ? createVNode(VAvatar, {
29594
29692
  "icon": props.fileIcon,
29595
29693
  "image": preview.value,
29596
29694
  "rounded": true
@@ -29605,7 +29703,7 @@ const VFileUploadItem = genericComponent()({
29605
29703
  }, {
29606
29704
  default: () => [slots.prepend?.(slotProps) ?? createVNode(VAvatar, null, null)]
29607
29705
  })]),
29608
- append: slotProps => createVNode(Fragment, null, [props.clearable && createVNode(Fragment, null, [!slots.clear ? createVNode(VBtn, {
29706
+ append: slotProps => createElementVNode(Fragment, null, [props.clearable && createElementVNode(Fragment, null, [!slots.clear ? createVNode(VBtn, {
29609
29707
  "icon": "$clear",
29610
29708
  "density": "comfortable",
29611
29709
  "variant": "text",
@@ -29736,7 +29834,7 @@ const VFileUpload = genericComponent()({
29736
29834
  const cardProps = VSheet.filterProps(props);
29737
29835
  const dividerProps = VDivider.filterProps(props);
29738
29836
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
29739
- const inputNode = createVNode("input", mergeProps({
29837
+ const inputNode = createElementVNode("input", mergeProps({
29740
29838
  "ref": inputRef,
29741
29839
  "type": "file",
29742
29840
  "disabled": props.disabled,
@@ -29748,7 +29846,7 @@ const VFileUpload = genericComponent()({
29748
29846
  model.value = [...(target.files ?? [])];
29749
29847
  }
29750
29848
  }, inputAttrs), null);
29751
- return createVNode(Fragment, null, [createVNode(VSheet, mergeProps({
29849
+ return createElementVNode(Fragment, null, [createVNode(VSheet, mergeProps({
29752
29850
  "ref": vSheetRef
29753
29851
  }, cardProps, {
29754
29852
  "class": ['v-file-upload', {
@@ -29762,7 +29860,7 @@ const VFileUpload = genericComponent()({
29762
29860
  "onDrop": onDrop,
29763
29861
  "onClick": !hasBrowse ? onClick : undefined
29764
29862
  }, rootAttrs), {
29765
- default: () => [hasIcon && createVNode("div", {
29863
+ default: () => [hasIcon && createElementVNode("div", {
29766
29864
  "key": "icon",
29767
29865
  "class": "v-file-upload-icon"
29768
29866
  }, [!slots.icon ? createVNode(VIcon, {
@@ -29777,15 +29875,15 @@ const VFileUpload = genericComponent()({
29777
29875
  }
29778
29876
  }, {
29779
29877
  default: () => [slots.icon()]
29780
- })]), hasTitle && createVNode("div", {
29878
+ })]), hasTitle && createElementVNode("div", {
29781
29879
  "key": "title",
29782
29880
  "class": "v-file-upload-title"
29783
- }, [slots.title?.() ?? t(props.title)]), props.density === 'default' && createVNode(Fragment, null, [createVNode("div", {
29881
+ }, [slots.title?.() ?? t(props.title)]), props.density === 'default' && createElementVNode(Fragment, null, [createElementVNode("div", {
29784
29882
  "key": "upload-divider",
29785
29883
  "class": "v-file-upload-divider"
29786
29884
  }, [slots.divider?.() ?? createVNode(VDivider, dividerProps, {
29787
29885
  default: () => [t(props.dividerText)]
29788
- })]), hasBrowse && createVNode(Fragment, null, [!slots.browse ? createVNode(VBtn, {
29886
+ })]), hasBrowse && createElementVNode(Fragment, null, [!slots.browse ? createVNode(VBtn, {
29789
29887
  "readonly": props.disabled,
29790
29888
  "size": "large",
29791
29889
  "text": t(props.browseText),
@@ -29806,7 +29904,7 @@ const VFileUpload = genericComponent()({
29806
29904
  onClick
29807
29905
  }
29808
29906
  })]
29809
- })]), props.subtitle && createVNode("div", {
29907
+ })]), props.subtitle && createElementVNode("div", {
29810
29908
  "class": "v-file-upload-subtitle"
29811
29909
  }, [props.subtitle])]), createVNode(VOverlay, {
29812
29910
  "model-value": isDragging.value,
@@ -29815,7 +29913,7 @@ const VFileUpload = genericComponent()({
29815
29913
  }, null), slots.input?.({
29816
29914
  inputNode
29817
29915
  }) ?? inputNode]
29818
- }), model.value.length > 0 && createVNode("div", {
29916
+ }), model.value.length > 0 && createElementVNode("div", {
29819
29917
  "class": "v-file-upload-items"
29820
29918
  }, [model.value.map((file, i) => {
29821
29919
  const slotProps = {
@@ -29965,23 +30063,23 @@ const VIconBtn = genericComponent()({
29965
30063
  opacity: props.opacity
29966
30064
  };
29967
30065
  return createVNode(props.tag, {
29968
- "class": [{
30066
+ "class": normalizeClass([{
29969
30067
  'v-icon-btn': true,
29970
30068
  'v-icon-btn--active': isActive.value,
29971
30069
  'v-icon-btn--disabled': props.disabled,
29972
30070
  'v-icon-btn--loading': props.loading,
29973
30071
  'v-icon-btn--readonly': props.readonly,
29974
30072
  [`v-icon-btn--${props.size}`]: true
29975
- }, themeClasses.value, colorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, variantClasses.value, props.class],
29976
- "style": [{
30073
+ }, themeClasses.value, colorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, variantClasses.value, props.class]),
30074
+ "style": normalizeStyle([{
29977
30075
  '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),
29978
30076
  '--v-icon-btn-height': convertToUnit(btnHeight),
29979
30077
  '--v-icon-btn-width': convertToUnit(btnWidth)
29980
- }, colorStyles.value, props.style],
30078
+ }, colorStyles.value, props.style]),
29981
30079
  "tabindex": props.disabled || props.readonly ? -1 : 0,
29982
30080
  "onClick": onClick
29983
30081
  }, {
29984
- default: () => [genOverlays(!props.hideOverlay, 'v-icon-btn'), createVNode("div", {
30082
+ default: () => [genOverlays(!props.hideOverlay, 'v-icon-btn'), createElementVNode("div", {
29985
30083
  "class": "v-icon-btn__content",
29986
30084
  "data-no-activator": ""
29987
30085
  }, [!slots.default && icon ? createVNode(VIcon, mergeProps({
@@ -29996,7 +30094,7 @@ const VIconBtn = genericComponent()({
29996
30094
  }
29997
30095
  }, {
29998
30096
  default: () => slots.default?.() ?? toDisplayString(props.text)
29999
- })]), !!props.loading && createVNode("span", {
30097
+ })]), !!props.loading && createElementVNode("span", {
30000
30098
  "key": "loader",
30001
30099
  "class": "v-icon-btn__loader"
30002
30100
  }, [slots.loader?.() ?? createVNode(VProgressCircular, {
@@ -30131,7 +30229,7 @@ const VStepperVerticalItem = genericComponent()({
30131
30229
  "hide-actions": false,
30132
30230
  "value": step.value
30133
30231
  }), {
30134
- title: () => createVNode(Fragment, null, [createVNode(VAvatar, {
30232
+ title: () => createElementVNode(Fragment, null, [createVNode(VAvatar, {
30135
30233
  "key": "stepper-avatar",
30136
30234
  "class": "v-stepper-vertical-item__avatar",
30137
30235
  "color": hasColor ? props.color : undefined,
@@ -30141,12 +30239,12 @@ const VStepperVerticalItem = genericComponent()({
30141
30239
  default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? createVNode(VIcon, {
30142
30240
  "icon": icon.value
30143
30241
  }, null) : step.value)]
30144
- }), createVNode("div", null, [createVNode("div", {
30242
+ }), createElementVNode("div", null, [createElementVNode("div", {
30145
30243
  "class": "v-stepper-vertical-item__title"
30146
- }, [slots.title?.(slotProps.value) ?? props.title]), createVNode("div", {
30244
+ }, [slots.title?.(slotProps.value) ?? props.title]), createElementVNode("div", {
30147
30245
  "class": "v-stepper-vertical-item__subtitle"
30148
30246
  }, [slots.subtitle?.(slotProps.value) ?? props.subtitle])])]),
30149
- text: () => createVNode(Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && createVNode(VDefaultsProvider, {
30247
+ text: () => createElementVNode(Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && createVNode(VDefaultsProvider, {
30150
30248
  "defaults": {
30151
30249
  VStepperVerticalActions: {
30152
30250
  disabled: disabled.value,
@@ -30248,7 +30346,7 @@ const VStepperVertical = genericComponent()({
30248
30346
  prev,
30249
30347
  next
30250
30348
  } = _ref2;
30251
- return createVNode(Fragment, null, [items.value.map(_ref3 => {
30349
+ return createElementVNode(Fragment, null, [items.value.map(_ref3 => {
30252
30350
  let {
30253
30351
  raw,
30254
30352
  ...item
@@ -30337,7 +30435,7 @@ const VPullToRefresh = genericComponent()({
30337
30435
  goingUp.value = newVal < oldVal;
30338
30436
  });
30339
30437
  useRender(() => {
30340
- return createVNode("div", {
30438
+ return createElementVNode("div", {
30341
30439
  "class": ['v-pull-to-refresh'],
30342
30440
  "onTouchstart": onTouchstart,
30343
30441
  "onTouchmove": onTouchmove,
@@ -30347,32 +30445,32 @@ const VPullToRefresh = genericComponent()({
30347
30445
  "onMouseleave": onTouchend,
30348
30446
  "onMousemove": onTouchmove,
30349
30447
  "ref": containerRef
30350
- }, [createVNode("div", {
30351
- "class": ['v-pull-to-refresh__pull-down', {
30448
+ }, [createElementVNode("div", {
30449
+ "class": normalizeClass(['v-pull-to-refresh__pull-down', {
30352
30450
  'v-pull-to-refresh__pull-down--touching': touching.value
30353
- }],
30354
- "style": {
30451
+ }]),
30452
+ "style": normalizeStyle({
30355
30453
  top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),
30356
30454
  height: convertToUnit(props.pullDownThreshold)
30357
- }
30455
+ })
30358
30456
  }, [slots.pullDownPanel ? slots.pullDownPanel({
30359
30457
  canRefresh: canRefresh.value,
30360
30458
  goingUp: goingUp.value,
30361
30459
  refreshing: refreshing.value
30362
- }) : createVNode("div", {
30460
+ }) : createElementVNode("div", {
30363
30461
  "class": ['v-pull-to-refresh__pull-down-default']
30364
30462
  }, [refreshing.value ? createVNode(VProgressCircular, {
30365
30463
  "indeterminate": true,
30366
30464
  "active": false
30367
30465
  }, null) : createVNode(VIcon, {
30368
30466
  "icon": canRefresh.value || goingUp.value ? '$sortAsc' : '$sortDesc'
30369
- }, null)])]), createVNode("div", {
30370
- "class": ['v-pull-to-refresh__scroll-container', {
30467
+ }, null)])]), createElementVNode("div", {
30468
+ "class": normalizeClass(['v-pull-to-refresh__scroll-container', {
30371
30469
  'v-pull-to-refresh__scroll-container--touching': touching.value
30372
- }],
30373
- "style": {
30470
+ }]),
30471
+ "style": normalizeStyle({
30374
30472
  top: convertToUnit(topOffset.value)
30375
- }
30473
+ })
30376
30474
  }, [slots.default?.()])]);
30377
30475
  });
30378
30476
  }
@@ -30587,37 +30685,37 @@ const VTimePickerClock = genericComponent()({
30587
30685
  }
30588
30686
  }
30589
30687
  useRender(() => {
30590
- return createVNode("div", {
30591
- "class": [{
30688
+ return createElementVNode("div", {
30689
+ "class": normalizeClass([{
30592
30690
  'v-time-picker-clock': true,
30593
30691
  'v-time-picker-clock--indeterminate': props.modelValue == null,
30594
30692
  'v-time-picker-clock--readonly': props.readonly
30595
- }],
30693
+ }]),
30596
30694
  "onMousedown": onMouseDown,
30597
30695
  "onTouchstart": onMouseDown,
30598
30696
  "onWheel": wheel,
30599
30697
  "ref": clockRef
30600
- }, [createVNode("div", {
30698
+ }, [createElementVNode("div", {
30601
30699
  "class": "v-time-picker-clock__inner",
30602
30700
  "ref": innerClockRef
30603
- }, [createVNode("div", {
30604
- "class": [{
30701
+ }, [createElementVNode("div", {
30702
+ "class": normalizeClass([{
30605
30703
  'v-time-picker-clock__hand': true,
30606
30704
  'v-time-picker-clock__hand--inner': isInner(props.modelValue)
30607
- }, textColorClasses.value],
30608
- "style": [{
30705
+ }, textColorClasses.value]),
30706
+ "style": normalizeStyle([{
30609
30707
  transform: `rotate(${props.rotate + degreesPerUnit.value * (displayedValue.value - props.min)}deg) scaleY(${handScale(displayedValue.value)})`
30610
- }, textColorStyles.value]
30708
+ }, textColorStyles.value])
30611
30709
  }, null), genChildren.value.map(value => {
30612
30710
  const isActive = value === displayedValue.value;
30613
- return createVNode("div", {
30614
- "class": [{
30711
+ return createElementVNode("div", {
30712
+ "class": normalizeClass([{
30615
30713
  'v-time-picker-clock__item': true,
30616
30714
  'v-time-picker-clock__item--active': isActive,
30617
30715
  'v-time-picker-clock__item--disabled': props.disabled || !isAllowed(value)
30618
- }, isActive && backgroundColorClasses.value],
30619
- "style": [getTransform(value), isActive && backgroundColorStyles.value]
30620
- }, [createVNode("span", null, [props.format(value)])]);
30716
+ }, isActive && backgroundColorClasses.value]),
30717
+ "style": normalizeStyle([getTransform(value), isActive && backgroundColorStyles.value])
30718
+ }, [createElementVNode("span", null, [props.format(value)])]);
30621
30719
  })])]);
30622
30720
  });
30623
30721
  }
@@ -30660,46 +30758,46 @@ const VTimePickerControls = genericComponent()({
30660
30758
  if (props.ampm) {
30661
30759
  hour = hour ? (hour - 1) % 12 + 1 : 12;
30662
30760
  }
30663
- return createVNode("div", {
30761
+ return createElementVNode("div", {
30664
30762
  "class": "v-time-picker-controls"
30665
- }, [createVNode("div", {
30666
- "class": {
30763
+ }, [createElementVNode("div", {
30764
+ "class": normalizeClass({
30667
30765
  'v-time-picker-controls__time': true,
30668
30766
  'v-time-picker-controls__time--with-seconds': props.useSeconds
30669
- }
30767
+ })
30670
30768
  }, [createVNode(VBtn, {
30671
30769
  "active": props.viewMode === 'hour',
30672
30770
  "color": props.viewMode === 'hour' ? props.color : undefined,
30673
30771
  "disabled": props.disabled,
30674
30772
  "variant": "tonal",
30675
- "class": {
30773
+ "class": normalizeClass({
30676
30774
  'v-time-picker-controls__time__btn': true,
30677
30775
  'v-time-picker-controls__time--with-ampm__btn': props.ampm,
30678
30776
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
30679
- },
30777
+ }),
30680
30778
  "text": props.hour == null ? '--' : pad(`${hour}`),
30681
30779
  "onClick": () => emit('update:viewMode', 'hour')
30682
- }, null), createVNode("span", {
30683
- "class": ['v-time-picker-controls__time__separator', {
30780
+ }, null), createElementVNode("span", {
30781
+ "class": normalizeClass(['v-time-picker-controls__time__separator', {
30684
30782
  'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
30685
- }]
30783
+ }])
30686
30784
  }, [createTextVNode(":")]), createVNode(VBtn, {
30687
30785
  "active": props.viewMode === 'minute',
30688
30786
  "color": props.viewMode === 'minute' ? props.color : undefined,
30689
- "class": {
30787
+ "class": normalizeClass({
30690
30788
  'v-time-picker-controls__time__btn': true,
30691
30789
  'v-time-picker-controls__time__btn__active': props.viewMode === 'minute',
30692
30790
  'v-time-picker-controls__time--with-ampm__btn': props.ampm,
30693
30791
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
30694
- },
30792
+ }),
30695
30793
  "disabled": props.disabled,
30696
30794
  "variant": "tonal",
30697
30795
  "text": props.minute == null ? '--' : pad(props.minute),
30698
30796
  "onClick": () => emit('update:viewMode', 'minute')
30699
- }, null), props.useSeconds && createVNode("span", {
30700
- "class": ['v-time-picker-controls__time__separator', {
30797
+ }, null), props.useSeconds && createElementVNode("span", {
30798
+ "class": normalizeClass(['v-time-picker-controls__time__separator', {
30701
30799
  'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
30702
- }],
30800
+ }]),
30703
30801
  "key": "secondsDivider"
30704
30802
  }, [createTextVNode(":")]), props.useSeconds && createVNode(VBtn, {
30705
30803
  "key": "secondsVal",
@@ -30707,25 +30805,25 @@ const VTimePickerControls = genericComponent()({
30707
30805
  "color": props.viewMode === 'second' ? props.color : undefined,
30708
30806
  "variant": "tonal",
30709
30807
  "onClick": () => emit('update:viewMode', 'second'),
30710
- "class": {
30808
+ "class": normalizeClass({
30711
30809
  'v-time-picker-controls__time__btn': true,
30712
30810
  'v-time-picker-controls__time__btn__active': props.viewMode === 'second',
30713
30811
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
30714
- },
30812
+ }),
30715
30813
  "disabled": props.disabled,
30716
30814
  "text": props.second == null ? '--' : pad(props.second)
30717
- }, null), props.ampm && props.ampmInTitle && createVNode("div", {
30718
- "class": ['v-time-picker-controls__ampm', {
30815
+ }, null), props.ampm && props.ampmInTitle && createElementVNode("div", {
30816
+ "class": normalizeClass(['v-time-picker-controls__ampm', {
30719
30817
  'v-time-picker-controls__ampm--readonly': props.ampmReadonly
30720
- }]
30818
+ }])
30721
30819
  }, [createVNode(VBtn, {
30722
30820
  "active": props.period === 'am',
30723
30821
  "color": props.period === 'am' ? props.color : undefined,
30724
- "class": {
30822
+ "class": normalizeClass({
30725
30823
  'v-time-picker-controls__ampm__am': true,
30726
30824
  'v-time-picker-controls__ampm__btn': true,
30727
30825
  'v-time-picker-controls__ampm__btn__active': props.period === 'am'
30728
- },
30826
+ }),
30729
30827
  "disabled": props.disabled,
30730
30828
  "text": t('$vuetify.timePicker.am'),
30731
30829
  "variant": props.disabled && props.period === 'am' ? 'elevated' : 'tonal',
@@ -30733,11 +30831,11 @@ const VTimePickerControls = genericComponent()({
30733
30831
  }, null), createVNode(VBtn, {
30734
30832
  "active": props.period === 'pm',
30735
30833
  "color": props.period === 'pm' ? props.color : undefined,
30736
- "class": {
30834
+ "class": normalizeClass({
30737
30835
  'v-time-picker-controls__ampm__pm': true,
30738
30836
  'v-time-picker-controls__ampm__btn': true,
30739
30837
  'v-time-picker-controls__ampm__btn__active': props.period === 'pm'
30740
- },
30838
+ }),
30741
30839
  "disabled": props.disabled,
30742
30840
  "text": t('$vuetify.timePicker.pm'),
30743
30841
  "variant": props.disabled && props.period === 'pm' ? 'elevated' : 'tonal',
@@ -30965,7 +31063,7 @@ const VTimePicker = genericComponent()({
30965
31063
  "class": ['v-time-picker', props.class],
30966
31064
  "style": props.style
30967
31065
  }), {
30968
- title: () => slots.title?.() ?? createVNode("div", {
31066
+ title: () => slots.title?.() ?? createElementVNode("div", {
30969
31067
  "class": "v-time-picker__title"
30970
31068
  }, [t(props.title)]),
30971
31069
  header: () => createVNode(VTimePickerControls, mergeProps(timePickerControlsProps, {
@@ -31032,7 +31130,7 @@ const VTreeviewGroup = genericComponent()({
31032
31130
  "subgroup": true
31033
31131
  }), {
31034
31132
  ...slots,
31035
- activator: slots.activator ? slotProps => createVNode(Fragment, null, [createVNode(VDefaultsProvider, {
31133
+ activator: slots.activator ? slotProps => createElementVNode(Fragment, null, [createVNode(VDefaultsProvider, {
31036
31134
  "defaults": activatorDefaults.value
31037
31135
  }, {
31038
31136
  default: () => [slots.activator?.(slotProps)]
@@ -31098,7 +31196,7 @@ const VTreeviewItem = genericComponent()({
31098
31196
  }), {
31099
31197
  ...slots,
31100
31198
  prepend: hasPrepend ? slotProps => {
31101
- return createVNode(Fragment, null, [createVNode(VListItemAction, {
31199
+ return createElementVNode(Fragment, null, [createVNode(VListItemAction, {
31102
31200
  "start": false
31103
31201
  }, {
31104
31202
  default: () => [props.toggleIcon ? createVNode(VBtn, {
@@ -31115,7 +31213,7 @@ const VTreeviewItem = genericComponent()({
31115
31213
  "width": "2"
31116
31214
  }, null);
31117
31215
  }
31118
- }) : createVNode("div", {
31216
+ }) : createElementVNode("div", {
31119
31217
  "class": "v-treeview-item__level"
31120
31218
  }, null)]
31121
31219
  }), slots.prepend?.(slotProps)]);
@@ -31184,7 +31282,7 @@ const VTreeviewChildren = genericComponent()({
31184
31282
  } = item;
31185
31283
  const loading = isLoading.has(item.value);
31186
31284
  const slotsWithItem = {
31187
- prepend: slotProps => createVNode(Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && createVNode("div", null, [createVNode(VCheckboxBtn, {
31285
+ prepend: slotProps => createElementVNode(Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && createElementVNode("div", null, [createVNode(VCheckboxBtn, {
31188
31286
  "key": item.value,
31189
31287
  "modelValue": slotProps.isSelected,
31190
31288
  "disabled": props.disabled,
@@ -31913,7 +32011,7 @@ function createVuetify$1() {
31913
32011
  };
31914
32012
  });
31915
32013
  }
31916
- const version$1 = "3.8.6";
32014
+ const version$1 = "3.8.7";
31917
32015
  createVuetify$1.version = version$1;
31918
32016
 
31919
32017
  // Vue's inject() can only be used in setup
@@ -32211,7 +32309,7 @@ var index = /*#__PURE__*/Object.freeze({
32211
32309
 
32212
32310
  /* eslint-disable local-rules/sort-imports */
32213
32311
 
32214
- const version = "3.8.6";
32312
+ const version = "3.8.7";
32215
32313
 
32216
32314
  /* eslint-disable local-rules/sort-imports */
32217
32315