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,5 +1,5 @@
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
  */
@@ -591,6 +591,21 @@
591
591
  function isPrimitive(value) {
592
592
  return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
593
593
  }
594
+ function extractNumber(text, decimalDigitsLimit) {
595
+ const cleanText = text.split('').filter(x => /[\d\-.]/.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||
596
+ // sign allowed at the start
597
+ x === '.' && i === all.indexOf('.') ||
598
+ // decimal separator allowed only once
599
+ /\d/.test(x)).join('');
600
+ if (decimalDigitsLimit === 0) {
601
+ return cleanText.split('.')[0];
602
+ }
603
+ if (decimalDigitsLimit !== null && /\.\d/.test(cleanText)) {
604
+ const parts = cleanText.split('.');
605
+ return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join('.');
606
+ }
607
+ return cleanText;
608
+ }
594
609
 
595
610
  // Utilities
596
611
  const block = ['top', 'bottom'];
@@ -695,6 +710,33 @@
695
710
  return target.getBoundingClientRect();
696
711
  }
697
712
  }
713
+ function getElementBox(el) {
714
+ if (el === document.documentElement) {
715
+ if (!visualViewport) {
716
+ return new Box({
717
+ x: 0,
718
+ y: 0,
719
+ width: document.documentElement.clientWidth,
720
+ height: document.documentElement.clientHeight
721
+ });
722
+ } else {
723
+ return new Box({
724
+ x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
725
+ y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
726
+ width: visualViewport.width * visualViewport.scale,
727
+ height: visualViewport.height * visualViewport.scale
728
+ });
729
+ }
730
+ } else {
731
+ const rect = el.getBoundingClientRect();
732
+ return new Box({
733
+ x: rect.x,
734
+ y: rect.y,
735
+ width: el.clientWidth,
736
+ height: el.clientHeight
737
+ });
738
+ }
739
+ }
698
740
 
699
741
  // Utilities
700
742
 
@@ -2629,11 +2671,11 @@
2629
2671
  const {
2630
2672
  rtlClasses
2631
2673
  } = useRtl();
