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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/CHANGELOG.md +43 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +261 -205
  4. package/dist/json/importMap.json +175 -219
  5. package/dist/json/tags.json +74 -104
  6. package/dist/json/web-types.json +880 -835
  7. package/dist/vuetify.css +597 -407
  8. package/dist/vuetify.d.ts +6770 -2144
  9. package/dist/vuetify.esm.js +9075 -8454
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +9074 -8453
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +2 -2
  14. package/dist/vuetify.min.js +1078 -1040
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/blueprints/index.mjs +4 -0
  17. package/lib/blueprints/index.mjs.map +1 -0
  18. package/lib/blueprints/md1.mjs +63 -0
  19. package/lib/blueprints/md1.mjs.map +1 -0
  20. package/lib/blueprints/md2.mjs +60 -0
  21. package/lib/blueprints/md2.mjs.map +1 -0
  22. package/lib/blueprints/md3.mjs +74 -0
  23. package/lib/blueprints/md3.mjs.map +1 -0
  24. package/lib/components/VAlert/VAlert.css +5 -5
  25. package/lib/components/VAlert/VAlert.mjs +8 -2
  26. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  27. package/lib/components/VAlert/VAlert.sass +0 -2
  28. package/lib/components/VApp/VApp.css +2 -5
  29. package/lib/components/VApp/VApp.mjs +3 -4
  30. package/lib/components/VApp/VApp.mjs.map +1 -1
  31. package/lib/components/VApp/VApp.sass +11 -12
  32. package/lib/components/VApp/variables.scss +6 -0
  33. package/lib/components/VAppBar/VAppBar.mjs +4 -3
  34. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  35. package/lib/components/VAppBar/VAppBar.sass +0 -1
  36. package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -12
  37. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  38. package/lib/components/VAppBar/VAppBarTitle.mjs +4 -3
  39. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  40. package/lib/components/VAppBar/_variables.scss +2 -0
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs +54 -21
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  44. package/lib/components/VAvatar/VAvatar.css +1 -1
  45. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  46. package/lib/components/VAvatar/VAvatar.sass +1 -2
  47. package/lib/components/VAvatar/_mixins.scss +0 -1
  48. package/lib/components/VBadge/VBadge.mjs +8 -7
  49. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  50. package/lib/components/VBadge/VBadge.sass +0 -1
  51. package/lib/components/VBadge/_variables.scss +2 -2
  52. package/lib/components/VBanner/VBanner.css +7 -7
  53. package/lib/components/VBanner/VBanner.mjs +24 -17
  54. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  55. package/lib/components/VBanner/VBanner.sass +6 -8
  56. package/lib/components/VBanner/VBannerActions.mjs +1 -1
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/index.mjs +0 -2
  59. package/lib/components/VBanner/index.mjs.map +1 -1
  60. package/lib/components/VBottomNavigation/VBottomNavigation.css +4 -11
  61. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -3
  62. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  63. package/lib/components/VBottomNavigation/VBottomNavigation.sass +5 -13
  64. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  65. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  66. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +30 -19
  67. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  69. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +5 -8
  70. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  71. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  72. package/lib/components/VBtn/VBtn.css +72 -15
  73. package/lib/components/VBtn/VBtn.mjs +70 -27
  74. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  75. package/lib/components/VBtn/VBtn.sass +70 -13
  76. package/lib/components/VBtn/_variables.scss +4 -1
  77. package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
  78. package/lib/components/VBtnGroup/_variables.scss +2 -0
  79. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  80. package/lib/components/VBtnToggle/_variables.scss +1 -0
  81. package/lib/components/VCard/VCard.css +86 -69
  82. package/lib/components/VCard/VCard.mjs +52 -66
  83. package/lib/components/VCard/VCard.mjs.map +1 -1
  84. package/lib/components/VCard/VCard.sass +74 -62
  85. package/lib/components/VCard/VCardActions.mjs +1 -1
  86. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  87. package/lib/components/VCard/VCardItem.mjs +88 -0
  88. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  89. package/lib/components/VCard/_variables.scss +40 -24
  90. package/lib/components/VCard/index.mjs +1 -5
  91. package/lib/components/VCard/index.mjs.map +1 -1
  92. package/lib/components/VCarousel/VCarousel.mjs +5 -4
  93. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  94. package/lib/components/VCarousel/VCarousel.sass +0 -1
  95. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  96. package/lib/components/VCarousel/_variables.scss +1 -0
  97. package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
  98. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  99. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  100. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  101. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  102. package/lib/components/VCheckbox/index.mjs +1 -0
  103. package/lib/components/VCheckbox/index.mjs.map +1 -1
  104. package/lib/components/VChip/VChip.css +142 -65
  105. package/lib/components/VChip/VChip.mjs +77 -38
  106. package/lib/components/VChip/VChip.mjs.map +1 -1
  107. package/lib/components/VChip/VChip.sass +6 -1
  108. package/lib/components/VChip/_mixins.scss +26 -6
  109. package/lib/components/VChip/_variables.scss +1 -5
  110. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  111. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  112. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  113. package/lib/components/VChipGroup/_variables.scss +1 -1
  114. package/lib/components/VCode/VCode.sass +1 -2
  115. package/lib/components/VCode/_variables.scss +1 -1
  116. package/lib/components/VColorPicker/VColorPicker.mjs +16 -10
  117. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  118. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  119. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -4
  120. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  121. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  122. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  123. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  124. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  125. package/lib/components/VColorPicker/VColorPickerPreview.mjs +4 -3
  126. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  127. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  128. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  129. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  130. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  131. package/lib/components/VColorPicker/_variables.scss +17 -10
  132. package/lib/components/VCombobox/VCombobox.mjs +52 -36
  133. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  134. package/lib/components/VCombobox/VCombobox.sass +0 -2
  135. package/lib/components/VCounter/VCounter.mjs +16 -16
  136. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  137. package/lib/components/VCounter/VCounter.sass +1 -2
  138. package/lib/components/VCounter/_variables.scss +2 -1
  139. package/lib/components/VDialog/VDialog.css +2 -5
  140. package/lib/components/VDialog/VDialog.mjs +25 -25
  141. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  142. package/lib/components/VDialog/VDialog.sass +1 -5
  143. package/lib/components/VDialog/_variables.scss +0 -1
  144. package/lib/components/VDivider/VDivider.mjs +16 -17
  145. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  146. package/lib/components/VDivider/VDivider.sass +0 -1
  147. package/lib/components/VDivider/_variables.scss +3 -1
  148. package/lib/components/VExpansionPanel/VExpansionPanel.css +1 -0
  149. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +9 -4
  150. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  151. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  152. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -7
  153. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  154. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  155. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  156. package/lib/components/VField/VField.css +11 -11
  157. package/lib/components/VField/VField.mjs +19 -12
  158. package/lib/components/VField/VField.mjs.map +1 -1
  159. package/lib/components/VField/VField.sass +8 -10
  160. package/lib/components/VField/VFieldLabel.mjs +8 -9
  161. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  162. package/lib/components/VField/_variables.scss +3 -3
  163. package/lib/components/VFileInput/VFileInput.css +3 -3
  164. package/lib/components/VFileInput/VFileInput.mjs +12 -7
  165. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  166. package/lib/components/VFileInput/VFileInput.sass +3 -4
  167. package/lib/components/VFooter/VFooter.mjs +4 -3
  168. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  169. package/lib/components/VFooter/VFooter.sass +0 -1
  170. package/lib/components/VFooter/_variables.scss +2 -1
  171. package/lib/components/VForm/VForm.mjs +3 -3
  172. package/lib/components/VForm/VForm.mjs.map +1 -1
  173. package/lib/components/VGrid/VCol.mjs.map +1 -1
  174. package/lib/components/VGrid/VContainer.mjs +4 -3
  175. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  176. package/lib/components/VGrid/VRow.mjs.map +1 -1
  177. package/lib/components/VIcon/VIcon.css +0 -8
  178. package/lib/components/VIcon/VIcon.mjs +20 -21
  179. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  180. package/lib/components/VIcon/VIcon.sass +0 -9
  181. package/lib/components/VIcon/_variables.scss +2 -5
  182. package/lib/components/VIcon/index.mjs.map +1 -1
  183. package/lib/components/VImg/VImg.sass +0 -1
  184. package/lib/components/VInput/VInput.mjs +13 -9
  185. package/lib/components/VInput/VInput.mjs.map +1 -1
  186. package/lib/components/VInput/VInput.sass +0 -1
  187. package/lib/components/VItemGroup/VItem.mjs +3 -0
  188. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  189. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  190. package/lib/components/VKbd/VKbd.sass +0 -1
  191. package/lib/components/VKbd/_variables.scss +1 -1
  192. package/lib/components/VLabel/VLabel.mjs +4 -3
  193. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  194. package/lib/components/VLabel/VLabel.sass +0 -1
  195. package/lib/components/VLabel/_variables.scss +1 -0
  196. package/lib/components/VLazy/VLazy.mjs +5 -3
  197. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  198. package/lib/components/VList/VList.css +2 -2
  199. package/lib/components/VList/VList.mjs +16 -18
  200. package/lib/components/VList/VList.mjs.map +1 -1
  201. package/lib/components/VList/VList.sass +1 -2
  202. package/lib/components/VList/VListChildren.mjs +7 -6
  203. package/lib/components/VList/VListChildren.mjs.map +1 -1
  204. package/lib/components/VList/VListGroup.mjs +45 -31
  205. package/lib/components/VList/VListGroup.mjs.map +1 -1
  206. package/lib/components/VList/VListItem.css +84 -58
  207. package/lib/components/VList/VListItem.mjs +78 -45
  208. package/lib/components/VList/VListItem.mjs.map +1 -1
  209. package/lib/components/VList/VListItem.sass +68 -40
  210. package/lib/components/VList/VListItemAction.mjs +8 -9
  211. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  212. package/lib/components/VList/VListItemMedia.mjs +4 -3
  213. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  214. package/lib/components/VList/VListSubheader.mjs +4 -3
  215. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  216. package/lib/components/VList/_variables.scss +11 -5
  217. package/lib/components/VList/index.mjs +2 -5
  218. package/lib/components/VList/index.mjs.map +1 -1
  219. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  220. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  221. package/lib/components/VMain/VMain.mjs +4 -3
  222. package/lib/components/VMain/VMain.mjs.map +1 -1
  223. package/lib/components/VMain/VMain.sass +0 -1
  224. package/lib/components/VMain/_variables.scss +1 -1
  225. package/lib/components/VMenu/VMenu.mjs +5 -5
  226. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  227. package/lib/components/VMenu/VMenu.sass +0 -1
  228. package/lib/components/VMessages/VMessages.mjs +5 -3
  229. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  230. package/lib/components/VMessages/VMessages.sass +0 -1
  231. package/lib/components/VMessages/_variables.scss +1 -1
  232. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +10 -4
  233. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  234. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  235. package/lib/components/VNavigationDrawer/_variables.scss +2 -1
  236. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  237. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  238. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  239. package/lib/components/VOverlay/VOverlay.mjs +10 -8
  240. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  241. package/lib/components/VOverlay/VOverlay.sass +0 -1
  242. package/lib/components/VOverlay/locationStrategies.mjs +267 -78
  243. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  244. package/lib/components/VOverlay/useActivator.mjs +4 -3
  245. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  246. package/lib/components/VOverlay/util/point.mjs +3 -3
  247. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  248. package/lib/components/VPagination/VPagination.mjs +41 -23
  249. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  250. package/lib/components/VPagination/VPagination.sass +0 -1
  251. package/lib/components/VParallax/VParallax.mjs +5 -5
  252. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  253. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  254. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  255. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  256. package/lib/components/VProgressCircular/_variables.scss +2 -0
  257. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  258. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  259. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  260. package/lib/components/VProgressLinear/_variables.scss +1 -0
  261. package/lib/components/VRadioGroup/VRadioGroup.mjs +6 -3
  262. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  263. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  264. package/lib/components/VRadioGroup/_variables.scss +3 -4
  265. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -13
  266. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  267. package/lib/components/VRating/VRating.mjs +6 -5
  268. package/lib/components/VRating/VRating.mjs.map +1 -1
  269. package/lib/components/VRating/VRating.sass +2 -1
  270. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  271. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  272. package/lib/components/VSelect/VSelect.mjs +61 -22
  273. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  274. package/lib/components/VSelect/VSelect.sass +0 -2
  275. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  276. package/lib/components/VSelectionControl/VSelectionControl.mjs +12 -10
  277. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  278. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  279. package/lib/components/VSelectionControl/_variables.scss +1 -0
  280. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  281. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  282. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -6
  283. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  284. package/lib/components/VSheet/VSheet.mjs +3 -3
  285. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  286. package/lib/components/VSheet/VSheet.sass +0 -1
  287. package/lib/components/VSheet/_variables.scss +3 -2
  288. package/lib/components/VSlideGroup/VSlideGroup.mjs +47 -49
  289. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
  291. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +7 -3
  292. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  293. package/lib/components/VSlideGroup/_variables.scss +0 -5
  294. package/lib/components/VSlideGroup/index.mjs +2 -2
  295. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  296. package/lib/components/VSlider/VSlider.mjs +7 -9
  297. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  298. package/lib/components/VSlider/VSlider.sass +0 -2
  299. package/lib/components/VSlider/VSliderThumb.mjs +6 -5
  300. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  301. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  302. package/lib/components/VSlider/VSliderTrack.mjs +11 -10
  303. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  304. package/lib/components/VSlider/VSliderTrack.sass +0 -2
  305. package/lib/components/VSlider/slider.mjs +4 -4
  306. package/lib/components/VSlider/slider.mjs.map +1 -1
  307. package/lib/components/VSnackbar/VSnackbar.css +5 -5
  308. package/lib/components/VSnackbar/VSnackbar.mjs +49 -49
  309. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  310. package/lib/components/VSnackbar/VSnackbar.sass +0 -1
  311. package/lib/components/VSnackbar/_variables.scss +2 -0
  312. package/lib/components/VSwitch/VSwitch.css +7 -0
  313. package/lib/components/VSwitch/VSwitch.mjs +8 -2
  314. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  315. package/lib/components/VSwitch/VSwitch.sass +6 -1
  316. package/lib/components/VSwitch/_variables.scss +1 -0
  317. package/lib/components/VSystemBar/VSystemBar.mjs +5 -13
  318. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  319. package/lib/components/VSystemBar/VSystemBar.sass +0 -1
  320. package/lib/components/VSystemBar/_variables.scss +2 -1
  321. package/lib/components/VTable/VTable.css +1 -0
  322. package/lib/components/VTable/VTable.mjs +9 -8
  323. package/lib/components/VTable/VTable.mjs.map +1 -1
  324. package/lib/components/VTable/VTable.sass +1 -1
  325. package/lib/components/VTable/_variables.scss +2 -0
  326. package/lib/components/VTabs/VTab.css +3 -1
  327. package/lib/components/VTabs/VTab.mjs +4 -4
  328. package/lib/components/VTabs/VTab.mjs.map +1 -1
  329. package/lib/components/VTabs/VTab.sass +4 -2
  330. package/lib/components/VTabs/VTabs.mjs +15 -12
  331. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  332. package/lib/components/VTabs/VTabs.sass +0 -1
  333. package/lib/components/VTabs/_variables.scss +2 -0
  334. package/lib/components/VTextField/VTextField.mjs +25 -13
  335. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  336. package/lib/components/VTextField/VTextField.sass +0 -1
  337. package/lib/components/VTextField/_variables.scss +1 -1
  338. package/lib/components/VTextarea/VTextarea.mjs +22 -12
  339. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  340. package/lib/components/VTextarea/VTextarea.sass +0 -2
  341. package/lib/components/VTextarea/_variables.scss +1 -0
  342. package/lib/components/VTimeline/VTimeline.mjs +24 -25
  343. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  344. package/lib/components/VTimeline/VTimeline.sass +3 -3
  345. package/lib/components/VTimeline/VTimelineDivider.mjs +41 -38
  346. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  347. package/lib/components/VTimeline/VTimelineItem.mjs +10 -11
  348. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  349. package/lib/components/VTimeline/_variables.scss +11 -6
  350. package/lib/components/VToolbar/VToolbar.css +15 -6
  351. package/lib/components/VToolbar/VToolbar.mjs +9 -9
  352. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  353. package/lib/components/VToolbar/VToolbar.sass +15 -7
  354. package/lib/components/VToolbar/VToolbarItems.mjs +12 -8
  355. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  356. package/lib/components/VToolbar/_variables.scss +6 -2
  357. package/lib/components/VTooltip/VTooltip.mjs +41 -39
  358. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  359. package/lib/components/VTooltip/VTooltip.sass +0 -1
  360. package/lib/components/VTooltip/_variables.scss +1 -0
  361. package/lib/components/VWindow/VWindow.mjs +4 -4
  362. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  363. package/lib/components/VWindow/VWindow.sass +0 -2
  364. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  365. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  366. package/lib/components/VWindow/_variables.scss +1 -0
  367. package/lib/components/index.d.ts +7316 -2666
  368. package/lib/components/transitions/dialog-transition.mjs +3 -0
  369. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  370. package/lib/components/transitions/index.mjs +0 -5
  371. package/lib/components/transitions/index.mjs.map +1 -1
  372. package/lib/composables/border.mjs +5 -6
  373. package/lib/composables/border.mjs.map +1 -1
  374. package/lib/composables/display.mjs +13 -11
  375. package/lib/composables/display.mjs.map +1 -1
  376. package/lib/composables/form.mjs +6 -6
  377. package/lib/composables/form.mjs.map +1 -1
  378. package/lib/composables/group.mjs.map +1 -1
  379. package/lib/composables/items.mjs +2 -2
  380. package/lib/composables/items.mjs.map +1 -1
  381. package/lib/composables/location.mjs +4 -8
  382. package/lib/composables/location.mjs.map +1 -1
  383. package/lib/composables/proxiedModel.mjs +2 -1
  384. package/lib/composables/proxiedModel.mjs.map +1 -1
  385. package/lib/composables/size.mjs +2 -2
  386. package/lib/composables/size.mjs.map +1 -1
  387. package/lib/composables/ssrBoot.mjs +3 -2
  388. package/lib/composables/ssrBoot.mjs.map +1 -1
  389. package/lib/composables/stack.mjs +7 -7
  390. package/lib/composables/stack.mjs.map +1 -1
  391. package/lib/composables/theme.mjs +15 -6
  392. package/lib/composables/theme.mjs.map +1 -1
  393. package/lib/composables/validation.mjs +15 -8
  394. package/lib/composables/validation.mjs.map +1 -1
  395. package/lib/composables/variant.mjs +7 -5
  396. package/lib/composables/variant.mjs.map +1 -1
  397. package/lib/directives/ripple/VRipple.sass +0 -1
  398. package/lib/entry-bundler.mjs +1 -1
  399. package/lib/framework.mjs +29 -7
  400. package/lib/framework.mjs.map +1 -1
  401. package/lib/index.d.ts +68 -70
  402. package/lib/styles/generic/_transitions.scss +13 -77
  403. package/lib/styles/main.css +44 -58
  404. package/lib/styles/tools/_variant.sass +6 -6
  405. package/lib/util/anchor.mjs +34 -28
  406. package/lib/util/anchor.mjs.map +1 -1
  407. package/lib/util/animation.mjs +2 -2
  408. package/lib/util/animation.mjs.map +1 -1
  409. package/lib/util/box.mjs +12 -0
  410. package/lib/util/box.mjs.map +1 -1
  411. package/lib/util/getCurrentInstance.mjs +19 -0
  412. package/lib/util/getCurrentInstance.mjs.map +1 -1
  413. package/lib/util/helpers.mjs +21 -5
  414. package/lib/util/helpers.mjs.map +1 -1
  415. package/package.json +16 -10
  416. package/lib/components/VBanner/VBannerAvatar.mjs +0 -20
  417. package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
  418. package/lib/components/VBanner/VBannerIcon.mjs +0 -20
  419. package/lib/components/VBanner/VBannerIcon.mjs.map +0 -1
  420. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  421. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  422. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  423. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  424. package/lib/components/VCard/VCardContent.mjs +0 -3
  425. package/lib/components/VCard/VCardContent.mjs.map +0 -1
  426. package/lib/components/VCard/VCardHeader.mjs +0 -3
  427. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  428. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  429. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  430. package/lib/components/VCard/VCardImg.mjs +0 -3
  431. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  432. package/lib/components/VList/VListItemAvatar.mjs +0 -23
  433. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  434. package/lib/components/VList/VListItemHeader.mjs +0 -3
  435. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  436. package/lib/components/VList/VListItemIcon.mjs +0 -23
  437. package/lib/components/VList/VListItemIcon.mjs.map +0 -1
  438. package/lib/components/VTimeline/shared.mjs +0 -2
  439. package/lib/components/VTimeline/shared.mjs.map +0 -1
  440. package/lib/presets/default/index.mjs +0 -71
  441. package/lib/presets/default/index.mjs.map +0 -1
