vuetify 3.3.1 → 3.3.2

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 (470) hide show
  1. package/dist/json/attributes.json +40 -44
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/tags.json +0 -1
  4. package/dist/json/web-types.json +605 -748
  5. package/dist/vuetify-labs.css +53 -32
  6. package/dist/vuetify-labs.d.ts +1591 -1494
  7. package/dist/vuetify-labs.esm.js +8140 -8073
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +8139 -8072
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +21 -1
  12. package/dist/vuetify.d.ts +1187 -1187
  13. package/dist/vuetify.esm.js +6685 -6547
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +6684 -6546
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +979 -975
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +31 -31
  21. package/lib/blueprints/md1.d.mts +31 -31
  22. package/lib/blueprints/md2.d.mts +31 -31
  23. package/lib/blueprints/md3.d.mts +31 -31
  24. package/lib/components/VAlert/VAlert.mjs +6 -6
  25. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  26. package/lib/components/VAlert/index.d.mts +1 -1
  27. package/lib/components/VApp/VApp.mjs +4 -4
  28. package/lib/components/VApp/VApp.mjs.map +1 -1
  29. package/lib/components/VAppBar/VAppBar.mjs +9 -6
  30. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  31. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  32. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  33. package/lib/components/VAppBar/index.d.mts +1 -1
  34. package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -11
  35. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  36. package/lib/components/VAutocomplete/index.d.mts +88 -88
  37. package/lib/components/VAvatar/VAvatar.mjs +4 -4
  38. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  39. package/lib/components/VBadge/VBadge.mjs +6 -6
  40. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  41. package/lib/components/VBanner/VBanner.mjs +7 -10
  42. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  43. package/lib/components/VBanner/VBannerActions.mjs +2 -2
  44. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  45. package/lib/components/VBanner/VBannerText.mjs +1 -0
  46. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  47. package/lib/components/VBanner/index.d.mts +1 -1
  48. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -8
  49. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  50. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +6 -9
  51. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  52. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -2
  53. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  54. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -3
  55. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  56. package/lib/components/VBtn/VBtn.mjs +6 -6
  57. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  58. package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -4
  59. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  60. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  61. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  62. package/lib/components/VCard/VCard.mjs +7 -7
  63. package/lib/components/VCard/VCard.mjs.map +1 -1
  64. package/lib/components/VCard/VCardItem.mjs +4 -4
  65. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  66. package/lib/components/VCard/VCardSubtitle.mjs +1 -0
  67. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  68. package/lib/components/VCard/VCardText.mjs +1 -0
  69. package/lib/components/VCard/VCardText.mjs.map +1 -1
  70. package/lib/components/VCard/VCardTitle.mjs +1 -0
  71. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  72. package/lib/components/VCard/index.d.mts +1 -1
  73. package/lib/components/VCarousel/VCarousel.mjs +4 -7
  74. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  75. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  76. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  77. package/lib/components/VCheckbox/VCheckbox.mjs +3 -3
  78. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  79. package/lib/components/VCheckbox/VCheckboxBtn.mjs +4 -4
  80. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  81. package/lib/components/VCheckbox/index.d.mts +50 -50
  82. package/lib/components/VChip/VChip.mjs +7 -7
  83. package/lib/components/VChip/VChip.mjs.map +1 -1
  84. package/lib/components/VChipGroup/VChipGroup.mjs +4 -7
  85. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  86. package/lib/components/VCode/index.mjs +3 -0
  87. package/lib/components/VCode/index.mjs.map +1 -1
  88. package/lib/components/VColorPicker/VColorPicker.mjs +10 -12
  89. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  90. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +2 -5
  91. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  92. package/lib/components/VColorPicker/VColorPickerEdit.mjs +3 -3
  93. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  94. package/lib/components/VColorPicker/VColorPickerPreview.mjs +3 -3
  95. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  96. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +1 -1
  97. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  98. package/lib/components/VCombobox/VCombobox.mjs +13 -12
  99. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  100. package/lib/components/VCombobox/index.d.mts +88 -88
  101. package/lib/components/VCounter/VCounter.mjs +2 -2
  102. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  103. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -4
  104. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  105. package/lib/components/VDefaultsProvider/index.d.mts +7 -9
  106. package/lib/components/VDialog/VDialog.mjs +7 -7
  107. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  108. package/lib/components/VDialog/index.d.mts +66 -66
  109. package/lib/components/VDivider/VDivider.mjs +3 -3
  110. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  111. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +5 -5
  112. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  113. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +3 -3
  114. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  115. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +5 -5
  116. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  117. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +3 -3
  118. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  119. package/lib/components/VExpansionPanel/index.d.mts +1 -1
  120. package/lib/components/VField/VField.mjs +8 -8
  121. package/lib/components/VField/VField.mjs.map +1 -1
  122. package/lib/components/VField/VFieldLabel.mjs +1 -1
  123. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  124. package/lib/components/VField/index.d.mts +5 -5
  125. package/lib/components/VFileInput/VFileInput.mjs +5 -5
  126. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  127. package/lib/components/VFileInput/index.d.mts +60 -60
  128. package/lib/components/VFooter/VFooter.mjs +4 -4
  129. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  130. package/lib/components/VForm/VForm.mjs +3 -3
  131. package/lib/components/VForm/VForm.mjs.map +1 -1
  132. package/lib/components/VGrid/VCol.mjs +2 -2
  133. package/lib/components/VGrid/VCol.mjs.map +1 -1
  134. package/lib/components/VGrid/VContainer.mjs +3 -3
  135. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  136. package/lib/components/VGrid/VRow.mjs +2 -2
  137. package/lib/components/VGrid/VRow.mjs.map +1 -1
  138. package/lib/components/VGrid/VSpacer.mjs +1 -0
  139. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  140. package/lib/components/VHover/VHover.mjs +1 -1
  141. package/lib/components/VHover/VHover.mjs.map +1 -1
  142. package/lib/components/VIcon/VIcon.mjs +4 -4
  143. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  144. package/lib/components/VImg/VImg.mjs +5 -4
  145. package/lib/components/VImg/VImg.mjs.map +1 -1
  146. package/lib/components/VInput/InputIcon.mjs +3 -2
  147. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  148. package/lib/components/VInput/VInput.mjs +8 -4
  149. package/lib/components/VInput/VInput.mjs.map +1 -1
  150. package/lib/components/VInput/index.d.mts +10 -10
  151. package/lib/components/VItemGroup/VItem.mjs +2 -2
  152. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  153. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  154. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  155. package/lib/components/VKbd/index.mjs +3 -0
  156. package/lib/components/VKbd/index.mjs.map +1 -1
  157. package/lib/components/VLabel/VLabel.mjs +1 -1
  158. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  159. package/lib/components/VLayout/VLayout.mjs +3 -3
  160. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  161. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  162. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  163. package/lib/components/VLazy/VLazy.mjs +3 -3
  164. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  165. package/lib/components/VList/VList.css +1 -0
  166. package/lib/components/VList/VList.mjs +5 -4
  167. package/lib/components/VList/VList.mjs.map +1 -1
  168. package/lib/components/VList/VList.sass +1 -0
  169. package/lib/components/VList/VListChildren.mjs +3 -3
  170. package/lib/components/VList/VListChildren.mjs.map +1 -1
  171. package/lib/components/VList/VListGroup.mjs +8 -8
  172. package/lib/components/VList/VListGroup.mjs.map +1 -1
  173. package/lib/components/VList/VListImg.mjs +1 -0
  174. package/lib/components/VList/VListImg.mjs.map +1 -1
  175. package/lib/components/VList/VListItem.css +18 -0
  176. package/lib/components/VList/VListItem.mjs +9 -9
  177. package/lib/components/VList/VListItem.mjs.map +1 -1
  178. package/lib/components/VList/VListItem.sass +12 -0
  179. package/lib/components/VList/VListItemAction.mjs +1 -1
  180. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  181. package/lib/components/VList/VListItemMedia.mjs +1 -1
  182. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  183. package/lib/components/VList/VListItemSubtitle.mjs +1 -0
  184. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  185. package/lib/components/VList/VListItemTitle.mjs +1 -0
  186. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  187. package/lib/components/VList/VListSubheader.mjs +3 -3
  188. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  189. package/lib/components/VList/index.d.mts +24 -24
  190. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +1 -1
  191. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  192. package/lib/components/VMain/VMain.mjs +3 -3
  193. package/lib/components/VMain/VMain.mjs.map +1 -1
  194. package/lib/components/VMenu/VMenu.mjs +7 -7
  195. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  196. package/lib/components/VMenu/index.d.mts +113 -113
  197. package/lib/components/VMenu/shared.mjs +2 -0
  198. package/lib/components/VMenu/shared.mjs.map +1 -1
  199. package/lib/components/VMessages/VMessages.mjs +3 -3
  200. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  201. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +17 -13
  202. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  203. package/lib/components/VOverlay/VOverlay.mjs +11 -14
  204. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  205. package/lib/components/VOverlay/index.d.mts +21 -21
  206. package/lib/components/VOverlay/locationStrategies.mjs +5 -5
  207. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  208. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  209. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  210. package/lib/components/VOverlay/useActivator.mjs +6 -10
  211. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  212. package/lib/components/VOverlay/util/point.mjs +2 -0
  213. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  214. package/lib/components/VPagination/VPagination.mjs +9 -9
  215. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  216. package/lib/components/VParallax/VParallax.mjs +3 -6
  217. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  218. package/lib/components/VProgressCircular/VProgressCircular.mjs +5 -5
  219. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  220. package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -6
  221. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  222. package/lib/components/VRadio/VRadio.mjs +3 -3
  223. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  224. package/lib/components/VRadio/index.d.mts +4 -4
  225. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
  226. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  227. package/lib/components/VRadioGroup/index.d.mts +32 -32
  228. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -4
  229. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  230. package/lib/components/VRangeSlider/index.d.mts +8 -8
  231. package/lib/components/VRating/VRating.mjs +6 -9
  232. package/lib/components/VRating/VRating.mjs.map +1 -1
  233. package/lib/components/VResponsive/VResponsive.css +1 -0
  234. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  235. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  236. package/lib/components/VResponsive/VResponsive.sass +1 -0
  237. package/lib/components/VSelect/VSelect.mjs +9 -9
  238. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  239. package/lib/components/VSelect/index.d.mts +88 -88
  240. package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -7
  241. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  242. package/lib/components/VSelectionControl/index.d.mts +2 -2
  243. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -6
  244. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  245. package/lib/components/VSheet/VSheet.mjs +4 -4
  246. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  247. package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
  248. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  249. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +2 -2
  250. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  251. package/lib/components/VSlider/VSlider.mjs +6 -6
  252. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  253. package/lib/components/VSlider/VSliderThumb.mjs +6 -6
  254. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  255. package/lib/components/VSlider/VSliderTrack.mjs +3 -3
  256. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  257. package/lib/components/VSlider/index.d.mts +8 -8
  258. package/lib/components/VSlider/slider.mjs +4 -7
  259. package/lib/components/VSlider/slider.mjs.map +1 -1
  260. package/lib/components/VSnackbar/VSnackbar.mjs +7 -7
  261. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  262. package/lib/components/VSnackbar/index.d.mts +77 -77
  263. package/lib/components/VStepper/index.mjs +3 -2
  264. package/lib/components/VStepper/index.mjs.map +1 -1
  265. package/lib/components/VSwitch/VSwitch.mjs +6 -6
  266. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  267. package/lib/components/VSwitch/index.d.mts +41 -41
  268. package/lib/components/VSystemBar/VSystemBar.mjs +4 -4
  269. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  270. package/lib/components/VTable/VTable.mjs +1 -1
  271. package/lib/components/VTable/VTable.mjs.map +1 -1
  272. package/lib/components/VTabs/VTab.mjs +3 -3
  273. package/lib/components/VTabs/VTab.mjs.map +1 -1
  274. package/lib/components/VTabs/VTabs.mjs +7 -7
  275. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  276. package/lib/components/VTabs/shared.mjs +2 -0
  277. package/lib/components/VTabs/shared.mjs.map +1 -1
  278. package/lib/components/VTextField/VTextField.mjs +6 -6
  279. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  280. package/lib/components/VTextField/index.d.mts +72 -72
  281. package/lib/components/VTextarea/VTextarea.mjs +8 -11
  282. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  283. package/lib/components/VTextarea/index.d.mts +60 -60
  284. package/lib/components/VThemeProvider/VThemeProvider.mjs +1 -1
  285. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  286. package/lib/components/VTimeline/VTimeline.mjs +4 -4
  287. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  288. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -5
  289. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  290. package/lib/components/VTimeline/VTimelineItem.mjs +4 -7
  291. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  292. package/lib/components/VToolbar/VToolbar.mjs +8 -8
  293. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  294. package/lib/components/VToolbar/VToolbarItems.mjs +4 -4
  295. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  296. package/lib/components/VToolbar/VToolbarTitle.mjs +1 -1
  297. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  298. package/lib/components/VToolbar/index.d.mts +1 -1
  299. package/lib/components/VTooltip/VTooltip.mjs +6 -6
  300. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  301. package/lib/components/VTooltip/index.d.mts +113 -113
  302. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +15 -93
  303. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  304. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +9 -4
  305. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  306. package/lib/components/VVirtualScroll/index.d.mts +9 -9
  307. package/lib/components/VWindow/VWindow.mjs +6 -6
  308. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  309. package/lib/components/VWindow/VWindowItem.mjs +5 -5
  310. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  311. package/lib/components/index.d.mts +1481 -1483
  312. package/lib/components/transitions/createTransition.mjs +5 -8
  313. package/lib/components/transitions/createTransition.mjs.map +1 -1
  314. package/lib/components/transitions/dialog-transition.mjs +1 -3
  315. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  316. package/lib/components/transitions/index.d.mts +117 -117
  317. package/lib/composables/defaults.mjs +5 -0
  318. package/lib/composables/defaults.mjs.map +1 -1
  319. package/lib/composables/display.mjs +1 -1
  320. package/lib/composables/display.mjs.map +1 -1
  321. package/lib/composables/filter.mjs +2 -4
  322. package/lib/composables/filter.mjs.map +1 -1
  323. package/lib/composables/focus.mjs +1 -1
  324. package/lib/composables/focus.mjs.map +1 -1
  325. package/lib/composables/forwardRefs.mjs +2 -0
  326. package/lib/composables/forwardRefs.mjs.map +1 -1
  327. package/lib/composables/hydration.mjs +1 -1
  328. package/lib/composables/hydration.mjs.map +1 -1
  329. package/lib/composables/icons.mjs +7 -1
  330. package/lib/composables/icons.mjs.map +1 -1
  331. package/lib/composables/lazy.mjs +1 -3
  332. package/lib/composables/lazy.mjs.map +1 -1
  333. package/lib/composables/locale.mjs +2 -1
  334. package/lib/composables/locale.mjs.map +1 -1
  335. package/lib/composables/mutationObserver.mjs +2 -5
  336. package/lib/composables/mutationObserver.mjs.map +1 -1
  337. package/lib/composables/nested/nested.mjs +2 -2
  338. package/lib/composables/nested/nested.mjs.map +1 -1
  339. package/lib/composables/nested/selectStrategies.mjs +1 -0
  340. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  341. package/lib/composables/proxiedModel.mjs +3 -3
  342. package/lib/composables/proxiedModel.mjs.map +1 -1
  343. package/lib/composables/refs.mjs +4 -1
  344. package/lib/composables/refs.mjs.map +1 -1
  345. package/lib/composables/resizeObserver.mjs +4 -4
  346. package/lib/composables/resizeObserver.mjs.map +1 -1
  347. package/lib/composables/router.mjs +1 -4
  348. package/lib/composables/router.mjs.map +1 -1
  349. package/lib/composables/scopeId.mjs +1 -0
  350. package/lib/composables/scopeId.mjs.map +1 -1
  351. package/lib/composables/theme.mjs.map +1 -1
  352. package/lib/composables/toggleScope.mjs +4 -0
  353. package/lib/composables/toggleScope.mjs.map +1 -1
  354. package/lib/composables/touch.mjs +1 -0
  355. package/lib/composables/touch.mjs.map +1 -1
  356. package/lib/composables/validation.mjs +2 -2
  357. package/lib/composables/validation.mjs.map +1 -1
  358. package/lib/composables/virtual.mjs +108 -0
  359. package/lib/composables/virtual.mjs.map +1 -0
  360. package/lib/directives/click-outside/index.mjs +2 -1
  361. package/lib/directives/click-outside/index.mjs.map +1 -1
  362. package/lib/directives/intersect/index.mjs +1 -1
  363. package/lib/directives/intersect/index.mjs.map +1 -1
  364. package/lib/directives/resize/index.mjs +2 -0
  365. package/lib/directives/resize/index.mjs.map +1 -1
  366. package/lib/directives/scroll/index.mjs +2 -0
  367. package/lib/directives/scroll/index.mjs.map +1 -1
  368. package/lib/directives/touch/index.mjs +1 -2
  369. package/lib/directives/touch/index.mjs.map +1 -1
  370. package/lib/entry-bundler.mjs +7 -2
  371. package/lib/entry-bundler.mjs.map +1 -1
  372. package/lib/framework.mjs +4 -6
  373. package/lib/framework.mjs.map +1 -1
  374. package/lib/iconsets/fa.mjs +1 -1
  375. package/lib/iconsets/fa.mjs.map +1 -1
  376. package/lib/iconsets/fa4.mjs +4 -3
  377. package/lib/iconsets/fa4.mjs.map +1 -1
  378. package/lib/iconsets/md.mjs +4 -3
  379. package/lib/iconsets/md.mjs.map +1 -1
  380. package/lib/iconsets/mdi-svg.mjs +1 -1
  381. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  382. package/lib/iconsets/mdi.mjs +4 -3
  383. package/lib/iconsets/mdi.mjs.map +1 -1
  384. package/lib/index.d.mts +34 -32
  385. package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
  386. package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
  387. package/lib/labs/VBottomSheet/index.d.mts +21 -21
  388. package/lib/labs/VDataIterator/VDataIterator.mjs +7 -7
  389. package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
  390. package/lib/labs/VDataIterator/composables/items.mjs +2 -2
  391. package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
  392. package/lib/labs/VDataIterator/index.d.mts +28 -27
  393. package/lib/labs/VDataTable/VDataTable.css +1 -0
  394. package/lib/labs/VDataTable/VDataTable.mjs +8 -8
  395. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  396. package/lib/labs/VDataTable/VDataTable.sass +1 -0
  397. package/lib/labs/VDataTable/VDataTableColumn.mjs +2 -1
  398. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  399. package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -3
  400. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  401. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +5 -5
  402. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  403. package/lib/labs/VDataTable/VDataTableHeaders.mjs +6 -6
  404. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  405. package/lib/labs/VDataTable/VDataTableRow.mjs +1 -1
  406. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  407. package/lib/labs/VDataTable/VDataTableRows.mjs +20 -16
  408. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  409. package/lib/labs/VDataTable/VDataTableServer.mjs +7 -7
  410. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  411. package/lib/labs/VDataTable/VDataTableVirtual.mjs +34 -22
  412. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  413. package/lib/labs/VDataTable/composables/expand.mjs +4 -4
  414. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  415. package/lib/labs/VDataTable/composables/group.mjs +1 -1
  416. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  417. package/lib/labs/VDataTable/composables/headers.mjs +2 -2
  418. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  419. package/lib/labs/VDataTable/composables/items.mjs +5 -8
  420. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  421. package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
  422. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  423. package/lib/labs/VDataTable/composables/select.mjs +1 -1
  424. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  425. package/lib/labs/VDataTable/composables/sort.mjs +4 -9
  426. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  427. package/lib/labs/VDataTable/index.d.mts +182 -83
  428. package/lib/labs/VDataTable/types.mjs.map +1 -1
  429. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  430. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  431. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +4 -4
  432. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  433. package/lib/labs/components.d.mts +213 -114
  434. package/lib/labs/date/date.mjs.map +1 -1
  435. package/lib/labs/entry-bundler.mjs +3 -1
  436. package/lib/labs/entry-bundler.mjs.map +1 -1
  437. package/lib/locale/adapters/vue-i18n.d.mts +1 -1
  438. package/lib/locale/adapters/vue-i18n.mjs +5 -1
  439. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  440. package/lib/locale/adapters/vuetify.mjs +1 -3
  441. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  442. package/lib/util/anchor.mjs +1 -0
  443. package/lib/util/anchor.mjs.map +1 -1
  444. package/lib/util/animation.mjs +1 -0
  445. package/lib/util/animation.mjs.map +1 -1
  446. package/lib/util/color/APCA.mjs +1 -0
  447. package/lib/util/color/APCA.mjs.map +1 -1
  448. package/lib/util/color/transformCIELAB.mjs +2 -0
  449. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  450. package/lib/util/color/transformSRGB.mjs +3 -1
  451. package/lib/util/color/transformSRGB.mjs.map +1 -1
  452. package/lib/util/colorUtils.mjs +2 -2
  453. package/lib/util/colorUtils.mjs.map +1 -1
  454. package/lib/util/console.mjs +1 -0
  455. package/lib/util/console.mjs.map +1 -1
  456. package/lib/util/createSimpleFunctional.mjs +2 -1
  457. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  458. package/lib/util/defineComponent.mjs +5 -5
  459. package/lib/util/defineComponent.mjs.map +1 -1
  460. package/lib/util/getCurrentInstance.mjs +1 -2
  461. package/lib/util/getCurrentInstance.mjs.map +1 -1
  462. package/lib/util/helpers.mjs +3 -3
  463. package/lib/util/helpers.mjs.map +1 -1
  464. package/lib/util/injectSelf.mjs +2 -1
  465. package/lib/util/injectSelf.mjs.map +1 -1
  466. package/lib/util/propsFactory.mjs +1 -0
  467. package/lib/util/propsFactory.mjs.map +1 -1
  468. package/package.json +4 -4
  469. package/lib/labs/VDataTable/composables/virtual.mjs +0 -77
  470. package/lib/labs/VDataTable/composables/virtual.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VSelectionControlGroup.mjs","names":["IconValue","makeComponentProps","makeDensityProps","makeThemeProps","provideDefaults","useProxiedModel","computed","onScopeDispose","provide","toRef","deepEqual","genericComponent","getUid","propsFactory","useRender","VSelectionControlGroupSymbol","Symbol","for","makeSelectionControlGroupProps","color","String","disabled","Boolean","defaultsTarget","error","id","inline","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","modelValue","valueComparator","Function","makeVSelectionControlGroupProps","VSelectionControlGroup","props","emits","val","setup","_ref","slots","uid","value","updateHandlers","Set","forceUpdate","forEach","fn","onForceUpdate","cb","add","delete","density","Array","isArray","_createVNode","class","style","undefined"],"sources":["../../../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onScopeDispose, provide, toRef } from 'vue'\nimport { deepEqual, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n modelValue: Ref<any>\n forceUpdate: () => void\n onForceUpdate: (fn: () => void) => void\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const makeSelectionControlGroupProps = propsFactory({\n color: String,\n disabled: Boolean,\n defaultsTarget: String,\n error: Boolean,\n id: String,\n inline: Boolean,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n modelValue: null,\n type: String,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps(),\n}, 'selection-control-group')\n\nexport const makeVSelectionControlGroupProps = propsFactory({\n ...makeSelectionControlGroupProps({\n defaultsTarget: 'VSelectionControl',\n }),\n}, 'v-selection-control-group')\n\nexport const VSelectionControlGroup = genericComponent()({\n name: 'VSelectionControlGroup',\n\n props: makeVSelectionControlGroupProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n const updateHandlers = new Set<() => void>()\n provide(VSelectionControlGroupSymbol, {\n modelValue,\n forceUpdate: () => {\n updateHandlers.forEach(fn => fn())\n },\n onForceUpdate: cb => {\n updateHandlers.add(cb)\n onScopeDispose(() => {\n updateHandlers.delete(cb)\n })\n },\n })\n\n provideDefaults({\n [props.defaultsTarget]: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n density: toRef(props, 'density'),\n error: toRef(props, 'error'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n type: toRef(props, 'type'),\n valueComparator: toRef(props, 'valueComparator'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-selection-control-group',\n { 'v-selection-control-group--inline': props.inline },\n props.class,\n ]}\n style={ props.style }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSelectionControlGroup.mjs","names":["makeComponentProps","provideDefaults","makeDensityProps","IconValue","useProxiedModel","makeThemeProps","computed","onScopeDispose","provide","toRef","deepEqual","genericComponent","getUid","propsFactory","useRender","VSelectionControlGroupSymbol","Symbol","for","makeSelectionControlGroupProps","color","String","disabled","Boolean","defaultsTarget","error","id","inline","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","modelValue","valueComparator","Function","makeVSelectionControlGroupProps","VSelectionControlGroup","props","emits","val","setup","_ref","slots","uid","value","updateHandlers","Set","forceUpdate","forEach","fn","onForceUpdate","cb","add","delete","density","Array","isArray","_createVNode","class","style","undefined"],"sources":["../../../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { computed, onScopeDispose, provide, toRef } from 'vue'\nimport { deepEqual, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n modelValue: Ref<any>\n forceUpdate: () => void\n onForceUpdate: (fn: () => void) => void\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const makeSelectionControlGroupProps = propsFactory({\n color: String,\n disabled: Boolean,\n defaultsTarget: String,\n error: Boolean,\n id: String,\n inline: Boolean,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n modelValue: null,\n type: String,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps(),\n}, 'SelectionControlGroup')\n\nexport const makeVSelectionControlGroupProps = propsFactory({\n ...makeSelectionControlGroupProps({\n defaultsTarget: 'VSelectionControl',\n }),\n}, 'VSelectionControlGroup')\n\nexport const VSelectionControlGroup = genericComponent()({\n name: 'VSelectionControlGroup',\n\n props: makeVSelectionControlGroupProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n const updateHandlers = new Set<() => void>()\n provide(VSelectionControlGroupSymbol, {\n modelValue,\n forceUpdate: () => {\n updateHandlers.forEach(fn => fn())\n },\n onForceUpdate: cb => {\n updateHandlers.add(cb)\n onScopeDispose(() => {\n updateHandlers.delete(cb)\n })\n },\n })\n\n provideDefaults({\n [props.defaultsTarget]: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n density: toRef(props, 'density'),\n error: toRef(props, 'error'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n type: toRef(props, 'type'),\n valueComparator: toRef(props, 'valueComparator'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-selection-control-group',\n { 'v-selection-control-group--inline': props.inline },\n props.class,\n ]}\n style={ props.style }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,gBAAgB;AAAA,SAChBC,SAAS;AAAA,SACTC,eAAe;AAAA,SACfC,cAAc,uCAEvB;AACA,SAASC,QAAQ,EAAEC,cAAc,EAAEC,OAAO,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACrDC,SAAS,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,YAAY,EAAEC,SAAS,gCAErE;AASA,OAAO,MAAMC,4BAAkE,GAAGC,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC;AAE/H,OAAO,MAAMC,8BAA8B,GAAGL,YAAY,CAAC;EACzDM,KAAK,EAAEC,MAAM;EACbC,QAAQ,EAAEC,OAAO;EACjBC,cAAc,EAAEH,MAAM;EACtBI,KAAK,EAAEF,OAAO;EACdG,EAAE,EAAEL,MAAM;EACVM,MAAM,EAAEJ,OAAO;EACfK,SAAS,EAAExB,SAAS;EACpByB,QAAQ,EAAEzB,SAAS;EACnB0B,MAAM,EAAE;IACNC,IAAI,EAAER,OAAO;IACbS,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRF,IAAI,EAAER,OAAmC;IACzCS,OAAO,EAAE;EACX,CAAC;EACDE,IAAI,EAAEb,MAAM;EACZc,QAAQ,EAAEZ,OAAO;EACjBa,UAAU,EAAE,IAAI;EAChBL,IAAI,EAAEV,MAAM;EACZgB,eAAe,EAAE;IACfN,IAAI,EAAEO,QAAsC;IAC5CN,OAAO,EAAErB;EACX,CAAC;EAED,GAAGV,kBAAkB,EAAE;EACvB,GAAGE,gBAAgB,EAAE;EACrB,GAAGG,cAAc;AACnB,CAAC,EAAE,uBAAuB,CAAC;AAE3B,OAAO,MAAMiC,+BAA+B,GAAGzB,YAAY,CAAC;EAC1D,GAAGK,8BAA8B,CAAC;IAChCK,cAAc,EAAE;EAClB,CAAC;AACH,CAAC,EAAE,wBAAwB,CAAC;AAE5B,OAAO,MAAMgB,sBAAsB,GAAG5B,gBAAgB,EAAE,CAAC;EACvDsB,IAAI,EAAE,wBAAwB;EAE9BO,KAAK,EAAEF,+BAA+B,EAAE;EAExCG,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAQ,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAMT,UAAU,GAAG/B,eAAe,CAACoC,KAAK,EAAE,YAAY,CAAC;IACvD,MAAMM,GAAG,GAAGlC,MAAM,EAAE;IACpB,MAAMa,EAAE,GAAGnB,QAAQ,CAAC,MAAMkC,KAAK,CAACf,EAAE,IAAK,6BAA4BqB,GAAI,EAAC,CAAC;IACzE,MAAMb,IAAI,GAAG3B,QAAQ,CAAC,MAAMkC,KAAK,CAACP,IAAI,IAAIR,EAAE,CAACsB,KAAK,CAAC;IAEnD,MAAMC,cAAc,GAAG,IAAIC,GAAG,EAAc;IAC5CzC,OAAO,CAACO,4BAA4B,EAAE;MACpCoB,UAAU;MACVe,WAAW,EAAEA,CAAA,KAAM;QACjBF,cAAc,CAACG,OAAO,CAACC,EAAE,IAAIA,EAAE,EAAE,CAAC;MACpC,CAAC;MACDC,aAAa,EAAEC,EAAE,IAAI;QACnBN,cAAc,CAACO,GAAG,CAACD,EAAE,CAAC;QACtB/C,cAAc,CAAC,MAAM;UACnByC,cAAc,CAACQ,MAAM,CAACF,EAAE,CAAC;QAC3B,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEFrD,eAAe,CAAC;MACd,CAACuC,KAAK,CAACjB,cAAc,GAAG;QACtBJ,KAAK,EAAEV,KAAK,CAAC+B,KAAK,EAAE,OAAO,CAAC;QAC5BnB,QAAQ,EAAEZ,KAAK,CAAC+B,KAAK,EAAE,UAAU,CAAC;QAClCiB,OAAO,EAAEhD,KAAK,CAAC+B,KAAK,EAAE,SAAS,CAAC;QAChChB,KAAK,EAAEf,KAAK,CAAC+B,KAAK,EAAE,OAAO,CAAC;QAC5Bd,MAAM,EAAEjB,KAAK,CAAC+B,KAAK,EAAE,QAAQ,CAAC;QAC9BL,UAAU;QACVH,QAAQ,EAAE1B,QAAQ,CAAC,MAAM,CAAC,CAACkC,KAAK,CAACR,QAAQ,IAAKQ,KAAK,CAACR,QAAQ,IAAI,IAAI,IAAI0B,KAAK,CAACC,OAAO,CAACxB,UAAU,CAACY,KAAK,CAAE,CAAC;QACzGd,IAAI;QACJN,SAAS,EAAElB,KAAK,CAAC+B,KAAK,EAAE,WAAW,CAAC;QACpCZ,QAAQ,EAAEnB,KAAK,CAAC+B,KAAK,EAAE,UAAU,CAAC;QAClCN,QAAQ,EAAEzB,KAAK,CAAC+B,KAAK,EAAE,UAAU,CAAC;QAClCX,MAAM,EAAEpB,KAAK,CAAC+B,KAAK,EAAE,QAAQ,CAAC;QAC9BV,IAAI,EAAErB,KAAK,CAAC+B,KAAK,EAAE,MAAM,CAAC;QAC1BJ,eAAe,EAAE3B,KAAK,CAAC+B,KAAK,EAAE,iBAAiB;MACjD;IACF,CAAC,CAAC;IAEF1B,SAAS,CAAC,MAAA8C,YAAA;MAAA,SAEC,CACL,2BAA2B,EAC3B;QAAE,mCAAmC,EAAEpB,KAAK,CAACd;MAAO,CAAC,EACrDc,KAAK,CAACqB,KAAK,CACZ;MAAA,SACOrB,KAAK,CAACsB,KAAK;MAAA,QACZtB,KAAK,CAACV,IAAI,KAAK,OAAO,GAAG,YAAY,GAAGiC;IAAS,IAEtDlB,KAAK,CAACd,OAAO,IAAI,EAEtB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import "./VSheet.css";
4
4
 
5
5
  // Composables
6
6
  import { makeBorderProps, useBorder } from "../../composables/border.mjs";
7
+ import { useBackgroundColor } from "../../composables/color.mjs";
7
8
  import { makeComponentProps } from "../../composables/component.mjs";
8
9
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
9
10
  import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
@@ -11,10 +12,9 @@ import { makeLocationProps, useLocation } from "../../composables/location.mjs";
11
12
  import { makePositionProps, usePosition } from "../../composables/position.mjs";
12
13
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
13
14
  import { makeTagProps } from "../../composables/tag.mjs";
14
- import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
15
- import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
16
- import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
15
+ import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
17
16
  import { toRef } from 'vue';
17
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
18
18
  export const makeVSheetProps = propsFactory({
19
19
  color: String,
20
20
  ...makeBorderProps(),
@@ -26,7 +26,7 @@ export const makeVSheetProps = propsFactory({
26
26
  ...makeRoundedProps(),
27
27
  ...makeTagProps(),
28
28
  ...makeThemeProps()
29
- }, 'v-sheet');
29
+ }, 'VSheet');
30
30
  export const VSheet = genericComponent()({
31
31
  name: 'VSheet',
32
32
  props: makeVSheetProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VSheet.mjs","names":["makeBorderProps","useBorder","makeComponentProps","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","genericComponent","propsFactory","useRender","toRef","makeVSheetProps","color","String","VSheet","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VSheet/VSheet.tsx"],"sourcesContent":["// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const makeVSheetProps = propsFactory({\n color: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'v-sheet')\n\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n\n props: makeVSheetProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VSheet = InstanceType<typeof VSheet>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,kBAAkB,uCAE3B;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAClD,SAASC,KAAK,QAAQ,KAAK;AAE3B,OAAO,MAAMC,eAAe,GAAGH,YAAY,CAAC;EAC1CI,KAAK,EAAEC,MAAM;EAEb,GAAGvB,eAAe,EAAE;EACpB,GAAGE,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB,EAAE;EACvB,GAAGE,kBAAkB,EAAE;EACvB,GAAGE,iBAAiB,EAAE;EACtB,GAAGE,iBAAiB,EAAE;EACtB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc;AACnB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMU,MAAM,GAAGP,gBAAgB,EAAE,CAAC;EACvCQ,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEL,eAAe,EAAE;EAExBM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGf,YAAY,CAACW,KAAK,CAAC;IAC5C,MAAM;MAAEK,sBAAsB;MAAEC;IAAsB,CAAC,GAAGhB,kBAAkB,CAACI,KAAK,CAACM,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEO;IAAc,CAAC,GAAGhC,SAAS,CAACyB,KAAK,CAAC;IAC1C,MAAM;MAAEQ;IAAgB,CAAC,GAAG9B,YAAY,CAACsB,KAAK,CAAC;IAC/C,MAAM;MAAES;IAAiB,CAAC,GAAG7B,YAAY,CAACoB,KAAK,CAAC;IAChD,MAAM;MAAEU;IAAe,CAAC,GAAG5B,WAAW,CAACkB,KAAK,CAAC;IAC7C,MAAM;MAAEW;IAAgB,CAAC,GAAG3B,WAAW,CAACgB,KAAK,CAAC;IAC9C,MAAM;MAAEY;IAAe,CAAC,GAAG1B,UAAU,CAACc,KAAK,CAAC;IAE5CP,SAAS,CAAC,MAAAoB,YAAA,CAAAb,KAAA,CAAAc,GAAA;MAAA,SAEC,CACL,SAAS,EACTV,YAAY,CAACW,KAAK,EAClBV,sBAAsB,CAACU,KAAK,EAC5BR,aAAa,CAACQ,KAAK,EACnBN,gBAAgB,CAACM,KAAK,EACtBJ,eAAe,CAACI,KAAK,EACrBH,cAAc,CAACG,KAAK,EACpBf,KAAK,CAACgB,KAAK,CACZ;MAAA,SACM,CACLV,qBAAqB,CAACS,KAAK,EAC3BP,eAAe,CAACO,KAAK,EACrBL,cAAc,CAACK,KAAK,EACpBf,KAAK,CAACiB,KAAK;IACZ,GACSd,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VSheet.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","toRef","genericComponent","propsFactory","useRender","makeVSheetProps","color","String","VSheet","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VSheet/VSheet.tsx"],"sourcesContent":["// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVSheetProps = propsFactory({\n color: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VSheet')\n\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n\n props: makeVSheetProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VSheet = InstanceType<typeof VSheet>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,KAAK,EAAEC,MAAM;EAEb,GAAGvB,eAAe,EAAE;EACpB,GAAGG,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB,EAAE;EACvB,GAAGE,kBAAkB,EAAE;EACvB,GAAGE,iBAAiB,EAAE;EACtB,GAAGE,iBAAiB,EAAE;EACtB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc;AACnB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMS,MAAM,GAAGN,gBAAgB,EAAE,CAAC;EACvCO,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEL,eAAe,EAAE;EAExBM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGd,YAAY,CAACU,KAAK,CAAC;IAC5C,MAAM;MAAEK,sBAAsB;MAAEC;IAAsB,CAAC,GAAG9B,kBAAkB,CAACe,KAAK,CAACS,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEO;IAAc,CAAC,GAAGhC,SAAS,CAACyB,KAAK,CAAC;IAC1C,MAAM;MAAEQ;IAAgB,CAAC,GAAG7B,YAAY,CAACqB,KAAK,CAAC;IAC/C,MAAM;MAAES;IAAiB,CAAC,GAAG5B,YAAY,CAACmB,KAAK,CAAC;IAChD,MAAM;MAAEU;IAAe,CAAC,GAAG3B,WAAW,CAACiB,KAAK,CAAC;IAC7C,MAAM;MAAEW;IAAgB,CAAC,GAAG1B,WAAW,CAACe,KAAK,CAAC;IAC9C,MAAM;MAAEY;IAAe,CAAC,GAAGzB,UAAU,CAACa,KAAK,CAAC;IAE5CN,SAAS,CAAC,MAAAmB,YAAA,CAAAb,KAAA,CAAAc,GAAA;MAAA,SAEC,CACL,SAAS,EACTV,YAAY,CAACW,KAAK,EAClBV,sBAAsB,CAACU,KAAK,EAC5BR,aAAa,CAACQ,KAAK,EACnBN,gBAAgB,CAACM,KAAK,EACtBJ,eAAe,CAACI,KAAK,EACrBH,cAAc,CAACG,KAAK,EACpBf,KAAK,CAACgB,KAAK,CACZ;MAAA,SACM,CACLV,qBAAqB,CAACS,KAAK,EAC3BP,eAAe,CAACO,KAAK,EACrBL,cAAc,CAACK,KAAK,EACpBf,KAAK,CAACiB,KAAK;IACZ,GACSd,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -5,16 +5,16 @@ import "./VSlideGroup.css";
5
5
  // Components
6
6
  import { VFadeTransition } from "../transitions/index.mjs";
7
7
  import { VIcon } from "../VIcon/index.mjs"; // Composables
8
- import { IconValue } from "../../composables/icons.mjs";
8
+ import { useDisplay } from "../../composables/index.mjs";
9
9
  import { makeComponentProps } from "../../composables/component.mjs";
10
10
  import { makeGroupProps, useGroup } from "../../composables/group.mjs";
11
- import { makeTagProps } from "../../composables/tag.mjs";
12
- import { useDisplay } from "../../composables/index.mjs";
11
+ import { IconValue } from "../../composables/icons.mjs";
12
+ import { useRtl } from "../../composables/locale.mjs";
13
13
  import { useResizeObserver } from "../../composables/resizeObserver.mjs";
14
- import { useRtl } from "../../composables/locale.mjs"; // Utilities
14
+ import { makeTagProps } from "../../composables/tag.mjs"; // Utilities
15
15
  import { computed, shallowRef, watch } from 'vue';
16
- import { clamp, focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from "../../util/index.mjs";
17
- import { bias, calculateCenteredOffset, calculateUpdatedOffset } from "./helpers.mjs"; // Types
16
+ import { bias, calculateCenteredOffset, calculateUpdatedOffset } from "./helpers.mjs";
17
+ import { clamp, focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from "../../util/index.mjs"; // Types
18
18
  export const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
19
19
  export const makeVSlideGroupProps = propsFactory({
20
20
  centerActive: Boolean,
@@ -43,7 +43,7 @@ export const makeVSlideGroupProps = propsFactory({
43
43
  ...makeGroupProps({
44
44
  selectedClass: 'v-slide-group-item--active'
45
45
  })
46
- }, 'v-slide-group');
46
+ }, 'VSlideGroup');
47
47
  export const VSlideGroup = genericComponent()({
48
48
  name: 'VSlideGroup',
49
49
  props: makeVSlideGroupProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VSlideGroup.mjs","names":["VFadeTransition","VIcon","IconValue","makeComponentProps","makeGroupProps","useGroup","makeTagProps","useDisplay","useResizeObserver","useRtl","computed","shallowRef","watch","clamp","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","bias","calculateCenteredOffset","calculateUpdatedOffset","VSlideGroupSymbol","Symbol","for","makeVSlideGroupProps","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","VSlideGroup","name","props","emits","value","setup","_ref","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","sign","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","focusable","querySelector","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","newAbsoluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext","_createVNode","tag","class","style","onClick"],"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 { makeComponentProps } from '@/composables/component'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed, shallowRef, watch } from 'vue'\nimport { clamp, focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey, PropType } from 'vue'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\ninterface SlideGroupSlot {\n next: GroupProvide['next']\n prev: GroupProvide['prev']\n select: GroupProvide['select']\n isSelected: GroupProvide['isSelected']\n}\n\ntype VSlideGroupSlots = {\n default: SlideGroupSlot\n prev: SlideGroupSlot\n next: SlideGroupSlot\n}\n\nexport const makeVSlideGroupProps = propsFactory({\n centerActive: Boolean,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\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 ...makeComponentProps(),\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n}, 'v-slide-group')\n\nexport const VSlideGroup = genericComponent<VSlideGroupSlots>()({\n name: 'VSlideGroup',\n\n props: makeVSlideGroupProps(),\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 = shallowRef(false)\n const scrollOffset = shallowRef(0)\n const containerSize = shallowRef(0)\n const contentSize = shallowRef(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 = shallowRef(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n startOffset = sign * 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 const sign = isRtl.value && isHorizontal.value ? -1 : 1\n scrollOffset.value = sign * (startOffset + startTouch - e.touches[0][sizeProperty])\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n if (!containerRef.value) return\n\n containerRef.value[isHorizontal.value ? 'scrollLeft' : 'scrollTop'] = 0\n }\n\n const isFocused = shallowRef(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 (isHorizontal.value) {\n if (e.key === 'ArrowRight') {\n focus(isRtl.value ? 'prev' : 'next')\n } else if (e.key === 'ArrowLeft') {\n focus(isRtl.value ? 'next' : 'prev')\n }\n } else {\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n }\n }\n\n 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 const focusable = focusableChildren(contentRef.value)\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 newAbsoluteOffset = scrollOffset.value + (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = clamp(newAbsoluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n // This adds friction when scrolling the 'wrong' way when at max offset\n let scrollAmount = scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n // This adds friction when scrolling the 'wrong' way when at min offset\n if (scrollOffset.value <= 0) {\n scrollAmount = bias(-scrollOffset.value)\n }\n\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${sign * 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 Math.abs(scrollOffset.value) > 0\n })\n\n const hasNext = computed(() => {\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 props.class,\n ]}\n style={ props.style }\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={ isRtl.value ? props.nextIcon : 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={ isRtl.value ? props.prevIcon : 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","useDisplay","makeComponentProps","makeGroupProps","useGroup","IconValue","useRtl","useResizeObserver","makeTagProps","computed","shallowRef","watch","bias","calculateCenteredOffset","calculateUpdatedOffset","clamp","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","VSlideGroupSymbol","Symbol","for","makeVSlideGroupProps","centerActive","Boolean","direction","type","String","default","symbol","nextIcon","prevIcon","showArrows","validator","v","includes","selectedClass","VSlideGroup","name","props","emits","value","setup","_ref","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","sign","touches","onTouchmove","onTouchend","maxScrollOffset","onScroll","isFocused","onFocusin","el","composedPath","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","location","focusable","querySelector","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","scrollTo","newAbsoluteOffset","contentStyles","scrollAmount","transform","transition","willChange","slotProps","next","prev","select","isSelected","hasAffixes","Math","abs","hasPrev","hasNext","_createVNode","tag","class","style","onClick"],"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 { useDisplay } from '@/composables'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, shallowRef, watch } from 'vue'\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\ninterface SlideGroupSlot {\n next: GroupProvide['next']\n prev: GroupProvide['prev']\n select: GroupProvide['select']\n isSelected: GroupProvide['isSelected']\n}\n\ntype VSlideGroupSlots = {\n default: SlideGroupSlot\n prev: SlideGroupSlot\n next: SlideGroupSlot\n}\n\nexport const makeVSlideGroupProps = propsFactory({\n centerActive: Boolean,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\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 ...makeComponentProps(),\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n}, 'VSlideGroup')\n\nexport const VSlideGroup = genericComponent<VSlideGroupSlots>()({\n name: 'VSlideGroup',\n\n props: makeVSlideGroupProps(),\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 = shallowRef(false)\n const scrollOffset = shallowRef(0)\n const containerSize = shallowRef(0)\n const contentSize = shallowRef(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 = shallowRef(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n startOffset = sign * 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 const sign = isRtl.value && isHorizontal.value ? -1 : 1\n scrollOffset.value = sign * (startOffset + startTouch - e.touches[0][sizeProperty])\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n if (!containerRef.value) return\n\n containerRef.value[isHorizontal.value ? 'scrollLeft' : 'scrollTop'] = 0\n }\n\n const isFocused = shallowRef(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 (isHorizontal.value) {\n if (e.key === 'ArrowRight') {\n focus(isRtl.value ? 'prev' : 'next')\n } else if (e.key === 'ArrowLeft') {\n focus(isRtl.value ? 'next' : 'prev')\n }\n } else {\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n }\n }\n\n 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 const focusable = focusableChildren(contentRef.value)\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 newAbsoluteOffset = scrollOffset.value + (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = clamp(newAbsoluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n // This adds friction when scrolling the 'wrong' way when at max offset\n let scrollAmount = scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n // This adds friction when scrolling the 'wrong' way when at min offset\n if (scrollOffset.value <= 0) {\n scrollAmount = bias(-scrollOffset.value)\n }\n\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${sign * 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 Math.abs(scrollOffset.value) > 0\n })\n\n const hasNext = computed(() => {\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 props.class,\n ]}\n style={ props.style }\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={ isRtl.value ? props.nextIcon : 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={ isRtl.value ? props.prevIcon : 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,7 +1,7 @@
1
1
  // Composables
2
2
  import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs"; // Utilities
3
- import { genericComponent } from "../../util/index.mjs";
4
- import { VSlideGroupSymbol } from "./VSlideGroup.mjs"; // Types
3
+ import { VSlideGroupSymbol } from "./VSlideGroup.mjs";
4
+ import { genericComponent } from "../../util/index.mjs"; // Types
5
5
  export const VSlideGroupItem = genericComponent()({
6
6
  name: 'VSlideGroupItem',
7
7
  props: makeGroupItemProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","genericComponent","VSlideGroupSymbol","VSlideGroupItem","name","props","emits","val","setup","_ref","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 { genericComponent } from '@/util'\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\n// Types\nimport type { UnwrapRef } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\ntype VSlideGroupItemSlots = {\n default: {\n isSelected: UnwrapRef<GroupItemProvide['isSelected']>\n select: GroupItemProvide['select']\n toggle: GroupItemProvide['toggle']\n selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>\n }\n}\n\nexport const VSlideGroupItem = genericComponent<VSlideGroupItemSlots>()({\n name: 'VSlideGroupItem',\n\n props: makeGroupItemProps(),\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\nexport type VSlideGroupItem = InstanceType<typeof VSlideGroupItem>\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY,uCAEzC;AAAA,SACSC,gBAAgB;AAAA,SAChBC,iBAAiB,6BAE1B;AAaA,OAAO,MAAMC,eAAe,GAAGF,gBAAgB,EAAwB,CAAC;EACtEG,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAEN,kBAAkB,EAAE;EAE3BO,KAAK,EAAE;IACL,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,cAAc,GAAGX,YAAY,CAACK,KAAK,EAAEH,iBAAiB,CAAC;IAE7D,OAAO,MAAMQ,KAAK,CAACE,OAAO,GAAG;MAC3BC,UAAU,EAAEF,cAAc,CAACE,UAAU,CAACC,KAAK;MAC3CC,MAAM,EAAEJ,cAAc,CAACI,MAAM;MAC7BC,MAAM,EAAEL,cAAc,CAACK,MAAM;MAC7BC,aAAa,EAAEN,cAAc,CAACM,aAAa,CAACH;IAC9C,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VSlideGroupItem.mjs","names":["makeGroupItemProps","useGroupItem","VSlideGroupSymbol","genericComponent","VSlideGroupItem","name","props","emits","val","setup","_ref","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 { VSlideGroupSymbol } from './VSlideGroup'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { UnwrapRef } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\ntype VSlideGroupItemSlots = {\n default: {\n isSelected: UnwrapRef<GroupItemProvide['isSelected']>\n select: GroupItemProvide['select']\n toggle: GroupItemProvide['toggle']\n selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>\n }\n}\n\nexport const VSlideGroupItem = genericComponent<VSlideGroupItemSlots>()({\n name: 'VSlideGroupItem',\n\n props: makeGroupItemProps(),\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\nexport type VSlideGroupItem = InstanceType<typeof VSlideGroupItem>\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,EAAEC,YAAY,uCAEzC;AAAA,SACSC,iBAAiB;AAAA,SACjBC,gBAAgB,gCAEzB;AAaA,OAAO,MAAMC,eAAe,GAAGD,gBAAgB,EAAwB,CAAC;EACtEE,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAEN,kBAAkB,EAAE;EAE3BO,KAAK,EAAE;IACL,gBAAgB,EAAGC,GAAuB,IAAK;EACjD,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,cAAc,GAAGX,YAAY,CAACK,KAAK,EAAEJ,iBAAiB,CAAC;IAE7D,OAAO,MAAMS,KAAK,CAACE,OAAO,GAAG;MAC3BC,UAAU,EAAEF,cAAc,CAACE,UAAU,CAACC,KAAK;MAC3CC,MAAM,EAAEJ,cAAc,CAACI,MAAM;MAC7BC,MAAM,EAAEL,cAAc,CAACK,MAAM;MAC7BC,aAAa,EAAEN,cAAc,CAACM,aAAa,CAACH;IAC9C,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -3,14 +3,14 @@ import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fr
3
3
  import "./VSlider.css";
4
4
 
5
5
  // Components
6
- import { makeVInputProps, VInput } from "../VInput/VInput.mjs";
7
- import { VLabel } from "../VLabel/index.mjs";
8
6
  import { VSliderThumb } from "./VSliderThumb.mjs";
9
- import { VSliderTrack } from "./VSliderTrack.mjs"; // Composables
7
+ import { VSliderTrack } from "./VSliderTrack.mjs";
8
+ import { makeVInputProps, VInput } from "../VInput/VInput.mjs";
9
+ import { VLabel } from "../VLabel/index.mjs"; // Composables
10
10
  import { makeSliderProps, useSlider, useSteps } from "./slider.mjs";
11
11
  import { makeFocusProps, useFocus } from "../../composables/focus.mjs";
12
- import { useProxiedModel } from "../../composables/proxiedModel.mjs";
13
- import { useRtl } from "../../composables/locale.mjs"; // Utilities
12
+ import { useRtl } from "../../composables/locale.mjs";
13
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
14
14
  import { computed, ref } from 'vue';
15
15
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
16
16
  export const makeVSliderProps = propsFactory({
@@ -21,7 +21,7 @@ export const makeVSliderProps = propsFactory({
21
21
  type: [Number, String],
22
22
  default: 0
23
23
  }
24
- }, 'v-slider');
24
+ }, 'VSlider');
25
25
  export const VSlider = genericComponent()({
26
26
  name: 'VSlider',
27
27
  props: makeVSliderProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VSlider.mjs","names":["makeVInputProps","VInput","VLabel","VSliderThumb","VSliderTrack","makeSliderProps","useSlider","useSteps","makeFocusProps","useFocus","useProxiedModel","useRtl","computed","ref","genericComponent","propsFactory","useRender","makeVSliderProps","modelValue","type","Number","String","default","VSlider","name","props","emits","value","v","start","end","setup","_ref","slots","emit","thumbContainerRef","rtlClasses","steps","model","undefined","parseFloat","min","roundValue","max","mousePressed","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","onSliderStart","onSliderEnd","_ref2","roundedValue","onSliderMove","_ref3","getActiveThumb","$el","isFocused","focus","blur","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","class","style","slotProps","_Fragment","id","_ref4","messagesId","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { makeSliderProps, useSlider, useSteps } from './slider'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlot, VInputSlots } from '@/components/VInput/VInput'\n\nexport type VSliderSlots = VInputSlots & {\n label: VInputSlot\n 'tick-label': never\n 'thumb-label': never\n}\n\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n}, 'v-slider')\n\nexport const VSlider = genericComponent<VSliderSlots>()({\n name: 'VSlider',\n\n props: makeVSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n start: (value: number) => true,\n end: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const thumbContainerRef = ref()\n const { rtlClasses } = useRtl()\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? steps.min.value : v\n\n return steps.roundValue(value)\n },\n )\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 steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const roundedValue = roundValue(value)\n model.value = roundedValue\n emit('end', roundedValue)\n },\n onSliderMove: ({ value }) => model.value = roundValue(value),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\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 {\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 rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\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 id={ slotProps.id.value }\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={ !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 aria-describedby={ messagesId.value }\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
+ {"version":3,"file":"VSlider.mjs","names":["VSliderThumb","VSliderTrack","makeVInputProps","VInput","VLabel","makeSliderProps","useSlider","useSteps","makeFocusProps","useFocus","useRtl","useProxiedModel","computed","ref","genericComponent","propsFactory","useRender","makeVSliderProps","modelValue","type","Number","String","default","VSlider","name","props","emits","value","v","start","end","setup","_ref","slots","emit","thumbContainerRef","rtlClasses","steps","model","undefined","parseFloat","min","roundValue","max","mousePressed","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","onSliderStart","onSliderEnd","_ref2","roundedValue","onSliderMove","_ref3","getActiveThumb","$el","isFocused","focus","blur","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","class","style","slotProps","_Fragment","id","_ref4","messagesId","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeSliderProps, useSlider, useSteps } from './slider'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlot, VInputSlots } from '@/components/VInput/VInput'\n\nexport type VSliderSlots = VInputSlots & {\n label: VInputSlot\n 'tick-label': never\n 'thumb-label': never\n}\n\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n}, 'VSlider')\n\nexport const VSlider = genericComponent<VSliderSlots>()({\n name: 'VSlider',\n\n props: makeVSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n start: (value: number) => true,\n end: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const thumbContainerRef = ref()\n const { rtlClasses } = useRtl()\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? steps.min.value : v\n\n return steps.roundValue(value)\n },\n )\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 steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const roundedValue = roundValue(value)\n model.value = roundedValue\n emit('end', roundedValue)\n },\n onSliderMove: ({ value }) => model.value = roundValue(value),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\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 {\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 rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\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 id={ slotProps.id.value }\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={ !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 aria-describedby={ messagesId.value }\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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"}
@@ -3,12 +3,12 @@ import { vShow as _vShow, withDirectives as _withDirectives, resolveDirective as
3
3
  import "./VSliderThumb.css";
4
4
 
5
5
  // Components
6
- import { VScaleTransition } from "../transitions/index.mjs";
7
- import { VSliderSymbol } from "./slider.mjs"; // Directives
8
- import Ripple from "../../directives/ripple/index.mjs"; // Composables
6
+ import { VSliderSymbol } from "./slider.mjs";
7
+ import { VScaleTransition } from "../transitions/index.mjs"; // Composables
8
+ import { useTextColor } from "../../composables/color.mjs";
9
9
  import { makeComponentProps } from "../../composables/component.mjs";
10
- import { useElevation } from "../../composables/elevation.mjs";
11
- import { useTextColor } from "../../composables/color.mjs"; // Utilities
10
+ import { useElevation } from "../../composables/elevation.mjs"; // Directives
11
+ import Ripple from "../../directives/ripple/index.mjs"; // Utilities
12
12
  import { computed, inject } from 'vue';
13
13
  import { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from "../../util/index.mjs";
14
14
  export const makeVSliderThumbProps = propsFactory({
@@ -34,7 +34,7 @@ export const makeVSliderThumbProps = propsFactory({
34
34
  default: true
35
35
  },
36
36
  ...makeComponentProps()
37
- }, 'v-slider-thumb');
37
+ }, 'VSliderThumb');
38
38
  export const VSliderThumb = genericComponent()({
39
39
  name: 'VSliderThumb',
40
40
  directives: {
@@ -1 +1 @@
1
- {"version":3,"file":"VSliderThumb.mjs","names":["VScaleTransition","VSliderSymbol","Ripple","makeComponentProps","useElevation","useTextColor","computed","inject","convertToUnit","genericComponent","keyValues","propsFactory","useRender","makeVSliderThumbProps","focused","Boolean","max","type","Number","required","min","modelValue","position","ripple","default","VSliderThumb","name","directives","props","emits","v","setup","_ref","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","elevationClasses","undefined","_createVNode","class","style","_withDirectives","_resolveDirective","circle","center","toFixed","_vShow"],"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 { makeComponentProps } from '@/composables/component'\nimport { useElevation } from '@/composables/elevation'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from '@/util'\n\nexport type VSliderThumbSlots = {\n 'thumb-label': { modelValue: number }\n}\n\nexport const makeVSliderThumbProps = propsFactory({\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 ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeComponentProps(),\n}, 'v-slider-thumb')\n\nexport const VSliderThumb = genericComponent<VSliderThumbSlots>()({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: makeVSliderThumbProps(),\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 = horizontalDirection.value === 'rtl' ? [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 || isReversed.value) ? 100 - props.position : props.position, '%')\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 props.class,\n ]}\n style={[\n {\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n },\n props.style,\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={[props.ripple, 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
+ {"version":3,"file":"VSliderThumb.mjs","names":["VSliderSymbol","VScaleTransition","useTextColor","makeComponentProps","useElevation","Ripple","computed","inject","convertToUnit","genericComponent","keyValues","propsFactory","useRender","makeVSliderThumbProps","focused","Boolean","max","type","Number","required","min","modelValue","position","ripple","default","VSliderThumb","name","directives","props","emits","v","setup","_ref","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","elevationClasses","undefined","_createVNode","class","style","_withDirectives","_resolveDirective","circle","center","toFixed","_vShow"],"sources":["../../../src/components/VSlider/VSliderThumb.tsx"],"sourcesContent":["// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\nimport { VScaleTransition } from '../transitions'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from '@/util'\n\nexport type VSliderThumbSlots = {\n 'thumb-label': { modelValue: number }\n}\n\nexport const makeVSliderThumbProps = propsFactory({\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 ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeComponentProps(),\n}, 'VSliderThumb')\n\nexport const VSliderThumb = genericComponent<VSliderThumbSlots>()({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: makeVSliderThumbProps(),\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 = horizontalDirection.value === 'rtl' ? [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 || isReversed.value) ? 100 - props.position : props.position, '%')\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 props.class,\n ]}\n style={[\n {\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n },\n props.style,\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={[props.ripple, 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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"}
@@ -4,11 +4,11 @@ import "./VSliderTrack.css";
4
4
 
5
5
  // Components
6
6
  import { VSliderSymbol } from "./slider.mjs"; // Composables
7
- import { makeComponentProps } from "../../composables/component.mjs";
8
7
  import { useBackgroundColor } from "../../composables/color.mjs";
8
+ import { makeComponentProps } from "../../composables/component.mjs";
9
9
  import { useRounded } from "../../composables/rounded.mjs"; // Utilities
10
10
  import { computed, inject } from 'vue';
11
- import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
11
+ import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
12
12
  export const makeVSliderTrackProps = propsFactory({
13
13
  start: {
14
14
  type: Number,
@@ -19,7 +19,7 @@ export const makeVSliderTrackProps = propsFactory({
19
19
  required: true
20
20
  },
21
21
  ...makeComponentProps()
22
- }, 'v-slider-track');
22
+ }, 'VSliderTrack');
23
23
  export const VSliderTrack = genericComponent()({
24
24
  name: 'VSliderTrack',
25
25
  props: makeVSliderTrackProps(),
@@ -1 +1 @@
1
- {"version":3,"file":"VSliderTrack.mjs","names":["VSliderSymbol","makeComponentProps","useBackgroundColor","useRounded","computed","inject","convertToUnit","genericComponent","propsFactory","useRender","makeVSliderTrackProps","start","type","Number","required","stop","VSliderTrack","name","props","emits","setup","_ref","slots","slider","Error","color","horizontalDirection","parsedTicks","rounded","showTicks","tickSize","trackColor","trackFillColor","trackSize","vertical","min","max","roundedClasses","backgroundColorClasses","trackFillColorClasses","backgroundColorStyles","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","value","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","ticks","slice","reverse","map","tick","index","directionProperty","directionValue","position","undefined","_createVNode","label","class","direction","style"],"sources":["../../../src/components/VSlider/VSliderTrack.tsx"],"sourcesContent":["// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { type Tick, VSliderSymbol } from './slider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VSliderTrackSlots = {\n 'tick-label': { tick: Tick, index: number }\n}\n\nexport const makeVSliderTrackProps = propsFactory({\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n\n ...makeComponentProps(),\n}, 'v-slider-track')\n\nexport const VSliderTrack = genericComponent<VSliderTrackSlots>()({\n name: 'VSliderTrack',\n\n props: makeVSliderTrackProps(),\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n color,\n horizontalDirection,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n min,\n max,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n if (!showTicks.value) return []\n\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined\n\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n 'v-slider-track__tick--first': tick.value === min.value,\n 'v-slider-track__tick--last': tick.value === max.value,\n },\n ]}\n style={{ [directionProperty]: directionValue }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n },\n props.style,\n ]}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACoBA,aAAa,wBAEjC;AAAA,SACSC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,UAAU,yCAEnB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAMjE,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDC,IAAI,EAAE;IACJH,IAAI,EAAEC,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EAED,GAAGb,kBAAkB;AACvB,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMe,YAAY,GAAGT,gBAAgB,EAAqB,CAAC;EAChEU,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAER,qBAAqB,EAAE;EAE9BS,KAAK,EAAE,CAAC,CAAC;EAETC,KAAKA,CAAEF,KAAK,EAAAG,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,MAAM,GAAGlB,MAAM,CAACL,aAAa,CAAC;IAEpC,IAAI,CAACuB,MAAM,EAAE,MAAM,IAAIC,KAAK,CAAC,oEAAoE,CAAC;IAElG,MAAM;MACJC,KAAK;MACLC,mBAAmB;MACnBC,WAAW;MACXC,OAAO;MACPC,SAAS;MACTC,QAAQ;MACRC,UAAU;MACVC,cAAc;MACdC,SAAS;MACTC,QAAQ;MACRC,GAAG;MACHC;IACF,CAAC,GAAGb,MAAM;IAEV,MAAM;MAAEc;IAAe,CAAC,GAAGlC,UAAU,CAACyB,OAAO,CAAC;IAE9C,MAAM;MACJU,sBAAsB,EAAEC,qBAAqB;MAC7CC,qBAAqB,EAAEC;IACzB,CAAC,GAAGvC,kBAAkB,CAAC8B,cAAc,CAAC;IAEtC,MAAM;MACJM,sBAAsB,EAAEI,iBAAiB;MACzCF,qBAAqB,EAAEG;IACzB,CAAC,GAAGzC,kBAAkB,CAAC6B,UAAU,CAAC;IAElC,MAAMa,QAAQ,GAAGxC,QAAQ,CAAC,MAAO,SAAQ8B,QAAQ,CAACW,KAAK,GAAG,WAAW,GAAG,cAAe,EAAC,CAAC;IACzF,MAAMC,MAAM,GAAG1C,QAAQ,CAAC,MAAM8B,QAAQ,CAACW,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAElE,MAAME,gBAAgB,GAAG3C,QAAQ,CAAC,MAAM;MACtC,OAAO;QACL,CAACwC,QAAQ,CAACC,KAAK,GAAG,IAAI;QACtB,CAACC,MAAM,CAACD,KAAK,GAAG;MAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAMG,cAAc,GAAG5C,QAAQ,CAAC,MAAMc,KAAK,CAACH,IAAI,GAAGG,KAAK,CAACP,KAAK,CAAC;IAE/D,MAAMsC,eAAe,GAAG7C,QAAQ,CAAC,MAAM;MACrC,OAAO;QACL,CAACwC,QAAQ,CAACC,KAAK,GAAGvC,aAAa,CAACY,KAAK,CAACP,KAAK,EAAE,GAAG,CAAC;QACjD,CAACmC,MAAM,CAACD,KAAK,GAAGvC,aAAa,CAAC0C,cAAc,CAACH,KAAK,EAAE,GAAG;MACzD,CAAC;IACH,CAAC,CAAC;IAEF,MAAMK,aAAa,GAAG9C,QAAQ,CAAC,MAAM;MACnC,IAAI,CAACyB,SAAS,CAACgB,KAAK,EAAE,OAAO,EAAE;MAE/B,MAAMM,KAAK,GAAGjB,QAAQ,CAACW,KAAK,GAAGlB,WAAW,CAACkB,KAAK,CAACO,KAAK,EAAE,CAACC,OAAO,EAAE,GAAG1B,WAAW,CAACkB,KAAK;MAEtF,OAAOM,KAAK,CAACG,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;QAChC,MAAMC,iBAAiB,GAAGvB,QAAQ,CAACW,KAAK,GAAG,QAAQ,GAAG,qBAAqB;QAC3E,MAAMa,cAAc,GAAGH,IAAI,CAACV,KAAK,KAAKV,GAAG,CAACU,KAAK,IAAIU,IAAI,CAACV,KAAK,KAAKT,GAAG,CAACS,KAAK,GAAGvC,aAAa,CAACiD,IAAI,CAACI,QAAQ,EAAE,GAAG,CAAC,GAAGC,SAAS;QAE3H,OAAAC,YAAA;UAAA,OAEUN,IAAI,CAACV,KAAK;UAAA,SACT,CACL,sBAAsB,EACtB;YACE,8BAA8B,EAAEU,IAAI,CAACI,QAAQ,IAAIzC,KAAK,CAACP,KAAK,IAAI4C,IAAI,CAACI,QAAQ,IAAIzC,KAAK,CAACH,IAAI;YAC3F,6BAA6B,EAAEwC,IAAI,CAACV,KAAK,KAAKV,GAAG,CAACU,KAAK;YACvD,4BAA4B,EAAEU,IAAI,CAACV,KAAK,KAAKT,GAAG,CAACS;UACnD,CAAC,CACF;UAAA,SACM;YAAE,CAACY,iBAAiB,GAAGC;UAAe;QAAC,IAG5C,CAACH,IAAI,CAACO,KAAK,IAAIxC,KAAK,CAAC,YAAY,CAAC,KAAAuC,YAAA;UAAA,SACrB;QAA4B,IACnCvC,KAAK,CAAC,YAAY,CAAC,GAAG;UAAEiC,IAAI;UAAEC;QAAM,CAAC,CAAC,IAAID,IAAI,CAACO,KAAK,EAEzD;MAIT,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFrD,SAAS,CAAC,MAAM;MACd,OAAAoD,YAAA;QAAA,SAEW,CACL,gBAAgB,EAChBxB,cAAc,CAACQ,KAAK,EACpB3B,KAAK,CAAC6C,KAAK,CACZ;QAAA,SACM,CACL;UACE,uBAAuB,EAAEzD,aAAa,CAAC2B,SAAS,CAACY,KAAK,CAAC;UACvD,sBAAsB,EAAEvC,aAAa,CAACwB,QAAQ,CAACe,KAAK,CAAC;UACrDmB,SAAS,EAAE,CAAC9B,QAAQ,CAACW,KAAK,GAAGnB,mBAAmB,CAACmB,KAAK,GAAGe;QAC3D,CAAC,EACD1C,KAAK,CAAC+C,KAAK;MACZ,IAAAJ,YAAA;QAAA,SAGQ,CACL,4BAA4B,EAC5BnB,iBAAiB,CAACG,KAAK,EACvB;UACE,qCAAqC,EAAE,CAAC,CAACpB,KAAK,CAACoB,KAAK,IAAI,CAACb,cAAc,CAACa;QAC1E,CAAC,CACF;QAAA,SACM;UACL,GAAGE,gBAAgB,CAACF,KAAK;UACzB,GAAGF,gBAAgB,CAACE;QACtB;MAAC,UAAAgB,YAAA;QAAA,SAGM,CACL,sBAAsB,EACtBtB,qBAAqB,CAACM,KAAK,CAC5B;QAAA,SACM;UACL,GAAGI,eAAe,CAACJ,KAAK;UACxB,GAAGJ,oBAAoB,CAACI;QAC1B;MAAC,UAGDhB,SAAS,CAACgB,KAAK,IAAAgB,YAAA;QAAA,SAEN,CACL,uBAAuB,EACvB;UACE,oCAAoC,EAAEhC,SAAS,CAACgB,KAAK,KAAK;QAC5D,CAAC;MACF,IAECK,aAAa,CAACL,KAAK,EAExB;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VSliderTrack.mjs","names":["VSliderSymbol","useBackgroundColor","makeComponentProps","useRounded","computed","inject","convertToUnit","genericComponent","propsFactory","useRender","makeVSliderTrackProps","start","type","Number","required","stop","VSliderTrack","name","props","emits","setup","_ref","slots","slider","Error","color","horizontalDirection","parsedTicks","rounded","showTicks","tickSize","trackColor","trackFillColor","trackSize","vertical","min","max","roundedClasses","backgroundColorClasses","trackFillColorClasses","backgroundColorStyles","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","value","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","ticks","slice","reverse","map","tick","index","directionProperty","directionValue","position","undefined","_createVNode","label","class","direction","style"],"sources":["../../../src/components/VSlider/VSliderTrack.tsx"],"sourcesContent":["// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Tick } from './slider'\n\nexport type VSliderTrackSlots = {\n 'tick-label': { tick: Tick, index: number }\n}\n\nexport const makeVSliderTrackProps = propsFactory({\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n\n ...makeComponentProps(),\n}, 'VSliderTrack')\n\nexport const VSliderTrack = genericComponent<VSliderTrackSlots>()({\n name: 'VSliderTrack',\n\n props: makeVSliderTrackProps(),\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n color,\n horizontalDirection,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n min,\n max,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n if (!showTicks.value) return []\n\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined\n\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n 'v-slider-track__tick--first': tick.value === min.value,\n 'v-slider-track__tick--last': tick.value === max.value,\n },\n ]}\n style={{ [directionProperty]: directionValue }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n },\n props.style,\n ]}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n"],"mappings":"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"}