vuetify 3.1.16 → 3.2.1

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 (476) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +331 -179
  3. package/dist/json/importMap-labs.json +4 -4
  4. package/dist/json/importMap.json +16 -12
  5. package/dist/json/tags.json +45 -2
  6. package/dist/json/web-types.json +851 -329
  7. package/dist/vuetify-labs.css +663 -440
  8. package/dist/vuetify-labs.d.ts +5905 -7618
  9. package/dist/vuetify-labs.esm.js +1635 -649
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +1634 -647
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +265 -58
  14. package/dist/vuetify.d.ts +6509 -7498
  15. package/dist/vuetify.esm.js +1375 -423
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +1374 -421
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +800 -728
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.ts +35 -1
  23. package/lib/blueprints/md1.d.ts +35 -1
  24. package/lib/blueprints/md2.d.ts +35 -1
  25. package/lib/blueprints/md3.d.ts +35 -1
  26. package/lib/components/VAlert/VAlert.mjs +6 -4
  27. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  28. package/lib/components/VAlert/index.d.ts +57 -55
  29. package/lib/components/VApp/VApp.mjs +4 -2
  30. package/lib/components/VApp/VApp.mjs.map +1 -1
  31. package/lib/components/VApp/index.d.ts +22 -13
  32. package/lib/components/VAppBar/VAppBar.mjs +65 -13
  33. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/index.d.ts +113 -92
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  39. package/lib/components/VAutocomplete/index.d.ts +276 -418
  40. package/lib/components/VAvatar/VAvatar.mjs +4 -2
  41. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  42. package/lib/components/VAvatar/index.d.ts +23 -14
  43. package/lib/components/VBadge/VBadge.mjs +6 -5
  44. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  45. package/lib/components/VBadge/index.d.ts +27 -22
  46. package/lib/components/VBanner/VBanner.mjs +6 -4
  47. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  48. package/lib/components/VBanner/VBannerActions.mjs +5 -2
  49. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  50. package/lib/components/VBanner/index.d.ts +92 -66
  51. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
  52. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  53. package/lib/components/VBottomNavigation/index.d.ts +22 -13
  54. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +4 -2
  55. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  56. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
  57. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  58. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
  59. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  60. package/lib/components/VBreadcrumbs/index.d.ts +132 -91
  61. package/lib/components/VBtn/VBtn.mjs +9 -4
  62. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  63. package/lib/components/VBtn/_mixins.scss +1 -1
  64. package/lib/components/VBtn/index.d.ts +39 -36
  65. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
  66. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  67. package/lib/components/VBtnGroup/index.d.ts +22 -13
  68. package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
  69. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  70. package/lib/components/VBtnToggle/index.d.ts +30 -21
  71. package/lib/components/VCard/VCard.mjs +5 -3
  72. package/lib/components/VCard/VCard.mjs.map +1 -1
  73. package/lib/components/VCard/VCardActions.mjs +7 -4
  74. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  75. package/lib/components/VCard/VCardItem.mjs +5 -2
  76. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  77. package/lib/components/VCard/index.d.ts +250 -141
  78. package/lib/components/VCarousel/VCarousel.mjs +3 -3
  79. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  80. package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
  81. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  82. package/lib/components/VCarousel/index.d.ts +78 -141
  83. package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
  84. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  85. package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
  86. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  87. package/lib/components/VCheckbox/index.d.ts +75 -109
  88. package/lib/components/VChip/VChip.mjs +7 -8
  89. package/lib/components/VChip/VChip.mjs.map +1 -1
  90. package/lib/components/VChip/index.d.ts +27 -30
  91. package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
  92. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  93. package/lib/components/VChipGroup/index.d.ts +22 -13
  94. package/lib/components/VCode/index.d.ts +30 -17
  95. package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
  96. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  97. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
  98. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  99. package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
  100. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  101. package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
  102. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  103. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
  104. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  105. package/lib/components/VColorPicker/index.d.ts +34 -1
  106. package/lib/components/VCombobox/VCombobox.mjs +2 -1
  107. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  108. package/lib/components/VCombobox/index.d.ts +276 -418
  109. package/lib/components/VCounter/VCounter.mjs +4 -1
  110. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  111. package/lib/components/VCounter/index.d.ts +22 -145
  112. package/lib/components/VDefaultsProvider/index.d.ts +0 -12
  113. package/lib/components/VDialog/VDialog.mjs +2 -1
  114. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  115. package/lib/components/VDialog/index.d.ts +104 -282
  116. package/lib/components/VDivider/VDivider.mjs +4 -2
  117. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  118. package/lib/components/VDivider/index.d.ts +22 -13
  119. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
  120. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  121. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
  122. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  123. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
  124. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  125. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
  126. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  127. package/lib/components/VExpansionPanel/index.d.ts +109 -81
  128. package/lib/components/VField/VField.css +59 -11
  129. package/lib/components/VField/VField.mjs +18 -8
  130. package/lib/components/VField/VField.mjs.map +1 -1
  131. package/lib/components/VField/VField.sass +57 -5
  132. package/lib/components/VField/VFieldLabel.mjs +6 -3
  133. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  134. package/lib/components/VField/_variables.scss +4 -0
  135. package/lib/components/VField/index.d.ts +169 -84
  136. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  137. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  138. package/lib/components/VFileInput/index.d.ts +147 -174
  139. package/lib/components/VFooter/VFooter.mjs +4 -2
  140. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  141. package/lib/components/VFooter/index.d.ts +22 -13
  142. package/lib/components/VForm/VForm.mjs +5 -2
  143. package/lib/components/VForm/VForm.mjs.map +1 -1
  144. package/lib/components/VForm/index.d.ts +30 -17
  145. package/lib/components/VGrid/VCol.mjs +4 -1
  146. package/lib/components/VGrid/VCol.mjs.map +1 -1
  147. package/lib/components/VGrid/VContainer.mjs +4 -1
  148. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  149. package/lib/components/VGrid/VRow.mjs +4 -1
  150. package/lib/components/VGrid/VRow.mjs.map +1 -1
  151. package/lib/components/VGrid/index.d.ts +104 -60
  152. package/lib/components/VHover/index.d.ts +20 -44
  153. package/lib/components/VIcon/VIcon.mjs +4 -2
  154. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  155. package/lib/components/VIcon/index.d.ts +23 -26
  156. package/lib/components/VImg/VImg.mjs +5 -3
  157. package/lib/components/VImg/VImg.mjs.map +1 -1
  158. package/lib/components/VImg/index.d.ts +26 -29
  159. package/lib/components/VInput/VInput.mjs +4 -1
  160. package/lib/components/VInput/VInput.mjs.map +1 -1
  161. package/lib/components/VInput/index.d.ts +37 -40
  162. package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
  163. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  164. package/lib/components/VItemGroup/index.d.ts +30 -33
  165. package/lib/components/VKbd/index.d.ts +30 -17
  166. package/lib/components/VLabel/VLabel.mjs +4 -1
  167. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  168. package/lib/components/VLabel/index.d.ts +22 -13
  169. package/lib/components/VLayout/VLayout.mjs +8 -4
  170. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  171. package/lib/components/VLayout/VLayoutItem.mjs +4 -2
  172. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  173. package/lib/components/VLayout/index.d.ts +44 -26
  174. package/lib/components/VLazy/VLazy.mjs +4 -2
  175. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  176. package/lib/components/VLazy/index.d.ts +22 -13
  177. package/lib/components/VList/VList.mjs +4 -2
  178. package/lib/components/VList/VList.mjs.map +1 -1
  179. package/lib/components/VList/VListChildren.mjs.map +1 -1
  180. package/lib/components/VList/VListGroup.mjs +5 -2
  181. package/lib/components/VList/VListGroup.mjs.map +1 -1
  182. package/lib/components/VList/VListItem.mjs +4 -2
  183. package/lib/components/VList/VListItem.mjs.map +1 -1
  184. package/lib/components/VList/VListItemAction.mjs +4 -1
  185. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  186. package/lib/components/VList/VListItemMedia.mjs +4 -1
  187. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  188. package/lib/components/VList/VListSubheader.mjs +5 -3
  189. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  190. package/lib/components/VList/index.d.ts +932 -826
  191. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
  192. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  193. package/lib/components/VLocaleProvider/index.d.ts +30 -17
  194. package/lib/components/VMain/VMain.mjs +4 -2
  195. package/lib/components/VMain/VMain.mjs.map +1 -1
  196. package/lib/components/VMain/index.d.ts +30 -17
  197. package/lib/components/VMenu/VMenu.mjs +2 -1
  198. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  199. package/lib/components/VMenu/index.d.ts +104 -282
  200. package/lib/components/VMessages/VMessages.mjs +4 -2
  201. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  202. package/lib/components/VMessages/index.d.ts +22 -145
  203. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
  204. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  205. package/lib/components/VNavigationDrawer/index.d.ts +26 -29
  206. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  207. package/lib/components/VNoSsr/index.d.ts +3 -13
  208. package/lib/components/VOverlay/VOverlay.mjs +5 -3
  209. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  210. package/lib/components/VOverlay/index.d.ts +38 -45
  211. package/lib/components/VPagination/VPagination.mjs +4 -1
  212. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  213. package/lib/components/VPagination/index.d.ts +23 -30
  214. package/lib/components/VParallax/VParallax.mjs +5 -2
  215. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  216. package/lib/components/VParallax/index.d.ts +34 -33
  217. package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
  218. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  219. package/lib/components/VProgressCircular/index.d.ts +22 -13
  220. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
  221. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  222. package/lib/components/VProgressLinear/index.d.ts +42 -45
  223. package/lib/components/VRadio/VRadio.mjs +2 -1
  224. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  225. package/lib/components/VRadio/index.d.ts +27 -38
  226. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
  227. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  228. package/lib/components/VRadioGroup/index.d.ts +45 -68
  229. package/lib/components/VRangeSlider/VRangeSlider.mjs +33 -21
  230. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  231. package/lib/components/VRangeSlider/index.d.ts +50 -49
  232. package/lib/components/VRating/VRating.css +0 -4
  233. package/lib/components/VRating/VRating.mjs +10 -36
  234. package/lib/components/VRating/VRating.mjs.map +1 -1
  235. package/lib/components/VRating/VRating.sass +0 -5
  236. package/lib/components/VRating/index.d.ts +24 -18
  237. package/lib/components/VResponsive/VResponsive.mjs +4 -2
  238. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  239. package/lib/components/VResponsive/index.d.ts +43 -31
  240. package/lib/components/VSelect/VSelect.mjs +2 -1
  241. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  242. package/lib/components/VSelect/index.d.ts +245 -567
  243. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
  244. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  245. package/lib/components/VSelectionControl/index.d.ts +76 -46
  246. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
  247. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  248. package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
  249. package/lib/components/VSheet/VSheet.mjs +4 -2
  250. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  251. package/lib/components/VSheet/index.d.ts +22 -13
  252. package/lib/components/VSlideGroup/VSlideGroup.mjs +4 -1
  253. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  254. package/lib/components/VSlideGroup/index.d.ts +59 -90
  255. package/lib/components/VSlider/VSlider.mjs +33 -14
  256. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  257. package/lib/components/VSlider/VSliderThumb.mjs +6 -4
  258. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  259. package/lib/components/VSlider/VSliderTrack.mjs +6 -4
  260. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  261. package/lib/components/VSlider/index.d.ts +50 -49
  262. package/lib/components/VSlider/slider.mjs +43 -23
  263. package/lib/components/VSlider/slider.mjs.map +1 -1
  264. package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
  265. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  266. package/lib/components/VSnackbar/index.d.ts +92 -142
  267. package/lib/components/VSwitch/VSwitch.mjs +2 -1
  268. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  269. package/lib/components/VSwitch/index.d.ts +45 -72
  270. package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
  271. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  272. package/lib/components/VSystemBar/index.d.ts +22 -13
  273. package/lib/components/VTable/VTable.mjs +4 -1
  274. package/lib/components/VTable/VTable.mjs.map +1 -1
  275. package/lib/components/VTable/index.d.ts +26 -29
  276. package/lib/components/VTabs/VTab.mjs +3 -4
  277. package/lib/components/VTabs/VTab.mjs.map +1 -1
  278. package/lib/components/VTabs/VTabs.mjs +2 -2
  279. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  280. package/lib/components/VTabs/index.d.ts +51 -33
  281. package/lib/components/VTextField/VTextField.mjs +2 -1
  282. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  283. package/lib/components/VTextField/index.d.ts +337 -317
  284. package/lib/components/VTextarea/VTextarea.mjs +2 -1
  285. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  286. package/lib/components/VTextarea/index.d.ts +127 -146
  287. package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
  288. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  289. package/lib/components/VThemeProvider/index.d.ts +22 -13
  290. package/lib/components/VTimeline/VTimeline.mjs +5 -3
  291. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  292. package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
  293. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  294. package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
  295. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  296. package/lib/components/VTimeline/index.d.ts +67 -57
  297. package/lib/components/VToolbar/VToolbar.css +3 -1
  298. package/lib/components/VToolbar/VToolbar.mjs +4 -2
  299. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  300. package/lib/components/VToolbar/VToolbar.sass +3 -1
  301. package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
  302. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  303. package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
  304. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  305. package/lib/components/VToolbar/index.d.ts +74 -71
  306. package/lib/components/VTooltip/VTooltip.mjs +4 -3
  307. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  308. package/lib/components/VTooltip/index.d.ts +119 -150
  309. package/lib/components/VValidation/index.d.ts +6 -18
  310. package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.mjs +21 -23
  311. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -0
  312. package/lib/{labs → components}/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
  313. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -0
  314. package/lib/{labs → components}/VVirtualScroll/index.d.ts +70 -30
  315. package/lib/components/VVirtualScroll/index.mjs.map +1 -0
  316. package/lib/components/VWindow/VWindow.mjs +4 -1
  317. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  318. package/lib/components/VWindow/VWindowItem.mjs +4 -1
  319. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  320. package/lib/components/VWindow/index.d.ts +61 -79
  321. package/lib/components/index.d.ts +5832 -6863
  322. package/lib/components/index.mjs +2 -1
  323. package/lib/components/index.mjs.map +1 -1
  324. package/lib/components/transitions/index.d.ts +0 -192
  325. package/lib/composables/component.mjs +11 -0
  326. package/lib/composables/component.mjs.map +1 -0
  327. package/lib/composables/defaults.mjs +63 -5
  328. package/lib/composables/defaults.mjs.map +1 -1
  329. package/lib/composables/focus.mjs.map +1 -1
  330. package/lib/composables/icons.mjs +15 -4
  331. package/lib/composables/icons.mjs.map +1 -1
  332. package/lib/composables/index.mjs +1 -0
  333. package/lib/composables/index.mjs.map +1 -1
  334. package/lib/composables/intersectionObserver.mjs +2 -2
  335. package/lib/composables/intersectionObserver.mjs.map +1 -1
  336. package/lib/composables/loader.mjs.map +1 -1
  337. package/lib/composables/scroll.mjs +3 -0
  338. package/lib/composables/scroll.mjs.map +1 -1
  339. package/lib/entry-bundler.mjs +1 -1
  340. package/lib/entry-bundler.mjs.map +1 -1
  341. package/lib/framework.mjs +8 -3
  342. package/lib/framework.mjs.map +1 -1
  343. package/lib/iconsets/fa-svg.d.ts +1 -1
  344. package/lib/iconsets/fa.d.ts +1 -1
  345. package/lib/iconsets/fa4.d.ts +1 -1
  346. package/lib/iconsets/md.d.ts +1 -1
  347. package/lib/iconsets/mdi-svg.d.ts +1 -1
  348. package/lib/iconsets/mdi.d.ts +1 -1
  349. package/lib/index.d.ts +45 -5
  350. package/lib/labs/VDataTable/index.d.ts +61 -933
  351. package/lib/labs/VInfiniteScroll/VInfiniteScroll.css +26 -0
  352. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +215 -0
  353. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -0
  354. package/lib/labs/VInfiniteScroll/VInfiniteScroll.sass +25 -0
  355. package/lib/labs/VInfiniteScroll/_variables.scss +3 -0
  356. package/lib/labs/VInfiniteScroll/index.d.ts +321 -0
  357. package/lib/labs/VInfiniteScroll/index.mjs +2 -0
  358. package/lib/labs/VInfiniteScroll/index.mjs.map +1 -0
  359. package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
  360. package/lib/labs/components.d.ts +377 -1097
  361. package/lib/labs/components.mjs +1 -1
  362. package/lib/labs/components.mjs.map +1 -1
  363. package/lib/labs/date/DateAdapter.mjs +2 -0
  364. package/lib/labs/date/DateAdapter.mjs.map +1 -0
  365. package/lib/labs/date/adapters/vuetify.d.ts +52 -0
  366. package/lib/labs/date/adapters/vuetify.mjs +399 -0
  367. package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
  368. package/lib/labs/date/date.mjs +39 -0
  369. package/lib/labs/date/date.mjs.map +1 -0
  370. package/lib/labs/date/index.d.ts +40 -0
  371. package/lib/labs/date/index.mjs +2 -0
  372. package/lib/labs/date/index.mjs.map +1 -0
  373. package/lib/labs/index.mjs +3 -2
  374. package/lib/labs/index.mjs.map +1 -1
  375. package/lib/locale/af.mjs +5 -1
  376. package/lib/locale/af.mjs.map +1 -1
  377. package/lib/locale/ar.mjs +5 -1
  378. package/lib/locale/ar.mjs.map +1 -1
  379. package/lib/locale/az.mjs +5 -1
  380. package/lib/locale/az.mjs.map +1 -1
  381. package/lib/locale/bg.mjs +5 -1
  382. package/lib/locale/bg.mjs.map +1 -1
  383. package/lib/locale/ca.mjs +5 -1
  384. package/lib/locale/ca.mjs.map +1 -1
  385. package/lib/locale/ckb.mjs +5 -1
  386. package/lib/locale/ckb.mjs.map +1 -1
  387. package/lib/locale/cs.mjs +5 -1
  388. package/lib/locale/cs.mjs.map +1 -1
  389. package/lib/locale/da.mjs +5 -1
  390. package/lib/locale/da.mjs.map +1 -1
  391. package/lib/locale/de.mjs +5 -1
  392. package/lib/locale/de.mjs.map +1 -1
  393. package/lib/locale/el.mjs +5 -1
  394. package/lib/locale/el.mjs.map +1 -1
  395. package/lib/locale/en.mjs +5 -1
  396. package/lib/locale/en.mjs.map +1 -1
  397. package/lib/locale/es.mjs +5 -1
  398. package/lib/locale/es.mjs.map +1 -1
  399. package/lib/locale/et.mjs +5 -1
  400. package/lib/locale/et.mjs.map +1 -1
  401. package/lib/locale/fa.mjs +5 -1
  402. package/lib/locale/fa.mjs.map +1 -1
  403. package/lib/locale/fi.mjs +5 -1
  404. package/lib/locale/fi.mjs.map +1 -1
  405. package/lib/locale/fr.mjs +5 -1
  406. package/lib/locale/fr.mjs.map +1 -1
  407. package/lib/locale/he.mjs +5 -1
  408. package/lib/locale/he.mjs.map +1 -1
  409. package/lib/locale/hr.mjs +5 -1
  410. package/lib/locale/hr.mjs.map +1 -1
  411. package/lib/locale/hu.mjs +5 -1
  412. package/lib/locale/hu.mjs.map +1 -1
  413. package/lib/locale/id.mjs +5 -1
  414. package/lib/locale/id.mjs.map +1 -1
  415. package/lib/locale/index.d.ts +168 -0
  416. package/lib/locale/it.mjs +5 -1
  417. package/lib/locale/it.mjs.map +1 -1
  418. package/lib/locale/ja.mjs +5 -1
  419. package/lib/locale/ja.mjs.map +1 -1
  420. package/lib/locale/ko.mjs +5 -1
  421. package/lib/locale/ko.mjs.map +1 -1
  422. package/lib/locale/lt.mjs +5 -1
  423. package/lib/locale/lt.mjs.map +1 -1
  424. package/lib/locale/lv.mjs +5 -1
  425. package/lib/locale/lv.mjs.map +1 -1
  426. package/lib/locale/nl.mjs +5 -1
  427. package/lib/locale/nl.mjs.map +1 -1
  428. package/lib/locale/no.mjs +5 -1
  429. package/lib/locale/no.mjs.map +1 -1
  430. package/lib/locale/pl.mjs +5 -1
  431. package/lib/locale/pl.mjs.map +1 -1
  432. package/lib/locale/pt.mjs +5 -1
  433. package/lib/locale/pt.mjs.map +1 -1
  434. package/lib/locale/ro.mjs +5 -1
  435. package/lib/locale/ro.mjs.map +1 -1
  436. package/lib/locale/ru.mjs +5 -1
  437. package/lib/locale/ru.mjs.map +1 -1
  438. package/lib/locale/sk.mjs +5 -1
  439. package/lib/locale/sk.mjs.map +1 -1
  440. package/lib/locale/sl.mjs +5 -1
  441. package/lib/locale/sl.mjs.map +1 -1
  442. package/lib/locale/sr-Cyrl.mjs +5 -1
  443. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  444. package/lib/locale/sr-Latn.mjs +5 -1
  445. package/lib/locale/sr-Latn.mjs.map +1 -1
  446. package/lib/locale/sv.mjs +5 -1
  447. package/lib/locale/sv.mjs.map +1 -1
  448. package/lib/locale/th.mjs +5 -1
  449. package/lib/locale/th.mjs.map +1 -1
  450. package/lib/locale/tr.mjs +5 -1
  451. package/lib/locale/tr.mjs.map +1 -1
  452. package/lib/locale/uk.mjs +5 -1
  453. package/lib/locale/uk.mjs.map +1 -1
  454. package/lib/locale/vi.mjs +5 -1
  455. package/lib/locale/vi.mjs.map +1 -1
  456. package/lib/locale/zh-Hans.mjs +5 -1
  457. package/lib/locale/zh-Hans.mjs.map +1 -1
  458. package/lib/locale/zh-Hant.mjs +5 -1
  459. package/lib/locale/zh-Hant.mjs.map +1 -1
  460. package/lib/styles/main.css +152 -0
  461. package/lib/styles/settings/_utilities.scss +11 -1
  462. package/lib/util/createSimpleFunctional.mjs +9 -4
  463. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  464. package/lib/util/defineComponent.mjs +11 -43
  465. package/lib/util/defineComponent.mjs.map +1 -1
  466. package/lib/util/helpers.mjs +6 -2
  467. package/lib/util/helpers.mjs.map +1 -1
  468. package/lib/util/index.mjs +1 -0
  469. package/lib/util/index.mjs.map +1 -1
  470. package/package.json +3 -2
  471. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +0 -1
  472. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +0 -1
  473. package/lib/labs/VVirtualScroll/index.mjs.map +0 -1
  474. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.css +0 -0
  475. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.sass +0 -0
  476. /package/lib/{labs → components}/VVirtualScroll/index.mjs +0 -0