@@ -1,16 +1,16 @@
1
- import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, vModelText as _vModelText, createVNode as _createVNode, Fragment as _Fragment } from "vue";
1
+ import { vModelText as _vModelText, withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  // Styles
3
3
  import "./VTextarea.css"; // Components
4
4
 
5
5
  import { filterFieldProps, makeVFieldProps } from "../VField/VField.mjs";
6
6
  import { filterInputProps, makeVInputProps, VInput } from "../VInput/VInput.mjs";
7
7
  import { VCounter } from "../VCounter/index.mjs";
8
- import { VField } from "../VField/index.mjs"; // Composables
8
+ import { VField } from "../VField/index.mjs"; // Directives
9
9
 
10
- import { useForwardRef } from "../../composables/forwardRef.mjs";
11
- import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Directives
10
+ import Intersect from "../../directives/intersect/index.mjs"; // Composables
12
11
 
13
- import Intersect from "../../directives/intersect/index.mjs"; // Utilities
12
+ import { useForwardRef } from "../../composables/forwardRef.mjs";
13
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
14
14
 
15
15
  import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue';
16
16
  import { convertToUnit, defineComponent, filterInputAttrs, useRender } from "../../util/index.mjs"; // Types
@@ -109,6 +109,10 @@ export const VTextarea = defineComponent({
109
109
  });
110
110
  }
