@vuetify/nightly 3.0.0-beta.3 → 3.0.0-beta.6

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 (441) hide show
  1. package/CHANGELOG.md +43 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +261 -205
  4. package/dist/json/importMap.json +175 -219
  5. package/dist/json/tags.json +74 -104
  6. package/dist/json/web-types.json +880 -835
  7. package/dist/vuetify.css +597 -407
  8. package/dist/vuetify.d.ts +6770 -2144
  9. package/dist/vuetify.esm.js +9075 -8454
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +9074 -8453
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +2 -2
  14. package/dist/vuetify.min.js +1078 -1040
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/blueprints/index.mjs +4 -0
  17. package/lib/blueprints/index.mjs.map +1 -0
  18. package/lib/blueprints/md1.mjs +63 -0
  19. package/lib/blueprints/md1.mjs.map +1 -0
  20. package/lib/blueprints/md2.mjs +60 -0
  21. package/lib/blueprints/md2.mjs.map +1 -0
  22. package/lib/blueprints/md3.mjs +74 -0
  23. package/lib/blueprints/md3.mjs.map +1 -0
  24. package/lib/components/VAlert/VAlert.css +5 -5
  25. package/lib/components/VAlert/VAlert.mjs +8 -2
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/VAlert.sass +0 -2
  28. package/lib/components/VApp/VApp.css +2 -5
  29. package/lib/components/VApp/VApp.mjs +3 -4
  30. package/lib/components/VApp/VApp.mjs.map +1 -1
  31. package/lib/components/VApp/VApp.sass +11 -12
  32. package/lib/components/VApp/variables.scss +6 -0
  33. package/lib/components/VAppBar/VAppBar.mjs +4 -3
  34. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBar.sass +0 -1
  36. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -12
  37. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  38. package/lib/components/VAppBar/VAppBarTitle.mjs +4 -3
  39. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  40. package/lib/components/VAppBar/_variables.scss +2 -0
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs +54 -21
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  44. package/lib/components/VAvatar/VAvatar.css +1 -1
  45. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  46. package/lib/components/VAvatar/VAvatar.sass +1 -2
  47. package/lib/components/VAvatar/_mixins.scss +0 -1
  48. package/lib/components/VBadge/VBadge.mjs +8 -7
  49. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  50. package/lib/components/VBadge/VBadge.sass +0 -1
  51. package/lib/components/VBadge/_variables.scss +2 -2
  52. package/lib/components/VBanner/VBanner.css +7 -7
  53. package/lib/components/VBanner/VBanner.mjs +24 -17
  54. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  55. package/lib/components/VBanner/VBanner.sass +6 -8
  56. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/index.mjs +0 -2
  59. package/lib/components/VBanner/index.mjs.map +1 -1
  60. package/lib/components/VBottomNavigation/VBottomNavigation.css +4 -11
  61. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -3
  62. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  63. package/lib/components/VBottomNavigation/VBottomNavigation.sass +5 -13
  64. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  65. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  66. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +30 -19
  67. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  69. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +5 -8
  70. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  71. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  72. package/lib/components/VBtn/VBtn.css +72 -15
  73. package/lib/components/VBtn/VBtn.mjs +70 -27
  74. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  75. package/lib/components/VBtn/VBtn.sass +70 -13
  76. package/lib/components/VBtn/_variables.scss +4 -1
  77. package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
  78. package/lib/components/VBtnGroup/_variables.scss +2 -0
  79. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  80. package/lib/components/VBtnToggle/_variables.scss +1 -0
  81. package/lib/components/VCard/VCard.css +86 -69
  82. package/lib/components/VCard/VCard.mjs +52 -66
  83. package/lib/components/VCard/VCard.mjs.map +1 -1
  84. package/lib/components/VCard/VCard.sass +74 -62
  85. package/lib/components/VCard/VCardActions.mjs +1 -1
  86. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  87. package/lib/components/VCard/VCardItem.mjs +88 -0
  88. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  89. package/lib/components/VCard/_variables.scss +40 -24
  90. package/lib/components/VCard/index.mjs +1 -5
  91. package/lib/components/VCard/index.mjs.map +1 -1
  92. package/lib/components/VCarousel/VCarousel.mjs +5 -4
  93. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  94. package/lib/components/VCarousel/VCarousel.sass +0 -1
  95. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  96. package/lib/components/VCarousel/_variables.scss +1 -0
  97. package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
  98. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  99. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  100. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  101. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  102. package/lib/components/VCheckbox/index.mjs +1 -0
  103. package/lib/components/VCheckbox/index.mjs.map +1 -1
  104. package/lib/components/VChip/VChip.css +142 -65
  105. package/lib/components/VChip/VChip.mjs +77 -38
  106. package/lib/components/VChip/VChip.mjs.map +1 -1
  107. package/lib/components/VChip/VChip.sass +6 -1
  108. package/lib/components/VChip/_mixins.scss +26 -6
  109. package/lib/components/VChip/_variables.scss +1 -5
  110. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  111. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  112. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  113. package/lib/components/VChipGroup/_variables.scss +1 -1
  114. package/lib/components/VCode/VCode.sass +1 -2
  115. package/lib/components/VCode/_variables.scss +1 -1
  116. package/lib/components/VColorPicker/VColorPicker.mjs +16 -10
  117. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  118. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  119. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
  120. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  121. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  122. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  123. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  124. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  125. package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
  126. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  127. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  128. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  129. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  130. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  131. package/lib/components/VColorPicker/_variables.scss +17 -10
  132. package/lib/components/VCombobox/VCombobox.mjs +52 -36
  133. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  134. package/lib/components/VCombobox/VCombobox.sass +0 -2
  135. package/lib/components/VCounter/VCounter.mjs +16 -16
  136. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  137. package/lib/components/VCounter/VCounter.sass +1 -2
  138. package/lib/components/VCounter/_variables.scss +2 -1
  139. package/lib/components/VDialog/VDialog.css +2 -5
  140. package/lib/components/VDialog/VDialog.mjs +25 -25
  141. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  142. package/lib/components/VDialog/VDialog.sass +1 -5
  143. package/lib/components/VDialog/_variables.scss +0 -1
  144. package/lib/components/VDivider/VDivider.mjs +16 -17
  145. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  146. package/lib/components/VDivider/VDivider.sass +0 -1
  147. package/lib/components/VDivider/_variables.scss +3 -1
  148. package/lib/components/VExpansionPanel/VExpansionPanel.css +1 -0
  149. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +9 -4
  150. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  151. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  152. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -7
  153. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  154. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  155. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  156. package/lib/components/VField/VField.css +11 -11
  157. package/lib/components/VField/VField.mjs +19 -12
  158. package/lib/components/VField/VField.mjs.map +1 -1
  159. package/lib/components/VField/VField.sass +8 -10
  160. package/lib/components/VField/VFieldLabel.mjs +8 -9
  161. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  162. package/lib/components/VField/_variables.scss +3 -3
  163. package/lib/components/VFileInput/VFileInput.css +3 -3
  164. package/lib/components/VFileInput/VFileInput.mjs +12 -7
  165. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  166. package/lib/components/VFileInput/VFileInput.sass +3 -4
  167. package/lib/components/VFooter/VFooter.mjs +4 -3
  168. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  169. package/lib/components/VFooter/VFooter.sass +0 -1
  170. package/lib/components/VFooter/_variables.scss +2 -1
  171. package/lib/components/VForm/VForm.mjs +3 -3
  172. package/lib/components/VForm/VForm.mjs.map +1 -1
  173. package/lib/components/VGrid/VCol.mjs.map +1 -1
  174. package/lib/components/VGrid/VContainer.mjs +4 -3
  175. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  176. package/lib/components/VGrid/VRow.mjs.map +1 -1
  177. package/lib/components/VIcon/VIcon.css +0 -8
  178. package/lib/components/VIcon/VIcon.mjs +20 -21
  179. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  180. package/lib/components/VIcon/VIcon.sass +0 -9
  181. package/lib/components/VIcon/_variables.scss +2 -5
  182. package/lib/components/VIcon/index.mjs.map +1 -1
  183. package/lib/components/VImg/VImg.sass +0 -1
  184. package/lib/components/VInput/VInput.mjs +13 -9
  185. package/lib/components/VInput/VInput.mjs.map +1 -1
  186. package/lib/components/VInput/VInput.sass +0 -1
  187. package/lib/components/VItemGroup/VItem.mjs +3 -0
  188. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  189. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  190. package/lib/components/VKbd/VKbd.sass +0 -1
  191. package/lib/components/VKbd/_variables.scss +1 -1
  192. package/lib/components/VLabel/VLabel.mjs +4 -3
  193. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  194. package/lib/components/VLabel/VLabel.sass +0 -1
  195. package/lib/components/VLabel/_variables.scss +1 -0
  196. package/lib/components/VLazy/VLazy.mjs +5 -3
  197. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  198. package/lib/components/VList/VList.css +2 -2
  199. package/lib/components/VList/VList.mjs +16 -18
  200. package/lib/components/VList/VList.mjs.map +1 -1
  201. package/lib/components/VList/VList.sass +1 -2
  202. package/lib/components/VList/VListChildren.mjs +7 -6
  203. package/lib/components/VList/VListChildren.mjs.map +1 -1
  204. package/lib/components/VList/VListGroup.mjs +45 -31
  205. package/lib/components/VList/VListGroup.mjs.map +1 -1
  206. package/lib/components/VList/VListItem.css +84 -58
  207. package/lib/components/VList/VListItem.mjs +78 -45
  208. package/lib/components/VList/VListItem.mjs.map +1 -1
  209. package/lib/components/VList/VListItem.sass +68 -40
  210. package/lib/components/VList/VListItemAction.mjs +8 -9
  211. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  212. package/lib/components/VList/VListItemMedia.mjs +4 -3
  213. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  214. package/lib/components/VList/VListSubheader.mjs +4 -3
  215. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  216. package/lib/components/VList/_variables.scss +11 -5
  217. package/lib/components/VList/index.mjs +2 -5
  218. package/lib/components/VList/index.mjs.map +1 -1
  219. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  220. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  221. package/lib/components/VMain/VMain.mjs +4 -3
  222. package/lib/components/VMain/VMain.mjs.map +1 -1
  223. package/lib/components/VMain/VMain.sass +0 -1
  224. package/lib/components/VMain/_variables.scss +1 -1
  225. package/lib/components/VMenu/VMenu.mjs +5 -5
  226. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  227. package/lib/components/VMenu/VMenu.sass +0 -1
  228. package/lib/components/VMessages/VMessages.mjs +5 -3
  229. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  230. package/lib/components/VMessages/VMessages.sass +0 -1
  231. package/lib/components/VMessages/_variables.scss +1 -1
  232. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +10 -4
  233. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  234. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  235. package/lib/components/VNavigationDrawer/_variables.scss +2 -1
  236. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  237. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  238. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  239. package/lib/components/VOverlay/VOverlay.mjs +10 -8
  240. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  241. package/lib/components/VOverlay/VOverlay.sass +0 -1
  242. package/lib/components/VOverlay/locationStrategies.mjs +267 -78
  243. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  244. package/lib/components/VOverlay/useActivator.mjs +4 -3
  245. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  246. package/lib/components/VOverlay/util/point.mjs +3 -3
  247. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  248. package/lib/components/VPagination/VPagination.mjs +41 -23
  249. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  250. package/lib/components/VPagination/VPagination.sass +0 -1
  251. package/lib/components/VParallax/VParallax.mjs +5 -5
  252. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  253. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  254. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  255. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  256. package/lib/components/VProgressCircular/_variables.scss +2 -0
  257. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  258. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  259. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  260. package/lib/components/VProgressLinear/_variables.scss +1 -0
  261. package/lib/components/VRadioGroup/VRadioGroup.mjs +6 -3
  262. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  263. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  264. package/lib/components/VRadioGroup/_variables.scss +3 -4
  265. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -13
  266. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  267. package/lib/components/VRating/VRating.mjs +6 -5
  268. package/lib/components/VRating/VRating.mjs.map +1 -1
  269. package/lib/components/VRating/VRating.sass +2 -1
  270. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  271. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  272. package/lib/components/VSelect/VSelect.mjs +61 -22
  273. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  274. package/lib/components/VSelect/VSelect.sass +0 -2
  275. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  276. package/lib/components/VSelectionControl/VSelectionControl.mjs +12 -10
  277. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  278. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  279. package/lib/components/VSelectionControl/_variables.scss +1 -0
  280. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  281. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  282. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -6
  283. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  284. package/lib/components/VSheet/VSheet.mjs +3 -3
  285. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  286. package/lib/components/VSheet/VSheet.sass +0 -1
  287. package/lib/components/VSheet/_variables.scss +3 -2
  288. package/lib/components/VSlideGroup/VSlideGroup.mjs +47 -49
  289. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
  291. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +7 -3
  292. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  293. package/lib/components/VSlideGroup/_variables.scss +0 -5
  294. package/lib/components/VSlideGroup/index.mjs +2 -2
  295. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  296. package/lib/components/VSlider/VSlider.mjs +7 -9
  297. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  298. package/lib/components/VSlider/VSlider.sass +0 -2
  299. package/lib/components/VSlider/VSliderThumb.mjs +6 -5
  300. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  301. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  302. package/lib/components/VSlider/VSliderTrack.mjs +11 -10
  303. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  304. package/lib/components/VSlider/VSliderTrack.sass +0 -2
  305. package/lib/components/VSlider/slider.mjs +4 -4
  306. package/lib/components/VSlider/slider.mjs.map +1 -1
  307. package/lib/components/VSnackbar/VSnackbar.css +5 -5
  308. package/lib/components/VSnackbar/VSnackbar.mjs +49 -49
  309. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  310. package/lib/components/VSnackbar/VSnackbar.sass +0 -1
  311. package/lib/components/VSnackbar/_variables.scss +2 -0
  312. package/lib/components/VSwitch/VSwitch.css +7 -0
  313. package/lib/components/VSwitch/VSwitch.mjs +8 -2
  314. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  315. package/lib/components/VSwitch/VSwitch.sass +6 -1
  316. package/lib/components/VSwitch/_variables.scss +1 -0
  317. package/lib/components/VSystemBar/VSystemBar.mjs +5 -13
  318. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  319. package/lib/components/VSystemBar/VSystemBar.sass +0 -1
  320. package/lib/components/VSystemBar/_variables.scss +2 -1
  321. package/lib/components/VTable/VTable.css +1 -0
  322. package/lib/components/VTable/VTable.mjs +9 -8
  323. package/lib/components/VTable/VTable.mjs.map +1 -1
  324. package/lib/components/VTable/VTable.sass +1 -1
  325. package/lib/components/VTable/_variables.scss +2 -0
  326. package/lib/components/VTabs/VTab.css +3 -1
  327. package/lib/components/VTabs/VTab.mjs +4 -4
  328. package/lib/components/VTabs/VTab.mjs.map +1 -1
  329. package/lib/components/VTabs/VTab.sass +4 -2
  330. package/lib/components/VTabs/VTabs.mjs +15 -12
  331. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  332. package/lib/components/VTabs/VTabs.sass +0 -1
  333. package/lib/components/VTabs/_variables.scss +2 -0
  334. package/lib/components/VTextField/VTextField.mjs +25 -13
  335. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  336. package/lib/components/VTextField/VTextField.sass +0 -1
  337. package/lib/components/VTextField/_variables.scss +1 -1
  338. package/lib/components/VTextarea/VTextarea.mjs +22 -12
  339. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  340. package/lib/components/VTextarea/VTextarea.sass +0 -2
  341. package/lib/components/VTextarea/_variables.scss +1 -0
  342. package/lib/components/VTimeline/VTimeline.mjs +24 -25
  343. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  344. package/lib/components/VTimeline/VTimeline.sass +3 -3
  345. package/lib/components/VTimeline/VTimelineDivider.mjs +41 -38
  346. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  347. package/lib/components/VTimeline/VTimelineItem.mjs +10 -11
  348. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  349. package/lib/components/VTimeline/_variables.scss +11 -6
  350. package/lib/components/VToolbar/VToolbar.css +15 -6
  351. package/lib/components/VToolbar/VToolbar.mjs +9 -9
  352. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  353. package/lib/components/VToolbar/VToolbar.sass +15 -7
  354. package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
  355. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  356. package/lib/components/VToolbar/_variables.scss +6 -2
  357. package/lib/components/VTooltip/VTooltip.mjs +41 -39
  358. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  359. package/lib/components/VTooltip/VTooltip.sass +0 -1
  360. package/lib/components/VTooltip/_variables.scss +1 -0
  361. package/lib/components/VWindow/VWindow.mjs +4 -4
  362. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  363. package/lib/components/VWindow/VWindow.sass +0 -2
  364. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  365. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  366. package/lib/components/VWindow/_variables.scss +1 -0
  367. package/lib/components/index.d.ts +7316 -2666
  368. package/lib/components/transitions/dialog-transition.mjs +3 -0
  369. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  370. package/lib/components/transitions/index.mjs +0 -5
  371. package/lib/components/transitions/index.mjs.map +1 -1
  372. package/lib/composables/border.mjs +5 -6
  373. package/lib/composables/border.mjs.map +1 -1
  374. package/lib/composables/display.mjs +13 -11
  375. package/lib/composables/display.mjs.map +1 -1
  376. package/lib/composables/form.mjs +6 -6
  377. package/lib/composables/form.mjs.map +1 -1
  378. package/lib/composables/group.mjs.map +1 -1
  379. package/lib/composables/items.mjs +2 -2
  380. package/lib/composables/items.mjs.map +1 -1
  381. package/lib/composables/location.mjs +4 -8
  382. package/lib/composables/location.mjs.map +1 -1
  383. package/lib/composables/proxiedModel.mjs +2 -1
  384. package/lib/composables/proxiedModel.mjs.map +1 -1
  385. package/lib/composables/size.mjs +2 -2
  386. package/lib/composables/size.mjs.map +1 -1
  387. package/lib/composables/ssrBoot.mjs +3 -2
  388. package/lib/composables/ssrBoot.mjs.map +1 -1
  389. package/lib/composables/stack.mjs +7 -7
  390. package/lib/composables/stack.mjs.map +1 -1
  391. package/lib/composables/theme.mjs +15 -6
  392. package/lib/composables/theme.mjs.map +1 -1
  393. package/lib/composables/validation.mjs +15 -8
  394. package/lib/composables/validation.mjs.map +1 -1
  395. package/lib/composables/variant.mjs +7 -5
  396. package/lib/composables/variant.mjs.map +1 -1
  397. package/lib/directives/ripple/VRipple.sass +0 -1
  398. package/lib/entry-bundler.mjs +1 -1
  399. package/lib/framework.mjs +29 -7
  400. package/lib/framework.mjs.map +1 -1
  401. package/lib/index.d.ts +68 -70
  402. package/lib/styles/generic/_transitions.scss +13 -77
  403. package/lib/styles/main.css +44 -58
  404. package/lib/styles/tools/_variant.sass +6 -6
  405. package/lib/util/anchor.mjs +34 -28
  406. package/lib/util/anchor.mjs.map +1 -1
  407. package/lib/util/animation.mjs +2 -2
  408. package/lib/util/animation.mjs.map +1 -1
  409. package/lib/util/box.mjs +12 -0
  410. package/lib/util/box.mjs.map +1 -1
  411. package/lib/util/getCurrentInstance.mjs +19 -0
  412. package/lib/util/getCurrentInstance.mjs.map +1 -1
  413. package/lib/util/helpers.mjs +21 -5
  414. package/lib/util/helpers.mjs.map +1 -1
  415. package/package.json +16 -10
  416. package/lib/components/VBanner/VBannerAvatar.mjs +0 -20
  417. package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
  418. package/lib/components/VBanner/VBannerIcon.mjs +0 -20
  419. package/lib/components/VBanner/VBannerIcon.mjs.map +0 -1
  420. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  421. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  422. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  423. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  424. package/lib/components/VCard/VCardContent.mjs +0 -3
  425. package/lib/components/VCard/VCardContent.mjs.map +0 -1
  426. package/lib/components/VCard/VCardHeader.mjs +0 -3
  427. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  428. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  429. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  430. package/lib/components/VCard/VCardImg.mjs +0 -3
  431. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  432. package/lib/components/VList/VListItemAvatar.mjs +0 -23
  433. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  434. package/lib/components/VList/VListItemHeader.mjs +0 -3
  435. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  436. package/lib/components/VList/VListItemIcon.mjs +0 -23
  437. package/lib/components/VList/VListItemIcon.mjs.map +0 -1
  438. package/lib/components/VTimeline/shared.mjs +0 -2
  439. package/lib/components/VTimeline/shared.mjs.map +0 -1
  440. package/lib/presets/default/index.mjs +0 -71
  441. package/lib/presets/default/index.mjs.map +0 -1