@@ -11,7 +11,7 @@ declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (.
11
11
 
12
12
  type Density = null | 'default' | 'comfortable' | 'compact';
13
13
 
14
- type IconValue = string | JSXComponent;
14
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
15
15
  declare const IconValue: PropType<IconValue>;
16
16
 
17
17
  type SelectionControlSlot = {
@@ -52,6 +52,7 @@ declare const VRadioGroup: {
52
52
  error: boolean;
53
53
  height: string | number;
54
54
  direction: "horizontal" | "vertical";
55
+ style: vue.StyleValue;
55
56
  disabled: boolean;
56
57
  readonly: boolean;
57
58
  messages: string | string[];
@@ -71,6 +72,7 @@ declare const VRadioGroup: {
71
72
  error: boolean;
72
73
  height: string | number;
73
74
  direction: "horizontal" | "vertical";
75
+ style: vue.StyleValue;
74
76
  disabled: boolean;
75
77
  readonly: boolean;
76
78
  messages: string | string[];
@@ -89,20 +91,21 @@ declare const VRadioGroup: {
89
91
  name?: string | undefined;
90
92
  color?: string | undefined;
91
93
  label?: string | undefined;
94
+ class?: any;
92
95
  theme?: string | undefined;
93
96
  modelValue?: any;
94
97
  prependIcon?: IconValue | undefined;
95
98
  appendIcon?: IconValue | undefined;
96
99
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
97
100
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
98
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
101
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
99
102
  validateOn?: "input" | "blur" | "submit" | undefined;
100
103
  validationValue?: any;
101
104
  hint?: string | undefined;
102
105
  hideDetails?: boolean | "auto" | undefined;
103
106
  } & {
104
- $children?: {} | vue.VNodeChild | {
105
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
107
+ $children?: vue.VNodeChild | ((...args: never) => vue.VNodeChild) | {
108
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
106
109
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
107
110
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
108
111
  details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -112,19 +115,8 @@ declare const VRadioGroup: {
112
115
  }) => vue.VNodeChild) | undefined;
113
116
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
114
117
  };
115
- $slots?: {
116
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
117
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
118
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
119
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
120
- label?: ((args_0: {
121
- label: string | undefined;
122
- props: Record<string, unknown>;
123
- }) => vue.VNodeChild) | undefined;
124
- input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
125
- } | undefined;
126
118
  'v-slots'?: {
127
- default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
119
+ default?: false | ((...args: never) => vue.VNodeChild) | undefined;
128
120
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
129
121
  append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
130
122
  details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -135,7 +127,7 @@ declare const VRadioGroup: {
135
127
  input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
136
128
  } | undefined;
137
129
  } & {
138
- "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
130
+ "v-slot:default"?: false | ((...args: never) => vue.VNodeChild) | undefined;
139
131
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
140
132
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
141
133
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -146,7 +138,7 @@ declare const VRadioGroup: {
146
138
  "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
147
139
  } & {
148
140
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
149
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "type" | "inline" | "error" | "height" | "direction" | "disabled" | "readonly" | "messages" | "density" | "ripple" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "falseIcon" | "trueIcon" | "valueComparator">;
141
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "type" | "inline" | "error" | "height" | "direction" | "style" | "disabled" | "readonly" | "messages" | "density" | "ripple" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "falseIcon" | "trueIcon" | "valueComparator">;
150
142
  $attrs: {
151
143
  [x: string]: unknown;
152
144
  };
@@ -166,6 +158,7 @@ declare const VRadioGroup: {
166
158
  error: boolean;
167
159
  height: string | number;
168
160
  direction: "horizontal" | "vertical";
161
+ style: vue.StyleValue;
169
162
  disabled: boolean;
170
163
  readonly: boolean;
171
164
  messages: string | string[];
@@ -184,20 +177,21 @@ declare const VRadioGroup: {
184
177
  name?: string | undefined;
185
178
  color?: string | undefined;
186
179
  label?: string | undefined;
180
+ class?: any;
187
181
  theme?: string | undefined;
188
182
  modelValue?: any;
189
183
  prependIcon?: IconValue | undefined;
190
184
  appendIcon?: IconValue | undefined;
191
185
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
192
186
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
193
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
187
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
194
188
  validateOn?: "input" | "blur" | "submit" | undefined;
195
189
  validationValue?: any;
196
190
  hint?: string | undefined;
197
191
  hideDetails?: boolean | "auto" | undefined;
198
192
  } & {
199
- $children?: {} | vue.VNodeChild | {
200
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
193
+ $children?: vue.VNodeChild | ((...args: never) => vue.VNodeChild) | {
194
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
201
195
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
202
196
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
203
197
  details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -207,19 +201,8 @@ declare const VRadioGroup: {
207
201
  }) => vue.VNodeChild) | undefined;
208
202
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
209
203
  };
210
- $slots?: {
211
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
212
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
213
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
214
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
215
- label?: ((args_0: {
216
- label: string | undefined;
217
- props: Record<string, unknown>;
218
- }) => vue.VNodeChild) | undefined;
219
- input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
220
- } | undefined;
221
204
  'v-slots'?: {
222
- default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
205
+ default?: false | ((...args: never) => vue.VNodeChild) | undefined;
223
206
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
224
207
  append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
225
208
  details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -230,7 +213,7 @@ declare const VRadioGroup: {
230
213
  input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
231
214
  } | undefined;
232
215
  } & {
233
- "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
216
+ "v-slot:default"?: false | ((...args: never) => vue.VNodeChild) | undefined;
234
217
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
235
218
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
236
219
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -249,6 +232,7 @@ declare const VRadioGroup: {
249
232
  error: boolean;
250
233
  height: string | number;
251
234
  direction: "horizontal" | "vertical";
235
+ style: vue.StyleValue;
252
236
  disabled: boolean;
253
237
  readonly: boolean;
254
238
  messages: string | string[];
@@ -288,6 +272,7 @@ declare const VRadioGroup: {
288
272
  error: boolean;
289
273
  height: string | number;
290
274
  direction: "horizontal" | "vertical";
275
+ style: vue.StyleValue;
291
276
  disabled: boolean;
292
277
  readonly: boolean;
293
278
  messages: string | string[];
@@ -306,20 +291,21 @@ declare const VRadioGroup: {
306
291
  name?: string | undefined;
307
292
  color?: string | undefined;
308
293
  label?: string | undefined;
294
+ class?: any;
309
295
  theme?: string | undefined;
310
296
  modelValue?: any;
311
297
  prependIcon?: IconValue | undefined;
312
298
  appendIcon?: IconValue | undefined;
313
299
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
314
300
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
315
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
301
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
316
302
  validateOn?: "input" | "blur" | "submit" | undefined;
317
303
  validationValue?: any;
318
304
  hint?: string | undefined;
319
305
  hideDetails?: boolean | "auto" | undefined;
320
306
  } & {
321
- $children?: {} | vue.VNodeChild | {
322
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
307
+ $children?: vue.VNodeChild | ((...args: never) => vue.VNodeChild) | {
308
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
323
309
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
324
310
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
325
311
  details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -329,19 +315,8 @@ declare const VRadioGroup: {
329
315
  }) => vue.VNodeChild) | undefined;
330
316
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
331
317
  };
332
- $slots?: {
333
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
334
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
335
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
336
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
337
- label?: ((args_0: {
338
- label: string | undefined;
339
- props: Record<string, unknown>;
340
- }) => vue.VNodeChild) | undefined;
341
- input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
342
- } | undefined;
343
318
  'v-slots'?: {
344
- default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
319
+ default?: false | ((...args: never) => vue.VNodeChild) | undefined;
345
320
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
346
321
  append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
347
322
  details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -352,7 +327,7 @@ declare const VRadioGroup: {
352
327
  input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
353
328
  } | undefined;
354
329
  } & {
355
- "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
330
+ "v-slot:default"?: false | ((...args: never) => vue.VNodeChild) | undefined;
356
331
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
357
332
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
358
333
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -373,6 +348,7 @@ declare const VRadioGroup: {
373
348
  error: boolean;
374
349
  height: string | number;
375
350
  direction: "horizontal" | "vertical";
351
+ style: vue.StyleValue;
376
352
  disabled: boolean;
377
353
  readonly: boolean;
378
354
  messages: string | string[];
@@ -391,20 +367,21 @@ declare const VRadioGroup: {
391
367
  name?: string | undefined;
392
368
  color?: string | undefined;
393
369
  label?: string | undefined;
370
+ class?: any;
394
371
  theme?: string | undefined;
395
372
  modelValue?: any;
396
373
  prependIcon?: IconValue | undefined;
397
374
  appendIcon?: IconValue | undefined;
398
375
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
399
376
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
400
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
377
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
401
378
  validateOn?: "input" | "blur" | "submit" | undefined;
402
379
  validationValue?: any;
403
380
  hint?: string | undefined;
404
381
  hideDetails?: boolean | "auto" | undefined;
405
382
  } & {
406
- $children?: {} | vue.VNodeChild | {
407
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
383
+ $children?: vue.VNodeChild | ((...args: never) => vue.VNodeChild) | {
384
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
408
385
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
409
386
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
410
387
  details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -414,19 +391,8 @@ declare const VRadioGroup: {
414
391
  }) => vue.VNodeChild) | undefined;
415
392
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
416
393
  };
417
- $slots?: {
418
- default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
419
- prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
420
- append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
421
- details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
422
- label?: ((args_0: {
423
- label: string | undefined;
424
- props: Record<string, unknown>;
425
- }) => vue.VNodeChild) | undefined;
426
- input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
427
- } | undefined;
428
394
  'v-slots'?: {
429
- default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
395
+ default?: false | ((...args: never) => vue.VNodeChild) | undefined;
430
396
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
431
397
  append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
432
398
  details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -437,7 +403,7 @@ declare const VRadioGroup: {
437
403
  input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
438
404
  } | undefined;
439
405
  } & {
440
- "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
406
+ "v-slot:default"?: false | ((...args: never) => vue.VNodeChild) | undefined;
441
407
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
442
408
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
443
409
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -456,6 +422,7 @@ declare const VRadioGroup: {
456
422
  error: boolean;
457
423
  height: string | number;
458
424
  direction: "horizontal" | "vertical";
425
+ style: vue.StyleValue;
459
426
  disabled: boolean;
460
427
  readonly: boolean;
461
428
  messages: string | string[];
@@ -505,7 +472,7 @@ declare const VRadioGroup: {
505
472
  default: typeof deepEqual;
506
473
  };
507
474
  focused: BooleanConstructor;
508
- 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
475
+ 'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
509
476
  errorMessages: {
510
477
  type: vue.PropType<string | string[]>;
511
478
  default: () => never[];
@@ -521,6 +488,11 @@ declare const VRadioGroup: {
521
488
  };
522
489
  validateOn: vue.PropType<"input" | "blur" | "submit" | undefined>;
523
490
  validationValue: null;
491
+ class: vue.PropType<any>;
492
+ style: {
493
+ type: vue.PropType<vue.StyleValue>;
494
+ default: null;
495
+ };
524
496
  appendIcon: vue.PropType<IconValue>;
525
497
  prependIcon: vue.PropType<IconValue>;
526
498
  hideDetails: vue.PropType<boolean | "auto">;
@@ -577,7 +549,7 @@ declare const VRadioGroup: {
577
549
  default: typeof deepEqual;
578
550
  };
579
551
  focused: BooleanConstructor;
580
- 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
552
+ 'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
581
553
  errorMessages: {
582
554
  type: vue.PropType<string | string[]>;
583
555
  default: () => never[];
@@ -593,6 +565,11 @@ declare const VRadioGroup: {
593
565
  };
594
566
  validateOn: vue.PropType<"input" | "blur" | "submit" | undefined>;
595
567
  validationValue: null;
568
+ class: vue.PropType<any>;
569
+ style: {
570
+ type: vue.PropType<vue.StyleValue>;
571
+ default: null;
572
+ };
596
573
  appendIcon: vue.PropType<IconValue>;
597
574
  prependIcon: vue.PropType<IconValue>;
598
575
  hideDetails: vue.PropType<boolean | "auto">;
@@ -4,7 +4,7 @@ import "../VSlider/VSlider.css";
4
4
 
5
5
  // Components
6
6
  import { makeVInputProps, VInput } from "../VInput/VInput.mjs";
7
- import { getOffset, makeSliderProps, useSlider } from "../VSlider/slider.mjs";
7
+ import { getOffset, makeSliderProps, useSlider, useSteps } from "../VSlider/slider.mjs";
8
8
  import { VLabel } from "../VLabel/index.mjs";
9
9
  import { VSliderThumb } from "../VSlider/VSliderThumb.mjs";
10
10
  import { VSliderTrack } from "../VSlider/VSliderTrack.mjs"; // Composables
@@ -26,11 +26,14 @@ export const VRangeSlider = genericComponent()({
26
26
  },
27
27
  emits: {
28
28
  'update:focused': value => true,
29
- 'update:modelValue': value => true
29
+ 'update:modelValue': value => true,
30
+ end: value => true,
31
+ start: value => true
30
32
  },
31
33
  setup(props, _ref) {
32
34
  let {
33
- slots
35
+ slots,
36
+ emit
34
37
  } = _ref;
35
38
  const startThumbRef = ref();
36
39
  const stopThumbRef = ref();
@@ -43,6 +46,11 @@ export const VRangeSlider = genericComponent()({
43
46
  const b = Math.abs(stopOffset);
44
47
  return a < b || a === b && startOffset < 0 ? startThumbRef.value.$el : stopThumbRef.value.$el;
45
48
  }
49
+ const steps = useSteps(props);
50
+ const model = useProxiedModel(props, 'modelValue', undefined, arr => {
51
+ if (!arr?.length) return [0, 0];
52
+ return arr.map(value => steps.roundValue(value));
53
+ });
46
54
  const {
47
55
  activeThumbRef,
48
56
  hasLabels,
@@ -52,34 +60,37 @@ export const VRangeSlider = genericComponent()({
52
60
  onSliderMousedown,
53
61
  onSliderTouchstart,
54
62
  position,
55
- roundValue,
56
63
  trackContainerRef
57
64
  } = useSlider({
58
- /* eslint-disable @typescript-eslint/no-use-before-define */
59
65
  props,
60
- handleSliderMouseUp: newValue => {
61
- model.value = activeThumbRef.value === startThumbRef.value?.$el ? [newValue, model.value[1]] : [model.value[0], newValue];
66
+ steps,
67
+ onSliderStart: () => {
68
+ emit('start', model.value);
69
+ },
70
+ onSliderEnd: _ref2 => {
71
+ let {
72
+ value
73
+ } = _ref2;
74
+ const newValue = activeThumbRef.value === startThumbRef.value?.$el ? [value, model.value[1]] : [model.value[0], value];
75
+ model.value = newValue;
76
+ emit('end', newValue);
62
77
  },
63
- handleMouseMove: newValue => {
78
+ onSliderMove: _ref3 => {
79
+ let {
80
+ value
81
+ } = _ref3;
64
82
  const [start, stop] = model.value;
65
83
  if (!props.strict && start === stop && start !== min.value) {
66
- activeThumbRef.value = newValue > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el;
84
+ activeThumbRef.value = value > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el;
67
85
  activeThumbRef.value?.focus();
68
86
  }
69
87
  if (activeThumbRef.value === startThumbRef.value?.$el) {
70
- model.value = [Math.min(newValue, stop), stop];
88
+ model.value = [Math.min(value, stop), stop];
71
89
  } else {
72
- model.value = [start, Math.max(start, newValue)];
90
+ model.value = [start, Math.max(start, value)];
73
91
  }
74
92
  },
75
93
  getActiveThumb
76
- /* eslint-enable @typescript-eslint/no-use-before-define */
77
- });
78
-
79
- const model = useProxiedModel(props, 'modelValue', undefined, arr => {
80
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
81
- if (!arr || !arr.length) return [0, 0];
82
- return arr.map(value => roundValue(value));
83
94
  });
84
95
  const {
85
96
  isFocused,
@@ -97,7 +108,8 @@ export const VRangeSlider = genericComponent()({
97
108
  'v-slider--focused': isFocused.value,
98
109
  'v-slider--pressed': mousePressed.value,
99
110
  'v-slider--disabled': props.disabled
100
- }],
111
+ }, props.class],
112
+ "style": props.style,
101
113
  "ref": inputRef
102
114
  }, inputProps, {
103
115
  "focused": isFocused.value
@@ -107,11 +119,11 @@ export const VRangeSlider = genericComponent()({
107
119
  "class": "v-slider__label",
108
120
  "text": props.label
109
121
  }, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
110
- default: _ref2 => {
122
+ default: _ref4 => {
111
123
  let {
112
124
  id,
113
125
  messagesId
114
- } = _ref2;
126
+ } = _ref4;
115
127
  return _createVNode("div", {
116
128
  "class": "v-slider__container",
117
129
  "onMousedown": onSliderMousedown,
@@ -1 +1 @@
1
- {"version":3,"file":"VRangeSlider.mjs","names":["makeVInputProps","VInput","getOffset","makeSliderProps","useSlider","VLabel","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","useProxiedModel","computed","ref","genericComponent","useRender","VRangeSlider","name","props","strict","Boolean","modelValue","type","Array","default","emits","value","setup","_ref","slots","startThumbRef","stopThumbRef","inputRef","getActiveThumb","e","startOffset","$el","direction","stopOffset","a","Math","abs","b","activeThumbRef","hasLabels","max","min","mousePressed","onSliderMousedown","onSliderTouchstart","position","roundValue","trackContainerRef","handleSliderMouseUp","newValue","model","handleMouseMove","start","stop","focus","undefined","arr","length","map","isFocused","blur","trackStart","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","slotProps","_Fragment","_ref2","id","messagesId","readonly","v","relatedTarget","onBlur"],"sources":["../../../src/components/VRangeSlider/VRangeSlider.tsx"],"sourcesContent":["// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { getOffset, makeSliderProps, useSlider } from '@/components/VSlider/slider'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from '@/components/VSlider/VSliderThumb'\nimport { VSliderTrack } from '@/components/VSlider/VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { VSliderSlots } from '../VSlider/VSlider'\n\nexport const VRangeSlider = genericComponent<VSliderSlots>()({\n name: 'VRangeSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n roundValue,\n trackContainerRef,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = activeThumbRef.value === startThumbRef.value?.$el ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = newValue > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(newValue, stop), stop]\n } else {\n model.value = [start, Math.max(start, newValue)]\n }\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]> & { readonly externalValue: number[] }\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VRangeSlider.mjs","names":["makeVInputProps","VInput","getOffset","makeSliderProps","useSlider","useSteps","VLabel","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","useProxiedModel","computed","ref","genericComponent","useRender","VRangeSlider","name","props","strict","Boolean","modelValue","type","Array","default","emits","value","end","start","setup","_ref","slots","emit","startThumbRef","stopThumbRef","inputRef","getActiveThumb","e","startOffset","$el","direction","stopOffset","a","Math","abs","b","steps","model","undefined","arr","length","map","roundValue","activeThumbRef","hasLabels","max","min","mousePressed","onSliderMousedown","onSliderTouchstart","position","trackContainerRef","onSliderStart","onSliderEnd","_ref2","newValue","onSliderMove","_ref3","stop","focus","isFocused","blur","trackStart","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","class","style","slotProps","_Fragment","_ref4","id","messagesId","readonly","v","relatedTarget","onBlur"],"sources":["../../../src/components/VRangeSlider/VRangeSlider.tsx"],"sourcesContent":["// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { getOffset, makeSliderProps, useSlider, useSteps } from '@/components/VSlider/slider'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from '@/components/VSlider/VSliderThumb'\nimport { VSliderTrack } from '@/components/VSlider/VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { VSliderSlots } from '../VSlider/VSlider'\n\nexport const VRangeSlider = genericComponent<VSliderSlots>()({\n name: 'VRangeSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n end: (value: [number, number]) => true,\n start: (value: [number, number]) => true,\n },\n\n setup (props, { slots, emit }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr?.length) return [0, 0]\n\n return arr.map(value => steps.roundValue(value))\n },\n ) as WritableComputedRef<[number, number]> & { readonly externalValue: number[] }\n\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n trackContainerRef,\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const newValue: [number, number] = activeThumbRef.value === startThumbRef.value?.$el\n ? [value, model.value[1]]\n : [model.value[0], value]\n\n model.value = newValue\n emit('end', newValue)\n },\n onSliderMove: ({ value }) => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = value > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(value, stop), stop]\n } else {\n model.value = [start, Math.max(start, value)]\n }\n },\n getActiveThumb,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n props.class,\n ]}\n style={ props.style }\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n"],"mappings":"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"}