111
111
 
112
+ function onInput(e) {
113
+ model.value = e.target.value;
114
+ }
115
+
112
116
  const sizerRef = ref();
113
117
 
114
118
  function calculateInputHeight() {
@@ -147,6 +151,7 @@ export const VTextarea = defineComponent({
147
151
  });
148
152
  useRender(() => {
149
153
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
154
+ const hasDetails = !!(hasCounter || slots.details);
150
155
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
151
156
  const [{
152
157
  modelValue: _,
@@ -197,7 +202,8 @@ export const VTextarea = defineComponent({
197
202
  }, [props.prefix]), _withDirectives(_createVNode("textarea", _mergeProps({
198
203
  "ref": textareaRef,
199
204
  "class": fieldClass,
200
- "onUpdate:modelValue": $event => model.value = $event,
205
+ "value": model.value,
206
+ "onInput": onInput,
201
207
  "autofocus": props.autofocus,
202
208
  "readonly": isReadonly.value,
203
209
  "disabled": isDisabled.value,
@@ -206,7 +212,7 @@ export const VTextarea = defineComponent({
206
212
  "name": props.name,
207
213
  "onFocus": onFocus,
208
214
  "onBlur": () => isFocused.value = false
209
- }, slotProps, inputAttrs), null), [[_vModelText, model.value], [_resolveDirective("intersect"), {
215
+ }, slotProps, inputAttrs), null), [[_resolveDirective("intersect"), {
210
216
  handler: onIntersect
211
217
  }, null, {
212
218
  once: true
@@ -222,11 +228,15 @@ export const VTextarea = defineComponent({
222
228
  }
223
229
  });
224
230
  },
225
- details: hasCounter ? () => _createVNode(_Fragment, null, [_createVNode("span", null, null), _createVNode(VCounter, {
226
- "active": props.persistentCounter || isFocused.value,
227
- "value": counterValue.value,
228
- "max": max.value
229
- }, slots.counter)]) : undefined
231
+ details: hasDetails ? slotProps => {
232
+ var _slots$details;
233
+
234
+ return _createVNode(_Fragment, null, [(_slots$details = slots.details) == null ? void 0 : _slots$details.call(slots, slotProps), hasCounter && _createVNode(_Fragment, null, [_createVNode("span", null, null), _createVNode(VCounter, {
235
+ "active": props.persistentCounter || isFocused.value,
236
+ "value": counterValue.value,
237
+ "max": max.value
238
+ }, slots.counter)])]);
239
+ } : undefined
230
240
  });
231
241
  });
232
242
  return useForwardRef({}, vInputRef, vFieldRef, textareaRef);
@@ -1 +1 @@
1
- {"version":3,"file":"VTextarea.mjs","names":["filterFieldProps","makeVFieldProps","filterInputProps","makeVInputProps","VInput","VCounter","VField","useForwardRef","useProxiedModel","Intersect","computed","nextTick","onBeforeUnmount","onMounted","ref","watch","convertToUnit","defineComponent","filterInputAttrs","useRender","VTextarea","name","directives","inheritAttrs","props","autoGrow","Boolean","autofocus","counter","Number","String","counterValue","Function","hint","persistentHint","prefix","placeholder","persistentPlaceholder","persistentCounter","noResize","rows","type","default","validator","v","isNaN","parseFloat","maxRows","suffix","emits","e","val","setup","attrs","emit","slots","model","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","focus","vInputRef","vFieldRef","isFocused","controlHeight","textareaRef","isActive","messages","onFocus","document","activeElement","onControlClick","onClear","stopPropagation","sizerRef","calculateInputHeight","style","getComputedStyle","padding","getPropertyValue","height","scrollHeight","lineHeight","minHeight","maxHeight","Infinity","Math","min","observer","ResizeObserver","observe","disconnect","hasCounter","rootAttrs","inputAttrs","modelValue","_","inputProps","fieldProps","isDisabled","isDirty","isReadonly","isValid","dirty","class","fieldClass","slotProps","handler","details"],"sources":["../../../src/components/VTextarea/VTextarea.tsx"],"sourcesContent":["// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const controlHeight = ref('auto')\n const textareaRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.persistentPlaceholder\n ))\n\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isActive.value || props.persistentHint) ? props.hint : ''\n })\n\n function onFocus () {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ props.name }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VTextarea.mjs","names":["filterFieldProps","makeVFieldProps","filterInputProps","makeVInputProps","VInput","VCounter","VField","Intersect","useForwardRef","useProxiedModel","computed","nextTick","onBeforeUnmount","onMounted","ref","watch","convertToUnit","defineComponent","filterInputAttrs","useRender","VTextarea","name","directives","inheritAttrs","props","autoGrow","Boolean","autofocus","counter","Number","String","counterValue","Function","hint","persistentHint","prefix","placeholder","persistentPlaceholder","persistentCounter","noResize","rows","type","default","validator","v","isNaN","parseFloat","maxRows","suffix","emits","e","val","setup","attrs","emit","slots","model","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","focus","vInputRef","vFieldRef","isFocused","controlHeight","textareaRef","isActive","messages","onFocus","document","activeElement","onControlClick","onClear","stopPropagation","onInput","sizerRef","calculateInputHeight","style","getComputedStyle","padding","getPropertyValue","height","scrollHeight","lineHeight","minHeight","maxHeight","Infinity","Math","min","observer","ResizeObserver","observe","disconnect","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","fieldProps","isDisabled","isDirty","isReadonly","isValid","dirty","class","fieldClass","slotProps","handler"],"sources":["../../../src/components/VTextarea/VTextarea.tsx"],"sourcesContent":["// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const controlHeight = ref('auto')\n const textareaRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.persistentPlaceholder\n ))\n\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isActive.value || props.persistentHint) ? props.hint : ''\n })\n\n function onFocus () {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n function onInput (e: Event) {\n model.value = (e.target as HTMLTextAreaElement).value\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ props.name }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) }\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n"],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- @forward './variables'
2
1
  @use 'sass:math'
3
2
  @use 'sass:selector'
4
3
  @use '../../styles/settings'
5
4
  @use '../../styles/tools'
6
5
  @use './variables' as *
7
- @use '../VInput/variables' as *
8
6
 
9
7
  .v-textarea
10
8
  .v-field__input
@@ -1,5 +1,6 @@
1
1
  @use '../../styles/settings';
2
2
 
3
+ // VTextarea
3
4
  $textarea-box-enclosed-prefix-margin-top: 24px !default;
4
5
  $textarea-box-enclosed-single-outlined-label-top: 18px !default;
5
6
  $textarea-box-enclosed-single-outlined-margin-top: 10px !default;
@@ -1,14 +1,14 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
2
2
  // Styles
3
3
  import "./VTimeline.css"; // Composables
4
4
 
5
- import { makeTagProps } from "../../composables/tag.mjs";
6
5
  import { makeDensityProps, useDensity } from "../../composables/density.mjs";
7
- import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Helpers
6
+ import { makeTagProps } from "../../composables/tag.mjs";
7
+ import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
8
+ import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
8
9
 
9
- import { computed, provide, toRef } from 'vue';
10
- import { convertToUnit, defineComponent } from "../../util/index.mjs";
11
- import { VTimelineSymbol } from "./shared.mjs"; // Types
10
+ import { computed, toRef } from 'vue';
11
+ import { convertToUnit, defineComponent, useRender } from "../../util/index.mjs"; // Types
12
12
 
13
13
  export const VTimeline = defineComponent({
14
14
  name: 'VTimeline',
@@ -55,11 +55,15 @@ export const VTimeline = defineComponent({
55
55
  const {
56
56
  densityClasses
57
57
  } = useDensity(props);
58
- provide(VTimelineSymbol, {
59
- density: toRef(props, 'density'),
60
- lineColor: toRef(props, 'lineColor')
58
+ provideDefaults({
59
+ VTimelineDivider: {
60
+ lineColor: toRef(props, 'lineColor')
61
+ },
62
+ VTimelineItem: {
63
+ density: toRef(props, 'density')
64
+ }
61
65
  });
62
- const sideClass = computed(() => {
66
+ const sideClasses = computed(() => {
63
67
  const side = props.side ? props.side : props.density !== 'default' ? 'end' : null;
64
68
  return side && `v-timeline--side-${side}`;
65
69
  });
@@ -80,21 +84,16 @@ export const VTimeline = defineComponent({
80
84
  return null;
81
85
  }
82
86
  });
83
- return () => {
84
- var _slots$default;
85
-
86
- return _createVNode(props.tag, {
87
- "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, !props.lineInset && truncateClasses.value, {
88
- 'v-timeline--inset-line': !!props.lineInset
89
- }, themeClasses.value, densityClasses.value, sideClass.value],
90
- "style": {
91
- '--v-timeline-line-thickness': convertToUnit(props.lineThickness),
92
- '--v-timeline-line-inset': convertToUnit(props.lineInset)
93
- }
94
- }, {
95
- default: () => [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)]
96
- });
97
- };
87
+ useRender(() => _createVNode(props.tag, {
88
+ "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, !props.lineInset && truncateClasses.value, {
89
+ 'v-timeline--inset-line': !!props.lineInset
90
+ }, themeClasses.value, densityClasses.value, sideClasses.value],
91
+ "style": {
92
+ '--v-timeline-line-thickness': convertToUnit(props.lineThickness),
93
+ '--v-timeline-line-inset': convertToUnit(props.lineInset)
94
+ }
95
+ }, slots));
96
+ return {};
98
97
  }
99
98
 
100
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTimeline.mjs","names":["makeTagProps","makeDensityProps","useDensity","makeThemeProps","provideTheme","computed","provide","toRef","convertToUnit","defineComponent","VTimelineSymbol","VTimeline","name","props","align","type","String","default","validator","v","includes","direction","side","lineInset","Number","lineThickness","lineColor","truncateLine","setup","slots","themeClasses","densityClasses","density","sideClass","truncateClasses","classes","value"],"sources":["../../../src/components/VTimeline/VTimeline.tsx"],"sourcesContent":["// Styles\nimport './VTimeline.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Helpers\nimport { computed, provide, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VTimelineSymbol } from './shared'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'start' | 'end' | undefined\nexport type TimelineAlign = 'center' | 'start'\nexport type TimelineTruncateLine = 'start' | 'end' | 'both' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n align: {\n type: String,\n default: 'center',\n validator: (v: any) => ['center', 'start'].includes(v),\n } as Prop<TimelineAlign>,\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n } as Prop<TimelineTruncateLine>,\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provide(VTimelineSymbol, {\n density: toRef(props, 'density'),\n lineColor: toRef(props, 'lineColor'),\n })\n\n const sideClass = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n const truncateClasses = computed(() => {\n const classes = [\n 'v-timeline--truncate-line-start',\n 'v-timeline--truncate-line-end',\n ]\n\n switch (props.truncateLine) {\n case 'both': return classes\n case 'start': return classes[0]\n case 'end': return classes[1]\n default: return null\n }\n })\n\n return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n `v-timeline--align-${props.align}`,\n !props.lineInset && truncateClasses.value,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n },\n themeClasses.value,\n densityClasses.value,\n sideClass.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset),\n }}\n >\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"VTimeline.mjs","names":["makeDensityProps","useDensity","makeTagProps","makeThemeProps","provideTheme","provideDefaults","computed","toRef","convertToUnit","defineComponent","useRender","VTimeline","name","props","align","type","String","default","validator","v","includes","direction","side","lineInset","Number","lineThickness","lineColor","truncateLine","setup","slots","themeClasses","densityClasses","VTimelineDivider","VTimelineItem","density","sideClasses","truncateClasses","classes","value"],"sources":["../../../src/components/VTimeline/VTimeline.tsx"],"sourcesContent":["// Styles\nimport './VTimeline.sass'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'start' | 'end' | undefined\nexport type TimelineAlign = 'center' | 'start'\nexport type TimelineTruncateLine = 'start' | 'end' | 'both' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n align: {\n type: String,\n default: 'center',\n validator: (v: any) => ['center', 'start'].includes(v),\n } as Prop<TimelineAlign>,\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n } as Prop<TimelineTruncateLine>,\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provideDefaults({\n VTimelineDivider: {\n lineColor: toRef(props, 'lineColor'),\n },\n VTimelineItem: {\n density: toRef(props, 'density'),\n },\n })\n\n const sideClasses = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n const truncateClasses = computed(() => {\n const classes = [\n 'v-timeline--truncate-line-start',\n 'v-timeline--truncate-line-end',\n ]\n\n switch (props.truncateLine) {\n case 'both': return classes\n case 'start': return classes[0]\n case 'end': return classes[1]\n default: return null\n }\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n `v-timeline--align-${props.align}`,\n !props.lineInset && truncateClasses.value,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n },\n themeClasses.value,\n densityClasses.value,\n sideClasses.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset),\n }}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- @forward './variables'
2
1
  @use 'sass:map'
3
2
  @use '../../styles/settings'
4
3
  @use '../../styles/tools'
5
4
  @use './variables' as *
6
5
  @use './mixins' as *
7
6
 
8
- // Theme
7
+ // VTimeline
9
8
  .v-timeline
10
9
  .v-timeline-divider__dot
11
10
  background: $timeline-dot-divider-background
@@ -13,7 +12,6 @@
13
12
  .v-timeline-divider__inner-dot
14
13
  background: $timeline-inner-dot-divider-background
15
14
 
16
- // Elements
17
15
  .v-timeline
18
16
  display: grid
19
17
  grid-auto-flow: dense
@@ -84,9 +82,11 @@
84
82
  text-align: end
85
83
  padding-inline-end: $timeline-item-padding
86
84
 
85
+ // VTimelineItem
87
86
  .v-timeline-item
88
87
  display: contents
89
88
 
89
+ // VTimelineDivider
90
90
  .v-timeline-divider
91
91
  position: relative
92
92
  display: flex
@@ -1,25 +1,25 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  // Components
3
- import { VIcon } from "../VIcon/index.mjs";
4
- import { VTimelineSymbol } from "./shared.mjs"; // Composables
3
+ import { VIcon } from "../VIcon/index.mjs"; // Composables
5
4
 
6
- import { useBackgroundColor } from "../../composables/color.mjs";
5
+ import { IconValue } from "../../composables/icons.mjs";
7
6
  import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
8
- import { makeSizeProps, useSize } from "../../composables/size.mjs";
9
7
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
10
- import { IconValue } from "../../composables/icons.mjs"; // Utilities
8
+ import { makeSizeProps, useSize } from "../../composables/size.mjs";
9
+ import { provideDefaults } from "../../composables/defaults.mjs";
10
+ import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
11
11
 
12
- import { inject, toRef } from 'vue';
13
- import { defineComponent } from "../../util/index.mjs";
12
+ import { defineComponent, useRender } from "../../util/index.mjs";
13
+ import { toRef } from 'vue';
14
14
  export const VTimelineDivider = defineComponent({
15
15
  name: 'VTimelineDivider',
16
16
  props: {
17
+ dotColor: String,
18
+ fillDot: Boolean,
17
19
  hideDot: Boolean,
18
- lineColor: String,
19
20
  icon: IconValue,
20
21
  iconColor: String,
21
- fillDot: Boolean,
22
- dotColor: String,
22
+ lineColor: String,
23
23
  ...makeRoundedProps(),
24
24
  ...makeSizeProps(),
25
25
  ...makeElevationProps()
@@ -29,8 +29,6 @@ export const VTimelineDivider = defineComponent({
29
29
  let {
30
30
  slots
31
31
  } = _ref;
32
- const timeline = inject(VTimelineSymbol);
33
- if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider');
34
32
  const {
35
33
  sizeClasses,
36
34
  sizeStyles
@@ -39,38 +37,43 @@ export const VTimelineDivider = defineComponent({
39
37
  backgroundColorStyles,
40
38
  backgroundColorClasses
41
39
  } = useBackgroundColor(toRef(props, 'dotColor'));
42
- const {
43
- backgroundColorStyles: lineColorStyles,
44
- backgroundColorClasses: lineColorClasses
45
- } = useBackgroundColor(timeline.lineColor);
46
40
  const {
47
41
  roundedClasses
48
42
  } = useRounded(props, 'v-timeline-divider__dot');
49
43
  const {
50
44
  elevationClasses
51
45
  } = useElevation(props);
52
- return () => _createVNode("div", {
53
- "class": ['v-timeline-divider', {
54
- 'v-timeline-divider--fill-dot': props.fillDot
55
- }]
56
- }, [!props.hideDot && _createVNode("div", {
57
- "class": ['v-timeline-divider__dot', roundedClasses.value, sizeClasses.value, elevationClasses.value],
58
- "style": sizeStyles.value
59
- }, [_createVNode("div", {
60
- "class": ['v-timeline-divider__inner-dot', roundedClasses.value, backgroundColorClasses.value],
61
- "style": backgroundColorStyles.value
62
- }, [slots.default ? slots.default({
63
- icon: props.icon,
64
- iconColor: props.iconColor,
65
- size: props.size
66
- }) : props.icon ? _createVNode(VIcon, {
67
- "icon": props.icon,
68
- "color": props.iconColor,
69
- "size": props.size
70
- }, null) : undefined])]), _createVNode("div", {
71
- "class": ['v-timeline-divider__line', lineColorClasses.value],
72
- "style": lineColorStyles.value
73
- }, null)]);
46
+ const {
47
+ backgroundColorClasses: lineColorClasses,
48
+ backgroundColorStyles: lineColorStyles
49
+ } = useBackgroundColor(toRef(props, 'lineColor'));
50
+ provideDefaults({
51
+ VIcon: {
52
+ color: toRef(props, 'iconColor'),
53
+ icon: toRef(props, 'icon'),
54
+ size: toRef(props, 'size')
55
+ }
56
+ });
57
+ useRender(() => {
58
+ var _slots$default, _slots$default2;
59
+
60
+ return _createVNode("div", {
61
+ "class": ['v-timeline-divider', {
62
+ 'v-timeline-divider--fill-dot': props.fillDot
63
+ }]
64
+ }, [!props.hideDot && _createVNode("div", {
65
+ "key": "dot",
66
+ "class": ['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value],
67
+ "style": sizeStyles.value
68
+ }, [_createVNode("div", {
69
+ "class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
70
+ "style": backgroundColorStyles.value
71
+ }, [(_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)) != null ? _slots$default : props.icon ? _createVNode(VIcon, null, null) : undefined])]), _createVNode("div", {
72
+ "class": ['v-timeline-divider__line', lineColorClasses.value],
73
+ "style": lineColorStyles.value
74
+ }, null)]);
75
+ });
76
+ return {};
74
77
  }
75
78
 
76
79
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTimelineDivider.mjs","names":["VIcon","VTimelineSymbol","useBackgroundColor","makeElevationProps","useElevation","makeSizeProps","useSize","makeRoundedProps","useRounded","IconValue","inject","toRef","defineComponent","VTimelineDivider","name","props","hideDot","Boolean","lineColor","String","icon","iconColor","fillDot","dotColor","setup","slots","timeline","Error","sizeClasses","sizeStyles","backgroundColorStyles","backgroundColorClasses","lineColorStyles","lineColorClasses","roundedClasses","elevationClasses","value","default","size","undefined"],"sources":["../../../src/components/VTimeline/VTimelineDivider.tsx"],"sourcesContent":["// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VTimelineSymbol } from './shared'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { inject, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: IconValue,\n iconColor: String,\n fillDot: Boolean,\n dotColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { backgroundColorStyles: lineColorStyles, backgroundColorClasses: lineColorClasses } = useBackgroundColor(timeline.lineColor)\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n\n return () => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n class={[\n 'v-timeline-divider__dot',\n roundedClasses.value,\n sizeClasses.value,\n elevationClasses.value,\n ]}\n // @ts-expect-error: null\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n {\n slots.default ? slots.default({ icon: props.icon, iconColor: props.iconColor, size: props.size })\n : props.icon ? <VIcon icon={ props.icon } color={ props.iconColor } size={ props.size } />\n : undefined\n }\n </div>\n </div>\n ) }\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n )\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n"],"mappings":";AAAA;SACSA,K;SACAC,e,wBAET;;SACSC,kB;SACAC,kB,EAAoBC,Y;SACpBC,a,EAAeC,O;SACfC,gB,EAAkBC,U;SAClBC,S,uCAET;;AACA,SAASC,MAAT,EAAiBC,KAAjB,QAA8B,KAA9B;SACSC,e;AAET,OAAO,MAAMC,gBAAgB,GAAGD,eAAe,CAAC;EAC9CE,IAAI,EAAE,kBADwC;EAG9CC,KAAK,EAAE;IACLC,OAAO,EAAEC,OADJ;IAELC,SAAS,EAAEC,MAFN;IAGLC,IAAI,EAAEX,SAHD;IAILY,SAAS,EAAEF,MAJN;IAKLG,OAAO,EAAEL,OALJ;IAMLM,QAAQ,EAAEJ,MANL;IAQL,GAAGZ,gBAAgB,EARd;IASL,GAAGF,aAAa,EATX;IAUL,GAAGF,kBAAkB;EAVhB,CAHuC;;EAgB9CqB,KAAK,CAAET,KAAF,QAAoB;IAAA,IAAX;MAAEU;IAAF,CAAW;IACvB,MAAMC,QAAQ,GAAGhB,MAAM,CAACT,eAAD,CAAvB;IAEA,IAAI,CAACyB,QAAL,EAAe,MAAM,IAAIC,KAAJ,CAAU,8CAAV,CAAN;IAEf,MAAM;MAAEC,WAAF;MAAeC;IAAf,IAA8BvB,OAAO,CAACS,KAAD,EAAQ,yBAAR,CAA3C;IACA,MAAM;MAAEe,qBAAF;MAAyBC;IAAzB,IAAoD7B,kBAAkB,CAACS,KAAK,CAACI,KAAD,EAAQ,UAAR,CAAN,CAA5E;IACA,MAAM;MAAEe,qBAAqB,EAAEE,eAAzB;MAA0CD,sBAAsB,EAAEE;IAAlE,IAAuF/B,kBAAkB,CAACwB,QAAQ,CAACR,SAAV,CAA/G;IACA,MAAM;MAAEgB;IAAF,IAAqB1B,UAAU,CAACO,KAAD,EAAQ,yBAAR,CAArC;IACA,MAAM;MAAEoB;IAAF,IAAuB/B,YAAY,CAACW,KAAD,CAAzC;IAEA,OAAO;MAAA,SAEI,CACL,oBADK,EAEL;QACE,gCAAgCA,KAAK,CAACO;MADxC,CAFK;IAFJ,IASD,CAACP,KAAK,CAACC,OAAP;MAAA,SAES,CACL,yBADK,EAELkB,cAAc,CAACE,KAFV,EAGLR,WAAW,CAACQ,KAHP,EAILD,gBAAgB,CAACC,KAJZ,CAFT;MAAA,SASUP,UAAU,CAACO;IATrB;MAAA,SAYW,CACL,+BADK,EAELF,cAAc,CAACE,KAFV,EAGLL,sBAAsB,CAACK,KAHlB,CAZX;MAAA,SAiBYN,qBAAqB,CAACM;IAjBlC,IAoBMX,KAAK,CAACY,OAAN,GAAgBZ,KAAK,CAACY,OAAN,CAAc;MAAEjB,IAAI,EAAEL,KAAK,CAACK,IAAd;MAAoBC,SAAS,EAAEN,KAAK,CAACM,SAArC;MAAgDiB,IAAI,EAAEvB,KAAK,CAACuB;IAA5D,CAAd,CAAhB,GACEvB,KAAK,CAACK,IAAN;MAAA,QAA2BL,KAAK,CAACK,IAAjC;MAAA,SAAgDL,KAAK,CAACM,SAAtD;MAAA,QAAyEN,KAAK,CAACuB;IAA/E,WACAC,SAtBR,IATC;MAAA,SAqCM,CACL,0BADK,EAELN,gBAAgB,CAACG,KAFZ,CArCN;MAAA,SAyCOJ,eAAe,CAACI;IAzCvB,UAAP;EA6CD;;AAxE6C,CAAD,CAAxC"}
1
+ {"version":3,"file":"VTimelineDivider.mjs","names":["VIcon","IconValue","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeSizeProps","useSize","provideDefaults","useBackgroundColor","defineComponent","useRender","toRef","VTimelineDivider","name","props","dotColor","String","fillDot","Boolean","hideDot","icon","iconColor","lineColor","setup","slots","sizeClasses","sizeStyles","backgroundColorStyles","backgroundColorClasses","roundedClasses","elevationClasses","lineColorClasses","lineColorStyles","color","size","value","default","undefined"],"sources":["../../../src/components/VTimeline/VTimelineDivider.tsx"],"sourcesContent":["// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n icon: IconValue,\n iconColor: String,\n lineColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n const {\n backgroundColorClasses: lineColorClasses,\n backgroundColorStyles: lineColorStyles,\n } = useBackgroundColor(toRef(props, 'lineColor'))\n\n provideDefaults({\n VIcon: {\n color: toRef(props, 'iconColor'),\n icon: toRef(props, 'icon'),\n size: toRef(props, 'size'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n key=\"dot\"\n class={[\n 'v-timeline-divider__dot',\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n backgroundColorClasses.value,\n roundedClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { slots.default?.() ?? (props.icon ? (<VIcon />) : undefined) }\n </div>\n </div>\n ) }\n\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n"],"mappings":";AAAA;SACSA,K,8BAET;;SACSC,S;SACAC,kB,EAAoBC,Y;SACpBC,gB,EAAkBC,U;SAClBC,a,EAAeC,O;SACfC,e;SACAC,kB,uCAET;;SACSC,e,EAAiBC,S;AAC1B,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,gBAAgB,GAAGH,eAAe,CAAC;EAC9CI,IAAI,EAAE,kBADwC;EAG9CC,KAAK,EAAE;IACLC,QAAQ,EAAEC,MADL;IAELC,OAAO,EAAEC,OAFJ;IAGLC,OAAO,EAAED,OAHJ;IAILE,IAAI,EAAEpB,SAJD;IAKLqB,SAAS,EAAEL,MALN;IAMLM,SAAS,EAAEN,MANN;IAQL,GAAGb,gBAAgB,EARd;IASL,GAAGE,aAAa,EATX;IAUL,GAAGJ,kBAAkB;EAVhB,CAHuC;;EAgB9CsB,KAAK,CAAET,KAAF,QAAoB;IAAA,IAAX;MAAEU;IAAF,CAAW;IACvB,MAAM;MAAEC,WAAF;MAAeC;IAAf,IAA8BpB,OAAO,CAACQ,KAAD,EAAQ,yBAAR,CAA3C;IACA,MAAM;MAAEa,qBAAF;MAAyBC;IAAzB,IAAoDpB,kBAAkB,CAACG,KAAK,CAACG,KAAD,EAAQ,UAAR,CAAN,CAA5E;IACA,MAAM;MAAEe;IAAF,IAAqBzB,UAAU,CAACU,KAAD,EAAQ,yBAAR,CAArC;IACA,MAAM;MAAEgB;IAAF,IAAuB5B,YAAY,CAACY,KAAD,CAAzC;IACA,MAAM;MACJc,sBAAsB,EAAEG,gBADpB;MAEJJ,qBAAqB,EAAEK;IAFnB,IAGFxB,kBAAkB,CAACG,KAAK,CAACG,KAAD,EAAQ,WAAR,CAAN,CAHtB;IAKAP,eAAe,CAAC;MACdR,KAAK,EAAE;QACLkC,KAAK,EAAEtB,KAAK,CAACG,KAAD,EAAQ,WAAR,CADP;QAELM,IAAI,EAAET,KAAK,CAACG,KAAD,EAAQ,MAAR,CAFN;QAGLoB,IAAI,EAAEvB,KAAK,CAACG,KAAD,EAAQ,MAAR;MAHN;IADO,CAAD,CAAf;IAQAJ,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEC,CACL,oBADK,EAEL;UACE,gCAAgCI,KAAK,CAACG;QADxC,CAFK;MAFD,IASJ,CAACH,KAAK,CAACK,OAAP;QAAA,OAEM,KAFN;QAAA,SAGS,CACL,yBADK,EAELW,gBAAgB,CAACK,KAFZ,EAGLN,cAAc,CAACM,KAHV,EAILV,WAAW,CAACU,KAJP,CAHT;QAAA,SASUT,UAAU,CAACS;MATrB;QAAA,SAYW,CACL,+BADK,EAELP,sBAAsB,CAACO,KAFlB,EAGLN,cAAc,CAACM,KAHV,CAZX;QAAA,SAiBYR,qBAAqB,CAACQ;MAjBlC,yCAmBMX,KAAK,CAACY,OAnBZ,qBAmBM,qBAAAZ,KAAK,CAnBX,6BAmB4BV,KAAK,CAACM,IAAN,qCAA2BiB,SAnBvD,IATI;QAAA,SAkCG,CACL,0BADK,EAELN,gBAAgB,CAACI,KAFZ,CAlCH;QAAA,SAsCIH,eAAe,CAACG;MAtCpB;IAAA,CAAD,CAAT;IA2CA,OAAO,EAAP;EACD;;AA9E6C,CAAD,CAAxC"}
@@ -1,20 +1,20 @@
1
1
  import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
2
2
  // Components
3
- import { VTimelineSymbol } from "./shared.mjs";
4
3
  import { VTimelineDivider } from "./VTimelineDivider.mjs"; // Composables
5
4
 
6
- import { makeTagProps } from "../../composables/tag.mjs";
7
- import { makeSizeProps } from "../../composables/size.mjs";
5
+ import { IconValue } from "../../composables/icons.mjs";
8
6
  import { makeElevationProps } from "../../composables/elevation.mjs";
9
7
  import { makeRoundedProps } from "../../composables/rounded.mjs";
10
- import { IconValue } from "../../composables/icons.mjs"; // Utilities
8
+ import { makeSizeProps } from "../../composables/size.mjs";
9
+ import { makeTagProps } from "../../composables/tag.mjs"; // Utilities
11
10
 
12
- import { inject, ref, watch } from 'vue';
13
- import { convertToUnit, defineComponent } from "../../util/index.mjs";
11
+ import { ref, watch } from 'vue';
12
+ import { convertToUnit, defineComponent, useRender } from "../../util/index.mjs";
14
13
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
15
14
  export const VTimelineItem = defineComponent({
16
15
  name: 'VTimelineItem',
17
16
  props: {
17
+ density: String,
18
18
  dotColor: String,
19
19
  fillDot: Boolean,
20
20
  hideDot: Boolean,
@@ -35,8 +35,6 @@ export const VTimelineItem = defineComponent({
35
35
  let {
36
36
  slots
37
37
  } = _ref;
38
- const timeline = inject(VTimelineSymbol);
39
- if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider');
40
38
  const {
41
39
  dimensionStyles
42
40
  } = useDimension(props);
@@ -50,7 +48,7 @@ export const VTimelineItem = defineComponent({
50
48
  }, {
51
49
  flush: 'post'
52
50
  });
53
- return () => {
51
+ useRender(() => {
54
52
  var _slots$default, _slots$opposite;
55
53
 
56
54
  return _createVNode("div", {
@@ -75,10 +73,11 @@ export const VTimelineItem = defineComponent({
75
73
  "rounded": props.rounded
76
74
  }, {
77
75
  default: slots.icon
78
- }), timeline.density.value !== 'compact' && _createVNode("div", {
76
+ }), props.density !== 'compact' && _createVNode("div", {
79
77
  "class": "v-timeline-item__opposite"
80
78
  }, [!props.hideOpposite && ((_slots$opposite = slots.opposite) == null ? void 0 : _slots$opposite.call(slots))])]);
81
- };
79
+ });
80
+ return {};
82
81
  }
83
82
 
84
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTimelineItem.mjs","names":["VTimelineSymbol","VTimelineDivider","makeTagProps","makeSizeProps","makeElevationProps","makeRoundedProps","IconValue","inject","ref","watch","convertToUnit","defineComponent","makeDimensionProps","useDimension","VTimelineItem","name","props","dotColor","String","fillDot","Boolean","hideDot","hideOpposite","type","default","undefined","icon","iconColor","setup","slots","timeline","Error","dimensionStyles","dotSize","dotRef","newValue","value","$el","querySelector","getBoundingClientRect","width","flush","size","elevation","rounded","density","opposite"],"sources":["../../../src/components/VTimeline/VTimelineItem.tsx"],"sourcesContent":["// Components\nimport { VTimelineSymbol } from './shared'\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { inject, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: IconValue,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n return () => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { timeline.density.value !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n )\n },\n})\n"],"mappings":";AAAA;SACSA,e;SACAC,gB,kCAET;;SACSC,Y;SACAC,a;SACAC,kB;SACAC,gB;SACAC,S,uCAET;;AACA,SAASC,MAAT,EAAiBC,GAAjB,EAAsBC,KAAtB,QAAmC,KAAnC;SACSC,a,EAAeC,e;SACfC,kB,EAAoBC,Y;AAE7B,OAAO,MAAMC,aAAa,GAAGH,eAAe,CAAC;EAC3CI,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAE;IACLC,QAAQ,EAAEC,MADL;IAELC,OAAO,EAAEC,OAFJ;IAGLC,OAAO,EAAED,OAHJ;IAILE,YAAY,EAAE;MACZC,IAAI,EAAEH,OADM;MAEZI,OAAO,EAAEC;IAFG,CAJT;IAQLC,IAAI,EAAEpB,SARD;IASLqB,SAAS,EAAET,MATN;IAWL,GAAGb,gBAAgB,EAXd;IAYL,GAAGD,kBAAkB,EAZhB;IAaL,GAAGD,aAAa,EAbX;IAcL,GAAGD,YAAY,EAdV;IAeL,GAAGU,kBAAkB;EAfhB,CAHoC;;EAqB3CgB,KAAK,CAAEZ,KAAF,QAAoB;IAAA,IAAX;MAAEa;IAAF,CAAW;IACvB,MAAMC,QAAQ,GAAGvB,MAAM,CAACP,eAAD,CAAvB;IAEA,IAAI,CAAC8B,QAAL,EAAe,MAAM,IAAIC,KAAJ,CAAU,8CAAV,CAAN;IAEf,MAAM;MAAEC;IAAF,IAAsBnB,YAAY,CAACG,KAAD,CAAxC;IAEA,MAAMiB,OAAO,GAAGzB,GAAG,CAAC,CAAD,CAAnB;IACA,MAAM0B,MAAM,GAAG1B,GAAG,EAAlB;IACAC,KAAK,CAACyB,MAAD,EAASC,QAAQ,IAAI;MAAA;;MACxB,IAAI,CAACA,QAAL,EAAe;MACfF,OAAO,CAACG,KAAR,sDAAgBD,QAAQ,CAACE,GAAT,CAAaC,aAAb,CAA2B,0BAA3B,CAAhB,qBAAgB,uBAAwDC,qBAAxD,GAAgFC,KAAhG,oCAAyG,CAAzG;IACD,CAHI,EAGF;MACDC,KAAK,EAAE;IADN,CAHE,CAAL;IAOA,OAAO;MAAA;;MAAA;QAAA,SAEI,CACL,iBADK,EAEL;UACE,6BAA6BzB,KAAK,CAACG;QADrC,CAFK,CAFJ;QAAA,SAQI;UACL,yBAAyBT,aAAa,CAACuB,OAAO,CAACG,KAAT;QADjC;MARJ;QAAA,SAaK,uBAbL;QAAA,SAcOJ,eAAe,CAACI;MAdvB,sBAgBCP,KAAK,CAACL,OAhBP,qBAgBC,oBAAAK,KAAK,CAhBN;QAAA,OAoBKK,MApBL;QAAA,WAqBSlB,KAAK,CAACK,OArBf;QAAA,QAsBML,KAAK,CAACU,IAtBZ;QAAA,aAuBWV,KAAK,CAACW,SAvBjB;QAAA,QAwBMX,KAAK,CAAC0B,IAxBZ;QAAA,aAyBW1B,KAAK,CAAC2B,SAzBjB;QAAA,YA0BU3B,KAAK,CAACC,QA1BhB;QAAA,WA2BSD,KAAK,CAACG,OA3Bf;QAAA,WA4BSH,KAAK,CAAC4B;MA5Bf,GA6BQ;QAAEpB,OAAO,EAAEK,KAAK,CAACH;MAAjB,CA7BR,GAgCDI,QAAQ,CAACe,OAAT,CAAiBT,KAAjB,KAA2B,SAA3B;QAAA,SACW;MADX,IAEI,CAACpB,KAAK,CAACM,YAAP,wBAAuBO,KAAK,CAACiB,QAA7B,qBAAuB,qBAAAjB,KAAK,CAA5B,CAFJ,EAhCC;IAAA,CAAP;EAuCD;;AA5E0C,CAAD,CAArC"}
1
+ {"version":3,"file":"VTimelineItem.mjs","names":["VTimelineDivider","IconValue","makeElevationProps","makeRoundedProps","makeSizeProps","makeTagProps","ref","watch","convertToUnit","defineComponent","useRender","makeDimensionProps","useDimension","VTimelineItem","name","props","density","String","dotColor","fillDot","Boolean","hideDot","hideOpposite","type","default","undefined","icon","iconColor","setup","slots","dimensionStyles","dotSize","dotRef","newValue","value","$el","querySelector","getBoundingClientRect","width","flush","size","elevation","rounded","opposite"],"sources":["../../../src/components/VTimeline/VTimelineItem.tsx"],"sourcesContent":["// Components\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n density: String as PropType<'default' | 'compact'>,\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: IconValue,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { props.density !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n ))\n\n return {}\n },\n})\n"],"mappings":";AAAA;SACSA,gB,kCAET;;SACSC,S;SACAC,kB;SACAC,gB;SACAC,a;SACAC,Y,qCAET;;AAEA,SAASC,GAAT,EAAcC,KAAd,QAA2B,KAA3B;SACSC,a,EAAeC,e,EAAiBC,S;SAChCC,kB,EAAoBC,Y;AAE7B,OAAO,MAAMC,aAAa,GAAGJ,eAAe,CAAC;EAC3CK,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAE;IACLC,OAAO,EAAEC,MADJ;IAELC,QAAQ,EAAED,MAFL;IAGLE,OAAO,EAAEC,OAHJ;IAILC,OAAO,EAAED,OAJJ;IAKLE,YAAY,EAAE;MACZC,IAAI,EAAEH,OADM;MAEZI,OAAO,EAAEC;IAFG,CALT;IASLC,IAAI,EAAEzB,SATD;IAUL0B,SAAS,EAAEV,MAVN;IAYL,GAAGd,gBAAgB,EAZd;IAaL,GAAGD,kBAAkB,EAbhB;IAcL,GAAGE,aAAa,EAdX;IAeL,GAAGC,YAAY,EAfV;IAgBL,GAAGM,kBAAkB;EAhBhB,CAHoC;;EAsB3CiB,KAAK,CAAEb,KAAF,QAAoB;IAAA,IAAX;MAAEc;IAAF,CAAW;IACvB,MAAM;MAAEC;IAAF,IAAsBlB,YAAY,CAACG,KAAD,CAAxC;IAEA,MAAMgB,OAAO,GAAGzB,GAAG,CAAC,CAAD,CAAnB;IACA,MAAM0B,MAAM,GAAG1B,GAAG,EAAlB;IACAC,KAAK,CAACyB,MAAD,EAASC,QAAQ,IAAI;MAAA;;MACxB,IAAI,CAACA,QAAL,EAAe;MACfF,OAAO,CAACG,KAAR,sDAAgBD,QAAQ,CAACE,GAAT,CAAaC,aAAb,CAA2B,0BAA3B,CAAhB,qBAAgB,uBAAwDC,qBAAxD,GAAgFC,KAAhG,oCAAyG,CAAzG;IACD,CAHI,EAGF;MACDC,KAAK,EAAE;IADN,CAHE,CAAL;IAOA7B,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEC,CACL,iBADK,EAEL;UACE,6BAA6BK,KAAK,CAACI;QADrC,CAFK,CAFD;QAAA,SAQC;UACL,yBAAyBX,aAAa,CAACuB,OAAO,CAACG,KAAT;QADjC;MARD;QAAA,SAaE,uBAbF;QAAA,SAcIJ,eAAe,CAACI;MAdpB,sBAgBFL,KAAK,CAACL,OAhBJ,qBAgBF,oBAAAK,KAAK,CAhBH;QAAA,OAoBEG,MApBF;QAAA,WAqBMjB,KAAK,CAACM,OArBZ;QAAA,QAsBGN,KAAK,CAACW,IAtBT;QAAA,aAuBQX,KAAK,CAACY,SAvBd;QAAA,QAwBGZ,KAAK,CAACyB,IAxBT;QAAA,aAyBQzB,KAAK,CAAC0B,SAzBd;QAAA,YA0BO1B,KAAK,CAACG,QA1Bb;QAAA,WA2BMH,KAAK,CAACI,OA3BZ;QAAA,WA4BMJ,KAAK,CAAC2B;MA5BZ,GA6BK;QAAElB,OAAO,EAAEK,KAAK,CAACH;MAAjB,CA7BL,GAgCJX,KAAK,CAACC,OAAN,KAAkB,SAAlB;QAAA,SACW;MADX,IAEI,CAACD,KAAK,CAACO,YAAP,wBAAuBO,KAAK,CAACc,QAA7B,qBAAuB,qBAAAd,KAAK,CAA5B,CAFJ,EAhCI;IAAA,CAAD,CAAT;IAwCA,OAAO,EAAP;EACD;;AA3E0C,CAAD,CAArC"}
@@ -1,23 +1,28 @@
1
1
  @use '../../styles/tools';
2
2
 
3
- // Defaults
3
+ // VTimeline
4
4
  $timeline-density-comfortable-grid-template-end: min-content min-content auto !default;
5
5
  $timeline-density-comfortable-grid-template-start: auto min-content min-content !default;
6
6
  $timeline-density-compact-grid-template-end: min-content auto !default;
7
7
  $timeline-density-compact-grid-template-start: auto min-content !default;
8
- $timeline-divider-dot-elevation: 0 !default;
9
- $timeline-divider-line-background: rgba(var(--v-border-color), var(--v-border-opacity)) !default;
10
- $timeline-divider-line-horizontal-width: var(--v-timeline-line-inset, 0px) !default;
11
- $timeline-divider-line-thickness: var(--v-timeline-line-thickness) !default;
12
8
  $timeline-dot-border-radius: 50% !default;
13
9
  $timeline-dot-divider-background: rgb(var(--v-theme-on-surface-variant)) !default;
10
+ $timeline-dot-size: 38px !default;
14
11
  $timeline-inner-dot-divider-background: rgb(var(--v-theme-on-surface)) !default;
15
12
  $timeline-inset-divider-line: var(--v-timeline-line-inset) !default;
16
13
  $timeline-inset-line-size: 4px !default;
14
+
15
+ // VTimelineDivider
16
+ $timeline-divider-dot-elevation: 0 !default;
17
+ $timeline-divider-line-background: rgba(var(--v-border-color), var(--v-border-opacity)) !default;
18
+ $timeline-divider-line-horizontal-width: var(--v-timeline-line-inset, 0px) !default;
19
+ $timeline-divider-line-thickness: var(--v-timeline-line-thickness) !default;
20
+
21
+ // VTimelineItem
17
22
  $timeline-item-grid-template: auto min-content auto !default;
18
23
  $timeline-item-padding: 24px !default;
19
- $timeline-dot-size: 38px !default;
20
24
 
25
+ // Lists
21
26
  $timeline-dot-border-sizes: () !default;
22
27
  $timeline-dot-border-sizes: tools.map-deep-merge(
23
28
  (