2632
- useRender(() => vue.createVNode("div", {
2674
+ useRender(() => vue.createElementVNode("div", {
2633
2675
  "ref": layoutRef,
2634
- "class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
2635
- "style": [props.style]
2636
- }, [vue.createVNode("div", {
2676
+ "class": vue.normalizeClass(['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class]),
2677
+ "style": vue.normalizeStyle([props.style])
2678
+ }, [vue.createElementVNode("div", {
2637
2679
  "class": "v-application__wrap"
2638
2680
  }, [slots.default?.()])]));
2639
2681
  return {
@@ -2673,10 +2715,10 @@
2673
2715
  useRender(() => {
2674
2716
  const hasText = !!(slots.default || slots.text || props.text);
2675
2717
  return vue.createVNode(props.tag, {
2676
- "class": ['v-toolbar-title', props.class],
2677
- "style": props.style
2718
+ "class": vue.normalizeClass(['v-toolbar-title', props.class]),
2719
+ "style": vue.normalizeStyle(props.style)
2678
2720
  }, {
2679
- default: () => [hasText && vue.createVNode("div", {
2721
+ default: () => [hasText && vue.createElementVNode("div", {
2680
2722
  "class": "v-toolbar-title__placeholder"
2681
2723
  }, [slots.text ? slots.text() : props.text, slots.default?.()])]
2682
2724
  });
@@ -3136,16 +3178,16 @@
3136
3178
  const {
3137
3179
  dimensionStyles
3138
3180
  } = useDimension(props);
3139
- useRender(() => vue.createVNode("div", {
3140
- "class": ['v-responsive', {
3181
+ useRender(() => vue.createElementVNode("div", {
3182
+ "class": vue.normalizeClass(['v-responsive', {
3141
3183
  'v-responsive--inline': props.inline
3142
- }, props.class],
3143
- "style": [dimensionStyles.value, props.style]
3144
- }, [vue.createVNode("div", {
3184
+ }, props.class]),
3185
+ "style": vue.normalizeStyle([dimensionStyles.value, props.style])
3186
+ }, [vue.createElementVNode("div", {
3145
3187
  "class": "v-responsive__sizer",
3146
- "style": aspectStyles.value
3147
- }, null), slots.additional?.(), slots.default && vue.createVNode("div", {
3148
- "class": ['v-responsive__content', props.contentClass]
3188
+ "style": vue.normalizeStyle(aspectStyles.value)
3189
+ }, null), slots.additional?.(), slots.default && vue.createElementVNode("div", {
3190
+ "class": vue.normalizeClass(['v-responsive__content', props.contentClass])
3149
3191
  }, [slots.default()])]));
3150
3192
  return {};
3151
3193
  }
@@ -3379,7 +3421,7 @@
3379
3421
  const VImg = genericComponent()({
3380
3422
  name: 'VImg',
3381
3423
  directives: {
3382
- intersect: Intersect
3424
+ vIntersect: Intersect
3383
3425
  },
3384
3426
  props: makeVImgProps(),
3385
3427
  emits: {
@@ -3508,11 +3550,11 @@
3508
3550
  }));
3509
3551
  const __image = () => {
3510
3552
  if (!normalisedSrc.value.src || state.value === 'idle') return null;
3511
- const img = vue.createVNode("img", {
3512
- "class": ['v-img__img', containClasses.value],
3513
- "style": {
3553
+ const img = vue.createElementVNode("img", {
3554
+ "class": vue.normalizeClass(['v-img__img', containClasses.value]),
3555
+ "style": vue.normalizeStyle({
3514
3556
  objectPosition: props.position
3515
- },
3557
+ }),
3516
3558
  "crossorigin": props.crossorigin,
3517
3559
  "src": normalisedSrc.value.src,
3518
3560
  "srcset": normalisedSrc.value.srcset,
@@ -3529,7 +3571,7 @@
3529
3571
  "transition": props.transition,
3530
3572
  "appear": true
3531
3573
  }, {
3532
- default: () => [vue.withDirectives(sources ? vue.createVNode("picture", {
3574
+ default: () => [vue.withDirectives(sources ? vue.createElementVNode("picture", {
3533
3575
  "class": "v-img__picture"
3534
3576
  }, [sources, img]) : img, [[vue.vShow, state.value === 'loaded']])]
3535
3577
  });
@@ -3537,11 +3579,11 @@
3537
3579
  const __preloadImage = () => vue.createVNode(MaybeTransition, {
3538
3580
  "transition": props.transition
3539
3581
  }, {
3540
- default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && vue.createVNode("img", {
3541
- "class": ['v-img__img', 'v-img__img--preload', containClasses.value],
3542
- "style": {
3582
+ default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && vue.createElementVNode("img", {
3583
+ "class": vue.normalizeClass(['v-img__img', 'v-img__img--preload', containClasses.value]),
3584
+ "style": vue.normalizeStyle({
3543
3585
  objectPosition: props.position
3544
- },
3586
+ }),
3545
3587
  "crossorigin": props.crossorigin,
3546
3588
  "src": normalisedSrc.value.lazySrc,
3547
3589
  "alt": props.alt,
@@ -3555,7 +3597,7 @@
3555
3597
  "transition": props.transition,
3556
3598
  "appear": true
3557
3599
  }, {
3558
- default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && vue.createVNode("div", {
3600
+ default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && vue.createElementVNode("div", {
3559
3601
  "class": "v-img__placeholder"
3560
3602
  }, [slots.placeholder()])]
3561
3603
  });
@@ -3566,18 +3608,18 @@
3566
3608
  "transition": props.transition,
3567
3609
  "appear": true
3568
3610
  }, {
3569
- default: () => [state.value === 'error' && vue.createVNode("div", {
3611
+ default: () => [state.value === 'error' && vue.createElementVNode("div", {
3570
3612
  "class": "v-img__error"
3571
3613
  }, [slots.error()])]
3572
3614
  });
3573
3615
  };
3574
3616
  const __gradient = () => {
3575
3617
  if (!props.gradient) return null;
3576
- return vue.createVNode("div", {
3618
+ return vue.createElementVNode("div", {
3577
3619
  "class": "v-img__gradient",
3578
- "style": {
3620
+ "style": vue.normalizeStyle({
3579
3621
  backgroundImage: `linear-gradient(${props.gradient})`
3580
- }
3622
+ })
3581
3623
  }, null);
3582
3624
  };
3583
3625
  const isBooted = vue.shallowRef(false);
@@ -3609,9 +3651,9 @@
3609
3651
  "aria-label": props.alt,
3610
3652
  "role": props.alt ? 'img' : undefined
3611
3653
  }), {
3612
- additional: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(__image, null, null), vue.createVNode(__preloadImage, null, null), vue.createVNode(__gradient, null, null), vue.createVNode(__placeholder, null, null), vue.createVNode(__error, null, null)]),
3654
+ additional: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(__image, null, null), vue.createVNode(__preloadImage, null, null), vue.createVNode(__gradient, null, null), vue.createVNode(__placeholder, null, null), vue.createVNode(__error, null, null)]),
3613
3655
  default: slots.default
3614
- }), [[vue.resolveDirective("intersect"), {
3656
+ }), [[Intersect, {
3615
3657
  handler: init,
3616
3658
  options: props.options
3617
3659
  }, null, {
@@ -3754,16 +3796,16 @@
3754
3796
  const extension = slots.extension?.();
3755
3797
  isExtended.value = !!(props.extended || extension);
3756
3798
  return vue.createVNode(props.tag, {
3757
- "class": ['v-toolbar', {
3799
+ "class": vue.normalizeClass(['v-toolbar', {
3758
3800
  'v-toolbar--absolute': props.absolute,
3759
3801
  'v-toolbar--collapse': props.collapse,
3760
3802
  'v-toolbar--flat': props.flat,
3761
3803
  'v-toolbar--floating': props.floating,
3762
3804
  [`v-toolbar--density-${props.density}`]: true
3763
- }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
3764
- "style": [backgroundColorStyles.value, props.style]
3805
+ }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),
3806
+ "style": vue.normalizeStyle([backgroundColorStyles.value, props.style])
3765
3807
  }, {
3766
- default: () => [hasImage && vue.createVNode("div", {
3808
+ default: () => [hasImage && vue.createElementVNode("div", {
3767
3809
  "key": "image",
3768
3810
  "class": "v-toolbar__image"
3769
3811
  }, [!slots.image ? vue.createVNode(VImg, {
@@ -3786,19 +3828,19 @@
3786
3828
  }
3787
3829
  }
3788
3830
  }, {
3789
- default: () => [vue.createVNode("div", {
3831
+ default: () => [vue.createElementVNode("div", {
3790
3832
  "class": "v-toolbar__content",
3791
- "style": {
3833
+ "style": vue.normalizeStyle({
3792
3834
  height: convertToUnit(contentHeight.value)
3793
- }
3794
- }, [slots.prepend && vue.createVNode("div", {
3835
+ })
3836
+ }, [slots.prepend && vue.createElementVNode("div", {
3795
3837
  "class": "v-toolbar__prepend"
3796
3838
  }, [slots.prepend?.()]), hasTitle && vue.createVNode(VToolbarTitle, {
3797
3839
  "key": "title",
3798
3840
  "text": props.title
3799
3841
  }, {
3800
3842
  text: slots.title
3801
- }), slots.default?.(), slots.append && vue.createVNode("div", {
3843
+ }), slots.default?.(), slots.append && vue.createElementVNode("div", {
3802
3844
  "class": "v-toolbar__append"
3803
3845
  }, [slots.append?.()])])]
3804
3846
  }), vue.createVNode(VDefaultsProvider, {
@@ -3809,11 +3851,11 @@
3809
3851
  }
3810
3852
  }, {
3811
3853
  default: () => [vue.createVNode(VExpandTransition, null, {
3812
- default: () => [isExtended.value && vue.createVNode("div", {
3854
+ default: () => [isExtended.value && vue.createElementVNode("div", {
3813
3855
  "class": "v-toolbar__extension",
3814
- "style": {
3856
+ "style": vue.normalizeStyle({
3815
3857
  height: convertToUnit(extensionHeight.value)
3816
- }
3858
+ })
3817
3859
  }, [extension])]
3818
3860
  })]
3819
3861
  })]
@@ -4092,12 +4134,12 @@
4092
4134
 
4093
4135
  const allowedVariants$2 = ['elevated', 'flat', 'tonal', 'outlined', 'text', 'plain'];
4094
4136
  function genOverlays(isClickable, name) {
4095
- return vue.createVNode(vue.Fragment, null, [isClickable && vue.createVNode("span", {
4137
+ return vue.createElementVNode(vue.Fragment, null, [isClickable && vue.createElementVNode("span", {
4096
4138
  "key": "overlay",
4097
- "class": `${name}__overlay`
4098
- }, null), vue.createVNode("span", {
4139
+ "class": vue.normalizeClass(`${name}__overlay`)
4140
+ }, null), vue.createElementVNode("span", {
4099
4141
  "key": "underlay",
4100
- "class": `${name}__underlay`
4142
+ "class": vue.normalizeClass(`${name}__underlay`)
4101
4143
  }, null)]);
4102
4144
  }
4103
4145
  const makeVariantProps = propsFactory({
@@ -4181,10 +4223,10 @@
4181
4223
  });
4182
4224
  useRender(() => {
4183
4225
  return vue.createVNode(props.tag, {
4184
- "class": ['v-btn-group', {
4226
+ "class": vue.normalizeClass(['v-btn-group', {
4185
4227
  'v-btn-group--divided': props.divided
4186
- }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
4187
- "style": props.style
4228
+ }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
4229
+ "style": vue.normalizeStyle(props.style)
4188
4230
  }, slots);
4189
4231
  });
4190
4232
  }
@@ -4562,18 +4604,18 @@
4562
4604
  return vue.createVNode(props.tag, vue.mergeProps(attrs, {
4563
4605
  "style": null
4564
4606
  }), {
4565
- default: () => [vue.createVNode("svg", {
4607
+ default: () => [vue.createElementVNode("svg", {
4566
4608
  "class": "v-icon__svg",
4567
4609
  "xmlns": "http://www.w3.org/2000/svg",
4568
4610
  "viewBox": "0 0 24 24",
4569
4611
  "role": "img",
4570
4612
  "aria-hidden": "true"
4571
- }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? vue.createVNode("path", {
4613
+ }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? vue.createElementVNode("path", {
4572
4614
  "d": path[0],
4573
4615
  "fill-opacity": path[1]
4574
- }, null) : vue.createVNode("path", {
4616
+ }, null) : vue.createElementVNode("path", {
4575
4617
  "d": path
4576
- }, null)) : vue.createVNode("path", {
4618
+ }, null)) : vue.createElementVNode("path", {
4577
4619
  "d": props.icon
4578
4620
  }, null)])]
4579
4621
  });
@@ -4597,7 +4639,7 @@
4597
4639
  setup(props) {
4598
4640
  return () => {
4599
4641
  return vue.createVNode(props.tag, {
4600
- "class": props.icon
4642
+ "class": vue.normalizeClass(props.icon)
4601
4643
  }, null);
4602
4644
  };
4603
4645
  }
@@ -4750,19 +4792,19 @@
4750
4792
  return vue.createVNode(iconData.value.component, {
4751
4793
  "tag": props.tag,
4752
4794
  "icon": iconData.value.icon,
4753
- "class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
4795
+ "class": vue.normalizeClass(['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
4754
4796
  'v-icon--clickable': hasClick,
4755
4797
  'v-icon--disabled': props.disabled,
4756
4798
  'v-icon--start': props.start,
4757
4799
  'v-icon--end': props.end
4758
- }, props.class],
4759
- "style": [{
4800
+ }, props.class]),
4801
+ "style": vue.normalizeStyle([{
4760
4802
  '--v-icon-opacity': props.opacity
4761
4803
  }, !sizeClasses.value ? {
4762
4804
  fontSize: convertToUnit(props.size),
4763
4805
  height: convertToUnit(props.size),
4764
4806
  width: convertToUnit(props.size)
4765
- } : undefined, textColorStyles.value, props.style],
4807
+ } : undefined, textColorStyles.value, props.style]),
4766
4808
  "role": hasClick ? 'button' : undefined,
4767
4809
  "aria-hidden": !hasClick,
4768
4810
  "tabindex": hasClick ? props.disabled ? -1 : 0 : undefined
@@ -4859,7 +4901,7 @@
4859
4901
  resizeRef,
4860
4902
  contentRect
4861
4903
  } = useResizeObserver();
4862
- const normalizedValue = vue.toRef(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));
4904
+ const normalizedValue = vue.toRef(() => clamp(parseFloat(props.modelValue), 0, 100));
4863
4905
  const width = vue.toRef(() => Number(props.width));
4864
4906
  const size = vue.toRef(() => {
4865
4907
  // Get size from element if size prop value is small, large etc
@@ -4874,26 +4916,26 @@
4874
4916
  });
4875
4917
  useRender(() => vue.createVNode(props.tag, {
4876
4918
  "ref": root,
4877
- "class": ['v-progress-circular', {
4919
+ "class": vue.normalizeClass(['v-progress-circular', {
4878
4920
  'v-progress-circular--indeterminate': !!props.indeterminate,
4879
4921
  'v-progress-circular--visible': isIntersecting.value,
4880
4922
  'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
4881
- }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
4882
- "style": [sizeStyles.value, textColorStyles.value, props.style],
4923
+ }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class]),
4924
+ "style": vue.normalizeStyle([sizeStyles.value, textColorStyles.value, props.style]),
4883
4925
  "role": "progressbar",
4884
4926
  "aria-valuemin": "0",
4885
4927
  "aria-valuemax": "100",
4886
4928
  "aria-valuenow": props.indeterminate ? undefined : normalizedValue.value
4887
4929
  }, {
4888
- default: () => [vue.createVNode("svg", {
4889
- "style": {
4930
+ default: () => [vue.createElementVNode("svg", {
4931
+ "style": vue.normalizeStyle({
4890
4932
  transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`
4891
- },
4933
+ }),
4892
4934
  "xmlns": "http://www.w3.org/2000/svg",
4893
4935
  "viewBox": `0 0 ${diameter.value} ${diameter.value}`
4894
- }, [vue.createVNode("circle", {
4895
- "class": ['v-progress-circular__underlay', underlayColorClasses.value],
4896
- "style": underlayColorStyles.value,
4936
+ }, [vue.createElementVNode("circle", {
4937
+ "class": vue.normalizeClass(['v-progress-circular__underlay', underlayColorClasses.value]),
4938
+ "style": vue.normalizeStyle(underlayColorStyles.value),
4897
4939
  "fill": "transparent",
4898
4940
  "cx": "50%",
4899
4941
  "cy": "50%",
@@ -4901,7 +4943,7 @@
4901
4943
  "stroke-width": strokeWidth.value,
4902
4944
  "stroke-dasharray": CIRCUMFERENCE,
4903
4945
  "stroke-dashoffset": 0
4904
- }, null), vue.createVNode("circle", {
4946
+ }, null), vue.createElementVNode("circle", {
4905
4947
  "class": "v-progress-circular__overlay",
4906
4948
  "fill": "transparent",
4907
4949
  "cx": "50%",
@@ -4910,7 +4952,7 @@
4910
4952
  "stroke-width": strokeWidth.value,
4911
4953
  "stroke-dasharray": CIRCUMFERENCE,
4912
4954
  "stroke-dashoffset": strokeDashOffset.value
4913
- }, null)]), slots.default && vue.createVNode("div", {
4955
+ }, null)]), slots.default && vue.createElementVNode("div", {
4914
4956
  "class": "v-progress-circular__content"
4915
4957
  }, [slots.default({
4916
4958
  value: normalizedValue.value
@@ -5084,21 +5126,21 @@
5084
5126
  }
5085
5127
  useRender(() => vue.createVNode(props.tag, {
5086
5128
  "ref": intersectionRef,
5087
- "class": ['v-progress-linear', {
5129
+ "class": vue.normalizeClass(['v-progress-linear', {
5088
5130
  'v-progress-linear--absolute': props.absolute,
5089
5131
  'v-progress-linear--active': props.active && isIntersecting.value,
5090
5132
  'v-progress-linear--reverse': isReversed.value,
5091
5133
  'v-progress-linear--rounded': props.rounded,
5092
5134
  'v-progress-linear--rounded-bar': props.roundedBar,
5093
5135
  'v-progress-linear--striped': props.striped
5094
- }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
5095
- "style": [{
5136
+ }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),
5137
+ "style": vue.normalizeStyle([{
5096
5138
  bottom: props.location === 'bottom' ? 0 : undefined,
5097
5139
  top: props.location === 'top' ? 0 : undefined,
5098
5140
  height: props.active ? convertToUnit(height.value) : 0,
5099
5141
  '--v-progress-linear-height': convertToUnit(height.value),
5100
5142
  ...(props.absolute ? locationStyles.value : {})
5101
- }, props.style],
5143
+ }, props.style]),
5102
5144
  "role": "progressbar",
5103
5145
  "aria-hidden": props.active ? 'false' : 'true',
5104
5146
  "aria-valuemin": "0",
@@ -5106,10 +5148,10 @@
5106
5148
  "aria-valuenow": props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value),
5107
5149
  "onClick": props.clickable && handleClick
5108
5150
  }, {
5109
- default: () => [props.stream && vue.createVNode("div", {
5151
+ default: () => [props.stream && vue.createElementVNode("div", {
5110
5152
  "key": "stream",
5111
- "class": ['v-progress-linear__stream', textColorClasses.value],
5112
- "style": {
5153
+ "class": vue.normalizeClass(['v-progress-linear__stream', textColorClasses.value]),
5154
+ "style": vue.normalizeStyle({
5113
5155
  ...textColorStyles.value,
5114
5156
  [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),
5115
5157
  borderTop: `${convertToUnit(height.value / 2)} dotted`,
@@ -5117,35 +5159,35 @@
5117
5159
  top: `calc(50% - ${convertToUnit(height.value / 4)})`,
5118
5160
  width: convertToUnit(100 - normalizedBuffer.value, '%'),
5119
5161
  '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
5120
- }
5121
- }, null), vue.createVNode("div", {
5122
- "class": ['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
5123
- "style": [backgroundColorStyles.value, {
5162
+ })
5163
+ }, null), vue.createElementVNode("div", {
5164
+ "class": vue.normalizeClass(['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
5165
+ "style": vue.normalizeStyle([backgroundColorStyles.value, {
5124
5166
  opacity: parseFloat(props.bgOpacity),
5125
5167
  width: props.stream ? 0 : undefined
5126
- }]
5127
- }, null), vue.createVNode("div", {
5128
- "class": ['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined],
5129
- "style": [bufferColorStyles.value, {
5168
+ }])
5169
+ }, null), vue.createElementVNode("div", {
5170
+ "class": vue.normalizeClass(['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined]),
5171
+ "style": vue.normalizeStyle([bufferColorStyles.value, {
5130
5172
  opacity: parseFloat(props.bufferOpacity),
5131
5173
  width: convertToUnit(normalizedBuffer.value, '%')
5132
- }]
5174
+ }])
5133
5175
  }, null), vue.createVNode(vue.Transition, {
5134
5176
  "name": transition.value
5135
5177
  }, {
5136
- default: () => [!props.indeterminate ? vue.createVNode("div", {
5137
- "class": ['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined],
5138
- "style": [barColorStyles.value, {
5178
+ default: () => [!props.indeterminate ? vue.createElementVNode("div", {
5179
+ "class": vue.normalizeClass(['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5180
+ "style": vue.normalizeStyle([barColorStyles.value, {
5139
5181
  width: convertToUnit(normalizedValue.value, '%')
5140
- }]
5141
- }, null) : vue.createVNode("div", {
5182
+ }])
5183
+ }, null) : vue.createElementVNode("div", {
5142
5184
  "class": "v-progress-linear__indeterminate"
5143
- }, [['long', 'short'].map(bar => vue.createVNode("div", {
5185
+ }, [['long', 'short'].map(bar => vue.createElementVNode("div", {
5144
5186
  "key": bar,
5145
- "class": ['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined],
5146
- "style": barColorStyles.value
5187
+ "class": vue.normalizeClass(['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5188
+ "style": vue.normalizeStyle(barColorStyles.value)
5147
5189
  }, null))])]
5148
- }), slots.default && vue.createVNode("div", {
5190
+ }), slots.default && vue.createElementVNode("div", {
5149
5191
  "class": "v-progress-linear__content"
5150
5192
  }, [slots.default({
5151
5193
  value: normalizedValue.value,
@@ -5175,8 +5217,8 @@
5175
5217
  let {
5176
5218
  slots
5177
5219
  } = _ref;
5178
- return vue.createVNode("div", {
5179
- "class": `${props.name}__loader`
5220
+ return vue.createElementVNode("div", {
5221
+ "class": vue.normalizeClass(`${props.name}__loader`)
5180
5222
  }, [slots.default?.({
5181
5223
  color: props.color,
5182
5224
  isActive: props.active
@@ -5766,7 +5808,7 @@
5766
5808
  "onClick": onClick,
5767
5809
  "value": valueAttr.value
5768
5810
  }, link.linkProps), {
5769
- default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
5811
+ default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createElementVNode("span", {
5770
5812
  "key": "prepend",
5771
5813
  "class": "v-btn__prepend"
5772
5814
  }, [!slots.prepend ? vue.createVNode(VIcon, {
@@ -5780,7 +5822,7 @@
5780
5822
  icon: props.prependIcon
5781
5823
  }
5782
5824
  }
5783
- }, slots.prepend)]), vue.createVNode("span", {
5825
+ }, slots.prepend)]), vue.createElementVNode("span", {
5784
5826
  "class": "v-btn__content",
5785
5827
  "data-no-activator": ""
5786
5828
  }, [!slots.default && hasIcon ? vue.createVNode(VIcon, {
@@ -5796,7 +5838,7 @@
5796
5838
  }
5797
5839
  }, {
5798
5840
  default: () => [slots.default?.() ?? vue.toDisplayString(props.text)]
5799
- })]), !props.icon && hasAppend && vue.createVNode("span", {
5841
+ })]), !props.icon && hasAppend && vue.createElementVNode("span", {
5800
5842
  "key": "append",
5801
5843
  "class": "v-btn__append"
5802
5844
  }, [!slots.append ? vue.createVNode(VIcon, {
@@ -5810,7 +5852,7 @@
5810
5852
  icon: props.appendIcon
5811
5853
  }
5812
5854
  }
5813
- }, slots.append)]), !!props.loading && vue.createVNode("span", {
5855
+ }, slots.append)]), !!props.loading && vue.createElementVNode("span", {
5814
5856
  "key": "loader",
5815
5857
  "class": "v-btn__loader"
5816
5858
  }, [slots.loader?.() ?? vue.createVNode(VProgressCircular, {
@@ -5983,20 +6025,20 @@
5983
6025
  const hasTitle = !!(slots.title || props.title);
5984
6026
  const hasClose = !!(slots.close || props.closable);
5985
6027
  return isActive.value && vue.createVNode(props.tag, {
5986
- "class": ['v-alert', props.border && {
6028
+ "class": vue.normalizeClass(['v-alert', props.border && {
5987
6029
  'v-alert--border': !!props.border,
5988
6030
  [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
5989
6031
  }, {
5990
6032
  'v-alert--prominent': props.prominent
5991
- }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
5992
- "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
6033
+ }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class]),
6034
+ "style": vue.normalizeStyle([colorStyles.value, dimensionStyles.value, locationStyles.value, props.style]),
5993
6035
  "role": "alert"
5994
6036
  }, {
5995
- default: () => [genOverlays(false, 'v-alert'), props.border && vue.createVNode("div", {
6037
+ default: () => [genOverlays(false, 'v-alert'), props.border && vue.createElementVNode("div", {
5996
6038
  "key": "border",
5997
- "class": ['v-alert__border', textColorClasses.value],
5998
- "style": textColorStyles.value
5999
- }, null), hasPrepend && vue.createVNode("div", {
6039
+ "class": vue.normalizeClass(['v-alert__border', textColorClasses.value]),
6040
+ "style": vue.normalizeStyle(textColorStyles.value)
6041
+ }, null), hasPrepend && vue.createElementVNode("div", {
6000
6042
  "key": "prepend",
6001
6043
  "class": "v-alert__prepend"
6002
6044
  }, [!slots.prepend ? vue.createVNode(VIcon, {
@@ -6014,16 +6056,16 @@
6014
6056
  size: props.prominent ? 44 : 28
6015
6057
  }
6016
6058
  }
6017
- }, slots.prepend)]), vue.createVNode("div", {
6059
+ }, slots.prepend)]), vue.createElementVNode("div", {
6018
6060
  "class": "v-alert__content"
6019
6061
  }, [hasTitle && vue.createVNode(VAlertTitle, {
6020
6062
  "key": "title"
6021
6063
  }, {
6022
6064
  default: () => [slots.title?.() ?? props.title]
6023
- }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && vue.createVNode("div", {
6065
+ }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && vue.createElementVNode("div", {
6024
6066
  "key": "append",
6025
6067
  "class": "v-alert__append"
6026
- }, [slots.append()]), hasClose && vue.createVNode("div", {
6068
+ }, [slots.append()]), hasClose && vue.createElementVNode("div", {
6027
6069
  "key": "close",
6028
6070
  "class": "v-alert__close"
6029
6071
  }, [!slots.close ? vue.createVNode(VBtn, vue.mergeProps({
@@ -6096,11 +6138,11 @@
6096
6138
  sizeStyles
6097
6139
  } = useSize(props);
6098
6140
  useRender(() => vue.createVNode(props.tag, {
6099
- "class": ['v-avatar', {
6141
+ "class": vue.normalizeClass(['v-avatar', {
6100
6142
  'v-avatar--start': props.start,
6101
6143
  'v-avatar--end': props.end
6102
- }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
6103
- "style": [colorStyles.value, sizeStyles.value, props.style]
6144
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class]),
6145
+ "style": vue.normalizeStyle([colorStyles.value, sizeStyles.value, props.style])
6104
6146
  }, {
6105
6147
  default: () => [!slots.default ? props.image ? vue.createVNode(VImg, {
6106
6148
  "key": "image",
@@ -6142,11 +6184,11 @@
6142
6184
  let {
6143
6185
  slots
6144
6186
  } = _ref;
6145
- useRender(() => vue.createVNode("label", {
6146
- "class": ['v-label', {
6187
+ useRender(() => vue.createElementVNode("label", {
6188
+ "class": vue.normalizeClass(['v-label', {
6147
6189
  'v-label--clickable': !!props.onClick
6148
- }, props.class],
6149
- "style": props.style,
6190
+ }, props.class]),
6191
+ "style": vue.normalizeStyle(props.style),
6150
6192
  "onClick": props.onClick
6151
6193
  }, [props.text, slots.default?.()]));
6152
6194
  return {};
@@ -6241,11 +6283,11 @@
6241
6283
  valueComparator: vue.toRef(() => props.valueComparator)
6242
6284
  }
6243
6285
  });
6244
- useRender(() => vue.createVNode("div", {
6245
- "class": ['v-selection-control-group', {
6286
+ useRender(() => vue.createElementVNode("div", {
6287
+ "class": vue.normalizeClass(['v-selection-control-group', {
6246
6288
  'v-selection-control-group--inline': props.inline
6247
- }, props.class],
6248
- "style": props.style,
6289
+ }, props.class]),
6290
+ "style": vue.normalizeStyle(props.style),
6249
6291
  "role": props.type === 'radio' ? 'radiogroup' : undefined
6250
6292
  }, [slots.default?.()]));
6251
6293
  return {};
@@ -6321,7 +6363,7 @@
6321
6363
  const VSelectionControl = genericComponent()({
6322
6364
  name: 'VSelectionControl',
6323
6365
  directives: {
6324
- Ripple
6366
+ vRipple: Ripple
6325
6367
  },
6326
6368
  inheritAttrs: false,
6327
6369
  props: makeVSelectionControlProps(),
@@ -6392,7 +6434,7 @@
6392
6434
  }
6393
6435
  }) : props.label;
6394
6436
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
6395
- const inputNode = vue.createVNode("input", vue.mergeProps({
6437
+ const inputNode = vue.createElementVNode("input", vue.mergeProps({
6396
6438
  "ref": input,
6397
6439
  "checked": model.value,
6398
6440
  "disabled": !!props.disabled,
@@ -6407,7 +6449,7 @@
6407
6449
  "name": props.name,
6408
6450
  "aria-checked": props.type === 'checkbox' ? model.value : undefined
6409
6451
  }, inputAttrs), null);
6410
- return vue.createVNode("div", vue.mergeProps({
6452
+ return vue.createElementVNode("div", vue.mergeProps({
6411
6453
  "class": ['v-selection-control', {
6412
6454
  'v-selection-control--dirty': model.value,
6413
6455
  'v-selection-control--disabled': props.disabled,
@@ -6418,13 +6460,13 @@
6418
6460
  }, densityClasses.value, props.class]
6419
6461
  }, rootAttrs, {
6420
6462
  "style": props.style
6421
- }), [vue.createVNode("div", {
6422
- "class": ['v-selection-control__wrapper', textColorClasses.value],
6423
- "style": textColorStyles.value
6463
+ }), [vue.createElementVNode("div", {
6464
+ "class": vue.normalizeClass(['v-selection-control__wrapper', textColorClasses.value]),
6465
+ "style": vue.normalizeStyle(textColorStyles.value)
6424
6466
  }, [slots.default?.({
6425
6467
  backgroundColorClasses,
6426
6468
  backgroundColorStyles
6427
- }), vue.withDirectives(vue.createVNode("div", {
6469
+ }), vue.withDirectives(vue.createElementVNode("div", {
6428
6470
  "class": ['v-selection-control__input']
6429
6471
  }, [slots.input?.({
6430
6472
  model,
@@ -6439,10 +6481,10 @@
6439
6481
  onBlur,
6440
6482
  id: id.value
6441
6483
  }
6442
- }) ?? vue.createVNode(vue.Fragment, null, [icon.value && vue.createVNode(VIcon, {
6484
+ }) ?? vue.createElementVNode(vue.Fragment, null, [icon.value && vue.createVNode(VIcon, {
6443
6485
  "key": "icon",
6444
6486
  "icon": icon.value
6445
- }, null), inputNode])]), [[vue.resolveDirective("ripple"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && vue.createVNode(VLabel, {
6487
+ }, null), inputNode])]), [[Ripple, props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && vue.createVNode(VLabel, {
6446
6488
  "for": id.value,
6447
6489
  "onClick": onClickLabel
6448
6490
  }, {
@@ -6519,7 +6561,8 @@
6519
6561
  function InputIcon(_ref) {
6520
6562
  let {
6521
6563
  name,
6522
- color
6564
+ color,
6565
+ ...attrs
6523
6566
  } = _ref;
6524
6567
  const localeKey = {
6525
6568
  prepend: 'prependAction',
@@ -6536,13 +6579,13 @@
6536
6579
  callEvent(listener, new PointerEvent('click', e));
6537
6580
  }
6538
6581
  const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined;
6539
- return vue.createVNode(VIcon, {
6582
+ return vue.createVNode(VIcon, vue.mergeProps({
6540
6583
  "icon": props[`${name}Icon`],
6541
6584
  "aria-label": label,
6542
6585
  "onClick": listener,
6543
6586
  "onKeydown": onKeydown,
6544
6587
  "color": color
6545
- }, null);
6588
+ }, attrs), null);
6546
6589
  }
6547
6590
  return {
6548
6591
  InputIcon
@@ -6582,10 +6625,10 @@
6582
6625
  useRender(() => vue.createVNode(MaybeTransition, {
6583
6626
  "transition": props.transition,
6584
6627
  "tag": "div",
6585
- "class": ['v-messages', textColorClasses.value, props.class],
6586
- "style": [textColorStyles.value, props.style]
6628
+ "class": vue.normalizeClass(['v-messages', textColorClasses.value, props.class]),
6629
+ "style": vue.normalizeStyle([textColorStyles.value, props.style])
6587
6630
  }, {
6588
- default: () => [props.active && messages.value.map((message, i) => vue.createVNode("div", {
6631
+ default: () => [props.active && messages.value.map((message, i) => vue.createElementVNode("div", {
6589
6632
  "class": "v-messages__message",
6590
6633
  "key": `${i}-${messages.value}`
6591
6634
  }, [slots.message ? slots.message({
@@ -7051,31 +7094,31 @@
7051
7094
  const hasAppend = !!(slots.append || props.appendIcon);
7052
7095
  const hasMessages = messages.value.length > 0;
7053
7096
  const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
7054
- return vue.createVNode("div", {
7055
- "class": ['v-input', `v-input--${props.direction}`, {
7097
+ return vue.createElementVNode("div", {
7098
+ "class": vue.normalizeClass(['v-input', `v-input--${props.direction}`, {
7056
7099
  'v-input--center-affix': props.centerAffix,
7057
7100
  'v-input--focused': props.focused,
7058
7101
  'v-input--glow': props.glow,
7059
7102
  'v-input--hide-spin-buttons': props.hideSpinButtons
7060
- }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],
7061
- "style": [dimensionStyles.value, props.style]
7062
- }, [hasPrepend && vue.createVNode("div", {
7103
+ }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class]),
7104
+ "style": vue.normalizeStyle([dimensionStyles.value, props.style])
7105
+ }, [hasPrepend && vue.createElementVNode("div", {
7063
7106
  "key": "prepend",
7064
7107
  "class": "v-input__prepend"
7065
7108
  }, [slots.prepend?.(slotProps.value), props.prependIcon && vue.createVNode(InputIcon, {
7066
7109
  "key": "prepend-icon",
7067
7110
  "name": "prepend",
7068
7111
  "color": iconColor.value
7069
- }, null)]), slots.default && vue.createVNode("div", {
7112
+ }, null)]), slots.default && vue.createElementVNode("div", {
7070
7113
  "class": "v-input__control"
7071
- }, [slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
7114
+ }, [slots.default?.(slotProps.value)]), hasAppend && vue.createElementVNode("div", {
7072
7115
  "key": "append",
7073
7116
  "class": "v-input__append"
7074
7117
  }, [props.appendIcon && vue.createVNode(InputIcon, {
7075
7118
  "key": "append-icon",
7076
7119
  "name": "append",
7077
7120
  "color": iconColor.value
7078
- }, null), slots.append?.(slotProps.value)]), hasDetails && vue.createVNode("div", {
7121
+ }, null), slots.append?.(slotProps.value)]), hasDetails && vue.createElementVNode("div", {
7079
7122
  "id": messagesId.value,
7080
7123
  "class": "v-input__details",
7081
7124
  "role": "alert",
@@ -7466,7 +7509,7 @@
7466
7509
  min = 0;
7467
7510
  max = scrollHeight + -containerHeight;
7468
7511
  }
7469
- return Math.max(Math.min(value, max), min);
7512
+ return clamp(value, min, max);
7470
7513
  }
7471
7514
 
7472
7515
  function calculateUpdatedTarget(_ref) {
@@ -7824,42 +7867,42 @@
7824
7867
  return scrollSizeMax - Math.abs(scrollOffset.value) > 1;
7825
7868
  });
7826
7869
  useRender(() => vue.createVNode(props.tag, {
7827
- "class": ['v-slide-group', {
7870
+ "class": vue.normalizeClass(['v-slide-group', {
7828
7871
  'v-slide-group--vertical': !isHorizontal.value,
7829
7872
  'v-slide-group--has-affixes': hasAffixes.value,
7830
7873
  'v-slide-group--is-overflowing': isOverflowing.value
7831
- }, displayClasses.value, props.class],
7832
- "style": props.style,
7874
+ }, displayClasses.value, props.class]),
7875
+ "style": vue.normalizeStyle(props.style),
7833
7876
  "tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
7834
7877
  "onFocus": onFocus
7835
7878
  }, {
7836
- default: () => [hasAffixes.value && vue.createVNode("div", {
7879
+ default: () => [hasAffixes.value && vue.createElementVNode("div", {
7837
7880
  "key": "prev",
7838
- "class": ['v-slide-group__prev', {
7881
+ "class": vue.normalizeClass(['v-slide-group__prev', {
7839
7882
  'v-slide-group__prev--disabled': !hasPrev.value
7840
- }],
7883
+ }]),
7841
7884
  "onMousedown": onFocusAffixes,
7842
7885
  "onClick": () => hasPrev.value && scrollTo('prev')
7843
7886
  }, [slots.prev?.(slotProps.value) ?? vue.createVNode(VFadeTransition, null, {
7844
7887
  default: () => [vue.createVNode(VIcon, {
7845
7888
  "icon": isRtl.value ? props.nextIcon : props.prevIcon
7846
7889
  }, null)]
7847
- })]), vue.createVNode("div", {
7890
+ })]), vue.createElementVNode("div", {
7848
7891
  "key": "container",
7849
7892
  "ref": containerRef,
7850
7893
  "class": "v-slide-group__container",
7851
7894
  "onScroll": onScroll
7852
- }, [vue.createVNode("div", {
7895
+ }, [vue.createElementVNode("div", {
7853
7896
  "ref": contentRef,
7854
7897
  "class": "v-slide-group__content",
7855
7898
  "onFocusin": onFocusin,
7856
7899
  "onFocusout": onFocusout,
7857
7900
  "onKeydown": onKeydown
7858
- }, [slots.default?.(slotProps.value)])]), hasAffixes.value && vue.createVNode("div", {
7901
+ }, [slots.default?.(slotProps.value)])]), hasAffixes.value && vue.createElementVNode("div", {
7859
7902
  "key": "next",
7860
- "class": ['v-slide-group__next', {
7903
+ "class": vue.normalizeClass(['v-slide-group__next', {
7861
7904
  'v-slide-group__next--disabled': !hasNext.value
7862
- }],
7905
+ }]),
7863
7906
  "onMousedown": onFocusAffixes,
7864
7907
  "onClick": () => hasNext.value && scrollTo('next')
7865
7908
  }, [slots.next?.(slotProps.value) ?? vue.createVNode(VFadeTransition, null, {
@@ -8014,7 +8057,7 @@
8014
8057
  const VChip = genericComponent()({
8015
8058
  name: 'VChip',
8016
8059
  directives: {
8017
- Ripple
8060
+ vRipple: Ripple
8018
8061
  },
8019
8062
  props: makeVChipProps(),
8020
8063
  emits: {
@@ -8114,7 +8157,7 @@
8114
8157
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(VExpandXTransition, {
8115
8158
  "key": "filter"
8116
8159
  }, {
8117
- default: () => [vue.withDirectives(vue.createVNode("div", {
8160
+ default: () => [vue.withDirectives(vue.createElementVNode("div", {
8118
8161
  "class": "v-chip__filter"
8119
8162
  }, [!slots.filter ? vue.createVNode(VIcon, {
8120
8163
  "key": "filter-icon",
@@ -8128,10 +8171,10 @@
8128
8171
  }
8129
8172
  }
8130
8173
  }, slots.filter)]), [[vue.vShow, group.isSelected.value]])]
8131
- }), hasPrepend && vue.createVNode("div", {
8174
+ }), hasPrepend && vue.createElementVNode("div", {
8132
8175
  "key": "prepend",
8133
8176
  "class": "v-chip__prepend"
8134
- }, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependIcon && vue.createVNode(VIcon, {
8177
+ }, [!slots.prepend ? vue.createElementVNode(vue.Fragment, null, [props.prependIcon && vue.createVNode(VIcon, {
8135
8178
  "key": "prepend-icon",
8136
8179
  "icon": props.prependIcon,
8137
8180
  "start": true
@@ -8152,7 +8195,7 @@
8152
8195
  start: true
8153
8196
  }
8154
8197
  }
8155
- }, slots.prepend)]), vue.createVNode("div", {
8198
+ }, slots.prepend)]), vue.createElementVNode("div", {
8156
8199
  "class": "v-chip__content",
8157
8200
  "data-no-activator": ""
8158
8201
  }, [slots.default?.({
@@ -8162,10 +8205,10 @@
8162
8205
  toggle: group?.toggle,
8163
8206
  value: group?.value.value,
8164
8207
  disabled: props.disabled
8165
- }) ?? vue.toDisplayString(props.text)]), hasAppend && vue.createVNode("div", {
8208
+ }) ?? vue.toDisplayString(props.text)]), hasAppend && vue.createElementVNode("div", {
8166
8209
  "key": "append",
8167
8210
  "class": "v-chip__append"
8168
- }, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
8211
+ }, [!slots.append ? vue.createElementVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
8169
8212
  "key": "append-icon",
8170
8213
  "end": true,
8171
8214
  "icon": props.appendIcon
@@ -8186,7 +8229,7 @@
8186
8229
  icon: props.appendIcon
8187
8230
  }
8188
8231
  }
8189
- }, slots.append)]), hasClose && vue.createVNode("button", vue.mergeProps({
8232
+ }, slots.append)]), hasClose && vue.createElementVNode("button", vue.mergeProps({
8190
8233
  "key": "close",
8191
8234
  "class": "v-chip__close",
8192
8235
  "type": "button",
@@ -8204,7 +8247,7 @@
8204
8247
  }
8205
8248
  }
8206
8249
  }, slots.close)])]
8207
- }), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
8250
+ }), [[Ripple, isClickable.value && props.ripple, null]]);
8208
8251
  };
8209
8252
  }
8210
8253
  });
@@ -8977,13 +9020,13 @@
8977
9020
  }
8978
9021
  }));
8979
9022
  useRender(() => vue.createVNode(props.tag, {
8980
- "class": ['v-list-group', {
9023
+ "class": vue.normalizeClass(['v-list-group', {
8981
9024
  'v-list-group--prepend': list?.hasPrepend.value,
8982
9025
  'v-list-group--fluid': props.fluid,
8983
9026
  'v-list-group--subgroup': props.subgroup,
8984
9027
  'v-list-group--open': isOpen.value
8985
- }, props.class],
8986
- "style": props.style
9028
+ }, props.class]),
9029
+ "style": vue.normalizeStyle(props.style)
8987
9030
  }, {
8988
9031
  default: () => [slots.activator && vue.createVNode(VDefaultsProvider, {
8989
9032
  "defaults": activatorDefaults.value
@@ -9000,7 +9043,7 @@
9000
9043
  },
9001
9044
  "disabled": !isBooted.value
9002
9045
  }, {
9003
- default: () => [vue.withDirectives(vue.createVNode("div", {
9046
+ default: () => [vue.withDirectives(vue.createElementVNode("div", {
9004
9047
  "class": "v-list-group__items",
9005
9048
  "role": "group",
9006
9049
  "aria-labelledby": id.value
@@ -9026,10 +9069,10 @@
9026
9069
  slots
9027
9070
  } = _ref;
9028
9071
  useRender(() => vue.createVNode(props.tag, {
9029
- "class": ['v-list-item-subtitle', props.class],
9030
- "style": [{
9072
+ "class": vue.normalizeClass(['v-list-item-subtitle', props.class]),
9073
+ "style": vue.normalizeStyle([{
9031
9074
  '--v-list-item-subtitle-opacity': props.opacity
9032
- }, props.style]
9075
+ }, props.style])
9033
9076
  }, slots));
9034
9077
  return {};
9035
9078
  }
@@ -9092,7 +9135,7 @@
9092
9135
  const VListItem = genericComponent()({
9093
9136
  name: 'VListItem',
9094
9137
  directives: {
9095
- Ripple
9138
+ vRipple: Ripple
9096
9139
  },
9097
9140
  props: makeVListItemProps(),
9098
9141
  emits: {
@@ -9227,10 +9270,10 @@
9227
9270
  "onClick": onClick,
9228
9271
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9229
9272
  }, link.linkProps), {
9230
- default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
9273
+ default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createElementVNode("div", {
9231
9274
  "key": "prepend",
9232
9275
  "class": "v-list-item__prepend"
9233
- }, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependAvatar && vue.createVNode(VAvatar, {
9276
+ }, [!slots.prepend ? vue.createElementVNode(vue.Fragment, null, [props.prependAvatar && vue.createVNode(VAvatar, {
9234
9277
  "key": "prepend-avatar",
9235
9278
  "density": props.density,
9236
9279
  "image": props.prependAvatar
@@ -9256,9 +9299,9 @@
9256
9299
  }
9257
9300
  }, {
9258
9301
  default: () => [slots.prepend?.(slotProps.value)]
9259
- }), vue.createVNode("div", {
9302
+ }), vue.createElementVNode("div", {
9260
9303
  "class": "v-list-item__spacer"
9261
- }, null)]), vue.createVNode("div", {
9304
+ }, null)]), vue.createElementVNode("div", {
9262
9305
  "class": "v-list-item__content",
9263
9306
  "data-no-activator": ""
9264
9307
  }, [hasTitle && vue.createVNode(VListItemTitle, {
@@ -9273,10 +9316,10 @@
9273
9316
  default: () => [slots.subtitle?.({
9274
9317
  subtitle: props.subtitle
9275
9318
  }) ?? vue.toDisplayString(props.subtitle)]
9276
- }), slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
9319
+ }), slots.default?.(slotProps.value)]), hasAppend && vue.createElementVNode("div", {
9277
9320
  "key": "append",
9278
9321
  "class": "v-list-item__append"
9279
- }, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
9322
+ }, [!slots.append ? vue.createElementVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
9280
9323
  "key": "append-icon",
9281
9324
  "density": props.density,
9282
9325
  "icon": props.appendIcon
@@ -9302,10 +9345,10 @@
9302
9345
  }
9303
9346
  }, {
9304
9347
  default: () => [slots.append?.(slotProps.value)]
9305
- }), vue.createVNode("div", {
9348
+ }), vue.createElementVNode("div", {
9306
9349
  "class": "v-list-item__spacer"
9307
9350
  }, null)])]
9308
- }), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
9351
+ }), [[Ripple, isClickable.value && props.ripple]]);
9309
9352
  });
9310
9353
  return {
9311
9354
  activate,
@@ -9343,15 +9386,15 @@
9343
9386
  useRender(() => {
9344
9387
  const hasText = !!(slots.default || props.title);
9345
9388
  return vue.createVNode(props.tag, {
9346
- "class": ['v-list-subheader', {
9389
+ "class": vue.normalizeClass(['v-list-subheader', {
9347
9390
  'v-list-subheader--inset': props.inset,
9348
9391
  'v-list-subheader--sticky': props.sticky
9349
- }, textColorClasses.value, props.class],
9350
- "style": [{
9392
+ }, textColorClasses.value, props.class]),
9393
+ "style": vue.normalizeStyle([{
9351
9394
  textColorStyles
9352
- }, props.style]
9395
+ }, props.style])
9353
9396
  }, {
9354
- default: () => [hasText && vue.createVNode("div", {
9397
+ default: () => [hasText && vue.createElementVNode("div", {
9355
9398
  "class": "v-list-subheader__text"
9356
9399
  }, [slots.default?.() ?? props.title])]
9357
9400
  });
@@ -9396,25 +9439,25 @@
9396
9439
  return styles;
9397
9440
  });
9398
9441
  useRender(() => {
9399
- const divider = vue.createVNode("hr", {
9400
- "class": [{
9442
+ const divider = vue.createElementVNode("hr", {
9443
+ "class": vue.normalizeClass([{
9401
9444
  'v-divider': true,
9402
9445
  'v-divider--inset': props.inset,
9403
9446
  'v-divider--vertical': props.vertical
9404
- }, themeClasses.value, textColorClasses.value, props.class],
9405
- "style": [dividerStyles.value, textColorStyles.value, {
9447
+ }, themeClasses.value, textColorClasses.value, props.class]),
9448
+ "style": vue.normalizeStyle([dividerStyles.value, textColorStyles.value, {
9406
9449
  '--v-border-opacity': props.opacity
9407
- }, props.style],
9450
+ }, props.style]),
9408
9451
  "aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
9409
9452
  "role": `${attrs.role || 'separator'}`
9410
9453
  }, null);
9411
9454
  if (!slots.default) return divider;
9412
- return vue.createVNode("div", {
9413
- "class": ['v-divider__wrapper', {
9455
+ return vue.createElementVNode("div", {
9456
+ "class": vue.normalizeClass(['v-divider__wrapper', {
9414
9457
  'v-divider__wrapper--vertical': props.vertical,
9415
9458
  'v-divider__wrapper--inset': props.inset
9416
- }]
9417
- }, [divider, vue.createVNode("div", {
9459
+ }])
9460
+ }, [divider, vue.createElementVNode("div", {
9418
9461
  "class": "v-divider__content"
9419
9462
  }, [slots.default()]), divider]);
9420
9463
  });
@@ -9833,12 +9876,12 @@
9833
9876
  useRender(() => {
9834
9877
  return vue.createVNode(props.tag, {
9835
9878
  "ref": contentRef,
9836
- "class": ['v-list', {
9879
+ "class": vue.normalizeClass(['v-list', {
9837
9880
  'v-list--disabled': props.disabled,
9838
9881
  'v-list--nav': props.nav,
9839
9882
  'v-list--slim': props.slim
9840
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
9841
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
9883
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class]),
9884
+ "style": vue.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),
9842
9885
  "tabindex": props.disabled ? -1 : 0,
9843
9886
  "role": "listbox",
9844
9887
  "aria-activedescendant": undefined,
@@ -9882,11 +9925,11 @@
9882
9925
  slots
9883
9926
  } = _ref;
9884
9927
  useRender(() => vue.createVNode(props.tag, {
9885
- "class": ['v-list-item-action', {
9928
+ "class": vue.normalizeClass(['v-list-item-action', {
9886
9929
  'v-list-item-action--start': props.start,
9887
9930
  'v-list-item-action--end': props.end
9888
- }, props.class],
9889
- "style": props.style
9931
+ }, props.class]),
9932
+ "style": vue.normalizeStyle(props.style)
9890
9933
  }, slots));
9891
9934
  return {};
9892
9935
  }
@@ -9907,11 +9950,11 @@
9907
9950
  } = _ref;
9908
9951
  useRender(() => {
9909
9952
  return vue.createVNode(props.tag, {
9910
- "class": ['v-list-item-media', {
9953
+ "class": vue.normalizeClass(['v-list-item-media', {
9911
9954
  'v-list-item-media--start': props.start,
9912
9955
  'v-list-item-media--end': props.end
9913
- }, props.class],
9914
- "style": props.style
9956
+ }, props.class]),
9957
+ "style": vue.normalizeStyle(props.style)
9915
9958
  }, slots);
9916
9959
  });
9917
9960
  return {};
@@ -10000,11 +10043,19 @@
10000
10043
  vue.watch(() => props.locationStrategy, reset);
10001
10044
  vue.onScopeDispose(() => {
10002
10045
  window.removeEventListener('resize', onResize);
10046
+ visualViewport?.removeEventListener('resize', onVisualResize);
10047
+ visualViewport?.removeEventListener('scroll', onVisualScroll);
10003
10048
  updateLocation.value = undefined;
10004
10049
  });
10005
10050
  window.addEventListener('resize', onResize, {
10006
10051
  passive: true
10007
10052
  });
10053
+ visualViewport?.addEventListener('resize', onVisualResize, {
10054
+ passive: true
10055
+ });
10056
+ visualViewport?.addEventListener('scroll', onVisualScroll, {
10057
+ passive: true
10058
+ });
10008
10059
  if (typeof props.locationStrategy === 'function') {
10009
10060
  updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation;
10010
10061
  } else {
@@ -10015,6 +10066,12 @@
10015
10066
  function onResize(e) {
10016
10067
  updateLocation.value?.(e);
10017
10068
  }
10069
+ function onVisualResize(e) {
10070
+ updateLocation.value?.(e);
10071
+ }
10072
+ function onVisualScroll(e) {
10073
+ updateLocation.value?.(e);
10074
+ }
10018
10075
  return {
10019
10076
  contentStyles,
10020
10077
  updateLocation
@@ -10166,13 +10223,7 @@
10166
10223
  }
10167
10224
  }
10168
10225
  const viewport = scrollParents.reduce((box, el) => {
10169
- const rect = el.getBoundingClientRect();
10170
- const scrollBox = new Box({
10171
- x: el === document.documentElement ? 0 : rect.x,
10172
- y: el === document.documentElement ? 0 : rect.y,
10173
- width: el.clientWidth,
10174
- height: el.clientHeight
10175
- });
10226
+ const scrollBox = getElementBox(el);
10176
10227
  if (box) {
10177
10228
  return new Box({
10178
10229
  x: Math.max(box.left, scrollBox.left),
@@ -11063,7 +11114,7 @@
11063
11114
  "name": "fade-transition",
11064
11115
  "appear": true
11065
11116
  }, {
11066
- default: () => [props.modelValue && vue.createVNode("div", vue.mergeProps({
11117
+ default: () => [props.modelValue && vue.createElementVNode("div", vue.mergeProps({
11067
11118
  "class": ['v-overlay__scrim', props.color.backgroundColorClasses.value],
11068
11119
  "style": props.color.backgroundColorStyles.value
11069
11120
  }, rest), null)]
@@ -11104,7 +11155,7 @@
11104
11155
  const VOverlay = genericComponent()({
11105
11156
  name: 'VOverlay',
11106
11157
  directives: {
11107
- ClickOutside
11158
+ vClickOutside: ClickOutside
11108
11159
  },
11109
11160
  inheritAttrs: false,
11110
11161
  props: {
@@ -11284,7 +11335,7 @@
11284
11335
  _onAfterLeave();
11285
11336
  emit('afterLeave');
11286
11337
  }
11287
- useRender(() => vue.createVNode(vue.Fragment, null, [slots.activator?.({
11338
+ useRender(() => vue.createElementVNode(vue.Fragment, null, [slots.activator?.({
11288
11339
  isActive: isActive.value,
11289
11340
  targetRef,
11290
11341
  props: vue.mergeProps({
@@ -11294,7 +11345,7 @@
11294
11345
  "disabled": !teleportTarget.value,
11295
11346
  "to": teleportTarget.value
11296
11347
  }, {
11297
- default: () => [vue.createVNode("div", vue.mergeProps({
11348
+ default: () => [vue.createElementVNode("div", vue.mergeProps({
11298
11349
  "class": ['v-overlay', {
11299
11350
  'v-overlay--absolute': props.absolute || props.contained,
11300
11351
  'v-overlay--active': isActive.value,
@@ -11318,13 +11369,13 @@
11318
11369
  "onAfterEnter": onAfterEnter,
11319
11370
  "onAfterLeave": onAfterLeave
11320
11371
  }, {
11321
- default: () => [vue.withDirectives(vue.createVNode("div", vue.mergeProps({
11372
+ default: () => [vue.withDirectives(vue.createElementVNode("div", vue.mergeProps({
11322
11373
  "ref": contentEl,
11323
11374
  "class": ['v-overlay__content', props.contentClass],
11324
11375
  "style": [dimensionStyles.value, contentStyles.value]
11325
11376
  }, contentEvents.value, props.contentProps), [slots.default?.({
11326
11377
  isActive
11327
- })]), [[vue.vShow, isActive.value], [vue.resolveDirective("click-outside"), {
11378
+ })]), [[vue.vShow, isActive.value], [ClickOutside, {
11328
11379
  handler: onClickOutside,
11329
11380
  closeConditional,
11330
11381
  include: () => [activatorEl.value]
@@ -11653,11 +11704,11 @@
11653
11704
  useRender(() => vue.createVNode(MaybeTransition, {
11654
11705
  "transition": props.transition
11655
11706
  }, {
11656
- default: () => [vue.withDirectives(vue.createVNode("div", {
11657
- "class": ['v-counter', {
11707
+ default: () => [vue.withDirectives(vue.createElementVNode("div", {
11708
+ "class": vue.normalizeClass(['v-counter', {
11658
11709
  'text-error': props.max && !props.disabled && parseFloat(props.value) > parseFloat(props.max)
11659
- }, props.class],
11660
- "style": props.style
11710
+ }, props.class]),
11711
+ "style": vue.normalizeStyle(props.style)
11661
11712
  }, [slots.default ? slots.default({
11662
11713
  counter: counter.value,
11663
11714
  max: props.max,
@@ -11680,10 +11731,10 @@
11680
11731
  slots
11681
11732
  } = _ref;
11682
11733
  useRender(() => vue.createVNode(VLabel, {
11683
- "class": ['v-field-label', {
11734
+ "class": vue.normalizeClass(['v-field-label', {
11684
11735
  'v-field-label--floating': props.floating
11685
- }, props.class],
11686
- "style": props.style,
11736
+ }, props.class]),
11737
+ "style": vue.normalizeStyle(props.style),
11687
11738
  "aria-hidden": props.floating || undefined
11688
11739
  }, slots));
11689
11740
  return {};
@@ -11860,7 +11911,7 @@
11860
11911
  for: id.value
11861
11912
  }
11862
11913
  }) : props.label;
11863
- return vue.createVNode("div", vue.mergeProps({
11914
+ return vue.createElementVNode("div", vue.mergeProps({
11864
11915
  "class": ['v-field', {
11865
11916
  'v-field--active': isActive.value,
11866
11917
  'v-field--appended': hasAppend,
@@ -11880,7 +11931,7 @@
11880
11931
  }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
11881
11932
  "style": [backgroundColorStyles.value, props.style],
11882
11933
  "onClick": onClick
11883
- }, attrs), [vue.createVNode("div", {
11934
+ }, attrs), [vue.createElementVNode("div", {
11884
11935
  "class": "v-field__overlay"
11885
11936
  }, null), vue.createVNode(LoaderSlot, {
11886
11937
  "name": "v-field",
@@ -11888,23 +11939,23 @@
11888
11939
  "color": props.error ? 'error' : typeof props.loading === 'string' ? props.loading : props.color
11889
11940
  }, {
11890
11941
  default: slots.loader
11891
- }), hasPrepend && vue.createVNode("div", {
11942
+ }), hasPrepend && vue.createElementVNode("div", {
11892
11943
  "key": "prepend",
11893
11944
  "class": "v-field__prepend-inner"
11894
11945
  }, [props.prependInnerIcon && vue.createVNode(InputIcon, {
11895
11946
  "key": "prepend-icon",
11896
11947
  "name": "prependInner",
11897
11948
  "color": iconColor.value
11898
- }, null), slots['prepend-inner']?.(slotProps.value)]), vue.createVNode("div", {
11949
+ }, null), slots['prepend-inner']?.(slotProps.value)]), vue.createElementVNode("div", {
11899
11950
  "class": "v-field__field",
11900
11951
  "data-no-activator": ""
11901
11952
  }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && vue.createVNode(VFieldLabel, {
11902
11953
  "key": "floating-label",
11903
11954
  "ref": floatingLabelRef,
11904
- "class": [textColorClasses.value],
11955
+ "class": vue.normalizeClass([textColorClasses.value]),
11905
11956
  "floating": true,
11906
11957
  "for": id.value,
11907
- "style": textColorStyles.value
11958
+ "style": vue.normalizeStyle(textColorStyles.value)
11908
11959
  }, {
11909
11960
  default: () => [label()]
11910
11961
  }), hasLabel.value && vue.createVNode(VFieldLabel, {
@@ -11922,14 +11973,14 @@
11922
11973
  },
11923
11974
  focus,
11924
11975
  blur
11925
- }) ?? vue.createVNode("div", {
11976
+ }) ?? vue.createElementVNode("div", {
11926
11977
  "id": id.value,
11927
11978
  "class": "v-field__input",
11928
11979
  "aria-describedby": messagesId.value
11929
11980
  }, null)]), hasClear && vue.createVNode(VExpandXTransition, {
11930
11981
  "key": "clear"
11931
11982
  }, {
11932
- default: () => [vue.withDirectives(vue.createVNode("div", {
11983
+ default: () => [vue.withDirectives(vue.createElementVNode("div", {
11933
11984
  "class": "v-field__clearable",
11934
11985
  "onMousedown": e => {
11935
11986
  e.preventDefault();
@@ -11947,27 +11998,29 @@
11947
11998
  props: {
11948
11999
  onFocus: focus,
11949
12000
  onBlur: blur,
11950
- onClick: props['onClick:clear']
12001
+ onClick: props['onClick:clear'],
12002
+ tabindex: -1
11951
12003
  }
11952
12004
  }) : vue.createVNode(InputIcon, {
11953
12005
  "name": "clear",
11954
12006
  "onFocus": focus,
11955
- "onBlur": blur
12007
+ "onBlur": blur,
12008
+ "tabindex": -1
11956
12009
  }, null)]
11957
12010
  })]), [[vue.vShow, props.dirty]])]
11958
- }), hasAppend && vue.createVNode("div", {
12011
+ }), hasAppend && vue.createElementVNode("div", {
11959
12012
  "key": "append",
11960
12013
  "class": "v-field__append-inner"
11961
12014
  }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && vue.createVNode(InputIcon, {
11962
12015
  "key": "append-icon",
11963
12016
  "name": "appendInner",
11964
12017
  "color": iconColor.value
11965
- }, null)]), vue.createVNode("div", {
11966
- "class": ['v-field__outline', textColorClasses.value],
11967
- "style": textColorStyles.value
11968
- }, [isOutlined && vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
12018
+ }, null)]), vue.createElementVNode("div", {
12019
+ "class": vue.normalizeClass(['v-field__outline', textColorClasses.value]),
12020
+ "style": vue.normalizeStyle(textColorStyles.value)
12021
+ }, [isOutlined && vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("div", {
11969
12022
  "class": "v-field__outline__start"
11970
- }, null), hasFloatingLabel.value && vue.createVNode("div", {
12023
+ }, null), hasFloatingLabel.value && vue.createElementVNode("div", {
11971
12024
  "class": "v-field__outline__notch"
11972
12025
  }, [vue.createVNode(VFieldLabel, {
11973
12026
  "ref": floatingLabelRef,
@@ -11975,7 +12028,7 @@
11975
12028
  "for": id.value
11976
12029
  }, {
11977
12030
  default: () => [label()]
11978
- })]), vue.createVNode("div", {
12031
+ })]), vue.createElementVNode("div", {
11979
12032
  "class": "v-field__outline__end"
11980
12033
  }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && vue.createVNode(VFieldLabel, {
11981
12034
  "ref": floatingLabelRef,
@@ -12016,7 +12069,7 @@
12016
12069
  const VTextField = genericComponent()({
12017
12070
  name: 'VTextField',
12018
12071
  directives: {
12019
- Intersect
12072
+ vIntersect: Intersect
12020
12073
  },
12021
12074
  inheritAttrs: false,
12022
12075
  props: makeVTextFieldProps(),
@@ -12148,7 +12201,7 @@
12148
12201
  ...slotProps
12149
12202
  }
12150
12203
  } = _ref3;
12151
- const inputNode = vue.withDirectives(vue.createVNode("input", vue.mergeProps({
12204
+ const inputNode = vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
12152
12205
  "ref": inputRef,
12153
12206
  "value": model.value,
12154
12207
  "onInput": onInput,
@@ -12161,29 +12214,29 @@
12161
12214
  "type": props.type,
12162
12215
  "onFocus": onFocus,
12163
12216
  "onBlur": blur
12164
- }, slotProps, inputAttrs), null), [[vue.resolveDirective("intersect"), {
12217
+ }, slotProps, inputAttrs), null), [[Intersect, {
12165
12218
  handler: onIntersect
12166
12219
  }, null, {
12167
12220
  once: true
12168
12221
  }]]);
12169
- return vue.createVNode(vue.Fragment, null, [props.prefix && vue.createVNode("span", {
12222
+ return vue.createElementVNode(vue.Fragment, null, [props.prefix && vue.createElementVNode("span", {
12170
12223
  "class": "v-text-field__prefix"
12171
- }, [vue.createVNode("span", {
12224
+ }, [vue.createElementVNode("span", {
12172
12225
  "class": "v-text-field__prefix__text"
12173
- }, [props.prefix])]), slots.default ? vue.createVNode("div", {
12174
- "class": fieldClass,
12226
+ }, [props.prefix])]), slots.default ? vue.createElementVNode("div", {
12227
+ "class": vue.normalizeClass(fieldClass),
12175
12228
  "data-no-activator": ""
12176
12229
  }, [slots.default(), inputNode]) : vue.cloneVNode(inputNode, {
12177
12230
  class: fieldClass
12178
- }), props.suffix && vue.createVNode("span", {
12231
+ }), props.suffix && vue.createElementVNode("span", {
12179
12232
  "class": "v-text-field__suffix"
12180
- }, [vue.createVNode("span", {
12233
+ }, [vue.createElementVNode("span", {
12181
12234
  "class": "v-text-field__suffix__text"
12182
12235
  }, [props.suffix])])]);
12183
12236
  }
12184
12237
  });
12185
12238
  },
12186
- details: hasDetails ? slotProps => vue.createVNode(vue.Fragment, null, [slots.details?.(slotProps), hasCounter && vue.createVNode(vue.Fragment, null, [vue.createVNode("span", null, null), vue.createVNode(VCounter, {
12239
+ details: hasDetails ? slotProps => vue.createElementVNode(vue.Fragment, null, [slots.details?.(slotProps), hasCounter && vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("span", null, null), vue.createVNode(VCounter, {
12187
12240
  "active": props.persistentCounter || isFocused.value,
12188
12241
  "value": counterValue.value,
12189
12242
  "max": max.value,
@@ -12221,9 +12274,9 @@
12221
12274
  vue.watch(() => contentRect.value?.height, height => {
12222
12275
  if (height != null) emit('update:height', height);
12223
12276
  });
12224
- useRender(() => props.renderless ? vue.createVNode(vue.Fragment, null, [slots.default?.({
12277
+ useRender(() => props.renderless ? vue.createElementVNode(vue.Fragment, null, [slots.default?.({
12225
12278
  itemRef: resizeRef
12226
- })]) : vue.createVNode("div", vue.mergeProps({
12279
+ })]) : vue.createElementVNode("div", vue.mergeProps({
12227
12280
  "ref": resizeRef,
12228
12281
  "class": ['v-virtual-scroll__item', props.class],
12229
12282
  "style": props.style
@@ -12558,30 +12611,30 @@
12558
12611
  ...slotProps
12559
12612
  })
12560
12613
  }));
12561
- return props.renderless ? vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
12614
+ return props.renderless ? vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("div", {
12562
12615
  "ref": markerRef,
12563
12616
  "class": "v-virtual-scroll__spacer",
12564
- "style": {
12617
+ "style": vue.normalizeStyle({
12565
12618
  paddingTop: convertToUnit(paddingTop.value)
12566
- }
12567
- }, null), children, vue.createVNode("div", {
12619
+ })
12620
+ }, null), children, vue.createElementVNode("div", {
12568
12621
  "class": "v-virtual-scroll__spacer",
12569
- "style": {
12622
+ "style": vue.normalizeStyle({
12570
12623
  paddingBottom: convertToUnit(paddingBottom.value)
12571
- }
12572
- }, null)]) : vue.createVNode("div", {
12624
+ })
12625
+ }, null)]) : vue.createElementVNode("div", {
12573
12626
  "ref": containerRef,
12574
- "class": ['v-virtual-scroll', props.class],
12627
+ "class": vue.normalizeClass(['v-virtual-scroll', props.class]),
12575
12628
  "onScrollPassive": handleScroll,
12576
12629
  "onScrollend": handleScrollend,
12577
- "style": [dimensionStyles.value, props.style]
12578
- }, [vue.createVNode("div", {
12630
+ "style": vue.normalizeStyle([dimensionStyles.value, props.style])
12631
+ }, [vue.createElementVNode("div", {
12579
12632
  "ref": markerRef,
12580
12633
  "class": "v-virtual-scroll__container",
12581
- "style": {
12634
+ "style": vue.normalizeStyle({
12582
12635
  paddingTop: convertToUnit(paddingTop.value),
12583
12636
  paddingBottom: convertToUnit(paddingBottom.value)
12584
- }
12637
+ })
12585
12638
  }, [children])]);
12586
12639
  });
12587
12640
  return {
@@ -12743,6 +12796,7 @@
12743
12796
  const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
12744
12797
  const isFocused = vue.shallowRef(false);
12745
12798
  let keyboardLookupPrefix = '';
12799
+ let keyboardLookupIndex = -1;
12746
12800
  let keyboardLookupLastTime;
12747
12801
  const displayItems = vue.computed(() => {
12748
12802
  if (props.hideSelected) {
@@ -12810,18 +12864,46 @@
12810
12864
  const now = performance.now();
12811
12865
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
12812
12866
  keyboardLookupPrefix = '';
12867
+ keyboardLookupIndex = -1;
12813
12868
  }
12814
12869
  keyboardLookupPrefix += e.key.toLowerCase();
12815
12870
  keyboardLookupLastTime = now;
12816
- const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
12817
- if (item !== undefined) {
12818
- if (!props.multiple) {
12819
- model.value = [item];
12871
+ const items = displayItems.value;
12872
+ function findItem() {
12873
+ let result = findItemBase();
12874
+ if (result) return result;
12875
+ if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
12876
+ // No matches but we have a repeated letter, try the next item with that prefix
12877
+ keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
12878
+ result = findItemBase();
12879
+ if (result) return result;
12820
12880
  }
12821
- const index = displayItems.value.indexOf(item);
12822
- if (~index && IN_BROWSER) {
12823
- listRef.value?.focus(index);
12881
+
12882
+ // Still nothing, wrap around to the top
12883
+ keyboardLookupIndex = -1;
12884
+ result = findItemBase();
12885
+ if (result) return result;
12886
+
12887
+ // Still nothing, try just the new letter
12888
+ keyboardLookupPrefix = e.key.toLowerCase();
12889
+ return findItemBase();
12890
+ }
12891
+ function findItemBase() {
12892
+ for (let i = keyboardLookupIndex + 1; i < items.length; i++) {
12893
+ const _item = items[i];
12894
+ if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
12895
+ return [_item, i];
12896
+ }
12824
12897
  }
12898
+ return undefined;
12899
+ }
12900
+ const result = findItem();
12901
+ if (!result) return;
12902
+ const [item, index] = result;
12903
+ keyboardLookupIndex = index;
12904
+ listRef.value?.focus(index);
12905
+ if (!props.multiple) {
12906
+ model.value = [item];
12825
12907
  }
12826
12908
  }
12827
12909
 
@@ -12923,7 +13005,7 @@
12923
13005
  "title": t(label.value)
12924
13006
  }), {
12925
13007
  ...slots,
12926
- default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
13008
+ default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
12927
13009
  "ref": vMenuRef,
12928
13010
  "modelValue": menu.value,
12929
13011
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -12981,7 +13063,7 @@
12981
13063
  let {
12982
13064
  isSelected
12983
13065
  } = _ref3;
12984
- return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
13066
+ return vue.createElementVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
12985
13067
  "key": item.value,
12986
13068
  "modelValue": isSelected,
12987
13069
  "ripple": false,
@@ -13027,7 +13109,7 @@
13027
13109
  index
13028
13110
  })) : undefined;
13029
13111
  if (hasSlot && !slotContent) return undefined;
13030
- return vue.createVNode("div", {
13112
+ return vue.createElementVNode("div", {
13031
13113
  "key": item.value,
13032
13114
  "class": "v-select__selection"
13033
13115
  }, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
@@ -13047,9 +13129,9 @@
13047
13129
  }
13048
13130
  }, {
13049
13131
  default: () => [slotContent]
13050
- }) : slotContent ?? vue.createVNode("span", {
13132
+ }) : slotContent ?? vue.createElementVNode("span", {
13051
13133
  "class": "v-select__selection-text"
13052
- }, [item.title, props.multiple && index < model.value.length - 1 && vue.createVNode("span", {
13134
+ }, [item.title, props.multiple && index < model.value.length - 1 && vue.createElementVNode("span", {
13053
13135
  "class": "v-select__selection-comma"
13054
13136
  }, [vue.createTextVNode(",")])])]);
13055
13137
  })]),
@@ -13057,7 +13139,7 @@
13057
13139
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13058
13140
  args[_key] = arguments[_key];
13059
13141
  }
13060
- return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
13142
+ return vue.createElementVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
13061
13143
  "class": "v-select__menu-icon",
13062
13144
  "color": vTextFieldRef.value?.fieldIconColor,
13063
13145
  "icon": props.menuIcon
@@ -13208,17 +13290,17 @@
13208
13290
  if (matches == null || !matches.length) return text;
13209
13291
  return matches.map((match, i) => {
13210
13292
  const start = i === 0 ? 0 : matches[i - 1][1];
13211
- const result = [vue.createVNode("span", {
13212
- "class": `${name}__unmask`
13213
- }, [text.slice(start, match[0])]), vue.createVNode("span", {
13214
- "class": `${name}__mask`
13293
+ const result = [vue.createElementVNode("span", {
13294
+ "class": vue.normalizeClass(`${name}__unmask`)
13295
+ }, [text.slice(start, match[0])]), vue.createElementVNode("span", {
13296
+ "class": vue.normalizeClass(`${name}__mask`)
13215
13297
  }, [text.slice(match[0], match[1])])];
13216
13298
  if (i === matches.length - 1) {
13217
- result.push(vue.createVNode("span", {
13218
- "class": `${name}__unmask`
13299
+ result.push(vue.createElementVNode("span", {
13300
+ "class": vue.normalizeClass(`${name}__unmask`)
13219
13301
  }, [text.slice(match[1])]));
13220
13302
  }
13221
- return vue.createVNode(vue.Fragment, null, [result]);
13303
+ return vue.createElementVNode(vue.Fragment, null, [result]);
13222
13304
  });
13223
13305
  }
13224
13306
 
@@ -13520,7 +13602,7 @@
13520
13602
  "onKeydown": onKeydown
13521
13603
  }), {
13522
13604
  ...slots,
13523
- default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
13605
+ default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
13524
13606
  "ref": vMenuRef,
13525
13607
  "modelValue": menu.value,
13526
13608
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -13579,7 +13661,7 @@
13579
13661
  let {
13580
13662
  isSelected
13581
13663
  } = _ref4;
13582
- return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
13664
+ return vue.createElementVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
13583
13665
  "key": item.value,
13584
13666
  "modelValue": isSelected,
13585
13667
  "ripple": false,
@@ -13628,10 +13710,10 @@
13628
13710
  index
13629
13711
  })) : undefined;
13630
13712
  if (hasSlot && !slotContent) return undefined;
13631
- return vue.createVNode("div", {
13713
+ return vue.createElementVNode("div", {
13632
13714
  "key": item.value,
13633
- "class": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],
13634
- "style": index === selectionIndex.value ? textColorStyles.value : {}
13715
+ "class": vue.normalizeClass(['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]]),
13716
+ "style": vue.normalizeStyle(index === selectionIndex.value ? textColorStyles.value : {})
13635
13717
  }, [hasChips.value ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
13636
13718
  "key": "chip",
13637
13719
  "closable": props.closableChips,
@@ -13649,9 +13731,9 @@
13649
13731
  }
13650
13732
  }, {
13651
13733
  default: () => [slotContent]
13652
- }) : slotContent ?? vue.createVNode("span", {
13734
+ }) : slotContent ?? vue.createElementVNode("span", {
13653
13735
  "class": "v-autocomplete__selection-text"
13654
- }, [item.title, props.multiple && index < model.value.length - 1 && vue.createVNode("span", {
13736
+ }, [item.title, props.multiple && index < model.value.length - 1 && vue.createElementVNode("span", {
13655
13737
  "class": "v-autocomplete__selection-comma"
13656
13738
  }, [vue.createTextVNode(",")])])]);
13657
13739
  })]),
@@ -13659,7 +13741,7 @@
13659
13741
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13660
13742
  args[_key] = arguments[_key];
13661
13743
  }
13662
- return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
13744
+ return vue.createElementVNode(vue.Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? vue.createVNode(VIcon, {
13663
13745
  "class": "v-autocomplete__menu-icon",
13664
13746
  "color": vTextFieldRef.value?.fieldIconColor,
13665
13747
  "icon": props.menuIcon,
@@ -13756,12 +13838,12 @@
13756
13838
  }, attrs, {
13757
13839
  "style": props.style
13758
13840
  }), {
13759
- default: () => [vue.createVNode("div", {
13841
+ default: () => [vue.createElementVNode("div", {
13760
13842
  "class": "v-badge__wrapper"
13761
13843
  }, [ctx.slots.default?.(), vue.createVNode(MaybeTransition, {
13762
13844
  "transition": props.transition
13763
13845
  }, {
13764
- default: () => [vue.withDirectives(vue.createVNode("span", vue.mergeProps({
13846
+ default: () => [vue.withDirectives(vue.createElementVNode("span", vue.mergeProps({
13765
13847
  "class": ['v-badge__badge', themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value],
13766
13848
  "style": [backgroundColorStyles.value, textColorStyles.value, props.inline ? {} : locationStyles.value],
13767
13849
  "aria-atomic": "true",
@@ -13798,9 +13880,9 @@
13798
13880
  variant: 'text'
13799
13881
  }
13800
13882
  });
13801
- useRender(() => vue.createVNode("div", {
13802
- "class": ['v-banner-actions', props.class],
13803
- "style": props.style
13883
+ useRender(() => vue.createElementVNode("div", {
13884
+ "class": vue.normalizeClass(['v-banner-actions', props.class]),
13885
+ "style": vue.normalizeStyle(props.style)
13804
13886
  }, [slots.default?.()]));
13805
13887
  return {};
13806
13888
  }
@@ -13886,15 +13968,15 @@
13886
13968
  const hasPrependMedia = !!(props.avatar || props.icon);
13887
13969
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
13888
13970
  return vue.createVNode(props.tag, {
13889
- "class": ['v-banner', {
13971
+ "class": vue.normalizeClass(['v-banner', {
13890
13972
  'v-banner--stacked': props.stacked || mobile.value,
13891
13973
  'v-banner--sticky': props.sticky,
13892
13974
  [`v-banner--${props.lines}-line`]: !!props.lines
13893
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
13894
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
13975
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),
13976
+ "style": vue.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]),
13895
13977
  "role": "banner"
13896
13978
  }, {
13897
- default: () => [hasPrepend && vue.createVNode("div", {
13979
+ default: () => [hasPrepend && vue.createElementVNode("div", {
13898
13980
  "key": "prepend",
13899
13981
  "class": "v-banner__prepend"
13900
13982
  }, [!slots.prepend ? vue.createVNode(VAvatar, {
@@ -13914,7 +13996,7 @@
13914
13996
  image: props.avatar
13915
13997
  }
13916
13998
  }
13917
- }, slots.prepend)]), vue.createVNode("div", {
13999
+ }, slots.prepend)]), vue.createElementVNode("div", {
13918
14000
  "class": "v-banner__content"
13919
14001
  }, [hasText && vue.createVNode(VBannerText, {
13920
14002
  "key": "text"
@@ -14023,16 +14105,16 @@
14023
14105
  });
14024
14106
  useRender(() => {
14025
14107
  return vue.createVNode(props.tag, {
14026
- "class": ['v-bottom-navigation', {
14108
+ "class": vue.normalizeClass(['v-bottom-navigation', {
14027
14109
  'v-bottom-navigation--active': isActive.value,
14028
14110
  'v-bottom-navigation--grow': props.grow,
14029
14111
  'v-bottom-navigation--shift': props.mode === 'shift'
14030
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
14031
- "style": [backgroundColorStyles.value, layoutItemStyles.value, {
14112
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
14113
+ "style": vue.normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, {
14032
14114
  height: convertToUnit(height.value)
14033
- }, ssrBootStyles.value, props.style]
14115
+ }, ssrBootStyles.value, props.style])
14034
14116
  }, {
14035
- default: () => [slots.default && vue.createVNode("div", {
14117
+ default: () => [slots.default && vue.createElementVNode("div", {
14036
14118
  "class": "v-bottom-navigation__content"
14037
14119
  }, [slots.default()])]
14038
14120
  });
@@ -14219,10 +14301,10 @@
14219
14301
  let {
14220
14302
  slots
14221
14303
  } = _ref;
14222
- useRender(() => vue.createVNode("li", {
14304
+ useRender(() => vue.createElementVNode("li", {
14223
14305
  "aria-hidden": "true",
14224
- "class": ['v-breadcrumbs-divider', props.class],
14225
- "style": props.style
14306
+ "class": vue.normalizeClass(['v-breadcrumbs-divider', props.class]),
14307
+ "style": vue.normalizeStyle(props.style)
14226
14308
  }, [slots?.default?.() ?? props.divider]));
14227
14309
  return {};
14228
14310
  }
@@ -14257,15 +14339,15 @@
14257
14339
  } = useTextColor(() => isActive.value ? props.activeColor : props.color);
14258
14340
  useRender(() => {
14259
14341
  return vue.createVNode(props.tag, {
14260
- "class": ['v-breadcrumbs-item', {
14342
+ "class": vue.normalizeClass(['v-breadcrumbs-item', {
14261
14343
  'v-breadcrumbs-item--active': isActive.value,
14262
14344
  'v-breadcrumbs-item--disabled': props.disabled,
14263
14345
  [`${props.activeClass}`]: isActive.value && props.activeClass
14264
- }, textColorClasses.value, props.class],
14265
- "style": [textColorStyles.value, props.style],
14346
+ }, textColorClasses.value, props.class]),
14347
+ "style": vue.normalizeStyle([textColorStyles.value, props.style]),
14266
14348
  "aria-current": isActive.value ? 'page' : undefined
14267
14349
  }, {
14268
- default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createVNode("a", vue.mergeProps({
14350
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createElementVNode("a", vue.mergeProps({
14269
14351
  "class": "v-breadcrumbs-item--link",
14270
14352
  "onClick": link.navigate
14271
14353
  }, link.linkProps), [slots.default?.() ?? props.title])]
@@ -14341,10 +14423,10 @@
14341
14423
  useRender(() => {
14342
14424
  const hasPrepend = !!(slots.prepend || props.icon);
14343
14425
  return vue.createVNode(props.tag, {
14344
- "class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
14345
- "style": [backgroundColorStyles.value, props.style]
14426
+ "class": vue.normalizeClass(['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class]),
14427
+ "style": vue.normalizeStyle([backgroundColorStyles.value, props.style])
14346
14428
  }, {
14347
- default: () => [hasPrepend && vue.createVNode("li", {
14429
+ default: () => [hasPrepend && vue.createElementVNode("li", {
14348
14430
  "key": "prepend",
14349
14431
  "class": "v-breadcrumbs__prepend"
14350
14432
  }, [!slots.prepend ? vue.createVNode(VIcon, {
@@ -14365,7 +14447,7 @@
14365
14447
  item,
14366
14448
  raw
14367
14449
  } = _ref2;
14368
- return vue.createVNode(vue.Fragment, null, [slots.item?.({
14450
+ return vue.createElementVNode(vue.Fragment, null, [slots.item?.({
14369
14451
  item,
14370
14452
  index
14371
14453
  }) ?? vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
@@ -14404,9 +14486,9 @@
14404
14486
  variant: 'text'
14405
14487
  }
14406
14488
  });
14407
- useRender(() => vue.createVNode("div", {
14408
- "class": ['v-card-actions', props.class],
14409
- "style": props.style
14489
+ useRender(() => vue.createElementVNode("div", {
14490
+ "class": vue.normalizeClass(['v-card-actions', props.class]),
14491
+ "style": vue.normalizeStyle(props.style)
14410
14492
  }, [slots.default?.()]));
14411
14493
  return {};
14412
14494
  }
@@ -14425,10 +14507,10 @@
14425
14507
  slots
14426
14508
  } = _ref;
14427
14509
  useRender(() => vue.createVNode(props.tag, {
14428
- "class": ['v-card-subtitle', props.class],
14429
- "style": [{
14510
+ "class": vue.normalizeClass(['v-card-subtitle', props.class]),
14511
+ "style": vue.normalizeStyle([{
14430
14512
  '--v-card-subtitle-opacity': props.opacity
14431
- }, props.style]
14513
+ }, props.style])
14432
14514
  }, slots));
14433
14515
  return {};
14434
14516
  }
@@ -14467,13 +14549,13 @@
14467
14549
  const hasAppend = !!(hasAppendMedia || slots.append);
14468
14550
  const hasTitle = !!(props.title != null || slots.title);
14469
14551
  const hasSubtitle = !!(props.subtitle != null || slots.subtitle);
14470
- return vue.createVNode("div", {
14471
- "class": ['v-card-item', props.class],
14472
- "style": props.style
14473
- }, [hasPrepend && vue.createVNode("div", {
14552
+ return vue.createElementVNode("div", {
14553
+ "class": vue.normalizeClass(['v-card-item', props.class]),
14554
+ "style": vue.normalizeStyle(props.style)
14555
+ }, [hasPrepend && vue.createElementVNode("div", {
14474
14556
  "key": "prepend",
14475
14557
  "class": "v-card-item__prepend"
14476
- }, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependAvatar && vue.createVNode(VAvatar, {
14558
+ }, [!slots.prepend ? vue.createElementVNode(vue.Fragment, null, [props.prependAvatar && vue.createVNode(VAvatar, {
14477
14559
  "key": "prepend-avatar",
14478
14560
  "density": props.density,
14479
14561
  "image": props.prependAvatar
@@ -14494,7 +14576,7 @@
14494
14576
  icon: props.prependIcon
14495
14577
  }
14496
14578
  }
14497
- }, slots.prepend)]), vue.createVNode("div", {
14579
+ }, slots.prepend)]), vue.createElementVNode("div", {
14498
14580
  "class": "v-card-item__content"
14499
14581
  }, [hasTitle && vue.createVNode(VCardTitle, {
14500
14582
  "key": "title"
@@ -14504,10 +14586,10 @@
14504
14586
  "key": "subtitle"
14505
14587
  }, {
14506
14588
  default: () => [slots.subtitle?.() ?? vue.toDisplayString(props.subtitle)]
14507
- }), slots.default?.()]), hasAppend && vue.createVNode("div", {
14589
+ }), slots.default?.()]), hasAppend && vue.createElementVNode("div", {
14508
14590
  "key": "append",
14509
14591
  "class": "v-card-item__append"
14510
- }, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
14592
+ }, [!slots.append ? vue.createElementVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
14511
14593
  "key": "append-icon",
14512
14594
  "density": props.density,
14513
14595
  "icon": props.appendIcon
@@ -14547,10 +14629,10 @@
14547
14629
  slots
14548
14630
  } = _ref;
14549
14631
  useRender(() => vue.createVNode(props.tag, {
14550
- "class": ['v-card-text', props.class],
14551
- "style": [{
14632
+ "class": vue.normalizeClass(['v-card-text', props.class]),
14633
+ "style": vue.normalizeStyle([{
14552
14634
  '--v-card-text-opacity': props.opacity
14553
- }, props.style]
14635
+ }, props.style])
14554
14636
  }, slots));
14555
14637
  return {};
14556
14638
  }
@@ -14606,7 +14688,7 @@
14606
14688
  const VCard = genericComponent()({
14607
14689
  name: 'VCard',
14608
14690
  directives: {
14609
- Ripple
14691
+ vRipple: Ripple
14610
14692
  },
14611
14693
  props: makeVCardProps(),
14612
14694
  setup(props, _ref) {
@@ -14670,7 +14752,7 @@
14670
14752
  "onClick": isClickable && link.navigate,
14671
14753
  "tabindex": props.disabled ? -1 : undefined
14672
14754
  }, link.linkProps), {
14673
- default: () => [hasImage && vue.createVNode("div", {
14755
+ default: () => [hasImage && vue.createElementVNode("div", {
14674
14756
  "key": "image",
14675
14757
  "class": "v-card__image"
14676
14758
  }, [!slots.image ? vue.createVNode(VImg, {
@@ -14713,7 +14795,7 @@
14713
14795
  }), slots.default?.(), slots.actions && vue.createVNode(VCardActions, null, {
14714
14796
  default: slots.actions
14715
14797
  }), genOverlays(isClickable, 'v-card')]
14716
- }), [[vue.resolveDirective("ripple"), isClickable && props.ripple]]);
14798
+ }), [[Ripple, isClickable && props.ripple]]);
14717
14799
  });
14718
14800
  return {};
14719
14801
  }
@@ -14872,7 +14954,7 @@
14872
14954
  const VWindow = genericComponent()({
14873
14955
  name: 'VWindow',
14874
14956
  directives: {
14875
- Touch
14957
+ vTouch: Touch
14876
14958
  },
14877
14959
  props: makeVWindowProps(),
14878
14960
  emits: {
@@ -14944,7 +15026,7 @@
14944
15026
  };
14945
15027
  arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
14946
15028
  props: prevProps
14947
- }) : vue.createVNode(VBtn, prevProps, null) : vue.createVNode("div", null, null));
15029
+ }) : vue.createVNode(VBtn, prevProps, null) : vue.createElementVNode("div", null, null));
14948
15030
  const nextProps = {
14949
15031
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
14950
15032
  class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
@@ -14953,7 +15035,7 @@
14953
15035
  };
14954
15036
  arrows.push(canMoveForward.value ? slots.next ? slots.next({
14955
15037
  props: nextProps
14956
- }) : vue.createVNode(VBtn, nextProps, null) : vue.createVNode("div", null, null));
15038
+ }) : vue.createVNode(VBtn, nextProps, null) : vue.createElementVNode("div", null, null));
14957
15039
  return arrows;
14958
15040
  });
14959
15041
  const touchOptions = vue.computed(() => {
@@ -14979,24 +15061,24 @@
14979
15061
  });
14980
15062
  useRender(() => vue.withDirectives(vue.createVNode(props.tag, {
14981
15063
  "ref": rootRef,
14982
- "class": ['v-window', {
15064
+ "class": vue.normalizeClass(['v-window', {
14983
15065
  'v-window--show-arrows-on-hover': props.showArrows === 'hover'
14984
- }, themeClasses.value, props.class],
14985
- "style": props.style
15066
+ }, themeClasses.value, props.class]),
15067
+ "style": vue.normalizeStyle(props.style)
14986
15068
  }, {
14987
- default: () => [vue.createVNode("div", {
15069
+ default: () => [vue.createElementVNode("div", {
14988
15070
  "class": "v-window__container",
14989
- "style": {
15071
+ "style": vue.normalizeStyle({
14990
15072
  height: transitionHeight.value
14991
- }
15073
+ })
14992
15074
  }, [slots.default?.({
14993
15075
  group
14994
- }), props.showArrows !== false && vue.createVNode("div", {
15076
+ }), props.showArrows !== false && vue.createElementVNode("div", {
14995
15077
  "class": "v-window__controls"
14996
15078
  }, [arrows.value])]), slots.additional?.({
14997
15079
  group
14998
15080
  })]
14999
- }), [[vue.resolveDirective("touch"), touchOptions.value]]));
15081
+ }), [[Touch, touchOptions.value]]));
15000
15082
  return {
15001
15083
  group
15002
15084
  };
@@ -15081,12 +15163,12 @@
15081
15163
  let {
15082
15164
  group
15083
15165
  } = _ref2;
15084
- return vue.createVNode(vue.Fragment, null, [!props.hideDelimiters && vue.createVNode("div", {
15166
+ return vue.createElementVNode(vue.Fragment, null, [!props.hideDelimiters && vue.createElementVNode("div", {
15085
15167
  "class": "v-carousel__controls",
15086
- "style": {
15168
+ "style": vue.normalizeStyle({
15087
15169
  left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',
15088
15170
  right: props.verticalDelimiters === 'right' ? 0 : 'auto'
15089
- }
15171
+ })
15090
15172
  }, [group.items.value.length > 0 && vue.createVNode(VDefaultsProvider, {
15091
15173
  "defaults": {
15092
15174
  VBtn: {
@@ -15140,7 +15222,7 @@
15140
15222
  const VWindowItem = genericComponent()({
15141
15223
  name: 'VWindowItem',
15142
15224
  directives: {
15143
- Touch
15225
+ vTouch: Touch
15144
15226
  },
15145
15227
  props: makeVWindowItemProps(),
15146
15228
  emits: {
@@ -15224,9 +15306,9 @@
15224
15306
  "transition": transition.value,
15225
15307
  "disabled": !isBooted.value
15226
15308
  }, {
15227
- default: () => [vue.withDirectives(vue.createVNode("div", {
15228
- "class": ['v-window-item', groupItem.selectedClass.value, props.class],
15229
- "style": props.style
15309
+ default: () => [vue.withDirectives(vue.createElementVNode("div", {
15310
+ "class": vue.normalizeClass(['v-window-item', groupItem.selectedClass.value, props.class]),
15311
+ "style": vue.normalizeStyle(props.style)
15230
15312
  }, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
15231
15313
  }));
15232
15314
  return {
@@ -15426,21 +15508,21 @@
15426
15508
  immediate: true
15427
15509
  });
15428
15510
  vue.onMounted(() => updateCanvas());
15429
- useRender(() => vue.createVNode("div", {
15511
+ useRender(() => vue.createElementVNode("div", {
15430
15512
  "ref": resizeRef,
15431
- "class": ['v-color-picker-canvas', props.class],
15432
- "style": props.style,
15513
+ "class": vue.normalizeClass(['v-color-picker-canvas', props.class]),
15514
+ "style": vue.normalizeStyle(props.style),
15433
15515
  "onMousedown": handleMouseDown,
15434
15516
  "onTouchstartPassive": handleMouseDown
15435
- }, [vue.createVNode("canvas", {
15517
+ }, [vue.createElementVNode("canvas", {
15436
15518
  "ref": canvasRef,
15437
15519
  "width": canvasWidth.value,
15438
15520
  "height": canvasHeight.value
15439
- }, null), props.color && vue.createVNode("div", {
15440
- "class": ['v-color-picker-canvas__dot', {
15521
+ }, null), props.color && vue.createElementVNode("div", {
15522
+ "class": vue.normalizeClass(['v-color-picker-canvas__dot', {
15441
15523
  'v-color-picker-canvas__dot--disabled': props.disabled
15442
- }],
15443
- "style": dotStyles.value
15524
+ }]),
15525
+ "style": vue.normalizeStyle(dotStyles.value)
15444
15526
  }, null)]));
15445
15527
  return {};
15446
15528
  }
@@ -15640,9 +15722,9 @@
15640
15722
  label,
15641
15723
  ...rest
15642
15724
  } = _ref;
15643
- return vue.createVNode("div", {
15725
+ return vue.createElementVNode("div", {
15644
15726
  "class": "v-color-picker-edit__input"
15645
- }, [vue.createVNode("input", rest, null), vue.createVNode("span", null, [label])]);
15727
+ }, [vue.createElementVNode("input", vue.normalizeProps(vue.guardReactiveProps(rest)), null), vue.createElementVNode("span", null, [label])]);
15646
15728
  };
15647
15729
  const makeVColorPickerEditProps = propsFactory({
15648
15730
  color: Object,
@@ -15699,9 +15781,9 @@
15699
15781
  };
15700
15782
  });
15701
15783
  });
15702
- useRender(() => vue.createVNode("div", {
15703
- "class": ['v-color-picker-edit', props.class],
15704
- "style": props.style
15784
+ useRender(() => vue.createElementVNode("div", {
15785
+ "class": vue.normalizeClass(['v-color-picker-edit', props.class]),
15786
+ "style": vue.normalizeStyle(props.style)
15705
15787
  }, [inputs.value?.map(props => vue.createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && vue.createVNode(VBtn, {
15706
15788
  "icon": "$unfold",
15707
15789
  "size": "x-small",
@@ -15865,7 +15947,7 @@
15865
15947
  const clickOffset = getPosition(e, position);
15866
15948
 
15867
15949
  // It is possible for left to be NaN, force to number
15868
- let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0;
15950
+ let clickPos = clamp((clickOffset - trackStart - startOffset.value) / trackLength) || 0;
15869
15951
  if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;
15870
15952
  return roundValue(min.value + clickPos * (max.value - min.value));
15871
15953
  }
@@ -16044,7 +16126,7 @@
16044
16126
  const VSliderThumb = genericComponent()({
16045
16127
  name: 'VSliderThumb',
16046
16128
  directives: {
16047
- Ripple
16129
+ vRipple: Ripple
16048
16130
  },
16049
16131
  props: makeVSliderThumbProps(),
16050
16132
  emits: {
@@ -16124,15 +16206,15 @@
16124
16206
  }
16125
16207
  useRender(() => {
16126
16208
  const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');
16127
- return vue.createVNode("div", {
16128
- "class": ['v-slider-thumb', {
16209
+ return vue.createElementVNode("div", {
16210
+ "class": vue.normalizeClass(['v-slider-thumb', {
16129
16211
  'v-slider-thumb--focused': props.focused,
16130
16212
  'v-slider-thumb--pressed': props.focused && mousePressed.value
16131
- }, props.class, rtlClasses.value],
16132
- "style": [{
16213
+ }, props.class, rtlClasses.value]),
16214
+ "style": vue.normalizeStyle([{
16133
16215
  '--v-slider-thumb-position': positionPercentage,
16134
16216
  '--v-slider-thumb-size': convertToUnit(thumbSize.value)
16135
- }, props.style],
16217
+ }, props.style]),
16136
16218
  "role": "slider",
16137
16219
  "tabindex": disabled.value ? -1 : 0,
16138
16220
  "aria-label": props.name,
@@ -16142,25 +16224,25 @@
16142
16224
  "aria-readonly": !!readonly.value,
16143
16225
  "aria-orientation": direction.value,
16144
16226
  "onKeydown": !readonly.value ? onKeydown : undefined
16145
- }, [vue.createVNode("div", {
16146
- "class": ['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value],
16147
- "style": {
16227
+ }, [vue.createElementVNode("div", {
16228
+ "class": vue.normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),
16229
+ "style": vue.normalizeStyle({
16148
16230
  ...textColorStyles.value
16149
- }
16150
- }, null), vue.withDirectives(vue.createVNode("div", {
16151
- "class": ['v-slider-thumb__ripple', textColorClasses.value],
16152
- "style": textColorStyles.value
16153
- }, null), [[vue.resolveDirective("ripple"), props.ripple, null, {
16231
+ })
16232
+ }, null), vue.withDirectives(vue.createElementVNode("div", {
16233
+ "class": vue.normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),
16234
+ "style": vue.normalizeStyle(textColorStyles.value)
16235
+ }, null), [[Ripple, props.ripple, null, {
16154
16236
  circle: true,
16155
16237
  center: true
16156
16238
  }]]), vue.createVNode(VScaleTransition, {
16157
16239
  "origin": "bottom center"
16158
16240
  }, {
16159
- default: () => [vue.withDirectives(vue.createVNode("div", {
16241
+ default: () => [vue.withDirectives(vue.createElementVNode("div", {
16160
16242
  "class": "v-slider-thumb__label-container"
16161
- }, [vue.createVNode("div", {
16243
+ }, [vue.createElementVNode("div", {
16162
16244
  "class": ['v-slider-thumb__label']
16163
- }, [vue.createVNode("div", null, [slots['thumb-label']?.({
16245
+ }, [vue.createElementVNode("div", null, [slots['thumb-label']?.({
16164
16246
  modelValue: props.modelValue
16165
16247
  }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
16166
16248
  })]);
@@ -16237,17 +16319,17 @@
16237
16319
  const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;
16238
16320
  return ticks.map((tick, index) => {
16239
16321
  const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;
16240
- return vue.createVNode("div", {
16322
+ return vue.createElementVNode("div", {
16241
16323
  "key": tick.value,
16242
- "class": ['v-slider-track__tick', {
16324
+ "class": vue.normalizeClass(['v-slider-track__tick', {
16243
16325
  'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,
16244
16326
  'v-slider-track__tick--first': tick.value === min.value,
16245
16327
  'v-slider-track__tick--last': tick.value === max.value
16246
- }],
16247
- "style": {
16328
+ }]),
16329
+ "style": vue.normalizeStyle({
16248
16330
  [startDir.value]: directionValue
16249
- }
16250
- }, [(tick.label || slots['tick-label']) && vue.createVNode("div", {
16331
+ })
16332
+ }, [(tick.label || slots['tick-label']) && vue.createElementVNode("div", {
16251
16333
  "class": "v-slider-track__tick-label"
16252
16334
  }, [slots['tick-label']?.({
16253
16335
  tick,
@@ -16256,30 +16338,30 @@
16256
16338
  });
16257
16339
  });
16258
16340
  useRender(() => {
16259
- return vue.createVNode("div", {
16260
- "class": ['v-slider-track', roundedClasses.value, props.class],
16261
- "style": [{
16341
+ return vue.createElementVNode("div", {
16342
+ "class": vue.normalizeClass(['v-slider-track', roundedClasses.value, props.class]),
16343
+ "style": vue.normalizeStyle([{
16262
16344
  '--v-slider-track-size': convertToUnit(trackSize.value),
16263
16345
  '--v-slider-tick-size': convertToUnit(tickSize.value)
16264
- }, props.style]
16265
- }, [vue.createVNode("div", {
16266
- "class": ['v-slider-track__background', trackColorClasses.value, {
16346
+ }, props.style])
16347
+ }, [vue.createElementVNode("div", {
16348
+ "class": vue.normalizeClass(['v-slider-track__background', trackColorClasses.value, {
16267
16349
  'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
16268
- }],
16269
- "style": {
16350
+ }]),
16351
+ "style": vue.normalizeStyle({
16270
16352
  ...backgroundStyles.value,
16271
16353
  ...trackColorStyles.value
16272
- }
16273
- }, null), vue.createVNode("div", {
16274
- "class": ['v-slider-track__fill', trackFillColorClasses.value],
16275
- "style": {
16354
+ })
16355
+ }, null), vue.createElementVNode("div", {
16356
+ "class": vue.normalizeClass(['v-slider-track__fill', trackFillColorClasses.value]),
16357
+ "style": vue.normalizeStyle({
16276
16358
  ...trackFillStyles.value,
16277
16359
  ...trackFillColorStyles.value
16278
- }
16279
- }, null), showTicks.value && vue.createVNode("div", {
16280
- "class": ['v-slider-track__ticks', {
16360
+ })
16361
+ }, null), showTicks.value && vue.createElementVNode("div", {
16362
+ "class": vue.normalizeClass(['v-slider-track__ticks', {
16281
16363
  'v-slider-track__ticks--always-show': showTicks.value === 'always'
16282
- }]
16364
+ }])
16283
16365
  }, [computedTicks.value])]);
16284
16366
  });
16285
16367
  return {};
@@ -16373,7 +16455,7 @@
16373
16455
  "focused": isFocused.value
16374
16456
  }), {
16375
16457
  ...slots,
16376
- prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? vue.createVNode(VLabel, {
16458
+ prepend: hasPrepend ? slotProps => vue.createElementVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? vue.createVNode(VLabel, {
16377
16459
  "id": slotProps.id.value,
16378
16460
  "class": "v-slider__label",
16379
16461
  "text": props.label
@@ -16383,11 +16465,11 @@
16383
16465
  id,
16384
16466
  messagesId
16385
16467
  } = _ref4;
16386
- return vue.createVNode("div", {
16468
+ return vue.createElementVNode("div", {
16387
16469
  "class": "v-slider__container",
16388
16470
  "onMousedown": !readonly.value ? onSliderMousedown : undefined,
16389
16471
  "onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
16390
- }, [vue.createVNode("input", {
16472
+ }, [vue.createElementVNode("input", {
16391
16473
  "id": id.value,
16392
16474
  "name": props.name || id.value,
16393
16475
  "disabled": !!props.disabled,
@@ -16460,12 +16542,12 @@
16460
16542
  });
16461
16543
  } catch (e) {}
16462
16544
  }
16463
- useRender(() => vue.createVNode("div", {
16464
- "class": ['v-color-picker-preview', {
16545
+ useRender(() => vue.createElementVNode("div", {
16546
+ "class": vue.normalizeClass(['v-color-picker-preview', {
16465
16547
  'v-color-picker-preview--hide-alpha': props.hideAlpha
16466
- }, props.class],
16467
- "style": props.style
16468
- }, [SUPPORTS_EYE_DROPPER && vue.createVNode("div", {
16548
+ }, props.class]),
16549
+ "style": vue.normalizeStyle(props.style)
16550
+ }, [SUPPORTS_EYE_DROPPER && vue.createElementVNode("div", {
16469
16551
  "class": "v-color-picker-preview__eye-dropper",
16470
16552
  "key": "eyeDropper"
16471
16553
  }, [vue.createVNode(VBtn, {
@@ -16474,13 +16556,13 @@
16474
16556
  "icon": "$eyeDropper",
16475
16557
  "variant": "plain",
16476
16558
  "onClick": openEyeDropper
16477
- }, null)]), vue.createVNode("div", {
16559
+ }, null)]), vue.createElementVNode("div", {
16478
16560
  "class": "v-color-picker-preview__dot"
16479
- }, [vue.createVNode("div", {
16480
- "style": {
16561
+ }, [vue.createElementVNode("div", {
16562
+ "style": vue.normalizeStyle({
16481
16563
  background: HSVtoCSS(props.color ?? nullColor)
16482
- }
16483
- }, null)]), vue.createVNode("div", {
16564
+ })
16565
+ }, null)]), vue.createElementVNode("div", {
16484
16566
  "class": "v-color-picker-preview__sliders"
16485
16567
  }, [vue.createVNode(VSlider, {
16486
16568
  "class": "v-color-picker-preview__track v-color-picker-preview__hue",
@@ -16865,24 +16947,24 @@
16865
16947
  let {
16866
16948
  emit
16867
16949
  } = _ref;
16868
- useRender(() => vue.createVNode("div", {
16869
- "class": ['v-color-picker-swatches', props.class],
16870
- "style": [{
16950
+ useRender(() => vue.createElementVNode("div", {
16951
+ "class": vue.normalizeClass(['v-color-picker-swatches', props.class]),
16952
+ "style": vue.normalizeStyle([{
16871
16953
  maxHeight: convertToUnit(props.maxHeight)
16872
- }, props.style]
16873
- }, [vue.createVNode("div", null, [props.swatches.map(swatch => vue.createVNode("div", {
16954
+ }, props.style])
16955
+ }, [vue.createElementVNode("div", null, [props.swatches.map(swatch => vue.createElementVNode("div", {
16874
16956
  "class": "v-color-picker-swatches__swatch"
16875
16957
  }, [swatch.map(color => {
16876
16958
  const rgba = parseColor(color);
16877
16959
  const hsva = RGBtoHSV(rgba);
16878
16960
  const background = RGBtoCSS(rgba);
16879
- return vue.createVNode("div", {
16961
+ return vue.createElementVNode("div", {
16880
16962
  "class": "v-color-picker-swatches__color",
16881
16963
  "onClick": () => hsva && emit('update:color', hsva)
16882
- }, [vue.createVNode("div", {
16883
- "style": {
16964
+ }, [vue.createElementVNode("div", {
16965
+ "style": vue.normalizeStyle({
16884
16966
  background
16885
- }
16967
+ })
16886
16968
  }, [props.color && deepEqual(props.color, hsva) ? vue.createVNode(VIcon, {
16887
16969
  "size": "x-small",
16888
16970
  "icon": "$success",
@@ -16941,8 +17023,8 @@
16941
17023
  roundedClasses
16942
17024
  } = useRounded(props);
16943
17025
  useRender(() => vue.createVNode(props.tag, {
16944
- "class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
16945
- "style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
17026
+ "class": vue.normalizeClass(['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]),
17027
+ "style": vue.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style])
16946
17028
  }, slots));
16947
17029
  return {};
16948
17030
  }
@@ -16981,17 +17063,17 @@
16981
17063
  }, props.class],
16982
17064
  "style": props.style
16983
17065
  }), {
16984
- default: () => [!props.hideHeader && vue.createVNode("div", {
17066
+ default: () => [!props.hideHeader && vue.createElementVNode("div", {
16985
17067
  "key": "header",
16986
- "class": [backgroundColorClasses.value],
16987
- "style": [backgroundColorStyles.value]
17068
+ "class": vue.normalizeClass([backgroundColorClasses.value]),
17069
+ "style": vue.normalizeStyle([backgroundColorStyles.value])
16988
17070
  }, [hasTitle && vue.createVNode(VPickerTitle, {
16989
17071
  "key": "picker-title"
16990
17072
  }, {
16991
17073
  default: () => [slots.title?.() ?? props.title]
16992
- }), slots.header && vue.createVNode("div", {
17074
+ }), slots.header && vue.createElementVNode("div", {
16993
17075
  "class": "v-picker__header"
16994
- }, [slots.header()])]), vue.createVNode("div", {
17076
+ }, [slots.header()])]), vue.createElementVNode("div", {
16995
17077
  "class": "v-picker__body"
16996
17078
  }, [slots.default?.()]), slots.actions && vue.createVNode(VDefaultsProvider, {
16997
17079
  "defaults": {
@@ -17001,7 +17083,7 @@
17001
17083
  }
17002
17084
  }
17003
17085
  }, {
17004
- default: () => [vue.createVNode("div", {
17086
+ default: () => [vue.createElementVNode("div", {
17005
17087
  "class": "v-picker__actions"
17006
17088
  }, [slots.actions()])]
17007
17089
  })]
@@ -17863,7 +17945,7 @@
17863
17945
  }, props.style]
17864
17946
  }), {
17865
17947
  ...slots,
17866
- default: () => vue.createVNode(vue.Fragment, null, [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
17948
+ default: () => vue.createElementVNode(vue.Fragment, null, [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
17867
17949
  "key": "canvas",
17868
17950
  "color": currentColor.value,
17869
17951
  "onUpdate:color": updateColor,
@@ -17871,7 +17953,7 @@
17871
17953
  "dotSize": props.dotSize,
17872
17954
  "width": props.width,
17873
17955
  "height": props.canvasHeight
17874
- }, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
17956
+ }, null), (!props.hideSliders || !props.hideInputs) && vue.createElementVNode("div", {
17875
17957
  "key": "controls",
17876
17958
  "class": "v-color-picker__controls"
17877
17959
  }, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
@@ -18246,7 +18328,7 @@
18246
18328
  "onKeydown": onKeydown
18247
18329
  }), {
18248
18330
  ...slots,
18249
- default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
18331
+ default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
18250
18332
  "ref": vMenuRef,
18251
18333
  "modelValue": menu.value,
18252
18334
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -18305,7 +18387,7 @@
18305
18387
  let {
18306
18388
  isSelected
18307
18389
  } = _ref5;
18308
- return vue.createVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
18390
+ return vue.createElementVNode(vue.Fragment, null, [props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
18309
18391
  "key": item.value,
18310
18392
  "modelValue": isSelected,
18311
18393
  "ripple": false,
@@ -18354,10 +18436,10 @@
18354
18436
  index
18355
18437
  })) : undefined;
18356
18438
  if (hasSlot && !slotContent) return undefined;
18357
- return vue.createVNode("div", {
18439
+ return vue.createElementVNode("div", {
18358
18440
  "key": item.value,
18359
- "class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
18360
- "style": index === selectionIndex.value ? textColorStyles.value : {}
18441
+ "class": vue.normalizeClass(['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]]),
18442
+ "style": vue.normalizeStyle(index === selectionIndex.value ? textColorStyles.value : {})
18361
18443
  }, [hasChips.value ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
18362
18444
  "key": "chip",
18363
18445
  "closable": props.closableChips,
@@ -18375,9 +18457,9 @@
18375
18457
  }
18376
18458
  }, {
18377
18459
  default: () => [slotContent]
18378
- }) : slotContent ?? vue.createVNode("span", {
18460
+ }) : slotContent ?? vue.createElementVNode("span", {
18379
18461
  "class": "v-combobox__selection-text"
18380
- }, [item.title, props.multiple && index < model.value.length - 1 && vue.createVNode("span", {
18462
+ }, [item.title, props.multiple && index < model.value.length - 1 && vue.createElementVNode("span", {
18381
18463
  "class": "v-combobox__selection-comma"
18382
18464
  }, [vue.createTextVNode(",")])])]);
18383
18465
  })]),
@@ -18385,7 +18467,7 @@
18385
18467
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18386
18468
  args[_key] = arguments[_key];
18387
18469
  }
18388
- return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? vue.createVNode(VIcon, {
18470
+ return vue.createElementVNode(vue.Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? vue.createVNode(VIcon, {
18389
18471
  "class": "v-combobox__menu-icon",
18390
18472
  "color": vTextFieldRef.value?.fieldIconColor,
18391
18473
  "icon": props.menuIcon,
@@ -18473,7 +18555,7 @@
18473
18555
  emit('cancel');
18474
18556
  }
18475
18557
  function actions(actionsProps) {
18476
- return vue.createVNode(vue.Fragment, null, [vue.createVNode(VBtn, vue.mergeProps({
18558
+ return vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VBtn, vue.mergeProps({
18477
18559
  "disabled": isCancelDisabled.value,
18478
18560
  "variant": "text",
18479
18561
  "color": props.color,
@@ -18489,7 +18571,7 @@
18489
18571
  }
18490
18572
  let actionsUsed = false;
18491
18573
  useRender(() => {
18492
- return vue.createVNode(vue.Fragment, null, [slots.default?.({
18574
+ return vue.createElementVNode(vue.Fragment, null, [slots.default?.({
18493
18575
  model: internalModel,
18494
18576
  save,
18495
18577
  cancel,
@@ -19372,10 +19454,10 @@
19372
19454
  groupedItems: paginatedItems.value
19373
19455
  }));
19374
19456
  useRender(() => vue.createVNode(props.tag, {
19375
- "class": ['v-data-iterator', {
19457
+ "class": vue.normalizeClass(['v-data-iterator', {
19376
19458
  'v-data-iterator--loading': props.loading
19377
- }, props.class],
19378
- "style": props.style
19459
+ }, props.class]),
19460
+ "style": vue.normalizeStyle(props.style)
19379
19461
  }, {
19380
19462
  default: () => [slots.header?.(slotProps.value), vue.createVNode(MaybeTransition, {
19381
19463
  "transition": props.transition
@@ -19386,7 +19468,7 @@
19386
19468
  "active": true
19387
19469
  }, {
19388
19470
  default: slotProps => slots.loader?.(slotProps)
19389
- }) : vue.createVNode("div", {
19471
+ }) : vue.createElementVNode("div", {
19390
19472
  "key": "items"
19391
19473
  }, [!paginatedItems.value.length ? slots['no-data']?.() : slots.default?.(slotProps.value)])]
19392
19474
  }), slots.footer?.(slotProps.value)]
@@ -19680,44 +19762,44 @@
19680
19762
  }
19681
19763
  useRender(() => vue.createVNode(props.tag, {
19682
19764
  "ref": resizeRef,
19683
- "class": ['v-pagination', themeClasses.value, props.class],
19684
- "style": props.style,
19765
+ "class": vue.normalizeClass(['v-pagination', themeClasses.value, props.class]),
19766
+ "style": vue.normalizeStyle(props.style),
19685
19767
  "role": "navigation",
19686
19768
  "aria-label": t(props.ariaLabel),
19687
19769
  "onKeydown": onKeydown,
19688
19770
  "data-test": "v-pagination-root"
19689
19771
  }, {
19690
- default: () => [vue.createVNode("ul", {
19772
+ default: () => [vue.createElementVNode("ul", {
19691
19773
  "class": "v-pagination__list"
19692
- }, [props.showFirstLastPage && vue.createVNode("li", {
19774
+ }, [props.showFirstLastPage && vue.createElementVNode("li", {
19693
19775
  "key": "first",
19694
19776
  "class": "v-pagination__first",
19695
19777
  "data-test": "v-pagination-first"
19696
19778
  }, [slots.first ? slots.first(controls.value.first) : vue.createVNode(VBtn, vue.mergeProps({
19697
19779
  "_as": "VPaginationBtn"
19698
- }, controls.value.first), null)]), vue.createVNode("li", {
19780
+ }, controls.value.first), null)]), vue.createElementVNode("li", {
19699
19781
  "key": "prev",
19700
19782
  "class": "v-pagination__prev",
19701
19783
  "data-test": "v-pagination-prev"
19702
19784
  }, [slots.prev ? slots.prev(controls.value.prev) : vue.createVNode(VBtn, vue.mergeProps({
19703
19785
  "_as": "VPaginationBtn"
19704
- }, controls.value.prev), null)]), items.value.map((item, index) => vue.createVNode("li", {
19786
+ }, controls.value.prev), null)]), items.value.map((item, index) => vue.createElementVNode("li", {
19705
19787
  "key": item.key,
19706
- "class": ['v-pagination__item', {
19788
+ "class": vue.normalizeClass(['v-pagination__item', {
19707
19789
  'v-pagination__item--is-active': item.isActive
19708
- }],
19790
+ }]),
19709
19791
  "data-test": "v-pagination-item"
19710
19792
  }, [slots.item ? slots.item(item) : vue.createVNode(VBtn, vue.mergeProps({
19711
19793
  "_as": "VPaginationBtn"
19712
19794
  }, item.props), {
19713
19795
  default: () => [item.page]
19714
- })])), vue.createVNode("li", {
19796
+ })])), vue.createElementVNode("li", {
19715
19797
  "key": "next",
19716
19798
  "class": "v-pagination__next",
19717
19799
  "data-test": "v-pagination-next"
19718
19800
  }, [slots.next ? slots.next(controls.value.next) : vue.createVNode(VBtn, vue.mergeProps({
19719
19801
  "_as": "VPaginationBtn"
19720
- }, controls.value.next), null)]), props.showFirstLastPage && vue.createVNode("li", {
19802
+ }, controls.value.next), null)]), props.showFirstLastPage && vue.createElementVNode("li", {
19721
19803
  "key": "last",
19722
19804
  "class": "v-pagination__last",
19723
19805
  "data-test": "v-pagination-last"
@@ -19826,20 +19908,20 @@
19826
19908
  }));
19827
19909
  useRender(() => {
19828
19910
  const paginationProps = VPagination.filterProps(props);
19829
- return vue.createVNode("div", {
19911
+ return vue.createElementVNode("div", {
19830
19912
  "class": "v-data-table-footer"
19831
- }, [slots.prepend?.(), vue.createVNode("div", {
19913
+ }, [slots.prepend?.(), vue.createElementVNode("div", {
19832
19914
  "class": "v-data-table-footer__items-per-page"
19833
- }, [vue.createVNode("span", null, [t(props.itemsPerPageText)]), vue.createVNode(VSelect, {
19915
+ }, [vue.createElementVNode("span", null, [t(props.itemsPerPageText)]), vue.createVNode(VSelect, {
19834
19916
  "items": itemsPerPageOptions.value,
19835
19917
  "modelValue": itemsPerPage.value,
19836
19918
  "onUpdate:modelValue": v => setItemsPerPage(Number(v)),
19837
19919
  "density": "compact",
19838
19920
  "variant": "outlined",
19839
19921
  "hide-details": true
19840
- }, null)]), vue.createVNode("div", {
19922
+ }, null)]), vue.createElementVNode("div", {
19841
19923
  "class": "v-data-table-footer__info"
19842
- }, [vue.createVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), vue.createVNode("div", {
19924
+ }, [vue.createElementVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), vue.createElementVNode("div", {
19843
19925
  "class": "v-data-table-footer__pagination"
19844
19926
  }, [vue.createVNode(VPagination, vue.mergeProps({
19845
19927
  "modelValue": page.value,
@@ -19882,18 +19964,18 @@
19882
19964
  } = _ref;
19883
19965
  const Tag = props.tag ?? 'td';
19884
19966
  return vue.createVNode(Tag, {
19885
- "class": ['v-data-table__td', {
19967
+ "class": vue.normalizeClass(['v-data-table__td', {
19886
19968
  'v-data-table-column--fixed': props.fixed,
19887
19969
  'v-data-table-column--last-fixed': props.lastFixed,
19888
19970
  'v-data-table-column--no-padding': props.noPadding,
19889
19971
  'v-data-table-column--nowrap': props.nowrap
19890
- }, `v-data-table-column--align-${props.align}`],
19891
- "style": {
19972
+ }, `v-data-table-column--align-${props.align}`]),
19973
+ "style": vue.normalizeStyle({
19892
19974
  height: convertToUnit(props.height),
19893
19975
  width: convertToUnit(props.width),
19894
19976
  maxWidth: convertToUnit(props.maxWidth),
19895
19977
  left: convertToUnit(props.fixedOffset || null)
19896
- }
19978
+ })
19897
19979
  }, {
19898
19980
  default: () => [slots.default?.()]
19899
19981
  });
@@ -20303,16 +20385,16 @@
20303
20385
  "onUpdate:modelValue": selectAll
20304
20386
  }, null));
20305
20387
  }
20306
- return vue.createVNode("div", {
20388
+ return vue.createElementVNode("div", {
20307
20389
  "class": "v-data-table-header__content"
20308
- }, [vue.createVNode("span", null, [column.title]), column.sortable && !props.disableSort && vue.createVNode(VIcon, {
20390
+ }, [vue.createElementVNode("span", null, [column.title]), column.sortable && !props.disableSort && vue.createVNode(VIcon, {
20309
20391
  "key": "icon",
20310
20392
  "class": "v-data-table-header__sort-icon",
20311
20393
  "icon": getSortIcon(column)
20312
- }, null), props.multiSort && isSorted(column) && vue.createVNode("div", {
20394
+ }, null), props.multiSort && isSorted(column) && vue.createElementVNode("div", {
20313
20395
  "key": "badge",
20314
- "class": ['v-data-table-header__sort-badge', ...backgroundColorClasses.value],
20315
- "style": backgroundColorStyles.value
20396
+ "class": vue.normalizeClass(['v-data-table-header__sort-badge', ...backgroundColorClasses.value]),
20397
+ "style": vue.normalizeStyle(backgroundColorStyles.value)
20316
20398
  }, [sortBy.value.findIndex(x => x.key === column.key) + 1])]);
20317
20399
  }
20318
20400
  });
@@ -20331,7 +20413,7 @@
20331
20413
  "class": [...headerCellClasses.value],
20332
20414
  "colspan": headers.value.length + 1
20333
20415
  }, props.headerProps), {
20334
- default: () => [vue.createVNode("div", {
20416
+ default: () => [vue.createElementVNode("div", {
20335
20417
  "class": "v-data-table-header__content"
20336
20418
  }, [vue.createVNode(VSelect, {
20337
20419
  "chips": true,
@@ -20355,7 +20437,7 @@
20355
20437
  }
20356
20438
  }, {
20357
20439
  default: () => [props.item.title, vue.createVNode(VIcon, {
20358
- "class": ['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active'],
20440
+ "class": vue.normalizeClass(['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active']),
20359
20441
  "icon": getSortIcon(props.item.raw),
20360
20442
  "size": "small"
20361
20443
  }, null)]
@@ -20364,13 +20446,13 @@
20364
20446
  });
20365
20447
  };
20366
20448
  useRender(() => {
20367
- return mobile.value ? vue.createVNode("tr", null, [vue.createVNode(VDataTableMobileHeaderCell, null, null)]) : vue.createVNode(vue.Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => vue.createVNode("tr", null, [row.map((column, x) => vue.createVNode(VDataTableHeaderCell, {
20449
+ return mobile.value ? vue.createElementVNode("tr", null, [vue.createVNode(VDataTableMobileHeaderCell, null, null)]) : vue.createElementVNode(vue.Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => vue.createElementVNode("tr", null, [row.map((column, x) => vue.createVNode(VDataTableHeaderCell, {
20368
20450
  "column": column,
20369
20451
  "x": x,
20370
20452
  "y": y
20371
- }, null))])), props.loading && vue.createVNode("tr", {
20453
+ }, null))])), props.loading && vue.createElementVNode("tr", {
20372
20454
  "class": "v-data-table-progress"
20373
- }, [vue.createVNode("th", {
20455
+ }, [vue.createElementVNode("th", {
20374
20456
  "colspan": columns.value.length
20375
20457
  }, [vue.createVNode(LoaderSlot, {
20376
20458
  "name": "v-data-table-progress",
@@ -20416,11 +20498,11 @@
20416
20498
  const rows = vue.computed(() => {
20417
20499
  return extractRows([props.item]);
20418
20500
  });
20419
- return () => vue.createVNode("tr", {
20501
+ return () => vue.createElementVNode("tr", {
20420
20502
  "class": "v-data-table-group-header-row",
20421
- "style": {
20503
+ "style": vue.normalizeStyle({
20422
20504
  '--v-data-table-group-header-row-depth': props.item.depth
20423
- }
20505
+ })
20424
20506
  }, [columns.value.map(column => {
20425
20507
  if (column.key === 'data-table-group') {
20426
20508
  const icon = isGroupOpen(props.item) ? '$expand' : '$next';
@@ -20440,7 +20522,7 @@
20440
20522
  "variant": "text",
20441
20523
  "icon": icon,
20442
20524
  "onClick": onClick
20443
- }, null), vue.createVNode("span", null, [props.item.value]), vue.createVNode("span", null, [vue.createTextVNode("("), rows.value.length, vue.createTextVNode(")")])]
20525
+ }, null), vue.createElementVNode("span", null, [props.item.value]), vue.createElementVNode("span", null, [vue.createTextVNode("("), rows.value.length, vue.createTextVNode(")")])]
20444
20526
  });
20445
20527
  }
20446
20528
  if (column.key === 'data-table-select') {
@@ -20453,13 +20535,13 @@
20453
20535
  indeterminate,
20454
20536
  'onUpdate:modelValue': selectGroup
20455
20537
  }
20456
- }) ?? vue.createVNode("td", null, [vue.createVNode(VCheckboxBtn, {
20538
+ }) ?? vue.createElementVNode("td", null, [vue.createVNode(VCheckboxBtn, {
20457
20539
  "modelValue": modelValue,
20458
20540
  "indeterminate": indeterminate,
20459
20541
  "onUpdate:modelValue": selectGroup
20460
20542
  }, null)]);
20461
20543
  }
20462
- return vue.createVNode("td", null, null);
20544
+ return vue.createElementVNode("td", null, null);
20463
20545
  })]);
20464
20546
  }
20465
20547
  });
@@ -20505,10 +20587,10 @@
20505
20587
  const {
20506
20588
  columns
20507
20589
  } = useHeaders();
20508
- useRender(() => vue.createVNode("tr", {
20509
- "class": ['v-data-table__tr', {
20590
+ useRender(() => vue.createElementVNode("tr", {
20591
+ "class": vue.normalizeClass(['v-data-table__tr', {
20510
20592
  'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick)
20511
- }, displayClasses.value],
20593
+ }, displayClasses.value]),
20512
20594
  "onClick": props.onClick,
20513
20595
  "onContextmenu": props.onContextmenu,
20514
20596
  "onDblclick": props.onDblclick
@@ -20597,9 +20679,9 @@
20597
20679
  }
20598
20680
  if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
20599
20681
  const displayValue = vue.toDisplayString(slotProps.value);
20600
- return !mobile.value ? displayValue : vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
20682
+ return !mobile.value ? displayValue : vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("div", {
20601
20683
  "class": "v-data-table__td-title"
20602
- }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), vue.createVNode("div", {
20684
+ }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), vue.createElementVNode("div", {
20603
20685
  "class": "v-data-table__td-value"
20604
20686
  }, [slots[slotName]?.(slotProps) ?? displayValue])]);
20605
20687
  }
@@ -20662,22 +20744,22 @@
20662
20744
  } = useDisplay(props);
20663
20745
  useRender(() => {
20664
20746
  if (props.loading && (!props.items.length || slots.loading)) {
20665
- return vue.createVNode("tr", {
20747
+ return vue.createElementVNode("tr", {
20666
20748
  "class": "v-data-table-rows-loading",
20667
20749
  "key": "loading"
20668
- }, [vue.createVNode("td", {
20750
+ }, [vue.createElementVNode("td", {
20669
20751
  "colspan": columns.value.length
20670
20752
  }, [slots.loading?.() ?? t(props.loadingText)])]);
20671
20753
  }
20672
20754
  if (!props.loading && !props.items.length && !props.hideNoData) {
20673
- return vue.createVNode("tr", {
20755
+ return vue.createElementVNode("tr", {
20674
20756
  "class": "v-data-table-rows-no-data",
20675
20757
  "key": "no-data"
20676
- }, [vue.createVNode("td", {
20758
+ }, [vue.createElementVNode("td", {
20677
20759
  "colspan": columns.value.length
20678
20760
  }, [slots['no-data']?.() ?? t(props.noDataText)])]);
20679
20761
  }
20680
- return vue.createVNode(vue.Fragment, null, [props.items.map((item, index) => {
20762
+ return vue.createElementVNode(vue.Fragment, null, [props.items.map((item, index) => {
20681
20763
  if (item.type === 'group') {
20682
20764
  const slotProps = {
20683
20765
  index,
@@ -20722,7 +20804,7 @@
20722
20804
  internalItem: slotProps.internalItem
20723
20805
  }) : props.rowProps)
20724
20806
  };
20725
- return vue.createVNode(vue.Fragment, {
20807
+ return vue.createElementVNode(vue.Fragment, {
20726
20808
  "key": itemSlotProps.props.key
20727
20809
  }, [slots.item ? slots.item(itemSlotProps) : vue.createVNode(VDataTableRow, itemSlotProps.props, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
20728
20810
  })]);
@@ -20756,22 +20838,22 @@
20756
20838
  densityClasses
20757
20839
  } = useDensity(props);
20758
20840
  useRender(() => vue.createVNode(props.tag, {
20759
- "class": ['v-table', {
20841
+ "class": vue.normalizeClass(['v-table', {
20760
20842
  'v-table--fixed-height': !!props.height,
20761
20843
  'v-table--fixed-header': props.fixedHeader,
20762
20844
  'v-table--fixed-footer': props.fixedFooter,
20763
20845
  'v-table--has-top': !!slots.top,
20764
20846
  'v-table--has-bottom': !!slots.bottom,
20765
20847
  'v-table--hover': props.hover
20766
- }, themeClasses.value, densityClasses.value, props.class],
20767
- "style": props.style
20848
+ }, themeClasses.value, densityClasses.value, props.class]),
20849
+ "style": vue.normalizeStyle(props.style)
20768
20850
  }, {
20769
- default: () => [slots.top?.(), slots.default ? vue.createVNode("div", {
20851
+ default: () => [slots.top?.(), slots.default ? vue.createElementVNode("div", {
20770
20852
  "class": "v-table__wrapper",
20771
- "style": {
20853
+ "style": vue.normalizeStyle({
20772
20854
  height: convertToUnit(props.height)
20773
- }
20774
- }, [vue.createVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
20855
+ })
20856
+ }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
20775
20857
  }));
20776
20858
  return {};
20777
20859
  }
@@ -21024,12 +21106,12 @@
21024
21106
  "fixedHeader": props.fixedHeader || props.sticky
21025
21107
  }), {
21026
21108
  top: () => slots.top?.(slotProps.value),
21027
- default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
21109
+ default: () => slots.default ? slots.default(slotProps.value) : vue.createElementVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
21028
21110
  "key": "thead"
21029
- }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
21111
+ }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
21030
21112
  "items": paginatedItems.value
21031
21113
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
21032
- bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
21114
+ bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
21033
21115
  prepend: slots['footer.prepend']
21034
21116
  })])
21035
21117
  });
@@ -21200,25 +21282,25 @@
21200
21282
  "fixedHeader": props.fixedHeader || props.sticky
21201
21283
  }), {
21202
21284
  top: () => slots.top?.(slotProps.value),
21203
- wrapper: () => vue.createVNode("div", {
21285
+ wrapper: () => vue.createElementVNode("div", {
21204
21286
  "ref": containerRef,
21205
21287
  "onScrollPassive": handleScroll,
21206
21288
  "onScrollend": handleScrollend,
21207
21289
  "class": "v-table__wrapper",
21208
- "style": {
21290
+ "style": vue.normalizeStyle({
21209
21291
  height: convertToUnit(props.height)
21210
- }
21211
- }, [vue.createVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
21292
+ })
21293
+ }, [vue.createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
21212
21294
  "key": "thead"
21213
- }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createVNode("tbody", {
21295
+ }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", {
21214
21296
  "key": "tbody"
21215
- }, [vue.createVNode("tr", {
21297
+ }, [vue.createElementVNode("tr", {
21216
21298
  "ref": markerRef,
21217
- "style": {
21299
+ "style": vue.normalizeStyle({
21218
21300
  height: convertToUnit(paddingTop.value),
21219
21301
  border: 0
21220
- }
21221
- }, [vue.createVNode("td", {
21302
+ })
21303
+ }, [vue.createElementVNode("td", {
21222
21304
  "colspan": columns.value.length,
21223
21305
  "style": {
21224
21306
  height: 0,
@@ -21247,12 +21329,12 @@
21247
21329
  }), slots);
21248
21330
  }
21249
21331
  })
21250
- }), slots['body.append']?.(slotProps.value), vue.createVNode("tr", {
21251
- "style": {
21332
+ }), slots['body.append']?.(slotProps.value), vue.createElementVNode("tr", {
21333
+ "style": vue.normalizeStyle({
21252
21334
  height: convertToUnit(paddingBottom.value),
21253
21335
  border: 0
21254
- }
21255
- }, [vue.createVNode("td", {
21336
+ })
21337
+ }, [vue.createElementVNode("td", {
21256
21338
  "colspan": columns.value.length,
21257
21339
  "style": {
21258
21340
  height: 0,
@@ -21425,17 +21507,17 @@
21425
21507
  "fixedHeader": props.fixedHeader || props.sticky
21426
21508
  }), {
21427
21509
  top: () => slots.top?.(slotProps.value),
21428
- default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
21510
+ default: () => slots.default ? slots.default(slotProps.value) : vue.createElementVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createElementVNode("thead", {
21429
21511
  "key": "thead",
21430
21512
  "class": "v-data-table__thead",
21431
21513
  "role": "rowgroup"
21432
- }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createVNode("tbody", {
21514
+ }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createElementVNode("tbody", {
21433
21515
  "class": "v-data-table__tbody",
21434
21516
  "role": "rowgroup"
21435
21517
  }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
21436
21518
  "items": flatItems.value
21437
21519
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
21438
- bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
21520
+ bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
21439
21521
  prepend: slots['footer.prepend']
21440
21522
  })])
21441
21523
  });
@@ -21466,10 +21548,10 @@
21466
21548
  dimensionStyles
21467
21549
  } = useDimension(props);
21468
21550
  useRender(() => vue.createVNode(props.tag, {
21469
- "class": ['v-container', {
21551
+ "class": vue.normalizeClass(['v-container', {
21470
21552
  'v-container--fluid': props.fluid
21471
- }, rtlClasses.value, props.class],
21472
- "style": [dimensionStyles.value, props.style]
21553
+ }, rtlClasses.value, props.class]),
21554
+ "style": vue.normalizeStyle([dimensionStyles.value, props.style])
21473
21555
  }, slots));
21474
21556
  return {};
21475
21557
  }
@@ -21788,11 +21870,11 @@
21788
21870
  }
21789
21871
  useRender(() => {
21790
21872
  // TODO: add slot support and scope defaults
21791
- return vue.createVNode("div", {
21873
+ return vue.createElementVNode("div", {
21792
21874
  "class": ['v-date-picker-controls'],
21793
- "style": {
21875
+ "style": vue.normalizeStyle({
21794
21876
  '--v-date-picker-controls-height': convertToUnit(props.controlHeight)
21795
- }
21877
+ })
21796
21878
  }, [vue.createVNode(VBtn, {
21797
21879
  "class": "v-date-picker-controls__month-btn",
21798
21880
  "data-testid": "month-btn",
@@ -21809,7 +21891,7 @@
21809
21891
  "icon": props.modeIcon,
21810
21892
  "variant": "text",
21811
21893
  "onClick": onClickYear
21812
- }, null), vue.createVNode(VSpacer, null, null), vue.createVNode("div", {
21894
+ }, null), vue.createVNode(VSpacer, null, null), vue.createElementVNode("div", {
21813
21895
  "class": "v-date-picker-controls__month"
21814
21896
  }, [vue.createVNode(VBtn, {
21815
21897
  "data-testid": "prev-month",
@@ -21865,24 +21947,24 @@
21865
21947
  useRender(() => {
21866
21948
  const hasContent = !!(slots.default || props.header);
21867
21949
  const hasAppend = !!(slots.append || props.appendIcon);
21868
- return vue.createVNode("div", {
21869
- "class": ['v-date-picker-header', {
21950
+ return vue.createElementVNode("div", {
21951
+ "class": vue.normalizeClass(['v-date-picker-header', {
21870
21952
  'v-date-picker-header--clickable': !!props.onClick
21871
- }, backgroundColorClasses.value],
21872
- "style": backgroundColorStyles.value,
21953
+ }, backgroundColorClasses.value]),
21954
+ "style": vue.normalizeStyle(backgroundColorStyles.value),
21873
21955
  "onClick": onClick
21874
- }, [slots.prepend && vue.createVNode("div", {
21956
+ }, [slots.prepend && vue.createElementVNode("div", {
21875
21957
  "key": "prepend",
21876
21958
  "class": "v-date-picker-header__prepend"
21877
21959
  }, [slots.prepend()]), hasContent && vue.createVNode(MaybeTransition, {
21878
21960
  "key": "content",
21879
21961
  "name": props.transition
21880
21962
  }, {
21881
- default: () => [vue.createVNode("div", {
21963
+ default: () => [vue.createElementVNode("div", {
21882
21964
  "key": props.header,
21883
21965
  "class": "v-date-picker-header__content"
21884
21966
  }, [slots.default?.() ?? props.header])]
21885
- }), hasAppend && vue.createVNode("div", {
21967
+ }), hasAppend && vue.createElementVNode("div", {
21886
21968
  "class": "v-date-picker-header__append"
21887
21969
  }, [!slots.append ? vue.createVNode(VBtn, {
21888
21970
  "key": "append-btn",
@@ -22168,24 +22250,24 @@
22168
22250
  model.value = [value];
22169
22251
  }
22170
22252
  }
22171
- useRender(() => vue.createVNode("div", {
22253
+ useRender(() => vue.createElementVNode("div", {
22172
22254
  "class": "v-date-picker-month"
22173
- }, [props.showWeek && vue.createVNode("div", {
22255
+ }, [props.showWeek && vue.createElementVNode("div", {
22174
22256
  "key": "weeks",
22175
22257
  "class": "v-date-picker-month__weeks"
22176
- }, [!props.hideWeekdays && vue.createVNode("div", {
22258
+ }, [!props.hideWeekdays && vue.createElementVNode("div", {
22177
22259
  "key": "hide-week-days",
22178
22260
  "class": "v-date-picker-month__day"
22179
- }, [vue.createTextVNode("\xA0")]), weekNumbers.value.map(week => vue.createVNode("div", {
22261
+ }, [vue.createTextVNode("\xA0")]), weekNumbers.value.map(week => vue.createElementVNode("div", {
22180
22262
  "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
22181
22263
  }, [week]))]), vue.createVNode(MaybeTransition, {
22182
22264
  "name": transition.value
22183
22265
  }, {
22184
- default: () => [vue.createVNode("div", {
22266
+ default: () => [vue.createElementVNode("div", {
22185
22267
  "ref": daysRef,
22186
22268
  "key": daysInMonth.value[0].date?.toString(),
22187
22269
  "class": "v-date-picker-month__days"
22188
- }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => vue.createVNode("div", {
22270
+ }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => vue.createElementVNode("div", {
22189
22271
  "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
22190
22272
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22191
22273
  const slotProps = {
@@ -22205,14 +22287,14 @@
22205
22287
  if (atMax.value && !item.isSelected) {
22206
22288
  item.isDisabled = true;
22207
22289
  }
22208
- return vue.createVNode("div", {
22209
- "class": ['v-date-picker-month__day', {
22290
+ return vue.createElementVNode("div", {
22291
+ "class": vue.normalizeClass(['v-date-picker-month__day', {
22210
22292
  'v-date-picker-month__day--adjacent': item.isAdjacent,
22211
22293
  'v-date-picker-month__day--hide-adjacent': item.isHidden,
22212
22294
  'v-date-picker-month__day--selected': item.isSelected,
22213
22295
  'v-date-picker-month__day--week-end': item.isWeekEnd,
22214
22296
  'v-date-picker-month__day--week-start': item.isWeekStart
22215
- }],
22297
+ }]),
22216
22298
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
22217
22299
  }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null))]);
22218
22300
  })])]
@@ -22262,12 +22344,12 @@
22262
22344
  vue.watchEffect(() => {
22263
22345
  model.value = model.value ?? adapter.getMonth(adapter.date());
22264
22346
  });
22265
- useRender(() => vue.createVNode("div", {
22347
+ useRender(() => vue.createElementVNode("div", {
22266
22348
  "class": "v-date-picker-months",
22267
- "style": {
22349
+ "style": vue.normalizeStyle({
22268
22350
  height: convertToUnit(props.height)
22269
- }
22270
- }, [vue.createVNode("div", {
22351
+ })
22352
+ }, [vue.createElementVNode("div", {
22271
22353
  "class": "v-date-picker-months__content"
22272
22354
  }, [months.value.map((month, i) => {
22273
22355
  const btnProps = {
@@ -22353,12 +22435,12 @@
22353
22435
  block: 'center'
22354
22436
  });
22355
22437
  });
22356
- useRender(() => vue.createVNode("div", {
22438
+ useRender(() => vue.createElementVNode("div", {
22357
22439
  "class": "v-date-picker-years",
22358
- "style": {
22440
+ "style": vue.normalizeStyle({
22359
22441
  height: convertToUnit(props.height)
22360
- }
22361
- }, [vue.createVNode("div", {
22442
+ })
22443
+ }, [vue.createElementVNode("div", {
22362
22444
  "class": "v-date-picker-years__content"
22363
22445
  }, [years.value.map((year, i) => {
22364
22446
  const btnProps = {
@@ -22595,7 +22677,7 @@
22595
22677
  }, rtlClasses.value, props.class],
22596
22678
  "style": props.style
22597
22679
  }), {
22598
- title: () => slots.title?.() ?? vue.createVNode("div", {
22680
+ title: () => slots.title?.() ?? vue.createElementVNode("div", {
22599
22681
  "class": "v-date-picker__title"
22600
22682
  }, [t(props.title)]),
22601
22683
  header: () => slots.header ? vue.createVNode(VDefaultsProvider, {
@@ -22614,7 +22696,7 @@
22614
22696
  ...slots,
22615
22697
  default: undefined
22616
22698
  }),
22617
- default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VDatePickerControls, vue.mergeProps(datePickerControlsProps, {
22699
+ default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VDatePickerControls, vue.mergeProps(datePickerControlsProps, {
22618
22700
  "disabled": disabled.value,
22619
22701
  "text": text.value,
22620
22702
  "onClick:next": onClickNext,
@@ -22723,15 +22805,15 @@
22723
22805
  const hasText = !!(slots.text || props.text);
22724
22806
  const hasMedia = !!(slots.media || props.image || props.icon);
22725
22807
  const size = props.size || (props.image ? 200 : 96);
22726
- return vue.createVNode("div", {
22727
- "class": ['v-empty-state', {
22808
+ return vue.createElementVNode("div", {
22809
+ "class": vue.normalizeClass(['v-empty-state', {
22728
22810
  [`v-empty-state--${props.justify}`]: true
22729
- }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class],
22730
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style]
22731
- }, [hasMedia && vue.createVNode("div", {
22811
+ }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class]),
22812
+ "style": vue.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style])
22813
+ }, [hasMedia && vue.createElementVNode("div", {
22732
22814
  "key": "media",
22733
22815
  "class": "v-empty-state__media"
22734
- }, [!slots.media ? vue.createVNode(vue.Fragment, null, [props.image ? vue.createVNode(VImg, {
22816
+ }, [!slots.media ? vue.createElementVNode(vue.Fragment, null, [props.image ? vue.createVNode(VImg, {
22735
22817
  "key": "image",
22736
22818
  "src": props.image,
22737
22819
  "height": size
@@ -22754,22 +22836,22 @@
22754
22836
  }
22755
22837
  }, {
22756
22838
  default: () => [slots.media()]
22757
- })]), hasHeadline && vue.createVNode("div", {
22839
+ })]), hasHeadline && vue.createElementVNode("div", {
22758
22840
  "key": "headline",
22759
22841
  "class": "v-empty-state__headline"
22760
- }, [slots.headline?.() ?? props.headline]), hasTitle && vue.createVNode("div", {
22842
+ }, [slots.headline?.() ?? props.headline]), hasTitle && vue.createElementVNode("div", {
22761
22843
  "key": "title",
22762
22844
  "class": "v-empty-state__title"
22763
- }, [slots.title?.() ?? props.title]), hasText && vue.createVNode("div", {
22845
+ }, [slots.title?.() ?? props.title]), hasText && vue.createElementVNode("div", {
22764
22846
  "key": "text",
22765
22847
  "class": "v-empty-state__text",
22766
- "style": {
22848
+ "style": vue.normalizeStyle({
22767
22849
  maxWidth: convertToUnit(props.textWidth)
22768
- }
22769
- }, [slots.text?.() ?? props.text]), slots.default && vue.createVNode("div", {
22850
+ })
22851
+ }, [slots.text?.() ?? props.text]), slots.default && vue.createElementVNode("div", {
22770
22852
  "key": "content",
22771
22853
  "class": "v-empty-state__content"
22772
- }, [slots.default()]), hasActions && vue.createVNode("div", {
22854
+ }, [slots.default()]), hasActions && vue.createElementVNode("div", {
22773
22855
  "key": "actions",
22774
22856
  "class": "v-empty-state__actions"
22775
22857
  }, [vue.createVNode(VDefaultsProvider, {
@@ -22820,10 +22902,10 @@
22820
22902
  useRender(() => vue.createVNode(VExpandTransition, {
22821
22903
  "onAfterLeave": onAfterLeave
22822
22904
  }, {
22823
- default: () => [vue.withDirectives(vue.createVNode("div", {
22824
- "class": ['v-expansion-panel-text', props.class],
22825
- "style": props.style
22826
- }, [slots.default && hasContent.value && vue.createVNode("div", {
22905
+ default: () => [vue.withDirectives(vue.createElementVNode("div", {
22906
+ "class": vue.normalizeClass(['v-expansion-panel-text', props.class]),
22907
+ "style": vue.normalizeStyle(props.style)
22908
+ }, [slots.default && hasContent.value && vue.createElementVNode("div", {
22827
22909
  "class": "v-expansion-panel-text__wrapper"
22828
22910
  }, [slots.default?.()])]), [[vue.vShow, expansionPanel.isSelected.value]])]
22829
22911
  }));
@@ -22857,7 +22939,7 @@
22857
22939
  const VExpansionPanelTitle = genericComponent()({
22858
22940
  name: 'VExpansionPanelTitle',
22859
22941
  directives: {
22860
- Ripple
22942
+ vRipple: Ripple
22861
22943
  },
22862
22944
  props: makeVExpansionPanelTitleProps(),
22863
22945
  setup(props, _ref) {
@@ -22881,19 +22963,19 @@
22881
22963
  readonly: props.readonly
22882
22964
  }));
22883
22965
  const icon = vue.toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
22884
- useRender(() => vue.withDirectives(vue.createVNode("button", {
22885
- "class": ['v-expansion-panel-title', {
22966
+ useRender(() => vue.withDirectives(vue.createElementVNode("button", {
22967
+ "class": vue.normalizeClass(['v-expansion-panel-title', {
22886
22968
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
22887
22969
  'v-expansion-panel-title--focusable': props.focusable,
22888
22970
  'v-expansion-panel-title--static': props.static
22889
- }, backgroundColorClasses.value, props.class],
22890
- "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
22971
+ }, backgroundColorClasses.value, props.class]),
22972
+ "style": vue.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),
22891
22973
  "type": "button",
22892
22974
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
22893
22975
  "disabled": expansionPanel.disabled.value,
22894
22976
  "aria-expanded": expansionPanel.isSelected.value,
22895
22977
  "onClick": !props.readonly ? expansionPanel.toggle : undefined
22896
- }, [vue.createVNode("span", {
22978
+ }, [vue.createElementVNode("span", {
22897
22979
  "class": "v-expansion-panel-title__overlay"
22898
22980
  }, null), slots.default?.(slotProps.value), !props.hideActions && vue.createVNode(VDefaultsProvider, {
22899
22981
  "defaults": {
@@ -22902,10 +22984,10 @@
22902
22984
  }
22903
22985
  }
22904
22986
  }, {
22905
- default: () => [vue.createVNode("span", {
22987
+ default: () => [vue.createElementVNode("span", {
22906
22988
  "class": "v-expansion-panel-title__icon"
22907
22989
  }, [slots.actions?.(slotProps.value) ?? vue.createVNode(VIcon, null, null)])]
22908
- })]), [[vue.resolveDirective("ripple"), props.ripple]]));
22990
+ })]), [[Ripple, props.ripple]]));
22909
22991
  return {};
22910
22992
  }
22911
22993
  });
@@ -22962,16 +23044,16 @@
22962
23044
  const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props);
22963
23045
  const expansionPanelTextProps = VExpansionPanelText.filterProps(props);
22964
23046
  return vue.createVNode(props.tag, {
22965
- "class": ['v-expansion-panel', {
23047
+ "class": vue.normalizeClass(['v-expansion-panel', {
22966
23048
  'v-expansion-panel--active': groupItem.isSelected.value,
22967
23049
  'v-expansion-panel--before-active': isBeforeSelected.value,
22968
23050
  'v-expansion-panel--after-active': isAfterSelected.value,
22969
23051
  'v-expansion-panel--disabled': isDisabled.value
22970
- }, roundedClasses.value, backgroundColorClasses.value, props.class],
22971
- "style": [backgroundColorStyles.value, props.style]
23052
+ }, roundedClasses.value, backgroundColorClasses.value, props.class]),
23053
+ "style": vue.normalizeStyle([backgroundColorStyles.value, props.style])
22972
23054
  }, {
22973
- default: () => [vue.createVNode("div", {
22974
- "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
23055
+ default: () => [vue.createElementVNode("div", {
23056
+ "class": vue.normalizeClass(['v-expansion-panel__shadow', ...elevationClasses.value])
22975
23057
  }, null), vue.createVNode(VDefaultsProvider, {
22976
23058
  "defaults": {
22977
23059
  VExpansionPanelTitle: {
@@ -23051,11 +23133,11 @@
23051
23133
  }
23052
23134
  });
23053
23135
  useRender(() => vue.createVNode(props.tag, {
23054
- "class": ['v-expansion-panels', {
23136
+ "class": vue.normalizeClass(['v-expansion-panels', {
23055
23137
  'v-expansion-panels--flat': props.flat,
23056
23138
  'v-expansion-panels--tile': props.tile
23057
- }, themeClasses.value, variantClass.value, props.class],
23058
- "style": props.style
23139
+ }, themeClasses.value, variantClass.value, props.class]),
23140
+ "style": vue.normalizeStyle(props.style)
23059
23141
  }, {
23060
23142
  default: () => [slots.default?.({
23061
23143
  prev,
@@ -23135,22 +23217,22 @@
23135
23217
  const vFabRef = vue.ref();
23136
23218
  useRender(() => {
23137
23219
  const btnProps = VBtn.filterProps(props);
23138
- return vue.createVNode("div", {
23220
+ return vue.createElementVNode("div", {
23139
23221
  "ref": vFabRef,
23140
- "class": ['v-fab', {
23222
+ "class": vue.normalizeClass(['v-fab', {
23141
23223
  'v-fab--absolute': props.absolute,
23142
23224
  'v-fab--app': !!props.app,
23143
23225
  'v-fab--extended': props.extended,
23144
23226
  'v-fab--offset': props.offset,
23145
23227
  [`v-fab--${position.value}`]: hasPosition.value,
23146
23228
  [`v-fab--${orientation.value}`]: hasPosition.value
23147
- }, props.class],
23148
- "style": [props.app ? {
23229
+ }, props.class]),
23230
+ "style": vue.normalizeStyle([props.app ? {
23149
23231
  ...layoutItemStyles.value
23150
23232
  } : {
23151
23233
  height: props.absolute ? '100%' : 'inherit'
23152
- }, props.style]
23153
- }, [vue.createVNode("div", {
23234
+ }, props.style])
23235
+ }, [vue.createElementVNode("div", {
23154
23236
  "class": "v-fab__container"
23155
23237
  }, [vue.createVNode(MaybeTransition, {
23156
23238
  "appear": props.appear,
@@ -23366,7 +23448,7 @@
23366
23448
  ...slotProps
23367
23449
  }
23368
23450
  } = _ref4;
23369
- return vue.createVNode(vue.Fragment, null, [vue.createVNode("input", vue.mergeProps({
23451
+ return vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("input", vue.mergeProps({
23370
23452
  "ref": inputRef,
23371
23453
  "type": "file",
23372
23454
  "readonly": isReadonly.value,
@@ -23386,8 +23468,8 @@
23386
23468
  "onDragleave": onDragleave,
23387
23469
  "onFocus": onFocus,
23388
23470
  "onBlur": blur
23389
- }, slotProps, inputAttrs), null), vue.createVNode("div", {
23390
- "class": fieldClass
23471
+ }, slotProps, inputAttrs), null), vue.createElementVNode("div", {
23472
+ "class": vue.normalizeClass(fieldClass)
23391
23473
  }, [!!model.value?.length && !props.hideInput && (slots.selection ? slots.selection({
23392
23474
  fileNames: fileNames.value,
23393
23475
  totalBytes: totalBytes.value,
@@ -23400,7 +23482,7 @@
23400
23482
  }
23401
23483
  });
23402
23484
  },
23403
- details: hasDetails ? slotProps => vue.createVNode(vue.Fragment, null, [slots.details?.(slotProps), hasCounter && vue.createVNode(vue.Fragment, null, [vue.createVNode("span", null, null), vue.createVNode(VCounter, {
23485
+ details: hasDetails ? slotProps => vue.createElementVNode(vue.Fragment, null, [slots.details?.(slotProps), hasCounter && vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("span", null, null), vue.createVNode(VCounter, {
23404
23486
  "active": !!model.value?.length,
23405
23487
  "value": counterValue.value,
23406
23488
  "disabled": props.disabled
@@ -23476,10 +23558,10 @@
23476
23558
  });
23477
23559
  useRender(() => vue.createVNode(props.tag, {
23478
23560
  "ref": resizeRef,
23479
- "class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
23480
- "style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
23561
+ "class": vue.normalizeClass(['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
23562
+ "style": vue.normalizeStyle([backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
23481
23563
  height: convertToUnit(props.height)
23482
- }, props.style]
23564
+ }, props.style])
23483
23565
  }, slots));
23484
23566
  return {};
23485
23567
  }
@@ -23528,10 +23610,10 @@
23528
23610
  }
23529
23611
  e.preventDefault();
23530
23612
  }
23531
- useRender(() => vue.createVNode("form", {
23613
+ useRender(() => vue.createElementVNode("form", {
23532
23614
  "ref": formRef,
23533
- "class": ['v-form', props.class],
23534
- "style": props.style,
23615
+ "class": vue.normalizeClass(['v-form', props.class]),
23616
+ "style": vue.normalizeStyle(props.style),
23535
23617
  "novalidate": true,
23536
23618
  "onReset": onReset,
23537
23619
  "onSubmit": onSubmit
@@ -23628,11 +23710,11 @@
23628
23710
  vue.watch(isIntersecting, async val => {
23629
23711
  emit('intersect', props.side, val);
23630
23712
  });
23631
- useRender(() => vue.createVNode("div", {
23713
+ useRender(() => vue.createElementVNode("div", {
23632
23714
  "class": "v-infinite-scroll-intersect",
23633
- "style": {
23715
+ "style": vue.normalizeStyle({
23634
23716
  '--v-infinite-margin-size': props.rootMargin
23635
- },
23717
+ }),
23636
23718
  "ref": intersectionRef
23637
23719
  }, [vue.createTextVNode("\xA0")]));
23638
23720
  return {};
@@ -23744,7 +23826,7 @@
23744
23826
  }
23745
23827
  };
23746
23828
  if (status === 'error') return slots.error?.(slotProps);
23747
- if (status === 'empty') return slots.empty?.(slotProps) ?? vue.createVNode("div", null, [t(props.emptyText)]);
23829
+ if (status === 'empty') return slots.empty?.(slotProps) ?? vue.createElementVNode("div", null, [t(props.emptyText)]);
23748
23830
  if (props.mode === 'manual') {
23749
23831
  if (status === 'loading') {
23750
23832
  return slots.loading?.(slotProps) ?? vue.createVNode(VProgressCircular, {
@@ -23775,13 +23857,13 @@
23775
23857
  const intersectMode = props.mode === 'intersect';
23776
23858
  return vue.createVNode(Tag, {
23777
23859
  "ref": rootEl,
23778
- "class": ['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
23860
+ "class": vue.normalizeClass(['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
23779
23861
  'v-infinite-scroll--start': hasStartIntersect,
23780
23862
  'v-infinite-scroll--end': hasEndIntersect
23781
- }],
23782
- "style": dimensionStyles.value
23863
+ }]),
23864
+ "style": vue.normalizeStyle(dimensionStyles.value)
23783
23865
  }, {
23784
- default: () => [vue.createVNode("div", {
23866
+ default: () => [vue.createElementVNode("div", {
23785
23867
  "class": "v-infinite-scroll__side"
23786
23868
  }, [renderSide('start', startStatus.value)]), hasStartIntersect && intersectMode && vue.createVNode(VInfiniteScrollIntersect, {
23787
23869
  "key": "start",
@@ -23793,7 +23875,7 @@
23793
23875
  "side": "end",
23794
23876
  "onIntersect": handleIntersect,
23795
23877
  "rootMargin": margin.value
23796
- }, null), vue.createVNode("div", {
23878
+ }, null), vue.createElementVNode("div", {
23797
23879
  "class": "v-infinite-scroll__side"
23798
23880
  }, [renderSide('end', endStatus.value)])]
23799
23881
  });
@@ -23833,8 +23915,8 @@
23833
23915
  selected
23834
23916
  } = useGroup(props, VItemGroupSymbol);
23835
23917
  return () => vue.createVNode(props.tag, {
23836
- "class": ['v-item-group', themeClasses.value, props.class],
23837
- "style": props.style
23918
+ "class": vue.normalizeClass(['v-item-group', themeClasses.value, props.class]),
23919
+ "style": vue.normalizeStyle(props.style)
23838
23920
  }, {
23839
23921
  default: () => [slots.default?.({
23840
23922
  isSelected,
@@ -23902,10 +23984,10 @@
23902
23984
  const {
23903
23985
  dimensionStyles
23904
23986
  } = useDimension(props);
23905
- useRender(() => vue.createVNode("div", {
23987
+ useRender(() => vue.createElementVNode("div", {
23906
23988
  "ref": layoutRef,
23907
- "class": [layoutClasses.value, props.class],
23908
- "style": [dimensionStyles.value, layoutStyles.value, props.style]
23989
+ "class": vue.normalizeClass([layoutClasses.value, props.class]),
23990
+ "style": vue.normalizeStyle([dimensionStyles.value, layoutStyles.value, props.style])
23909
23991
  }, [slots.default?.()]));
23910
23992
  return {
23911
23993
  getLayoutItem,
@@ -23947,9 +24029,9 @@
23947
24029
  active: vue.toRef(() => props.modelValue),
23948
24030
  absolute: vue.toRef(() => props.absolute)
23949
24031
  });
23950
- return () => vue.createVNode("div", {
23951
- "class": ['v-layout-item', props.class],
23952
- "style": [layoutItemStyles.value, props.style]
24032
+ return () => vue.createElementVNode("div", {
24033
+ "class": vue.normalizeClass(['v-layout-item', props.class]),
24034
+ "style": vue.normalizeStyle([layoutItemStyles.value, props.style])
23953
24035
  }, [slots.default?.()]);
23954
24036
  }
23955
24037
  });
@@ -23978,7 +24060,7 @@
23978
24060
  const VLazy = genericComponent()({
23979
24061
  name: 'VLazy',
23980
24062
  directives: {
23981
- intersect: Intersect
24063
+ vIntersect: Intersect
23982
24064
  },
23983
24065
  props: makeVLazyProps(),
23984
24066
  emits: {
@@ -23997,8 +24079,8 @@
23997
24079
  isActive.value = isIntersecting;
23998
24080
  }
23999
24081
  useRender(() => vue.withDirectives(vue.createVNode(props.tag, {
24000
- "class": ['v-lazy', props.class],
24001
- "style": [dimensionStyles.value, props.style]
24082
+ "class": vue.normalizeClass(['v-lazy', props.class]),
24083
+ "style": vue.normalizeStyle([dimensionStyles.value, props.style])
24002
24084
  }, {
24003
24085
  default: () => [isActive.value && vue.createVNode(MaybeTransition, {
24004
24086
  "transition": props.transition,
@@ -24006,7 +24088,7 @@
24006
24088
  }, {
24007
24089
  default: () => [slots.default?.()]
24008
24090
  })]
24009
- }), [[vue.resolveDirective("intersect"), {
24091
+ }), [[Intersect, {
24010
24092
  handler: onIntersect,
24011
24093
  options: props.options
24012
24094
  }, null]]));
@@ -24034,9 +24116,9 @@
24034
24116
  const {
24035
24117
  rtlClasses
24036
24118
  } = provideLocale(props);
24037
- useRender(() => vue.createVNode("div", {
24038
- "class": ['v-locale-provider', rtlClasses.value, props.class],
24039
- "style": props.style
24119
+ useRender(() => vue.createElementVNode("div", {
24120
+ "class": vue.normalizeClass(['v-locale-provider', rtlClasses.value, props.class]),
24121
+ "style": vue.normalizeStyle(props.style)
24040
24122
  }, [slots.default?.()]));
24041
24123
  return {};
24042
24124
  }
@@ -24067,12 +24149,12 @@
24067
24149
  ssrBootStyles
24068
24150
  } = useSsrBoot();
24069
24151
  useRender(() => vue.createVNode(props.tag, {
24070
- "class": ['v-main', {
24152
+ "class": vue.normalizeClass(['v-main', {
24071
24153
  'v-main--scrollable': props.scrollable
24072
- }, props.class],
24073
- "style": [mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style]
24154
+ }, props.class]),
24155
+ "style": vue.normalizeStyle([mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style])
24074
24156
  }, {
24075
- default: () => [props.scrollable ? vue.createVNode("div", {
24157
+ default: () => [props.scrollable ? vue.createElementVNode("div", {
24076
24158
  "class": "v-main__scroller"
24077
24159
  }, [slots.default?.()]) : slots.default?.()]
24078
24160
  }));
@@ -24303,7 +24385,7 @@
24303
24385
  function getProgress(pos) {
24304
24386
  let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
24305
24387
  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();
24306
- return limit ? Math.max(0, Math.min(1, progress)) : progress;
24388
+ return limit ? clamp(progress) : progress;
24307
24389
  }
24308
24390
  function onTouchstart(e) {
24309
24391
  if (touchless.value) return;
@@ -24583,7 +24665,7 @@
24583
24665
  });
24584
24666
  useRender(() => {
24585
24667
  const hasImage = slots.image || props.image;
24586
- return vue.createVNode(vue.Fragment, null, [vue.createVNode(props.tag, vue.mergeProps({
24668
+ return vue.createElementVNode(vue.Fragment, null, [vue.createVNode(props.tag, vue.mergeProps({
24587
24669
  "ref": rootEl,
24588
24670
  "onMouseenter": runOpenDelay,
24589
24671
  "onMouseleave": runCloseDelay,
@@ -24599,7 +24681,7 @@
24599
24681
  }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
24600
24682
  "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
24601
24683
  }, scopeId, attrs), {
24602
- default: () => [hasImage && vue.createVNode("div", {
24684
+ default: () => [hasImage && vue.createElementVNode("div", {
24603
24685
  "key": "image",
24604
24686
  "class": "v-navigation-drawer__img"
24605
24687
  }, [!slots.image ? vue.createVNode(VImg, {
@@ -24619,17 +24701,17 @@
24619
24701
  src: props.image
24620
24702
  }
24621
24703
  }
24622
- }, slots.image)]), slots.prepend && vue.createVNode("div", {
24704
+ }, slots.image)]), slots.prepend && vue.createElementVNode("div", {
24623
24705
  "class": "v-navigation-drawer__prepend"
24624
- }, [slots.prepend?.()]), vue.createVNode("div", {
24706
+ }, [slots.prepend?.()]), vue.createElementVNode("div", {
24625
24707
  "class": "v-navigation-drawer__content"
24626
- }, [slots.default?.()]), slots.append && vue.createVNode("div", {
24708
+ }, [slots.default?.()]), slots.append && vue.createElementVNode("div", {
24627
24709
  "class": "v-navigation-drawer__append"
24628
24710
  }, [slots.append?.()])]
24629
24711
  }), vue.createVNode(vue.Transition, {
24630
24712
  "name": "fade-transition"
24631
24713
  }, {
24632
- default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && vue.createVNode("div", vue.mergeProps({
24714
+ default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && vue.createElementVNode("div", vue.mergeProps({
24633
24715
  "class": ['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value],
24634
24716
  "style": [scrimStyles.value, scrimColor.backgroundColorStyles.value],
24635
24717
  "onClick": () => {
@@ -24788,6 +24870,9 @@
24788
24870
  const controlNodeDefaultHeight = vue.toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
24789
24871
  const incrementSlotProps = {
24790
24872
  props: {
24873
+ style: {
24874
+ touchAction: 'none'
24875
+ },
24791
24876
  onClick: onControlClick,
24792
24877
  onPointerup: onControlMouseup,
24793
24878
  onPointerdown: onUpControlMousedown
@@ -24795,6 +24880,9 @@
24795
24880
  };
24796
24881
  const decrementSlotProps = {
24797
24882
  props: {
24883
+ style: {
24884
+ touchAction: 'none'
24885
+ },
24798
24886
  onClick: onControlClick,
24799
24887
  onPointerup: onControlMouseup,
24800
24888
  onPointerdown: onDownControlMousedown
@@ -24827,25 +24915,33 @@
24827
24915
  }
24828
24916
  function onBeforeinput(e) {
24829
24917
  if (!e.data) return;
24830
- const existingTxt = e.target?.value;
24831
- const selectionStart = e.target?.selectionStart;
24832
- const selectionEnd = e.target?.selectionEnd;
24918
+ const inputElement = e.target;
24919
+ const {
24920
+ value: existingTxt,
24921
+ selectionStart,
24922
+ selectionEnd
24923
+ } = inputElement ?? {};
24833
24924
  const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e.data + existingTxt.slice(selectionEnd) : e.data;
24925
+ const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision);
24926
+
24834
24927
  // Only numbers, "-", "." are allowed
24835
24928
  // AND "-", "." are allowed only once
24836
24929
  // AND "-" is only allowed at the start
24837
24930
  if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
24838
24931
  e.preventDefault();
24932
+ inputElement.value = potentialNewNumber;
24839
24933
  }
24840
24934
  if (props.precision == null) return;
24841
24935
 
24842
24936
  // Ignore decimal digits above precision limit
24843
24937
  if (potentialNewInputVal.split('.')[1]?.length > props.precision) {
24844
24938
  e.preventDefault();
24939
+ inputElement.value = potentialNewNumber;
24845
24940
  }
24846
24941
  // Ignore decimal separator when precision = 0
24847
24942
  if (props.precision === 0 && potentialNewInputVal.includes('.')) {
24848
24943
  e.preventDefault();
24944
+ inputElement.value = potentialNewNumber;
24849
24945
  }
24850
24946
  }
24851
24947
  async function onKeydown(e) {
@@ -24927,17 +25023,18 @@
24927
25023
  } = VTextField.filterProps(props);
24928
25024
  function incrementControlNode() {
24929
25025
  return !slots.increment ? vue.createVNode(VBtn, {
25026
+ "aria-hidden": "true",
25027
+ "data-testid": "increment",
24930
25028
  "disabled": !canIncrease.value,
24931
25029
  "flat": true,
24932
- "key": "increment-btn",
24933
25030
  "height": controlNodeDefaultHeight.value,
24934
- "data-testid": "increment",
24935
- "aria-hidden": "true",
24936
25031
  "icon": incrementIcon.value,
25032
+ "key": "increment-btn",
24937
25033
  "onClick": onControlClick,
24938
- "onPointerup": onControlMouseup,
24939
25034
  "onPointerdown": onUpControlMousedown,
25035
+ "onPointerup": onControlMouseup,
24940
25036
  "size": controlNodeSize.value,
25037
+ "style": "touch-action: none",
24941
25038
  "tabindex": "-1"
24942
25039
  }, null) : vue.createVNode(VDefaultsProvider, {
24943
25040
  "key": "increment-defaults",
@@ -24956,18 +25053,19 @@
24956
25053
  }
24957
25054
  function decrementControlNode() {
24958
25055
  return !slots.decrement ? vue.createVNode(VBtn, {
25056
+ "aria-hidden": "true",
25057
+ "data-testid": "decrement",
24959
25058
  "disabled": !canDecrease.value,
24960
25059
  "flat": true,
24961
- "key": "decrement-btn",
24962
25060
  "height": controlNodeDefaultHeight.value,
24963
- "data-testid": "decrement",
24964
- "aria-hidden": "true",
24965
25061
  "icon": decrementIcon.value,
24966
- "size": controlNodeSize.value,
24967
- "tabindex": "-1",
25062
+ "key": "decrement-btn",
24968
25063
  "onClick": onControlClick,
25064
+ "onPointerdown": onDownControlMousedown,
24969
25065
  "onPointerup": onControlMouseup,
24970
- "onPointerdown": onDownControlMousedown
25066
+ "size": controlNodeSize.value,
25067
+ "style": "touch-action: none",
25068
+ "tabindex": "-1"
24971
25069
  }, null) : vue.createVNode(VDefaultsProvider, {
24972
25070
  "key": "decrement-defaults",
24973
25071
  "defaults": {
@@ -24984,7 +25082,7 @@
24984
25082
  });
24985
25083
  }
24986
25084
  function controlNode() {
24987
- return vue.createVNode("div", {
25085
+ return vue.createElementVNode("div", {
24988
25086
  "class": "v-number-input__control"
24989
25087
  }, [decrementControlNode(), vue.createVNode(VDivider, {
24990
25088
  "vertical": controlVariant.value !== 'stacked'
@@ -24995,17 +25093,17 @@
24995
25093
  "vertical": true
24996
25094
  }, null) : undefined;
24997
25095
  }
24998
- const appendInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
25096
+ const appendInnerControl = controlVariant.value === 'split' ? vue.createElementVNode("div", {
24999
25097
  "class": "v-number-input__control"
25000
25098
  }, [vue.createVNode(VDivider, {
25001
25099
  "vertical": true
25002
- }, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]);
25100
+ }, null), incrementControlNode()]) : props.reverse || controlVariant.value === 'hidden' ? undefined : vue.createElementVNode(vue.Fragment, null, [dividerNode(), controlNode()]);
25003
25101
  const hasAppendInner = slots['append-inner'] || appendInnerControl;
25004
- const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
25102
+ const prependInnerControl = controlVariant.value === 'split' ? vue.createElementVNode("div", {
25005
25103
  "class": "v-number-input__control"
25006
25104
  }, [decrementControlNode(), vue.createVNode(VDivider, {
25007
25105
  "vertical": true
25008
- }, null)]) : props.reverse && controlVariant.value !== 'hidden' ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
25106
+ }, null)]) : props.reverse && controlVariant.value !== 'hidden' ? vue.createElementVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
25009
25107
  const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
25010
25108
  return vue.createVNode(VTextField, vue.mergeProps({
25011
25109
  "ref": vTextFieldRef,
@@ -25033,13 +25131,13 @@
25033
25131
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25034
25132
  args[_key] = arguments[_key];
25035
25133
  }
25036
- return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
25134
+ return vue.createElementVNode(vue.Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
25037
25135
  } : undefined,
25038
25136
  'prepend-inner': hasPrependInner ? function () {
25039
25137
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
25040
25138
  args[_key2] = arguments[_key2];
25041
25139
  }
25042
- return vue.createVNode(vue.Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
25140
+ return vue.createElementVNode(vue.Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
25043
25141
  } : undefined
25044
25142
  });
25045
25143
  });
@@ -25203,16 +25301,16 @@
25203
25301
  });
25204
25302
  useRender(() => {
25205
25303
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
25206
- return vue.createVNode("div", vue.mergeProps({
25304
+ return vue.createElementVNode("div", vue.mergeProps({
25207
25305
  "class": ['v-otp-input', {
25208
25306
  'v-otp-input--divided': !!props.divider
25209
25307
  }, props.class],
25210
25308
  "style": [props.style]
25211
- }, rootAttrs), [vue.createVNode("div", {
25309
+ }, rootAttrs), [vue.createElementVNode("div", {
25212
25310
  "ref": contentRef,
25213
25311
  "class": "v-otp-input__content",
25214
- "style": [dimensionStyles.value]
25215
- }, [fields.value.map((_, i) => vue.createVNode(vue.Fragment, null, [props.divider && i !== 0 && vue.createVNode("span", {
25312
+ "style": vue.normalizeStyle([dimensionStyles.value])
25313
+ }, [fields.value.map((_, i) => vue.createElementVNode(vue.Fragment, null, [props.divider && i !== 0 && vue.createElementVNode("span", {
25216
25314
  "class": "v-otp-input__divider"
25217
25315
  }, [props.divider]), vue.createVNode(VField, {
25218
25316
  "focused": isFocused.value && props.focusAll || focusIndex.value === i,
@@ -25221,7 +25319,7 @@
25221
25319
  ...slots,
25222
25320
  loader: undefined,
25223
25321
  default: () => {
25224
- return vue.createVNode("input", {
25322
+ return vue.createElementVNode("input", {
25225
25323
  "ref": val => inputRef.value[i] = val,
25226
25324
  "aria-label": t(props.label, i + 1),
25227
25325
  "autofocus": i === 0 && props.autofocus,
@@ -25241,7 +25339,7 @@
25241
25339
  "onPaste": event => onPaste(i, event)
25242
25340
  }, null);
25243
25341
  }
25244
- })])), vue.createVNode("input", vue.mergeProps({
25342
+ })])), vue.createElementVNode("input", vue.mergeProps({
25245
25343
  "class": "v-otp-input-input",
25246
25344
  "type": "hidden"
25247
25345
  }, inputAttrs, {
@@ -25346,10 +25444,10 @@
25346
25444
  });
25347
25445
  }
25348
25446
  useRender(() => vue.createVNode(VImg, {
25349
- "class": ['v-parallax', {
25447
+ "class": vue.normalizeClass(['v-parallax', {
25350
25448
  'v-parallax--active': isIntersecting.value
25351
- }, props.class],
25352
- "style": props.style,
25449
+ }, props.class]),
25450
+ "style": vue.normalizeStyle(props.style),
25353
25451
  "ref": root,
25354
25452
  "cover": true,
25355
25453
  "onLoadstart": onScroll,
@@ -25449,7 +25547,7 @@
25449
25547
  isDisabled,
25450
25548
  isReadonly
25451
25549
  } = _ref2;
25452
- return vue.createVNode(vue.Fragment, null, [label && vue.createVNode(VLabel, {
25550
+ return vue.createElementVNode(vue.Fragment, null, [label && vue.createVNode(VLabel, {
25453
25551
  "id": id.value
25454
25552
  }, {
25455
25553
  default: () => [label]
@@ -25587,7 +25685,7 @@
25587
25685
  "focused": isFocused.value
25588
25686
  }), {
25589
25687
  ...slots,
25590
- prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? vue.createVNode(VLabel, {
25688
+ prepend: hasPrepend ? slotProps => vue.createElementVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? vue.createVNode(VLabel, {
25591
25689
  "class": "v-slider__label",
25592
25690
  "text": props.label
25593
25691
  }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,
@@ -25596,18 +25694,18 @@
25596
25694
  id,
25597
25695
  messagesId
25598
25696
  } = _ref4;
25599
- return vue.createVNode("div", {
25697
+ return vue.createElementVNode("div", {
25600
25698
  "class": "v-slider__container",
25601
25699
  "onMousedown": !readonly.value ? onSliderMousedown : undefined,
25602
25700
  "onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
25603
- }, [vue.createVNode("input", {
25701
+ }, [vue.createElementVNode("input", {
25604
25702
  "id": `${id.value}_start`,
25605
25703
  "name": props.name || id.value,
25606
25704
  "disabled": !!props.disabled,
25607
25705
  "readonly": !!props.readonly,
25608
25706
  "tabindex": "-1",
25609
25707
  "value": model.value[0]
25610
- }, null), vue.createVNode("input", {
25708
+ }, null), vue.createElementVNode("input", {
25611
25709
  "id": `${id.value}_stop`,
25612
25710
  "name": props.name || id.value,
25613
25711
  "disabled": !!props.disabled,
@@ -25806,16 +25904,16 @@
25806
25904
  size: props.size,
25807
25905
  variant: 'plain'
25808
25906
  };
25809
- return vue.createVNode(vue.Fragment, null, [vue.createVNode("label", {
25907
+ return vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("label", {
25810
25908
  "for": id,
25811
- "class": {
25909
+ "class": vue.normalizeClass({
25812
25910
  'v-rating__item--half': props.halfIncrements && value % 1 > 0,
25813
25911
  'v-rating__item--full': props.halfIncrements && value % 1 === 0
25814
- },
25912
+ }),
25815
25913
  "onMouseenter": onMouseenter,
25816
25914
  "onMouseleave": onMouseleave,
25817
25915
  "onClick": onClick
25818
- }, [vue.createVNode("span", {
25916
+ }, [vue.createElementVNode("span", {
25819
25917
  "class": "v-rating__hidden"
25820
25918
  }, [t(props.itemAriaLabel, value, props.length)]), !showStar ? undefined : slots.item ? slots.item({
25821
25919
  ...itemState.value[index],
@@ -25825,7 +25923,7 @@
25825
25923
  rating: normalizedValue.value
25826
25924
  }) : vue.createVNode(VBtn, vue.mergeProps({
25827
25925
  "aria-label": t(props.itemAriaLabel, value, props.length)
25828
- }, btnProps), null)]), vue.createVNode("input", {
25926
+ }, btnProps), null)]), vue.createElementVNode("input", {
25829
25927
  "class": "v-rating__hidden",
25830
25928
  "name": name.value,
25831
25929
  "id": id,
@@ -25839,31 +25937,31 @@
25839
25937
  }
25840
25938
  function createLabel(labelProps) {
25841
25939
  if (slots['item-label']) return slots['item-label'](labelProps);
25842
- if (labelProps.label) return vue.createVNode("span", null, [labelProps.label]);
25843
- return vue.createVNode("span", null, [vue.createTextVNode("\xA0")]);
25940
+ if (labelProps.label) return vue.createElementVNode("span", null, [labelProps.label]);
25941
+ return vue.createElementVNode("span", null, [vue.createTextVNode("\xA0")]);
25844
25942
  }
25845
25943
  useRender(() => {
25846
25944
  const hasLabels = !!props.itemLabels?.length || slots['item-label'];
25847
25945
  return vue.createVNode(props.tag, {
25848
- "class": ['v-rating', {
25946
+ "class": vue.normalizeClass(['v-rating', {
25849
25947
  'v-rating--hover': props.hover,
25850
25948
  'v-rating--readonly': props.readonly
25851
- }, themeClasses.value, props.class],
25852
- "style": props.style
25949
+ }, themeClasses.value, props.class]),
25950
+ "style": vue.normalizeStyle(props.style)
25853
25951
  }, {
25854
25952
  default: () => [vue.createVNode(VRatingItem, {
25855
25953
  "value": 0,
25856
25954
  "index": -1,
25857
25955
  "showStar": false
25858
- }, null), range.value.map((value, i) => vue.createVNode("div", {
25956
+ }, null), range.value.map((value, i) => vue.createElementVNode("div", {
25859
25957
  "class": "v-rating__wrapper"
25860
25958
  }, [hasLabels && props.itemLabelPosition === 'top' ? createLabel({
25861
25959
  value,
25862
25960
  index: i,
25863
25961
  label: props.itemLabels?.[i]
25864
- }) : undefined, vue.createVNode("div", {
25962
+ }) : undefined, vue.createElementVNode("div", {
25865
25963
  "class": "v-rating__item"
25866
- }, [props.halfIncrements ? vue.createVNode(vue.Fragment, null, [vue.createVNode(VRatingItem, {
25964
+ }, [props.halfIncrements ? vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VRatingItem, {
25867
25965
  "value": value - 0.5,
25868
25966
  "index": i * 2
25869
25967
  }, null), vue.createVNode(VRatingItem, {
@@ -25920,8 +26018,8 @@
25920
26018
  };
25921
26019
  function genBone(type) {
25922
26020
  let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
25923
- return vue.createVNode("div", {
25924
- "class": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]
26021
+ return vue.createElementVNode("div", {
26022
+ "class": vue.normalizeClass(['v-skeleton-loader__bone', `v-skeleton-loader__${type}`])
25925
26023
  }, [children]);
25926
26024
  }
25927
26025
  function genBones(bone) {
@@ -26007,7 +26105,7 @@
26007
26105
  ariaLabel: t(props.loadingText),
26008
26106
  role: 'alert'
26009
26107
  };
26010
- return vue.createVNode("div", vue.mergeProps({
26108
+ return vue.createElementVNode("div", vue.mergeProps({
26011
26109
  "class": ['v-skeleton-loader', {
26012
26110
  'v-skeleton-loader--boilerplate': props.boilerplate
26013
26111
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
@@ -26213,7 +26311,7 @@
26213
26311
  "onTouchend": onTouchend,
26214
26312
  "onAfterLeave": onAfterLeave
26215
26313
  }, scopeId), {
26216
- default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && vue.createVNode("div", {
26314
+ default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && vue.createElementVNode("div", {
26217
26315
  "key": "timer",
26218
26316
  "class": "v-snackbar__timer"
26219
26317
  }, [vue.createVNode(VProgressLinear, {
@@ -26221,7 +26319,7 @@
26221
26319
  "color": typeof props.timer === 'string' ? props.timer : 'info',
26222
26320
  "max": props.timeout,
26223
26321
  "model-value": countdown.time.value
26224
- }, null)]), hasContent && vue.createVNode("div", {
26322
+ }, null)]), hasContent && vue.createElementVNode("div", {
26225
26323
  "key": "content",
26226
26324
  "class": "v-snackbar__content",
26227
26325
  "role": "status",
@@ -26235,7 +26333,7 @@
26235
26333
  }
26236
26334
  }
26237
26335
  }, {
26238
- default: () => [vue.createVNode("div", {
26336
+ default: () => [vue.createElementVNode("div", {
26239
26337
  "class": "v-snackbar__actions"
26240
26338
  }, [slots.actions({
26241
26339
  isActive
@@ -26319,7 +26417,7 @@
26319
26417
  modelValue: _,
26320
26418
  ...snackbarProps
26321
26419
  } = VSnackbar.filterProps(props);
26322
- return vue.createVNode(vue.Fragment, null, [isVisible.value && !!current.value && (slots.default ? vue.createVNode(VDefaultsProvider, {
26420
+ return vue.createElementVNode(vue.Fragment, null, [isVisible.value && !!current.value && (slots.default ? vue.createVNode(VDefaultsProvider, {
26323
26421
  "defaults": {
26324
26422
  VSnackbar: current.value
26325
26423
  }
@@ -26335,7 +26433,7 @@
26335
26433
  text: slots.text ? () => slots.text?.({
26336
26434
  item: current.value
26337
26435
  }) : undefined,
26338
- actions: hasActions ? () => vue.createVNode(vue.Fragment, null, [!slots.actions ? vue.createVNode(VBtn, vue.mergeProps(btnProps.value, {
26436
+ actions: hasActions ? () => vue.createElementVNode(vue.Fragment, null, [!slots.actions ? vue.createVNode(VBtn, vue.mergeProps(btnProps.value, {
26339
26437
  "onClick": onClickClose
26340
26438
  }), null) : vue.createVNode(VDefaultsProvider, {
26341
26439
  "defaults": {
@@ -26493,57 +26591,57 @@
26493
26591
  const smooth = vue.computed(() => typeof props.smooth === 'boolean' ? props.smooth ? 2 : 0 : Number(props.smooth));
26494
26592
  useRender(() => {
26495
26593
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
26496
- return vue.createVNode("svg", {
26594
+ return vue.createElementVNode("svg", {
26497
26595
  "display": "block"
26498
- }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
26596
+ }, [vue.createElementVNode("defs", null, [vue.createElementVNode("linearGradient", {
26499
26597
  "id": id.value,
26500
26598
  "gradientUnits": "userSpaceOnUse",
26501
26599
  "x1": props.gradientDirection === 'left' ? '100%' : '0',
26502
26600
  "y1": props.gradientDirection === 'top' ? '100%' : '0',
26503
26601
  "x2": props.gradientDirection === 'right' ? '100%' : '0',
26504
26602
  "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
26505
- }, [gradientData.map((color, index) => vue.createVNode("stop", {
26603
+ }, [gradientData.map((color, index) => vue.createElementVNode("stop", {
26506
26604
  "offset": index / Math.max(gradientData.length - 1, 1),
26507
26605
  "stop-color": color || 'currentColor'
26508
- }, null))])]), vue.createVNode("clipPath", {
26606
+ }, null))])]), vue.createElementVNode("clipPath", {
26509
26607
  "id": `${id.value}-clip`
26510
- }, [bars.value.map(item => vue.createVNode("rect", {
26608
+ }, [bars.value.map(item => vue.createElementVNode("rect", {
26511
26609
  "x": item.x + offsetX.value,
26512
26610
  "y": item.y,
26513
26611
  "width": lineWidth.value,
26514
26612
  "height": item.height,
26515
26613
  "rx": smooth.value,
26516
26614
  "ry": smooth.value
26517
- }, [props.autoDraw && vue.createVNode(vue.Fragment, null, [vue.createVNode("animate", {
26615
+ }, [props.autoDraw && vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("animate", {
26518
26616
  "attributeName": "y",
26519
26617
  "from": item.y + item.height,
26520
26618
  "to": item.y,
26521
26619
  "dur": `${autoDrawDuration.value}ms`,
26522
26620
  "fill": "freeze"
26523
- }, null), vue.createVNode("animate", {
26621
+ }, null), vue.createElementVNode("animate", {
26524
26622
  "attributeName": "height",
26525
26623
  "from": "0",
26526
26624
  "to": item.height,
26527
26625
  "dur": `${autoDrawDuration.value}ms`,
26528
26626
  "fill": "freeze"
26529
- }, null)])]))]), hasLabels.value && vue.createVNode("g", {
26627
+ }, null)])]))]), hasLabels.value && vue.createElementVNode("g", {
26530
26628
  "key": "labels",
26531
26629
  "style": {
26532
26630
  textAnchor: 'middle',
26533
26631
  dominantBaseline: 'mathematical',
26534
26632
  fill: 'currentColor'
26535
26633
  }
26536
- }, [parsedLabels.value.map((item, i) => vue.createVNode("text", {
26634
+ }, [parsedLabels.value.map((item, i) => vue.createElementVNode("text", {
26537
26635
  "x": item.x + offsetX.value + lineWidth.value / 2,
26538
26636
  "y": parseInt(props.height, 10) - 2 + (parseInt(props.labelSize, 10) || 7 * 0.75),
26539
26637
  "font-size": Number(props.labelSize) || 7
26540
26638
  }, [slots.label?.({
26541
26639
  index: i,
26542
26640
  value: item.value
26543
- }) ?? item.value]))]), vue.createVNode("g", {
26641
+ }) ?? item.value]))]), vue.createElementVNode("g", {
26544
26642
  "clip-path": `url(#${id.value}-clip)`,
26545
26643
  "fill": `url(#${id.value})`
26546
- }, [vue.createVNode("rect", {
26644
+ }, [vue.createElementVNode("rect", {
26547
26645
  "x": 0,
26548
26646
  "y": 0,
26549
26647
  "width": Math.max(props.modelValue.length * lineWidth.value, Number(props.width)),
@@ -26722,39 +26820,39 @@
26722
26820
  }
26723
26821
  useRender(() => {
26724
26822
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
26725
- return vue.createVNode("svg", {
26823
+ return vue.createElementVNode("svg", {
26726
26824
  "display": "block",
26727
26825
  "stroke-width": parseFloat(props.lineWidth) ?? 4
26728
- }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
26826
+ }, [vue.createElementVNode("defs", null, [vue.createElementVNode("linearGradient", {
26729
26827
  "id": id.value,
26730
26828
  "gradientUnits": "userSpaceOnUse",
26731
26829
  "x1": props.gradientDirection === 'left' ? '100%' : '0',
26732
26830
  "y1": props.gradientDirection === 'top' ? '100%' : '0',
26733
26831
  "x2": props.gradientDirection === 'right' ? '100%' : '0',
26734
26832
  "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
26735
- }, [gradientData.map((color, index) => vue.createVNode("stop", {
26833
+ }, [gradientData.map((color, index) => vue.createElementVNode("stop", {
26736
26834
  "offset": index / Math.max(gradientData.length - 1, 1),
26737
26835
  "stop-color": color || 'currentColor'
26738
- }, null))])]), hasLabels.value && vue.createVNode("g", {
26836
+ }, null))])]), hasLabels.value && vue.createElementVNode("g", {
26739
26837
  "key": "labels",
26740
26838
  "style": {
26741
26839
  textAnchor: 'middle',
26742
26840
  dominantBaseline: 'mathematical',
26743
26841
  fill: 'currentColor'
26744
26842
  }
26745
- }, [parsedLabels.value.map((item, i) => vue.createVNode("text", {
26843
+ }, [parsedLabels.value.map((item, i) => vue.createElementVNode("text", {
26746
26844
  "x": item.x + lineWidth.value / 2 + lineWidth.value / 2,
26747
26845
  "y": parseInt(props.height, 10) - 4 + (parseInt(props.labelSize, 10) || 7 * 0.75),
26748
26846
  "font-size": Number(props.labelSize) || 7
26749
26847
  }, [slots.label?.({
26750
26848
  index: i,
26751
26849
  value: item.value
26752
- }) ?? item.value]))]), vue.createVNode("path", {
26850
+ }) ?? item.value]))]), vue.createElementVNode("path", {
26753
26851
  "ref": path,
26754
26852
  "d": genPath$1(props.fill),
26755
26853
  "fill": props.fill ? `url(#${id.value})` : 'none',
26756
26854
  "stroke": props.fill ? 'none' : `url(#${id.value})`
26757
- }, null), props.fill && vue.createVNode("path", {
26855
+ }, null), props.fill && vue.createElementVNode("path", {
26758
26856
  "d": genPath$1(false),
26759
26857
  "fill": "none",
26760
26858
  "stroke": props.color ?? props.gradient?.[0]
@@ -26922,7 +27020,7 @@
26922
27020
  const nextSlotProps = {
26923
27021
  onClick: onClickNext
26924
27022
  };
26925
- return vue.createVNode("div", {
27023
+ return vue.createElementVNode("div", {
26926
27024
  "class": "v-stepper-actions"
26927
27025
  }, [vue.createVNode(VDefaultsProvider, {
26928
27026
  "defaults": {
@@ -26996,7 +27094,7 @@
26996
27094
  const VStepperItem = genericComponent()({
26997
27095
  name: 'VStepperItem',
26998
27096
  directives: {
26999
- Ripple
27097
+ vRipple: Ripple
27000
27098
  },
27001
27099
  props: makeVStepperItemProps(),
27002
27100
  emits: {
@@ -27035,12 +27133,12 @@
27035
27133
  function onClick() {
27036
27134
  group?.toggle();
27037
27135
  }
27038
- return vue.withDirectives(vue.createVNode("button", {
27039
- "class": ['v-stepper-item', {
27136
+ return vue.withDirectives(vue.createElementVNode("button", {
27137
+ "class": vue.normalizeClass(['v-stepper-item', {
27040
27138
  'v-stepper-item--complete': hasCompleted.value,
27041
27139
  'v-stepper-item--disabled': props.disabled,
27042
27140
  'v-stepper-item--error': hasError.value
27043
- }, group?.selectedClass.value],
27141
+ }, group?.selectedClass.value]),
27044
27142
  "disabled": !props.editable,
27045
27143
  "type": "button",
27046
27144
  "onClick": onClick
@@ -27053,15 +27151,15 @@
27053
27151
  default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? vue.createVNode(VIcon, {
27054
27152
  "icon": icon.value
27055
27153
  }, null) : step.value)]
27056
- }), vue.createVNode("div", {
27154
+ }), vue.createElementVNode("div", {
27057
27155
  "class": "v-stepper-item__content"
27058
- }, [hasTitle && vue.createVNode("div", {
27156
+ }, [hasTitle && vue.createElementVNode("div", {
27059
27157
  "key": "title",
27060
27158
  "class": "v-stepper-item__title"
27061
- }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && vue.createVNode("div", {
27159
+ }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && vue.createElementVNode("div", {
27062
27160
  "key": "subtitle",
27063
27161
  "class": "v-stepper-item__subtitle"
27064
- }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[vue.resolveDirective("ripple"), props.ripple && props.editable, null]]);
27162
+ }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[Ripple, props.ripple && props.editable, null]]);
27065
27163
  });
27066
27164
  return {};
27067
27165
  }
@@ -27257,7 +27355,7 @@
27257
27355
  raw,
27258
27356
  ...item
27259
27357
  } = _ref2;
27260
- return vue.createVNode(vue.Fragment, null, [!!index && vue.createVNode(VDivider, null, null), vue.createVNode(VStepperItem, item, {
27358
+ return vue.createElementVNode(vue.Fragment, null, [!!index && vue.createVNode(VDivider, null, null), vue.createVNode(VStepperItem, item, {
27261
27359
  default: slots[`header-item.${item.value}`] ?? slots.header,
27262
27360
  icon: slots.icon,
27263
27361
  title: slots.title,
@@ -27398,14 +27496,14 @@
27398
27496
  backgroundColorClasses,
27399
27497
  backgroundColorStyles
27400
27498
  } = _ref3;
27401
- return vue.createVNode("div", {
27402
- "class": ['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
27403
- "style": backgroundColorStyles.value,
27499
+ return vue.createElementVNode("div", {
27500
+ "class": vue.normalizeClass(['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
27501
+ "style": vue.normalizeStyle(backgroundColorStyles.value),
27404
27502
  "onClick": onTrackClick
27405
- }, [slots['track-true'] && vue.createVNode("div", {
27503
+ }, [slots['track-true'] && vue.createElementVNode("div", {
27406
27504
  "key": "prepend",
27407
27505
  "class": "v-switch__track-true"
27408
- }, [slots['track-true'](slotProps)]), slots['track-false'] && vue.createVNode("div", {
27506
+ }, [slots['track-true'](slotProps)]), slots['track-false'] && vue.createElementVNode("div", {
27409
27507
  "key": "append",
27410
27508
  "class": "v-switch__track-false"
27411
27509
  }, [slots['track-false'](slotProps)])]);
@@ -27417,11 +27515,11 @@
27417
27515
  backgroundColorClasses,
27418
27516
  backgroundColorStyles
27419
27517
  } = _ref4;
27420
- return vue.createVNode(vue.Fragment, null, [inputNode, vue.createVNode("div", {
27421
- "class": ['v-switch__thumb', {
27518
+ return vue.createElementVNode(vue.Fragment, null, [inputNode, vue.createElementVNode("div", {
27519
+ "class": vue.normalizeClass(['v-switch__thumb', {
27422
27520
  'v-switch__thumb--filled': icon || props.loading
27423
- }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value],
27424
- "style": props.inset ? undefined : backgroundColorStyles.value
27521
+ }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value]),
27522
+ "style": vue.normalizeStyle(props.inset ? undefined : backgroundColorStyles.value)
27425
27523
  }, [slots.thumb ? vue.createVNode(VDefaultsProvider, {
27426
27524
  "defaults": {
27427
27525
  VIcon: {
@@ -27509,10 +27607,10 @@
27509
27607
  absolute: vue.toRef(() => props.absolute)
27510
27608
  });
27511
27609
  useRender(() => vue.createVNode(props.tag, {
27512
- "class": ['v-system-bar', {
27610
+ "class": vue.normalizeClass(['v-system-bar', {
27513
27611
  'v-system-bar--window': props.window
27514
- }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
27515
- "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
27612
+ }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
27613
+ "style": vue.normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style])
27516
27614
  }, slots));
27517
27615
  return {};
27518
27616
  }
@@ -27603,10 +27701,10 @@
27603
27701
  "onGroup:selected": updateSlider
27604
27702
  }), {
27605
27703
  ...slots,
27606
- default: () => vue.createVNode(vue.Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && vue.createVNode("div", {
27704
+ default: () => vue.createElementVNode(vue.Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && vue.createElementVNode("div", {
27607
27705
  "ref": sliderEl,
27608
- "class": ['v-tab__slider', sliderColorClasses.value],
27609
- "style": sliderColorStyles.value
27706
+ "class": vue.normalizeClass(['v-tab__slider', sliderColorClasses.value]),
27707
+ "style": vue.normalizeStyle(sliderColorStyles.value)
27610
27708
  }, null)])
27611
27709
  });
27612
27710
  });
@@ -27758,7 +27856,7 @@
27758
27856
  useRender(() => {
27759
27857
  const slideGroupProps = VSlideGroup.filterProps(props);
27760
27858
  const hasWindow = !!(slots.window || props.items.length > 0);
27761
- return vue.createVNode(vue.Fragment, null, [vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
27859
+ return vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
27762
27860
  "modelValue": model.value,
27763
27861
  "onUpdate:modelValue": $event => model.value = $event,
27764
27862
  "class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
@@ -27831,7 +27929,7 @@
27831
27929
  const VTextarea = genericComponent()({
27832
27930
  name: 'VTextarea',
27833
27931
  directives: {
27834
- Intersect
27932
+ vIntersect: Intersect
27835
27933
  },
27836
27934
  inheritAttrs: false,
27837
27935
  props: makeVTextareaProps(),
@@ -28004,9 +28102,9 @@
28004
28102
  ...slotProps
28005
28103
  }
28006
28104
  } = _ref3;
28007
- return vue.createVNode(vue.Fragment, null, [props.prefix && vue.createVNode("span", {
28105
+ return vue.createElementVNode(vue.Fragment, null, [props.prefix && vue.createElementVNode("span", {
28008
28106
  "class": "v-text-field__prefix"
28009
- }, [props.prefix]), vue.withDirectives(vue.createVNode("textarea", vue.mergeProps({
28107
+ }, [props.prefix]), vue.withDirectives(vue.createElementVNode("textarea", vue.mergeProps({
28010
28108
  "ref": textareaRef,
28011
28109
  "class": fieldClass,
28012
28110
  "value": model.value,
@@ -28019,24 +28117,24 @@
28019
28117
  "name": props.name,
28020
28118
  "onFocus": onFocus,
28021
28119
  "onBlur": blur
28022
- }, slotProps, inputAttrs), null), [[vue.resolveDirective("intersect"), {
28120
+ }, slotProps, inputAttrs), null), [[Intersect, {
28023
28121
  handler: onIntersect
28024
28122
  }, null, {
28025
28123
  once: true
28026
- }]]), props.autoGrow && vue.withDirectives(vue.createVNode("textarea", {
28027
- "class": [fieldClass, 'v-textarea__sizer'],
28124
+ }]]), props.autoGrow && vue.withDirectives(vue.createElementVNode("textarea", {
28125
+ "class": vue.normalizeClass([fieldClass, 'v-textarea__sizer']),
28028
28126
  "id": `${slotProps.id}-sizer`,
28029
28127
  "onUpdate:modelValue": $event => model.value = $event,
28030
28128
  "ref": sizerRef,
28031
28129
  "readonly": true,
28032
28130
  "aria-hidden": "true"
28033
- }, null), [[vue.vModelText, model.value]]), props.suffix && vue.createVNode("span", {
28131
+ }, null), [[vue.vModelText, model.value]]), props.suffix && vue.createElementVNode("span", {
28034
28132
  "class": "v-text-field__suffix"
28035
28133
  }, [props.suffix])]);
28036
28134
  }
28037
28135
  });
28038
28136
  },
28039
- details: hasDetails ? slotProps => vue.createVNode(vue.Fragment, null, [slots.details?.(slotProps), hasCounter && vue.createVNode(vue.Fragment, null, [vue.createVNode("span", null, null), vue.createVNode(VCounter, {
28137
+ details: hasDetails ? slotProps => vue.createElementVNode(vue.Fragment, null, [slots.details?.(slotProps), hasCounter && vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("span", null, null), vue.createVNode(VCounter, {
28040
28138
  "active": props.persistentCounter || isFocused.value,
28041
28139
  "value": counterValue.value,
28042
28140
  "max": max.value,
@@ -28067,8 +28165,8 @@
28067
28165
  return () => {
28068
28166
  if (!props.withBackground) return slots.default?.();
28069
28167
  return vue.createVNode(props.tag, {
28070
- "class": ['v-theme-provider', themeClasses.value, props.class],
28071
- "style": props.style
28168
+ "class": vue.normalizeClass(['v-theme-provider', themeClasses.value, props.class]),
28169
+ "style": vue.normalizeStyle(props.style)
28072
28170
  }, {
28073
28171
  default: () => [slots.default?.()]
28074
28172
  });
@@ -28113,21 +28211,21 @@
28113
28211
  backgroundColorClasses: lineColorClasses,
28114
28212
  backgroundColorStyles: lineColorStyles
28115
28213
  } = useBackgroundColor(() => props.lineColor);
28116
- useRender(() => vue.createVNode("div", {
28117
- "class": ['v-timeline-divider', {
28214
+ useRender(() => vue.createElementVNode("div", {
28215
+ "class": vue.normalizeClass(['v-timeline-divider', {
28118
28216
  'v-timeline-divider--fill-dot': props.fillDot
28119
- }, props.class],
28120
- "style": props.style
28121
- }, [vue.createVNode("div", {
28122
- "class": ['v-timeline-divider__before', lineColorClasses.value],
28123
- "style": lineColorStyles.value
28124
- }, null), !props.hideDot && vue.createVNode("div", {
28217
+ }, props.class]),
28218
+ "style": vue.normalizeStyle(props.style)
28219
+ }, [vue.createElementVNode("div", {
28220
+ "class": vue.normalizeClass(['v-timeline-divider__before', lineColorClasses.value]),
28221
+ "style": vue.normalizeStyle(lineColorStyles.value)
28222
+ }, null), !props.hideDot && vue.createElementVNode("div", {
28125
28223
  "key": "dot",
28126
- "class": ['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value],
28127
- "style": sizeStyles.value
28128
- }, [vue.createVNode("div", {
28129
- "class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
28130
- "style": backgroundColorStyles.value
28224
+ "class": vue.normalizeClass(['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value]),
28225
+ "style": vue.normalizeStyle(sizeStyles.value)
28226
+ }, [vue.createElementVNode("div", {
28227
+ "class": vue.normalizeClass(['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value]),
28228
+ "style": vue.normalizeStyle(backgroundColorStyles.value)
28131
28229
  }, [!slots.default ? vue.createVNode(VIcon, {
28132
28230
  "key": "icon",
28133
28231
  "color": props.iconColor,
@@ -28143,9 +28241,9 @@
28143
28241
  size: props.size
28144
28242
  }
28145
28243
  }
28146
- }, slots.default)])]), vue.createVNode("div", {
28147
- "class": ['v-timeline-divider__after', lineColorClasses.value],
28148
- "style": lineColorStyles.value
28244
+ }, slots.default)])]), vue.createElementVNode("div", {
28245
+ "class": vue.normalizeClass(['v-timeline-divider__after', lineColorClasses.value]),
28246
+ "style": vue.normalizeStyle(lineColorStyles.value)
28149
28247
  }, null)]));
28150
28248
  return {};
28151
28249
  }
@@ -28196,19 +28294,19 @@
28196
28294
  }, {
28197
28295
  flush: 'post'
28198
28296
  });
28199
- useRender(() => vue.createVNode("div", {
28200
- "class": ['v-timeline-item', {
28297
+ useRender(() => vue.createElementVNode("div", {
28298
+ "class": vue.normalizeClass(['v-timeline-item', {
28201
28299
  'v-timeline-item--fill-dot': props.fillDot,
28202
28300
  'v-timeline-item--side-start': props.side === 'start',
28203
28301
  'v-timeline-item--side-end': props.side === 'end'
28204
- }, props.class],
28205
- "style": [{
28302
+ }, props.class]),
28303
+ "style": vue.normalizeStyle([{
28206
28304
  '--v-timeline-dot-size': convertToUnit(dotSize.value),
28207
28305
  '--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
28208
- }, props.style]
28209
- }, [vue.createVNode("div", {
28306
+ }, props.style])
28307
+ }, [vue.createElementVNode("div", {
28210
28308
  "class": "v-timeline-item__body",
28211
- "style": dimensionStyles.value
28309
+ "style": vue.normalizeStyle(dimensionStyles.value)
28212
28310
  }, [slots.default?.()]), vue.createVNode(VTimelineDivider, {
28213
28311
  "ref": dotRef,
28214
28312
  "hideDot": props.hideDot,
@@ -28221,7 +28319,7 @@
28221
28319
  "rounded": props.rounded
28222
28320
  }, {
28223
28321
  default: slots.icon
28224
- }), props.density !== 'compact' && vue.createVNode("div", {
28322
+ }), props.density !== 'compact' && vue.createElementVNode("div", {
28225
28323
  "class": "v-timeline-item__opposite"
28226
28324
  }, [!props.hideOpposite && slots.opposite?.()])]));
28227
28325
  return {};
@@ -28314,12 +28412,12 @@
28314
28412
  }
28315
28413
  });
28316
28414
  useRender(() => vue.createVNode(props.tag, {
28317
- "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
28415
+ "class": vue.normalizeClass(['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
28318
28416
  'v-timeline--inset-line': !!props.lineInset
28319
- }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
28320
- "style": [{
28417
+ }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class]),
28418
+ "style": vue.normalizeStyle([{
28321
28419
  '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
28322
- }, props.style]
28420
+ }, props.style])
28323
28421
  }, slots));
28324
28422
  return {};
28325
28423
  }
@@ -28345,9 +28443,9 @@
28345
28443
  variant: vue.toRef(() => props.variant)
28346
28444
  }
28347
28445
  });
28348
- useRender(() => vue.createVNode("div", {
28349
- "class": ['v-toolbar-items', props.class],
28350
- "style": props.style
28446
+ useRender(() => vue.createElementVNode("div", {
28447
+ "class": vue.normalizeClass(['v-toolbar-items', props.class]),
28448
+ "style": vue.normalizeStyle(props.style)
28351
28449
  }, [slots.default?.()]));
28352
28450
  return {};
28353
28451
  }
@@ -28519,7 +28617,7 @@
28519
28617
  }
28520
28618
  };
28521
28619
  useRender(() => {
28522
- return vue.createVNode("div", null, [slots.intervalEvent?.({
28620
+ return vue.createElementVNode("div", null, [slots.intervalEvent?.({
28523
28621
  height: calcHeight().height,
28524
28622
  margin: calcHeight().margin,
28525
28623
  eventClass: 'v-calendar-internal-event',
@@ -28611,20 +28709,20 @@
28611
28709
  };
28612
28710
  });
28613
28711
  useRender(() => {
28614
- return props.dayIndex === 0 ? vue.createVNode("div", {
28712
+ return props.dayIndex === 0 ? vue.createElementVNode("div", {
28615
28713
  "class": "v-calendar-day__row-with-label",
28616
- "style": `height: ${convertToUnit(props.intervalHeight)}`
28617
- }, [vue.createVNode("div", vue.mergeProps({
28714
+ "style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
28715
+ }, [vue.createElementVNode("div", vue.mergeProps({
28618
28716
  "class": "v-calendar-day__row-label"
28619
28717
  }, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots.intervalTitle?.({
28620
28718
  interval: interval.value
28621
- }) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), vue.createVNode("div", {
28719
+ }) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), vue.createElementVNode("div", {
28622
28720
  "class": "v-calendar-day__row-hairline"
28623
- }, null), vue.createVNode("div", vue.mergeProps({
28721
+ }, null), vue.createElementVNode("div", vue.mergeProps({
28624
28722
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28625
28723
  }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
28626
28724
  interval: interval.value
28627
- }) ?? vue.createVNode("div", null, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
28725
+ }) ?? vue.createElementVNode("div", null, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
28628
28726
  "event": event,
28629
28727
  "interval": interval.value,
28630
28728
  "intervalDivisions": props.intervalDivisions,
@@ -28649,10 +28747,10 @@
28649
28747
  });
28650
28748
  }
28651
28749
  } : {})
28652
- }))])])]) : vue.createVNode("div", {
28750
+ }))])])]) : vue.createElementVNode("div", {
28653
28751
  "class": "v-calendar-day__row-without-label",
28654
- "style": `height: ${convertToUnit(props.intervalHeight)}`
28655
- }, [vue.createVNode("div", vue.mergeProps({
28752
+ "style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
28753
+ }, [vue.createElementVNode("div", vue.mergeProps({
28656
28754
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28657
28755
  }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
28658
28756
  interval: interval.value
@@ -28714,12 +28812,12 @@
28714
28812
  }, (v, i) => i).filter((_, index) => props.intervalDuration * (index + props.intervalStart) < 1440)]);
28715
28813
  useRender(() => {
28716
28814
  const calendarIntervalProps = VCalendarInterval.filterProps(props);
28717
- return vue.createVNode("div", {
28815
+ return vue.createElementVNode("div", {
28718
28816
  "class": "v-calendar-day__container"
28719
- }, [!props.hideDayHeader && vue.createVNode("div", vue.mergeProps({
28817
+ }, [!props.hideDayHeader && vue.createElementVNode("div", vue.mergeProps({
28720
28818
  "key": "calendar-week-name",
28721
28819
  "class": "v-calendar-weekly__head-weekday"
28722
- }, getPrefixedEventHandlers(attrs, ':day', () => props.day)), [adapter.format(props.day.date, 'weekdayShort'), vue.createVNode("div", null, [vue.createVNode(VBtn, vue.mergeProps(getPrefixedEventHandlers(attrs, ':date', () => props.day), {
28820
+ }, getPrefixedEventHandlers(attrs, ':day', () => props.day)), [adapter.format(props.day.date, 'weekdayShort'), vue.createElementVNode("div", null, [vue.createVNode(VBtn, vue.mergeProps(getPrefixedEventHandlers(attrs, ':date', () => props.day), {
28723
28821
  "class": props.day?.isToday ? 'v-calendar-day-label__today' : undefined,
28724
28822
  "icon": true,
28725
28823
  "text": adapter.format(props.day.date, 'dayOfMonth'),
@@ -28782,7 +28880,7 @@
28782
28880
  function toToday() {
28783
28881
  emit('click:toToday');
28784
28882
  }
28785
- useRender(() => vue.createVNode("div", {
28883
+ useRender(() => vue.createElementVNode("div", {
28786
28884
  "class": "v-calendar-header"
28787
28885
  }, [props.text && vue.createVNode(VBtn, {
28788
28886
  "key": "today",
@@ -28800,11 +28898,11 @@
28800
28898
  "icon": props.nextIcon,
28801
28899
  "variant": "text",
28802
28900
  "onClick": next
28803
- }, null), vue.createVNode("div", {
28901
+ }, null), vue.createElementVNode("div", {
28804
28902
  "class": "v-calendar-header__title"
28805
28903
  }, [slots.title?.({
28806
28904
  title: props.title
28807
- }) ?? vue.createVNode("span", null, [props.title])])]));
28905
+ }) ?? vue.createElementVNode("span", null, [props.title])])]));
28808
28906
  return {};
28809
28907
  }
28810
28908
  });
@@ -28866,9 +28964,9 @@
28866
28964
  slots
28867
28965
  } = _ref;
28868
28966
  useRender(() => {
28869
- return vue.createVNode("div", vue.mergeProps({
28967
+ return vue.createElementVNode("div", vue.mergeProps({
28870
28968
  "class": ['v-calendar-month__day']
28871
- }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? vue.createVNode("div", {
28969
+ }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? vue.createElementVNode("div", {
28872
28970
  "key": "title",
28873
28971
  "class": "v-calendar-weekly__day-label"
28874
28972
  }, [slots.dayTitle?.({
@@ -28881,13 +28979,13 @@
28881
28979
  "size": "x-small",
28882
28980
  "variant": props.day?.isToday ? undefined : 'flat',
28883
28981
  "text": `${props.title}`
28884
- }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? vue.createVNode("div", {
28982
+ }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? vue.createElementVNode("div", {
28885
28983
  "key": "content",
28886
28984
  "class": "v-calendar-weekly__day-content"
28887
28985
  }, [slots.dayBody?.({
28888
28986
  day: props.day,
28889
28987
  events: props.events
28890
- }) ?? vue.createVNode("div", null, [vue.createVNode("div", {
28988
+ }) ?? vue.createElementVNode("div", null, [vue.createElementVNode("div", {
28891
28989
  "class": "v-calendar-weekly__day-alldayevents-container"
28892
28990
  }, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
28893
28991
  day: props.day,
@@ -28897,7 +28995,7 @@
28897
28995
  "day": props.day,
28898
28996
  "event": event,
28899
28997
  "allDay": true
28900
- }, attrs), null))]), vue.createVNode("div", {
28998
+ }, attrs), null))]), vue.createElementVNode("div", {
28901
28999
  "class": "v-calendar-weekly__day-events-container"
28902
29000
  }, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
28903
29001
  day: props.day,
@@ -28984,13 +29082,13 @@
28984
29082
  useRender(() => {
28985
29083
  const calendarDayProps = VCalendarDay.filterProps(props);
28986
29084
  const calendarHeaderProps = VCalendarHeader.filterProps(props);
28987
- return vue.createVNode("div", {
28988
- "class": ['v-calendar', {
29085
+ return vue.createElementVNode("div", {
29086
+ "class": vue.normalizeClass(['v-calendar', {
28989
29087
  'v-calendar-monthly': props.viewMode === 'month',
28990
29088
  'v-calendar-weekly': props.viewMode === 'week',
28991
29089
  'v-calendar-day': props.viewMode === 'day'
28992
- }]
28993
- }, [vue.createVNode("div", null, [!props.hideHeader && (slots.header?.({
29090
+ }])
29091
+ }, [vue.createElementVNode("div", null, [!props.hideHeader && (slots.header?.({
28994
29092
  title: title.value,
28995
29093
  clickNext: onClickNext,
28996
29094
  clickPrev: onClickPrev,
@@ -29004,20 +29102,20 @@
29004
29102
  "onClick:toToday": onClickToday
29005
29103
  }), {
29006
29104
  title: slots.title
29007
- }))]), vue.createVNode("div", {
29008
- "class": ['v-calendar__container', `days__${weekDays.value.length}`]
29009
- }, [props.viewMode === 'month' && !props.hideDayHeader && vue.createVNode("div", {
29010
- "class": ['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])],
29105
+ }))]), vue.createElementVNode("div", {
29106
+ "class": vue.normalizeClass(['v-calendar__container', `days__${weekDays.value.length}`])
29107
+ }, [props.viewMode === 'month' && !props.hideDayHeader && vue.createElementVNode("div", {
29108
+ "class": vue.normalizeClass(['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])]),
29011
29109
  "key": "calendarWeeklyHead"
29012
- }, [!props.hideWeekNumber ? vue.createVNode("div", {
29110
+ }, [!props.hideWeekNumber ? vue.createElementVNode("div", {
29013
29111
  "key": "weekNumber0",
29014
29112
  "class": "v-calendar-weekly__head-weeknumber"
29015
- }, null) : '', weekDays.value.map(weekday => vue.createVNode("div", {
29016
- "class": `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`
29017
- }, [dayNames[weekday]]))]), props.viewMode === 'month' && vue.createVNode("div", {
29113
+ }, null) : '', weekDays.value.map(weekday => vue.createElementVNode("div", {
29114
+ "class": vue.normalizeClass(`v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`)
29115
+ }, [dayNames[weekday]]))]), props.viewMode === 'month' && vue.createElementVNode("div", {
29018
29116
  "key": "VCalendarMonth",
29019
- "class": ['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])]
29020
- }, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? vue.createVNode("div", vue.mergeProps({
29117
+ "class": vue.normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])])
29118
+ }, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? vue.createElementVNode("div", vue.mergeProps({
29021
29119
  "class": "v-calendar-month__weeknumber"
29022
29120
  }, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
29023
29121
  weekNumber: weekNumbers.value[wi],
@@ -29129,11 +29227,11 @@
29129
29227
  }
29130
29228
  }), {
29131
29229
  ...slots,
29132
- prepend: props.pipIcon ? arg => vue.createVNode(vue.Fragment, null, [hasPrepend && vue.createVNode(VIcon, {
29230
+ prepend: props.pipIcon ? arg => vue.createElementVNode(vue.Fragment, null, [hasPrepend && vue.createVNode(VIcon, {
29133
29231
  "color": props.pip ? model.value : undefined,
29134
29232
  "icon": props.pipIcon
29135
29233
  }, null), slots.prepend?.(arg)]) : undefined,
29136
- default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
29234
+ default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
29137
29235
  "modelValue": menu.value,
29138
29236
  "onUpdate:modelValue": $event => menu.value = $event,
29139
29237
  "activator": "parent",
@@ -29489,7 +29587,7 @@
29489
29587
  "onUpdate:modelValue": onUpdateDisplayModel
29490
29588
  }), {
29491
29589
  ...slots,
29492
- default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
29590
+ default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
29493
29591
  "modelValue": menu.value,
29494
29592
  "onUpdate:modelValue": $event => menu.value = $event,
29495
29593
  "activator": "parent",
@@ -29594,7 +29692,7 @@
29594
29692
  "class": "v-file-upload-item"
29595
29693
  }), {
29596
29694
  ...slots,
29597
- prepend: slotProps => vue.createVNode(vue.Fragment, null, [!slots.prepend ? vue.createVNode(VAvatar, {
29695
+ prepend: slotProps => vue.createElementVNode(vue.Fragment, null, [!slots.prepend ? vue.createVNode(VAvatar, {
29598
29696
  "icon": props.fileIcon,
29599
29697
  "image": preview.value,
29600
29698
  "rounded": true
@@ -29609,7 +29707,7 @@
29609
29707
  }, {
29610
29708
  default: () => [slots.prepend?.(slotProps) ?? vue.createVNode(VAvatar, null, null)]
29611
29709
  })]),
29612
- append: slotProps => vue.createVNode(vue.Fragment, null, [props.clearable && vue.createVNode(vue.Fragment, null, [!slots.clear ? vue.createVNode(VBtn, {
29710
+ append: slotProps => vue.createElementVNode(vue.Fragment, null, [props.clearable && vue.createElementVNode(vue.Fragment, null, [!slots.clear ? vue.createVNode(VBtn, {
29613
29711
  "icon": "$clear",
29614
29712
  "density": "comfortable",
29615
29713
  "variant": "text",
@@ -29740,7 +29838,7 @@
29740
29838
  const cardProps = VSheet.filterProps(props);
29741
29839
  const dividerProps = VDivider.filterProps(props);
29742
29840
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
29743
- const inputNode = vue.createVNode("input", vue.mergeProps({
29841
+ const inputNode = vue.createElementVNode("input", vue.mergeProps({
29744
29842
  "ref": inputRef,
29745
29843
  "type": "file",
29746
29844
  "disabled": props.disabled,
@@ -29752,7 +29850,7 @@
29752
29850
  model.value = [...(target.files ?? [])];
29753
29851
  }
29754
29852
  }, inputAttrs), null);
29755
- return vue.createVNode(vue.Fragment, null, [vue.createVNode(VSheet, vue.mergeProps({
29853
+ return vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VSheet, vue.mergeProps({
29756
29854
  "ref": vSheetRef
29757
29855
  }, cardProps, {
29758
29856
  "class": ['v-file-upload', {
@@ -29766,7 +29864,7 @@
29766
29864
  "onDrop": onDrop,
29767
29865
  "onClick": !hasBrowse ? onClick : undefined
29768
29866
  }, rootAttrs), {
29769
- default: () => [hasIcon && vue.createVNode("div", {
29867
+ default: () => [hasIcon && vue.createElementVNode("div", {
29770
29868
  "key": "icon",
29771
29869
  "class": "v-file-upload-icon"
29772
29870
  }, [!slots.icon ? vue.createVNode(VIcon, {
@@ -29781,15 +29879,15 @@
29781
29879
  }
29782
29880
  }, {
29783
29881
  default: () => [slots.icon()]
29784
- })]), hasTitle && vue.createVNode("div", {
29882
+ })]), hasTitle && vue.createElementVNode("div", {
29785
29883
  "key": "title",
29786
29884
  "class": "v-file-upload-title"
29787
- }, [slots.title?.() ?? t(props.title)]), props.density === 'default' && vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
29885
+ }, [slots.title?.() ?? t(props.title)]), props.density === 'default' && vue.createElementVNode(vue.Fragment, null, [vue.createElementVNode("div", {
29788
29886
  "key": "upload-divider",
29789
29887
  "class": "v-file-upload-divider"
29790
29888
  }, [slots.divider?.() ?? vue.createVNode(VDivider, dividerProps, {
29791
29889
  default: () => [t(props.dividerText)]
29792
- })]), hasBrowse && vue.createVNode(vue.Fragment, null, [!slots.browse ? vue.createVNode(VBtn, {
29890
+ })]), hasBrowse && vue.createElementVNode(vue.Fragment, null, [!slots.browse ? vue.createVNode(VBtn, {
29793
29891
  "readonly": props.disabled,
29794
29892
  "size": "large",
29795
29893
  "text": t(props.browseText),
@@ -29810,7 +29908,7 @@
29810
29908
  onClick
29811
29909
  }
29812
29910
  })]
29813
- })]), props.subtitle && vue.createVNode("div", {
29911
+ })]), props.subtitle && vue.createElementVNode("div", {
29814
29912
  "class": "v-file-upload-subtitle"
29815
29913
  }, [props.subtitle])]), vue.createVNode(VOverlay, {
29816
29914
  "model-value": isDragging.value,
@@ -29819,7 +29917,7 @@
29819
29917
  }, null), slots.input?.({
29820
29918
  inputNode
29821
29919
  }) ?? inputNode]
29822
- }), model.value.length > 0 && vue.createVNode("div", {
29920
+ }), model.value.length > 0 && vue.createElementVNode("div", {
29823
29921
  "class": "v-file-upload-items"
29824
29922
  }, [model.value.map((file, i) => {
29825
29923
  const slotProps = {
@@ -29969,23 +30067,23 @@
29969
30067
  opacity: props.opacity
29970
30068
  };
29971
30069
  return vue.createVNode(props.tag, {
29972
- "class": [{
30070
+ "class": vue.normalizeClass([{
29973
30071
  'v-icon-btn': true,
29974
30072
  'v-icon-btn--active': isActive.value,
29975
30073
  'v-icon-btn--disabled': props.disabled,
29976
30074
  'v-icon-btn--loading': props.loading,
29977
30075
  'v-icon-btn--readonly': props.readonly,
29978
30076
  [`v-icon-btn--${props.size}`]: true
29979
- }, themeClasses.value, colorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, variantClasses.value, props.class],
29980
- "style": [{
30077
+ }, themeClasses.value, colorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, variantClasses.value, props.class]),
30078
+ "style": vue.normalizeStyle([{
29981
30079
  '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),
29982
30080
  '--v-icon-btn-height': convertToUnit(btnHeight),
29983
30081
  '--v-icon-btn-width': convertToUnit(btnWidth)
29984
- }, colorStyles.value, props.style],
30082
+ }, colorStyles.value, props.style]),
29985
30083
  "tabindex": props.disabled || props.readonly ? -1 : 0,
29986
30084
  "onClick": onClick
29987
30085
  }, {
29988
- default: () => [genOverlays(!props.hideOverlay, 'v-icon-btn'), vue.createVNode("div", {
30086
+ default: () => [genOverlays(!props.hideOverlay, 'v-icon-btn'), vue.createElementVNode("div", {
29989
30087
  "class": "v-icon-btn__content",
29990
30088
  "data-no-activator": ""
29991
30089
  }, [!slots.default && icon ? vue.createVNode(VIcon, vue.mergeProps({
@@ -30000,7 +30098,7 @@
30000
30098
  }
30001
30099
  }, {
30002
30100
  default: () => slots.default?.() ?? vue.toDisplayString(props.text)
30003
- })]), !!props.loading && vue.createVNode("span", {
30101
+ })]), !!props.loading && vue.createElementVNode("span", {
30004
30102
  "key": "loader",
30005
30103
  "class": "v-icon-btn__loader"
30006
30104
  }, [slots.loader?.() ?? vue.createVNode(VProgressCircular, {
@@ -30135,7 +30233,7 @@
30135
30233
  "hide-actions": false,
30136
30234
  "value": step.value
30137
30235
  }), {
30138
- title: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VAvatar, {
30236
+ title: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VAvatar, {
30139
30237
  "key": "stepper-avatar",
30140
30238
  "class": "v-stepper-vertical-item__avatar",
30141
30239
  "color": hasColor ? props.color : undefined,
@@ -30145,12 +30243,12 @@
30145
30243
  default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? vue.createVNode(VIcon, {
30146
30244
  "icon": icon.value
30147
30245
  }, null) : step.value)]
30148
- }), vue.createVNode("div", null, [vue.createVNode("div", {
30246
+ }), vue.createElementVNode("div", null, [vue.createElementVNode("div", {
30149
30247
  "class": "v-stepper-vertical-item__title"
30150
- }, [slots.title?.(slotProps.value) ?? props.title]), vue.createVNode("div", {
30248
+ }, [slots.title?.(slotProps.value) ?? props.title]), vue.createElementVNode("div", {
30151
30249
  "class": "v-stepper-vertical-item__subtitle"
30152
30250
  }, [slots.subtitle?.(slotProps.value) ?? props.subtitle])])]),
30153
- text: () => vue.createVNode(vue.Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && vue.createVNode(VDefaultsProvider, {
30251
+ text: () => vue.createElementVNode(vue.Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && vue.createVNode(VDefaultsProvider, {
30154
30252
  "defaults": {
30155
30253
  VStepperVerticalActions: {
30156
30254
  disabled: disabled.value,
@@ -30252,7 +30350,7 @@
30252
30350
  prev,
30253
30351
  next
30254
30352
  } = _ref2;
30255
- return vue.createVNode(vue.Fragment, null, [items.value.map(_ref3 => {
30353
+ return vue.createElementVNode(vue.Fragment, null, [items.value.map(_ref3 => {
30256
30354
  let {
30257
30355
  raw,
30258
30356
  ...item
@@ -30341,7 +30439,7 @@
30341
30439
  goingUp.value = newVal < oldVal;
30342
30440
  });
30343
30441
  useRender(() => {
30344
- return vue.createVNode("div", {
30442
+ return vue.createElementVNode("div", {
30345
30443
  "class": ['v-pull-to-refresh'],
30346
30444
  "onTouchstart": onTouchstart,
30347
30445
  "onTouchmove": onTouchmove,
@@ -30351,32 +30449,32 @@
30351
30449
  "onMouseleave": onTouchend,
30352
30450
  "onMousemove": onTouchmove,
30353
30451
  "ref": containerRef
30354
- }, [vue.createVNode("div", {
30355
- "class": ['v-pull-to-refresh__pull-down', {
30452
+ }, [vue.createElementVNode("div", {
30453
+ "class": vue.normalizeClass(['v-pull-to-refresh__pull-down', {
30356
30454
  'v-pull-to-refresh__pull-down--touching': touching.value
30357
- }],
30358
- "style": {
30455
+ }]),
30456
+ "style": vue.normalizeStyle({
30359
30457
  top: convertToUnit(-1 * props.pullDownThreshold + topOffset.value),
30360
30458
  height: convertToUnit(props.pullDownThreshold)
30361
- }
30459
+ })
30362
30460
  }, [slots.pullDownPanel ? slots.pullDownPanel({
30363
30461
  canRefresh: canRefresh.value,
30364
30462
  goingUp: goingUp.value,
30365
30463
  refreshing: refreshing.value
30366
- }) : vue.createVNode("div", {
30464
+ }) : vue.createElementVNode("div", {
30367
30465
  "class": ['v-pull-to-refresh__pull-down-default']
30368
30466
  }, [refreshing.value ? vue.createVNode(VProgressCircular, {
30369
30467
  "indeterminate": true,
30370
30468
  "active": false
30371
30469
  }, null) : vue.createVNode(VIcon, {
30372
30470
  "icon": canRefresh.value || goingUp.value ? '$sortAsc' : '$sortDesc'
30373
- }, null)])]), vue.createVNode("div", {
30374
- "class": ['v-pull-to-refresh__scroll-container', {
30471
+ }, null)])]), vue.createElementVNode("div", {
30472
+ "class": vue.normalizeClass(['v-pull-to-refresh__scroll-container', {
30375
30473
  'v-pull-to-refresh__scroll-container--touching': touching.value
30376
- }],
30377
- "style": {
30474
+ }]),
30475
+ "style": vue.normalizeStyle({
30378
30476
  top: convertToUnit(topOffset.value)
30379
- }
30477
+ })
30380
30478
  }, [slots.default?.()])]);
30381
30479
  });
30382
30480
  }
@@ -30591,37 +30689,37 @@
30591
30689
  }
30592
30690
  }
30593
30691
  useRender(() => {
30594
- return vue.createVNode("div", {
30595
- "class": [{
30692
+ return vue.createElementVNode("div", {
30693
+ "class": vue.normalizeClass([{
30596
30694
  'v-time-picker-clock': true,
30597
30695
  'v-time-picker-clock--indeterminate': props.modelValue == null,
30598
30696
  'v-time-picker-clock--readonly': props.readonly
30599
- }],
30697
+ }]),
30600
30698
  "onMousedown": onMouseDown,
30601
30699
  "onTouchstart": onMouseDown,
30602
30700
  "onWheel": wheel,
30603
30701
  "ref": clockRef
30604
- }, [vue.createVNode("div", {
30702
+ }, [vue.createElementVNode("div", {
30605
30703
  "class": "v-time-picker-clock__inner",
30606
30704
  "ref": innerClockRef
30607
- }, [vue.createVNode("div", {
30608
- "class": [{
30705
+ }, [vue.createElementVNode("div", {
30706
+ "class": vue.normalizeClass([{
30609
30707
  'v-time-picker-clock__hand': true,
30610
30708
  'v-time-picker-clock__hand--inner': isInner(props.modelValue)
30611
- }, textColorClasses.value],
30612
- "style": [{
30709
+ }, textColorClasses.value]),
30710
+ "style": vue.normalizeStyle([{
30613
30711
  transform: `rotate(${props.rotate + degreesPerUnit.value * (displayedValue.value - props.min)}deg) scaleY(${handScale(displayedValue.value)})`
30614
- }, textColorStyles.value]
30712
+ }, textColorStyles.value])
30615
30713
  }, null), genChildren.value.map(value => {
30616
30714
  const isActive = value === displayedValue.value;
30617
- return vue.createVNode("div", {
30618
- "class": [{
30715
+ return vue.createElementVNode("div", {
30716
+ "class": vue.normalizeClass([{
30619
30717
  'v-time-picker-clock__item': true,
30620
30718
  'v-time-picker-clock__item--active': isActive,
30621
30719
  'v-time-picker-clock__item--disabled': props.disabled || !isAllowed(value)
30622
- }, isActive && backgroundColorClasses.value],
30623
- "style": [getTransform(value), isActive && backgroundColorStyles.value]
30624
- }, [vue.createVNode("span", null, [props.format(value)])]);
30720
+ }, isActive && backgroundColorClasses.value]),
30721
+ "style": vue.normalizeStyle([getTransform(value), isActive && backgroundColorStyles.value])
30722
+ }, [vue.createElementVNode("span", null, [props.format(value)])]);
30625
30723
  })])]);
30626
30724
  });
30627
30725
  }
@@ -30664,46 +30762,46 @@
30664
30762
  if (props.ampm) {
30665
30763
  hour = hour ? (hour - 1) % 12 + 1 : 12;
30666
30764
  }
30667
- return vue.createVNode("div", {
30765
+ return vue.createElementVNode("div", {
30668
30766
  "class": "v-time-picker-controls"
30669
- }, [vue.createVNode("div", {
30670
- "class": {
30767
+ }, [vue.createElementVNode("div", {
30768
+ "class": vue.normalizeClass({
30671
30769
  'v-time-picker-controls__time': true,
30672
30770
  'v-time-picker-controls__time--with-seconds': props.useSeconds
30673
- }
30771
+ })
30674
30772
  }, [vue.createVNode(VBtn, {
30675
30773
  "active": props.viewMode === 'hour',
30676
30774
  "color": props.viewMode === 'hour' ? props.color : undefined,
30677
30775
  "disabled": props.disabled,
30678
30776
  "variant": "tonal",
30679
- "class": {
30777
+ "class": vue.normalizeClass({
30680
30778
  'v-time-picker-controls__time__btn': true,
30681
30779
  'v-time-picker-controls__time--with-ampm__btn': props.ampm,
30682
30780
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
30683
- },
30781
+ }),
30684
30782
  "text": props.hour == null ? '--' : pad(`${hour}`),
30685
30783
  "onClick": () => emit('update:viewMode', 'hour')
30686
- }, null), vue.createVNode("span", {
30687
- "class": ['v-time-picker-controls__time__separator', {
30784
+ }, null), vue.createElementVNode("span", {
30785
+ "class": vue.normalizeClass(['v-time-picker-controls__time__separator', {
30688
30786
  'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
30689
- }]
30787
+ }])
30690
30788
  }, [vue.createTextVNode(":")]), vue.createVNode(VBtn, {
30691
30789
  "active": props.viewMode === 'minute',
30692
30790
  "color": props.viewMode === 'minute' ? props.color : undefined,
30693
- "class": {
30791
+ "class": vue.normalizeClass({
30694
30792
  'v-time-picker-controls__time__btn': true,
30695
30793
  'v-time-picker-controls__time__btn__active': props.viewMode === 'minute',
30696
30794
  'v-time-picker-controls__time--with-ampm__btn': props.ampm,
30697
30795
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
30698
- },
30796
+ }),
30699
30797
  "disabled": props.disabled,
30700
30798
  "variant": "tonal",
30701
30799
  "text": props.minute == null ? '--' : pad(props.minute),
30702
30800
  "onClick": () => emit('update:viewMode', 'minute')
30703
- }, null), props.useSeconds && vue.createVNode("span", {
30704
- "class": ['v-time-picker-controls__time__separator', {
30801
+ }, null), props.useSeconds && vue.createElementVNode("span", {
30802
+ "class": vue.normalizeClass(['v-time-picker-controls__time__separator', {
30705
30803
  'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
30706
- }],
30804
+ }]),
30707
30805
  "key": "secondsDivider"
30708
30806
  }, [vue.createTextVNode(":")]), props.useSeconds && vue.createVNode(VBtn, {
30709
30807
  "key": "secondsVal",
@@ -30711,25 +30809,25 @@
30711
30809
  "color": props.viewMode === 'second' ? props.color : undefined,
30712
30810
  "variant": "tonal",
30713
30811
  "onClick": () => emit('update:viewMode', 'second'),
30714
- "class": {
30812
+ "class": vue.normalizeClass({
30715
30813
  'v-time-picker-controls__time__btn': true,
30716
30814
  'v-time-picker-controls__time__btn__active': props.viewMode === 'second',
30717
30815
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
30718
- },
30816
+ }),
30719
30817
  "disabled": props.disabled,
30720
30818
  "text": props.second == null ? '--' : pad(props.second)
30721
- }, null), props.ampm && props.ampmInTitle && vue.createVNode("div", {
30722
- "class": ['v-time-picker-controls__ampm', {
30819
+ }, null), props.ampm && props.ampmInTitle && vue.createElementVNode("div", {
30820
+ "class": vue.normalizeClass(['v-time-picker-controls__ampm', {
30723
30821
  'v-time-picker-controls__ampm--readonly': props.ampmReadonly
30724
- }]
30822
+ }])
30725
30823
  }, [vue.createVNode(VBtn, {
30726
30824
  "active": props.period === 'am',
30727
30825
  "color": props.period === 'am' ? props.color : undefined,
30728
- "class": {
30826
+ "class": vue.normalizeClass({
30729
30827
  'v-time-picker-controls__ampm__am': true,
30730
30828
  'v-time-picker-controls__ampm__btn': true,
30731
30829
  'v-time-picker-controls__ampm__btn__active': props.period === 'am'
30732
- },
30830
+ }),
30733
30831
  "disabled": props.disabled,
30734
30832
  "text": t('$vuetify.timePicker.am'),
30735
30833
  "variant": props.disabled && props.period === 'am' ? 'elevated' : 'tonal',
@@ -30737,11 +30835,11 @@
30737
30835
  }, null), vue.createVNode(VBtn, {
30738
30836
  "active": props.period === 'pm',
30739
30837
  "color": props.period === 'pm' ? props.color : undefined,
30740
- "class": {
30838
+ "class": vue.normalizeClass({
30741
30839
  'v-time-picker-controls__ampm__pm': true,
30742
30840
  'v-time-picker-controls__ampm__btn': true,
30743
30841
  'v-time-picker-controls__ampm__btn__active': props.period === 'pm'
30744
- },
30842
+ }),
30745
30843
  "disabled": props.disabled,
30746
30844
  "text": t('$vuetify.timePicker.pm'),
30747
30845
  "variant": props.disabled && props.period === 'pm' ? 'elevated' : 'tonal',
@@ -30969,7 +31067,7 @@
30969
31067
  "class": ['v-time-picker', props.class],
30970
31068
  "style": props.style
30971
31069
  }), {
30972
- title: () => slots.title?.() ?? vue.createVNode("div", {
31070
+ title: () => slots.title?.() ?? vue.createElementVNode("div", {
30973
31071
  "class": "v-time-picker__title"
30974
31072
  }, [t(props.title)]),
30975
31073
  header: () => vue.createVNode(VTimePickerControls, vue.mergeProps(timePickerControlsProps, {
@@ -31036,7 +31134,7 @@
31036
31134
  "subgroup": true
31037
31135
  }), {
31038
31136
  ...slots,
31039
- activator: slots.activator ? slotProps => vue.createVNode(vue.Fragment, null, [vue.createVNode(VDefaultsProvider, {
31137
+ activator: slots.activator ? slotProps => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VDefaultsProvider, {
31040
31138
  "defaults": activatorDefaults.value
31041
31139
  }, {
31042
31140
  default: () => [slots.activator?.(slotProps)]
@@ -31102,7 +31200,7 @@
31102
31200
  }), {
31103
31201
  ...slots,
31104
31202
  prepend: hasPrepend ? slotProps => {
31105
- return vue.createVNode(vue.Fragment, null, [vue.createVNode(VListItemAction, {
31203
+ return vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VListItemAction, {
31106
31204
  "start": false
31107
31205
  }, {
31108
31206
  default: () => [props.toggleIcon ? vue.createVNode(VBtn, {
@@ -31119,7 +31217,7 @@
31119
31217
  "width": "2"
31120
31218
  }, null);
31121
31219
  }
31122
- }) : vue.createVNode("div", {
31220
+ }) : vue.createElementVNode("div", {
31123
31221
  "class": "v-treeview-item__level"
31124
31222
  }, null)]
31125
31223
  }), slots.prepend?.(slotProps)]);
@@ -31188,7 +31286,7 @@
31188
31286
  } = item;
31189
31287
  const loading = isLoading.has(item.value);
31190
31288
  const slotsWithItem = {
31191
- prepend: slotProps => vue.createVNode(vue.Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && vue.createVNode("div", null, [vue.createVNode(VCheckboxBtn, {
31289
+ prepend: slotProps => vue.createElementVNode(vue.Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && vue.createElementVNode("div", null, [vue.createVNode(VCheckboxBtn, {
31192
31290
  "key": item.value,
31193
31291
  "modelValue": slotProps.isSelected,
31194
31292
  "disabled": props.disabled,
@@ -31917,7 +32015,7 @@
31917
32015
  };
31918
32016
  });
31919
32017
  }
31920
- const version$1 = "3.8.6";
32018
+ const version$1 = "3.8.7";
31921
32019
  createVuetify$1.version = version$1;
31922
32020
 
31923
32021
  // Vue's inject() can only be used in setup
@@ -32215,7 +32313,7 @@
32215
32313
 
32216
32314
  /* eslint-disable local-rules/sort-imports */
32217
32315
 
32218
- const version = "3.8.6";
32316
+ const version = "3.8.7";
32219
32317
 
32220
32318
  /* eslint-disable local-rules/sort-imports */
32221
32319