@@ -5,16 +5,16 @@ import "./VSlideGroup.css"; // Components
5
5
  import { VFadeTransition } from "../transitions/index.mjs";
6
6
  import { VIcon } from "../VIcon/index.mjs"; // Composables
7
7
 
8
+ import { IconValue } from "../../composables/icons.mjs";
8
9
  import { makeGroupProps, useGroup } from "../../composables/group.mjs";
9
10
  import { makeTagProps } from "../../composables/tag.mjs";
10
11
  import { useDisplay } from "../../composables/index.mjs";
11
12
  import { useResizeObserver } from "../../composables/resizeObserver.mjs";
12
- import { useRtl } from "../../composables/rtl.mjs";
13
- import { IconValue } from "../../composables/icons.mjs"; // Utilities
13
+ import { useRtl } from "../../composables/rtl.mjs"; // Utilities
14
14
 
15
15
  import { bias, calculateCenteredOffset, calculateUpdatedOffset } from "./helpers.mjs";
16
- import { clamp, defineComponent, useRender } from "../../util/index.mjs";
17
- import { computed, ref, watch, watchEffect } from 'vue'; // Types
16
+ import { clamp, defineComponent, IN_BROWSER, useRender } from "../../util/index.mjs";
17
+ import { computed, ref, watch } from 'vue'; // Types
18
18
 
19
19
  export const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
20
20
  export const VSlideGroup = defineComponent({
@@ -74,13 +74,6 @@ export const VSlideGroup = defineComponent({
74
74
  resizeRef: contentRef,
75
75
  contentRect
76
76
  } = useResizeObserver();
77
- watchEffect(() => {
78
- if (!containerRect.value || !contentRect.value) return;
79
- const sizeProperty = isHorizontal.value ? 'width' : 'height';
80
- containerSize.value = containerRect.value[sizeProperty];
81
- contentSize.value = contentRect.value[sizeProperty];
82
- isOverflowing.value = containerSize.value + 1 < contentSize.value;
83
- });
84
77
  const firstSelectedIndex = computed(() => {
85
78
  if (!group.selected.value.length) return -1;
86
79
  return group.items.value.findIndex(item => item.id === group.selected.value[0]);
@@ -89,46 +82,48 @@ export const VSlideGroup = defineComponent({
89
82
  if (!group.selected.value.length) return -1;
90
83
  return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1]);
91
84
  });
92
- watch(group.selected, () => {
93
- if (firstSelectedIndex.value < 0 || !contentRef.value) return; // TODO: Is this too naive? Should we store element references in group composable?
94
-
95
- const selectedElement = contentRef.value.children[lastSelectedIndex.value];
96
-
97
- if (firstSelectedIndex.value === 0 || !isOverflowing.value) {
98
- scrollOffset.value = 0;
99
- } else if (props.centerActive) {
100
- scrollOffset.value = calculateCenteredOffset({
101
- selectedElement,
102
- containerSize: containerSize.value,
103
- contentSize: contentSize.value,
104
- isRtl: isRtl.value,
105
- isHorizontal: isHorizontal.value
106
- });
107
- } else if (isOverflowing.value) {
108
- scrollOffset.value = calculateUpdatedOffset({
109
- selectedElement,
110
- containerSize: containerSize.value,
111
- contentSize: contentSize.value,
112
- isRtl: isRtl.value,
113
- currentScrollOffset: scrollOffset.value,
114
- isHorizontal: isHorizontal.value
85
+
86
+ if (IN_BROWSER) {
87
+ let frame = -1;
88
+ watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {
89
+ cancelAnimationFrame(frame);
90
+ frame = requestAnimationFrame(() => {
91
+ if (containerRect.value && contentRect.value) {
92
+ const sizeProperty = isHorizontal.value ? 'width' : 'height';
93
+ containerSize.value = containerRect.value[sizeProperty];
94
+ contentSize.value = contentRect.value[sizeProperty];
95
+ isOverflowing.value = containerSize.value + 1 < contentSize.value;
96
+ }
97
+
98
+ if (firstSelectedIndex.value >= 0 && contentRef.value) {
99
+ // TODO: Is this too naive? Should we store element references in group composable?
100
+ const selectedElement = contentRef.value.children[lastSelectedIndex.value];
101
+
102
+ if (firstSelectedIndex.value === 0 || !isOverflowing.value) {
103
+ scrollOffset.value = 0;
104
+ } else if (props.centerActive) {
105
+ scrollOffset.value = calculateCenteredOffset({
106
+ selectedElement,
107
+ containerSize: containerSize.value,
108
+ contentSize: contentSize.value,
109
+ isRtl: isRtl.value,
110
+ isHorizontal: isHorizontal.value
111
+ });
112
+ } else if (isOverflowing.value) {
113
+ scrollOffset.value = calculateUpdatedOffset({
114
+ selectedElement,
115
+ containerSize: containerSize.value,
116
+ contentSize: contentSize.value,
117
+ isRtl: isRtl.value,
118
+ currentScrollOffset: scrollOffset.value,
119
+ isHorizontal: isHorizontal.value
120
+ });
121
+ }
122
+ }
115
123
  });
116
- }
117
- });
118
- let firstOverflow = true;
119
- watch(isOverflowing, () => {
120
- if (!firstOverflow || !contentRef.value || firstSelectedIndex.value < 0) return;
121
- firstOverflow = false; // TODO: Is this too naive? Should we store element references in group composable?
122
-
123
- const selectedElement = contentRef.value.children[firstSelectedIndex.value];
124
- scrollOffset.value = calculateCenteredOffset({
125
- selectedElement,
126
- containerSize: containerSize.value,
127
- contentSize: contentSize.value,
128
- isRtl: isRtl.value,
129
- isHorizontal: isHorizontal.value
130
124
  });
131
- });
125
+ }
126
+
132
127
  const disableTransition = ref(false);
133
128
  let startTouch = 0;
134
129
  let startOffset = 0;
@@ -315,6 +310,7 @@ export const VSlideGroup = defineComponent({
315
310
  "onFocus": onFocus
316
311
  }, {
317
312
  default: () => [hasAffixes.value && _createVNode("div", {
313
+ "key": "prev",
318
314
  "class": ['v-slide-group__prev', {
319
315
  'v-slide-group__prev--disabled': !hasPrev.value
320
316
  }],
@@ -324,6 +320,7 @@ export const VSlideGroup = defineComponent({
324
320
  "icon": props.prevIcon
325
321
  }, null)]
326
322
  })]), _createVNode("div", {
323
+ "key": "container",
327
324
  "ref": containerRef,
328
325
  "class": "v-slide-group__container",
329
326
  "onScroll": onScroll
@@ -338,6 +335,7 @@ export const VSlideGroup = defineComponent({
338
335
  "onFocusout": onFocusout,
339
336
  "onKeydown": onKeydown
340
337
  }, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value)])]), hasAffixes.value && _createVNode("div", {
338
+ "key": "next",
341
339
  "class": ['v-slide-group__next', {
342
340
  'v-slide-group__next--disabled': !hasNext.value
343
341
  }],
@@ -1 +1 @@
1
- {"version":3,"file":"VSlideGroup.mjs","names":["VFadeTransition","VIcon","makeGroupProps","useGroup","makeTagProps","useDisplay","useResizeObserver","useRtl","IconValue","bias","calculateCenteredOffset","calculateUpdatedOffset","clamp","defineComponent","useRender","computed","ref","watch","watchEffect","VSlideGroupSymbol","Symbol","for","VSlideGroup","name","props","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","emits","value","setup","slots","isRtl","mobile","group","isOverflowing","scrollOffset","containerSize","contentSize","isHorizontal","resizeRef","containerRef","contentRect","containerRect","contentRef","sizeProperty","firstSelectedIndex","selected","length","items","findIndex","item","id","lastSelectedIndex","selectedElement","children","currentScrollOffset","firstOverflow","disableTransition","startTouch","startOffset","onTouchstart","e","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","scrollLeft","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","querySelector","focusable","querySelectorAll","filter","hasAttribute","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","sign","newAbosluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext"],"sources":["../../../src/components/VSlideGroup/VSlideGroup.tsx"],"sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/rtl'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, defineComponent, useRender } from '@/util'\nimport { computed, ref, watch, watchEffect } from 'vue'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\nexport const VSlideGroup = defineComponent({\n name: 'VSlideGroup',\n\n props: {\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n watchEffect(() => {\n if (!containerRect.value || !contentRect.value) return\n\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n })\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n watch(group.selected, () => {\n if (firstSelectedIndex.value < 0 || !contentRef.value) return\n\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n })\n\n let firstOverflow = true\n watch(isOverflowing, () => {\n if (!firstOverflow || !contentRef.value || firstSelectedIndex.value < 0) return\n\n firstOverflow = false\n\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[firstSelectedIndex.value] as HTMLElement\n\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n })\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n startOffset = scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n scrollOffset.value = startOffset + startTouch - e.touches[0][sizeProperty]\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (isRtl.value) {\n if (scrollOffset.value > 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value <= -maxScrollOffset) {\n scrollOffset.value = -maxScrollOffset\n }\n } else {\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n containerRef.value && (containerRef.value.scrollLeft = 0)\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === (isHorizontal.value ? 'ArrowRight' : 'ArrowDown')) {\n focus('next')\n } else if (e.key === (isHorizontal.value ? 'ArrowLeft' : 'ArrowUp')) {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n contentRef.value.querySelector('[tabindex]')\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const sign = isRtl.value ? -1 : 1\n const newAbosluteOffset = sign * scrollOffset.value +\n (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = sign * clamp(newAbosluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n const scrollAmount = scrollOffset.value <= 0\n ? bias(-scrollOffset.value)\n : scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return hasAffixes.value && scrollOffset.value > 0\n })\n\n const hasNext = computed(() => {\n if (!hasAffixes.value) return false\n\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSlideGroup.mjs","names":["VFadeTransition","VIcon","IconValue","makeGroupProps","useGroup","makeTagProps","useDisplay","useResizeObserver","useRtl","bias","calculateCenteredOffset","calculateUpdatedOffset","clamp","defineComponent","IN_BROWSER","useRender","computed","ref","watch","VSlideGroupSymbol","Symbol","for","VSlideGroup","name","props","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","emits","value","setup","slots","isRtl","mobile","group","isOverflowing","scrollOffset","containerSize","contentSize","isHorizontal","resizeRef","containerRef","contentRect","containerRect","contentRef","firstSelectedIndex","selected","length","items","findIndex","item","id","lastSelectedIndex","frame","cancelAnimationFrame","requestAnimationFrame","sizeProperty","selectedElement","children","currentScrollOffset","disableTransition","startTouch","startOffset","onTouchstart","e","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","scrollLeft","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","querySelector","focusable","querySelectorAll","filter","hasAttribute","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","sign","newAbosluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext"],"sources":["../../../src/components/VSlideGroup/VSlideGroup.tsx"],"sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, defineComponent, IN_BROWSER, useRender } from '@/util'\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\nexport const VSlideGroup = defineComponent({\n name: 'VSlideGroup',\n\n props: {\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n if (IN_BROWSER) {\n let frame = -1\n watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n if (containerRect.value && contentRect.value) {\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n }\n\n if (firstSelectedIndex.value >= 0 && contentRef.value) {\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n }\n })\n })\n }\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n startOffset = scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n scrollOffset.value = startOffset + startTouch - e.touches[0][sizeProperty]\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (isRtl.value) {\n if (scrollOffset.value > 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value <= -maxScrollOffset) {\n scrollOffset.value = -maxScrollOffset\n }\n } else {\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n containerRef.value && (containerRef.value.scrollLeft = 0)\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === (isHorizontal.value ? 'ArrowRight' : 'ArrowDown')) {\n focus('next')\n } else if (e.key === (isHorizontal.value ? 'ArrowLeft' : 'ArrowUp')) {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n contentRef.value.querySelector('[tabindex]')\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const sign = isRtl.value ? -1 : 1\n const newAbosluteOffset = sign * scrollOffset.value +\n (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = sign * clamp(newAbosluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n const scrollAmount = scrollOffset.value <= 0\n ? bias(-scrollOffset.value)\n : scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return hasAffixes.value && scrollOffset.value > 0\n })\n\n const hasNext = computed(() => {\n if (!hasAffixes.value) return false\n\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n key=\"prev\"\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n key=\"container\"\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n key=\"next\"\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:math'
3
2
  @use 'sass:map'
4
3
  @use '../../styles/settings'
@@ -1,12 +1,16 @@
1
1
  // Composables
2
- import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
3
- import { VSlideGroupSymbol } from "./VSlideGroup.mjs"; // Utilities
2
+ import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs"; // Utilities
4
3
 
5
- import { defineComponent } from "../../util/index.mjs";
4
+ import { defineComponent } from "../../util/index.mjs"; // Types
5
+
6
+ import { VSlideGroupSymbol } from "./VSlideGroup.mjs";
6
7
  export const VSlideGroupItem = defineComponent({
7
8
  name: 'VSlideGroupItem',
8
9
  props: { ...makeGroupItemProps()
9
10
  },
11
+ emits: {
12
+ 'group:selected': val => true
13
+ },
10
14
 
11
15
  setup(props, _ref) {
12
16
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","VSlideGroupSymbol","defineComponent","VSlideGroupItem","name","props","setup","slots","slideGroupItem","default","isSelected","value","select","toggle","selectedClass"],"sources":["../../../src/components/VSlideGroup/VSlideGroupItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VSlideGroupItem = defineComponent({\n name: 'VSlideGroupItem',\n\n props: {\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value,\n })\n },\n})\n"],"mappings":"AAAA;SACSA,kB,EAAoBC,Y;SACpBC,iB,6BAET;;SACSC,e;AAET,OAAO,MAAMC,eAAe,GAAGD,eAAe,CAAC;EAC7CE,IAAI,EAAE,iBADuC;EAG7CC,KAAK,EAAE,EACL,GAAGN,kBAAkB;EADhB,CAHsC;;EAO7CO,KAAK,CAAED,KAAF,QAAoB;IAAA,IAAX;MAAEE;IAAF,CAAW;IACvB,MAAMC,cAAc,GAAGR,YAAY,CAACK,KAAD,EAAQJ,iBAAR,CAAnC;IAEA,OAAO;MAAA;;MAAA,yBAAMM,KAAK,CAACE,OAAZ,qBAAM,oBAAAF,KAAK,EAAW;QAC3BG,UAAU,EAAEF,cAAc,CAACE,UAAf,CAA0BC,KADX;QAE3BC,MAAM,EAAEJ,cAAc,CAACI,MAFI;QAG3BC,MAAM,EAAEL,cAAc,CAACK,MAHI;QAI3BC,aAAa,EAAEN,cAAc,CAACM,aAAf,CAA6BH;MAJjB,CAAX,CAAX;IAAA,CAAP;EAMD;;AAhB4C,CAAD,CAAvC"}
1
+ {"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","defineComponent","VSlideGroupSymbol","VSlideGroupItem","name","props","emits","val","setup","slots","slideGroupItem","default","isSelected","value","select","toggle","selectedClass"],"sources":["../../../src/components/VSlideGroup/VSlideGroupItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\n// Types\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\nexport const VSlideGroupItem = defineComponent({\n name: 'VSlideGroupItem',\n\n props: {\n ...makeGroupItemProps(),\n },\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value,\n })\n },\n})\n"],"mappings":"AAAA;SACSA,kB,EAAoBC,Y,uCAE7B;;SACSC,e,gCAET;;SACSC,iB;AAET,OAAO,MAAMC,eAAe,GAAGF,eAAe,CAAC;EAC7CG,IAAI,EAAE,iBADuC;EAG7CC,KAAK,EAAE,EACL,GAAGN,kBAAkB;EADhB,CAHsC;EAO7CO,KAAK,EAAE;IACL,kBAAmBC,GAAD,IAA6B;EAD1C,CAPsC;;EAW7CC,KAAK,CAAEH,KAAF,QAAoB;IAAA,IAAX;MAAEI;IAAF,CAAW;IACvB,MAAMC,cAAc,GAAGV,YAAY,CAACK,KAAD,EAAQH,iBAAR,CAAnC;IAEA,OAAO;MAAA;;MAAA,yBAAMO,KAAK,CAACE,OAAZ,qBAAM,oBAAAF,KAAK,EAAW;QAC3BG,UAAU,EAAEF,cAAc,CAACE,UAAf,CAA0BC,KADX;QAE3BC,MAAM,EAAEJ,cAAc,CAACI,MAFI;QAG3BC,MAAM,EAAEL,cAAc,CAACK,MAHI;QAI3BC,aAAa,EAAEN,cAAc,CAACM,aAAf,CAA6BH;MAJjB,CAAX,CAAX;IAAA,CAAP;EAMD;;AApB4C,CAAD,CAAvC"}
@@ -1,6 +1 @@
1
- @use 'sass:math';
2
- @use 'sass:map';
3
- @use '../../styles/settings';
4
- @use '../../styles/tools';
5
-
6
1
  $slide-group-prev-basis: 52px !default;
@@ -1,3 +1,3 @@
1
- export * from "./VSlideGroup.mjs";
2
- export * from "./VSlideGroupItem.mjs";
1
+ export { VSlideGroup } from "./VSlideGroup.mjs";
2
+ export { VSlideGroupItem } from "./VSlideGroupItem.mjs";
3
3
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/VSlideGroup/index.ts"],"sourcesContent":["export * from './VSlideGroup'\nexport * from './VSlideGroupItem'\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":["VSlideGroup","VSlideGroupItem"],"sources":["../../../src/components/VSlideGroup/index.ts"],"sourcesContent":["export { VSlideGroup } from './VSlideGroup'\nexport { VSlideGroupItem } from './VSlideGroupItem'\n"],"mappings":"SAASA,W;SACAC,e"}
@@ -2,18 +2,16 @@ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VSlider.css"; // Components
4
4
 
5
- import { VInput } from "../VInput/index.mjs";
6
5
  import { VSliderThumb } from "./VSliderThumb.mjs";
7
- import { VSliderTrack } from "./VSliderTrack.mjs"; // Composables
6
+ import { VSliderTrack } from "./VSliderTrack.mjs";
7
+ import { filterInputProps, makeVInputProps, VInput } from "../VInput/VInput.mjs"; // Composables
8
8
 
9
9
  import { makeFocusProps, useFocus } from "../../composables/focus.mjs";
10
10
  import { makeSliderProps, useSlider } from "./slider.mjs";
11
- import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Helpers
12
-
13
- import { defineComponent } from "../../util/index.mjs"; // Types
11
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Util
14
12
 
15
13
  import { computed, ref } from 'vue';
16
- import { filterInputProps, makeVInputProps } from "../VInput/VInput.mjs";
14
+ import { defineComponent, useRender } from "../../util/index.mjs";
17
15
  export const VSlider = defineComponent({
18
16
  name: 'VSlider',
19
17
  props: { ...makeFocusProps(),
@@ -31,7 +29,6 @@ export const VSlider = defineComponent({
31
29
 
32
30
  setup(props, _ref) {
33
31
  let {
34
- attrs,
35
32
  slots
36
33
  } = _ref;
37
34
  const thumbContainerRef = ref();
@@ -68,7 +65,7 @@ export const VSlider = defineComponent({
68
65
  blur
69
66
  } = useFocus(props);
70
67
  const trackStop = computed(() => position(model.value));
71
- return () => {
68
+ useRender(() => {
72
69
  const [inputProps, _] = filterInputProps(props);
73
70
  return _createVNode(VInput, _mergeProps({
74
71
  "class": ['v-slider', {
@@ -117,7 +114,8 @@ export const VSlider = defineComponent({
117
114
  })]);
118
115
  }
119
116
  });
120
- };
117
+ });
118
+ return {};
121
119
  }
122
120
 
123
121
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VSlider.mjs","names":["VInput","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","makeSliderProps","useSlider","useProxiedModel","defineComponent","computed","ref","filterInputProps","makeVInputProps","VSlider","name","props","modelValue","type","Number","String","default","emits","value","v","setup","attrs","slots","thumbContainerRef","min","max","mousePressed","roundValue","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","handleSliderMouseUp","newValue","model","handleMouseMove","getActiveThumb","$el","undefined","parseFloat","isFocused","focus","blur","trackStop","inputProps","_","disabled","id","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Helpers\nimport { defineComponent } from '@/util'\n\n// Types\nimport { computed, ref } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { attrs, slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-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 { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSlider.mjs","names":["VSliderThumb","VSliderTrack","filterInputProps","makeVInputProps","VInput","makeFocusProps","useFocus","makeSliderProps","useSlider","useProxiedModel","computed","ref","defineComponent","useRender","VSlider","name","props","modelValue","type","Number","String","default","emits","value","v","setup","slots","thumbContainerRef","min","max","mousePressed","roundValue","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","handleSliderMouseUp","newValue","model","handleMouseMove","getActiveThumb","$el","undefined","parseFloat","isFocused","focus","blur","trackStop","inputProps","_","disabled","id","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Util\nimport { computed, ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-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 { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\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 VSlider = InstanceType<typeof VSlider>\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- // Imports
2
- @forward './variables'
3
1
  @use 'sass:map'
4
2
  @use 'sass:selector'
5
3
  @use '../../styles/settings'
@@ -3,15 +3,15 @@ import { vShow as _vShow, withDirectives as _withDirectives, resolveDirective as
3
3
  import "./VSliderThumb.css"; // Components
4
4
 
5
5
  import { VScaleTransition } from "../transitions/index.mjs";
6
- import { VSliderSymbol } from "./slider.mjs";
7
- import { useElevation } from "../../composables/elevation.mjs"; // Directives
6
+ import { VSliderSymbol } from "./slider.mjs"; // Directives
8
7
 
9
8
  import Ripple from "../../directives/ripple/index.mjs"; // Composables
10
9
 
10
+ import { useElevation } from "../../composables/elevation.mjs";
11
11
  import { useTextColor } from "../../composables/color.mjs"; // Utilities
12
12
 
13
13
  import { computed, inject } from 'vue';
14
- import { convertToUnit, defineComponent, keyValues } from "../../util/index.mjs";
14
+ import { convertToUnit, defineComponent, keyValues, useRender } from "../../util/index.mjs";
15
15
  export const VSliderThumb = defineComponent({
16
16
  name: 'VSliderThumb',
17
17
  directives: {
@@ -111,7 +111,7 @@ export const VSliderThumb = defineComponent({
111
111
  newValue != null && emit('update:modelValue', newValue);
112
112
  }
113
113
 
114
- return () => {
114
+ useRender(() => {
115
115
  var _slots$thumbLabel, _slots$thumbLabel2;
116
116
 
117
117
  const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%');
@@ -158,7 +158,8 @@ export const VSliderThumb = defineComponent({
158
158
  modelValue: props.modelValue
159
159
  })) != null ? _slots$thumbLabel : props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[_vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
160
160
  })]);
161
- };
161
+ });
162
+ return {};
162
163
  }
163
164
 
164
165
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VSliderThumb.mjs","names":["VScaleTransition","VSliderSymbol","useElevation","Ripple","useTextColor","computed","inject","convertToUnit","defineComponent","keyValues","VSliderThumb","name","directives","props","focused","Boolean","max","type","Number","required","min","modelValue","position","emits","v","setup","slots","emit","slider","Error","thumbColor","step","vertical","disabled","thumbSize","thumbLabel","direction","readonly","elevation","isReversed","horizontalDirection","mousePressed","decimals","textColorClasses","textColorStyles","pageup","pagedown","end","home","left","right","down","up","relevantKeys","multipliers","value","parseKeydown","e","includes","key","preventDefault","_step","steps","increase","multiplier","shiftKey","ctrlKey","Math","onKeydown","newValue","positionPercentage","inset","elevationClasses","undefined","toFixed"],"sources":["../../../src/components/VSlider/VSliderThumb.tsx"],"sourcesContent":["// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSliderThumb.mjs","names":["VScaleTransition","VSliderSymbol","Ripple","useElevation","useTextColor","computed","inject","convertToUnit","defineComponent","keyValues","useRender","VSliderThumb","name","directives","props","focused","Boolean","max","type","Number","required","min","modelValue","position","emits","v","setup","slots","emit","slider","Error","thumbColor","step","vertical","disabled","thumbSize","thumbLabel","direction","readonly","elevation","isReversed","horizontalDirection","mousePressed","decimals","textColorClasses","textColorStyles","pageup","pagedown","end","home","left","right","down","up","relevantKeys","multipliers","value","parseKeydown","e","includes","key","preventDefault","_step","steps","increase","multiplier","shiftKey","ctrlKey","Math","onKeydown","newValue","positionPercentage","inset","elevationClasses","undefined","toFixed"],"sources":["../../../src/components/VSlider/VSliderThumb.tsx"],"sourcesContent":["// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useElevation } from '@/composables/elevation'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues, useRender } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n useRender(() => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- // Imports
2
- @forward './variables'
3
1
  @use 'sass:map'
4
2
  @use 'sass:selector'
5
3
  @use 'sass:math'
@@ -8,7 +8,7 @@ import { useBackgroundColor } from "../../composables/color.mjs";
8
8
  import { useRounded } from "../../composables/rounded.mjs"; // Utilities
9
9
 
10
10
  import { computed, inject } from 'vue';
11
- import { convertToUnit, defineComponent } from "../../util/index.mjs";
11
+ import { convertToUnit, defineComponent, useRender } from "../../util/index.mjs";
12
12
  export const VSliderTrack = defineComponent({
13
13
  name: 'VSliderTrack',
14
14
  props: {
@@ -30,16 +30,16 @@ export const VSliderTrack = defineComponent({
30
30
  const slider = inject(VSliderSymbol);
31
31
  if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider');
32
32
  const {
33
+ color,
34
+ horizontalDirection,
35
+ parsedTicks,
36
+ rounded,
37
+ showTicks,
38
+ tickSize,
33
39
  trackColor,
34
40
  trackFillColor,
35
- vertical,
36
- tickSize,
37
- showTicks,
38
41
  trackSize,
39
- color,
40
- rounded,
41
- parsedTicks,
42
- horizontalDirection
42
+ vertical
43
43
  } = slider;
44
44
  const {
45
45
  roundedClasses
@@ -90,7 +90,7 @@ export const VSliderTrack = defineComponent({
90
90
  })) != null ? _slots$tickLabel : tick.label])]);
91
91
  });
92
92
  });
93
- return () => {
93
+ useRender(() => {
94
94
  return _createVNode("div", {
95
95
  "class": ['v-slider-track', roundedClasses.value],
96
96
  "style": {
@@ -115,7 +115,8 @@ export const VSliderTrack = defineComponent({
115
115
  'v-slider-track__ticks--always-show': showTicks.value === 'always'
116
116
  }]
117
117
  }, [computedTicks.value])]);
118
- };
118
+ });
119
+ return {};
119
120
  }
120
121
 
121
122
  });