@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,6 +1,7 @@
1
1
  .v-toolbar {
2
2
  align-items: flex-start;
3
3
  display: flex;
4
+ flex: 1 1 auto;
4
5
  flex-direction: column;
5
6
  justify-content: space-between;
6
7
  max-width: 100%;
@@ -78,6 +79,15 @@
78
79
  width: 100%;
79
80
  }
80
81
 
82
+ .v-toolbar__content > .v-btn:first-child {
83
+ margin-inline-start: -6px;
84
+ }
85
+ .v-toolbar__content > .v-btn:first-child + .v-toolbar-title {
86
+ padding-inline-start: 20px;
87
+ }
88
+ .v-toolbar__content > .v-btn:last-child {
89
+ margin-inline-end: -6px;
90
+ }
81
91
  .v-toolbar--density-prominent .v-toolbar__content {
82
92
  align-items: flex-start;
83
93
  }
@@ -97,20 +107,16 @@
97
107
  }
98
108
 
99
109
  .v-toolbar__prepend {
110
+ margin-inline-start: -6px;
100
111
  margin-inline-end: auto;
101
112
  }
102
- .v-toolbar__prepend > .v-btn:first-child {
103
- margin-inline-start: -12px;
104
- }
105
113
  .v-toolbar__prepend + .v-toolbar-title {
106
114
  padding-inline-start: 20px;
107
115
  }
108
116
 
109
117
  .v-toolbar__append {
110
118
  margin-inline-start: auto;
111
- }
112
- .v-toolbar__append > .v-btn:last-child {
113
- margin-inline-end: -12px;
119
+ margin-inline-end: -6px;
114
120
  }
115
121
 
116
122
  .v-toolbar-title {
@@ -142,4 +148,7 @@
142
148
  .v-toolbar-items {
143
149
  display: flex;
144
150
  height: inherit;
151
+ }
152
+ .v-toolbar-items > .v-btn {
153
+ border-radius: 0;
145
154
  }
@@ -12,13 +12,13 @@ import { makeElevationProps, useElevation } from "../../composables/elevation.mj
12
12
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
13
13
  import { makeTagProps } from "../../composables/tag.mjs";
14
14
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
15
+ import { provideDefaults } from "../../composables/defaults.mjs";
15
16
  import { useBackgroundColor } from "../../composables/color.mjs";
16
17
  import { useForwardRef } from "../../composables/forwardRef.mjs"; // Utilities
17
18
 
18
19
  import { computed, ref, toRef } from 'vue';
19
20
  import { convertToUnit, genericComponent, pick, propsFactory, useRender } from "../../util/index.mjs"; // Types
20
21
 
21
- import { provideDefaults } from "../../composables/defaults.mjs";
22
22
  const allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'];
23
23
  export const makeVToolbarProps = propsFactory({
24
24
  absolute: Boolean,
@@ -38,7 +38,7 @@ export const makeVToolbarProps = propsFactory({
38
38
  floating: Boolean,
39
39
  height: {
40
40
  type: [Number, String],
41
- default: 56
41
+ default: 64
42
42
  },
43
43
  image: String,
44
44
  title: String,
@@ -60,6 +60,10 @@ export const VToolbar = genericComponent()({
60
60
  let {
61
61
  slots
62
62
  } = _ref;
63
+ const {
64
+ backgroundColorClasses,
65
+ backgroundColorStyles
66
+ } = useBackgroundColor(toRef(props, 'color'));
63
67
  const {
64
68
  borderClasses
65
69
  } = useBorder(props);
@@ -72,16 +76,11 @@ export const VToolbar = genericComponent()({
72
76
  const {
73
77
  themeClasses
74
78
  } = provideTheme(props);
75
- const {
76
- backgroundColorClasses,
77
- backgroundColorStyles
78
- } = useBackgroundColor(toRef(props, 'color'));
79
79
  const isExtended = ref(!!(props.extended || (_slots$extension = slots.extension) != null && _slots$extension.call(slots)));
80
80
  const contentHeight = computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));
81
81
  const extensionHeight = computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);
82
82
  provideDefaults({
83
83
  VBtn: {
84
- flat: true,
85
84
  variant: 'text'
86
85
  }
87
86
  });
@@ -103,6 +102,7 @@ export const VToolbar = genericComponent()({
103
102
  "style": [backgroundColorStyles.value]
104
103
  }, {
105
104
  default: () => [hasImage && _createVNode("div", {
105
+ "key": "image",
106
106
  "class": "v-toolbar__image"
107
107
  }, [_createVNode(VDefaultsProvider, {
108
108
  "defaults": {
@@ -110,8 +110,7 @@ export const VToolbar = genericComponent()({
110
110
  cover: true,
111
111
  src: props.image
112
112
  }
113
- },
114
- "scoped": true
113
+ }
115
114
  }, {
116
115
  default: () => [slots.image ? (_slots$image = slots.image) == null ? void 0 : _slots$image.call(slots) : _createVNode(VImg, null, null)]
117
116
  })]), _createVNode("div", {
@@ -122,6 +121,7 @@ export const VToolbar = genericComponent()({
122
121
  }, [slots.prepend && _createVNode("div", {
123
122
  "class": "v-toolbar__prepend"
124
123
  }, [(_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots)]), hasTitle && _createVNode(VToolbarTitle, {
124
+ "key": "title",
125
125
  "text": props.title
126
126
  }, {
127
127
  text: slots.title
@@ -1 +1 @@
1
- {"version":3,"file":"VToolbar.mjs","names":["VDefaultsProvider","VExpandTransition","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","useForwardRef","computed","ref","toRef","convertToUnit","genericComponent","pick","propsFactory","useRender","provideDefaults","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","slots","borderClasses","elevationClasses","roundedClasses","themeClasses","backgroundColorClasses","backgroundColorStyles","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","cover","src","prepend","text","append","filterToolbarProps","Object","keys"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport { provideDefaults } from '@/composables/defaults'\n\nexport type Density = typeof allowedDensities[number]\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n image: [{ image: string }]\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n flat: true,\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div class=\"v-toolbar__image\">\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n scoped\n >\n { slots.image ? slots.image?.() : (<VImg />) }\n </VDefaultsProvider>\n </div>\n ) }\n\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n ) }\n\n { hasTitle && (\n <VToolbarTitle text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n ) }\n </div>\n\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n ) }\n </VExpandTransition>\n </props.tag>\n )\n })\n\n return useForwardRef({\n contentHeight,\n extensionHeight,\n })\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VToolbar.mjs","names":["VDefaultsProvider","VExpandTransition","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useForwardRef","computed","ref","toRef","convertToUnit","genericComponent","pick","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","cover","src","prepend","text","append","filterToolbarProps","Object","keys"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type Density = typeof allowedDensities[number]\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n image: []\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n { slots.image ? slots.image?.() : (<VImg />) }\n </VDefaultsProvider>\n </div>\n ) }\n\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n ) }\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n ) }\n </div>\n\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n ) }\n </VExpandTransition>\n </props.tag>\n )\n })\n\n return useForwardRef({\n contentHeight,\n extensionHeight,\n })\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -6,6 +5,7 @@
6
5
  .v-toolbar
7
6
  align-items: flex-start
8
7
  display: flex
8
+ flex: $toolbar-flex
9
9
  flex-direction: column
10
10
  justify-content: space-between
11
11
  max-width: 100%
@@ -62,6 +62,15 @@
62
62
  width: 100%
63
63
 
64
64
  .v-toolbar__content
65
+ > .v-btn:first-child
66
+ margin-inline-start: $toolbar-prepend-btn-margin-start
67
+
68
+ + .v-toolbar-title
69
+ padding-inline-start: $toolbar-title-padding
70
+
71
+ > .v-btn:last-child
72
+ margin-inline-end: $toolbar-append-btn-margin-end
73
+
65
74
  .v-toolbar--density-prominent &
66
75
  align-items: flex-start
67
76
 
@@ -75,19 +84,15 @@
75
84
  display: flex
76
85
 
77
86
  .v-toolbar__prepend
87
+ margin-inline-start: $toolbar-prepend-btn-margin-start
78
88
  margin-inline-end: auto
79
89
 
80
- > .v-btn:first-child
81
- margin-inline-start: $toolbar-prepend-btn-margin-start
82
-
83
90
  + .v-toolbar-title
84
91
  padding-inline-start: $toolbar-title-padding
85
92
 
86
93
  .v-toolbar__append
87
94
  margin-inline-start: auto
88
-
89
- > .v-btn:last-child
90
- margin-inline-end: $toolbar-append-btn-margin-end
95
+ margin-inline-end: $toolbar-append-btn-margin-end
91
96
 
92
97
  .v-toolbar-title
93
98
  flex: 1 1
@@ -110,3 +115,6 @@
110
115
  .v-toolbar-items
111
116
  display: flex
112
117
  height: inherit
118
+
119
+ > .v-btn
120
+ border-radius: 0
@@ -1,15 +1,15 @@
1
+ import { createVNode as _createVNode } from "vue";
1
2
  // Composables
2
3
  import { makeVariantProps } from "../../composables/variant.mjs";
3
4
  import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
4
5
 
5
- import { defineComponent } from "../../util/index.mjs";
6
+ import { defineComponent, useRender } from "../../util/index.mjs";
6
7
  import { toRef } from 'vue';
7
8
  export const VToolbarItems = defineComponent({
8
9
  name: 'VToolbarItems',
9
- props: { ...makeVariantProps({
10
- variant: 'contained-text'
11
- })
12
- },
10
+ props: makeVariantProps({
11
+ variant: 'text'
12
+ }),
13
13
 
14
14
  setup(props, _ref) {
15
15
  let {
@@ -18,14 +18,18 @@ export const VToolbarItems = defineComponent({
18
18
  provideDefaults({
19
19
  VBtn: {
20
20
  color: toRef(props, 'color'),
21
+ height: 'inherit',
21
22
  variant: toRef(props, 'variant')
22
23
  }
23
24
  });
24
- return () => {
25
+ useRender(() => {
25
26
  var _slots$default;
26
27
 
27
- return (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots);
28
- };
28
+ return _createVNode("div", {
29
+ "class": "v-toolbar-items"
30
+ }, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)]);
31
+ });
32
+ return {};
29
33
  }
30
34
 
31
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VToolbarItems.mjs","names":["makeVariantProps","provideDefaults","defineComponent","toRef","VToolbarItems","name","props","variant","setup","slots","VBtn","color","default"],"sources":["../../../src/components/VToolbar/VToolbarItems.tsx"],"sourcesContent":["// Composables\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VToolbarItems = defineComponent({\n name: 'VToolbarItems',\n\n props: {\n ...makeVariantProps({ variant: 'contained-text' }),\n },\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n"],"mappings":"AAAA;SACSA,gB;SACAC,e,0CAET;;SACSC,e;AACT,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;EAC3CG,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAE,EACL,GAAGN,gBAAgB,CAAC;MAAEO,OAAO,EAAE;IAAX,CAAD;EADd,CAHoC;;EAO3CC,KAAK,CAAEF,KAAF,QAAoB;IAAA,IAAX;MAAEG;IAAF,CAAW;IACvBR,eAAe,CAAC;MACdS,IAAI,EAAE;QACJC,KAAK,EAAER,KAAK,CAACG,KAAD,EAAQ,OAAR,CADR;QAEJC,OAAO,EAAEJ,KAAK,CAACG,KAAD,EAAQ,SAAR;MAFV;IADQ,CAAD,CAAf;IAOA,OAAO;MAAA;;MAAA,yBAAMG,KAAK,CAACG,OAAZ,qBAAM,oBAAAH,KAAK,CAAX;IAAA,CAAP;EACD;;AAhB0C,CAAD,CAArC"}
1
+ {"version":3,"file":"VToolbarItems.mjs","names":["makeVariantProps","provideDefaults","defineComponent","useRender","toRef","VToolbarItems","name","props","variant","setup","slots","VBtn","color","height","default"],"sources":["../../../src/components/VToolbar/VToolbarItems.tsx"],"sourcesContent":["// Composables\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VToolbarItems = defineComponent({\n name: 'VToolbarItems',\n\n props: makeVariantProps({ variant: 'text' }),\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n height: 'inherit',\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <div class=\"v-toolbar-items\">\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n"],"mappings":";AAAA;SACSA,gB;SACAC,e,0CAET;;SACSC,e,EAAiBC,S;AAC1B,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,aAAa,GAAGH,eAAe,CAAC;EAC3CI,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAEP,gBAAgB,CAAC;IAAEQ,OAAO,EAAE;EAAX,CAAD,CAHoB;;EAK3CC,KAAK,CAAEF,KAAF,QAAoB;IAAA,IAAX;MAAEG;IAAF,CAAW;IACvBT,eAAe,CAAC;MACdU,IAAI,EAAE;QACJC,KAAK,EAAER,KAAK,CAACG,KAAD,EAAQ,OAAR,CADR;QAEJM,MAAM,EAAE,SAFJ;QAGJL,OAAO,EAAEJ,KAAK,CAACG,KAAD,EAAQ,SAAR;MAHV;IADQ,CAAD,CAAf;IAQAJ,SAAS,CAAC;MAAA;;MAAA;QAAA,SACG;MADH,sBAEJO,KAAK,CAACI,OAFF,qBAEJ,oBAAAJ,KAAK,CAFD;IAAA,CAAD,CAAT;IAMA,OAAO,EAAP;EACD;;AArB0C,CAAD,CAArC"}
@@ -3,6 +3,7 @@
3
3
  @use "../../styles/settings/variables";
4
4
  @use "../../styles/tools/functions";
5
5
 
6
+ // VToolbar
6
7
  $toolbar-background: rgb(var(--v-theme-on-surface-variant)) !default;
7
8
  $toolbar-color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)) !default;
8
9
  $toolbar-border-color: settings.$border-color-root !default;
@@ -18,14 +19,16 @@ $toolbar-content-padding-y: 4px !default;
18
19
  $toolbar-density: ( 'default': 0, 'comfortable': -1, 'compact': -2, 'prominent': -3 ) !default;
19
20
  $toolbar-elevation: 0 !default;
20
21
  $toolbar-flat-elevation: 0 !default;
22
+ $toolbar-flex: 1 1 auto !default;
21
23
  $toolbar-padding-end: 16px !default;
22
24
  $toolbar-padding-start: 16px !default;
23
25
  $toolbar-padding: 16px !default;
24
- $toolbar-prepend-btn-margin-start: -12px !default;
25
- $toolbar-append-btn-margin-end: -12px !default;
26
+ $toolbar-prepend-btn-margin-start: -6px !default;
27
+ $toolbar-append-btn-margin-end: -6px !default;
26
28
  $toolbar-rounded-border-radius: variables.$border-radius-root !default;
27
29
  $toolbar-transition: .2s variables.$standard-easing !default;
28
30
 
31
+ // VToolbarTitle
29
32
  $toolbar-title-padding: 20px !default;
30
33
  $toolbar-title-extended-padding: 56px !default;
31
34
  $toolbar-title-font-size: 1.25rem !default;
@@ -39,6 +42,7 @@ $toolbar-prominent-title-letter-spacing: 0 !default;
39
42
  $toolbar-prominent-title-line-height: 2.25rem !default;
40
43
  $toolbar-prominent-title-text-transform: none !default;
41
44
 
45
+ // Lists
42
46
  $toolbar-border: (
43
47
  $toolbar-border-color,
44
48
  $toolbar-border-style,
@@ -4,13 +4,14 @@ import "./VTooltip.css"; // Components
4
4
 
5
5
  import { VOverlay } from "../VOverlay/index.mjs"; // Composables
6
6
 
7
+ import { makeTransitionProps } from "../../composables/transition.mjs";
7
8
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
8
- import { makeTransitionProps } from "../../composables/transition.mjs"; // Utilities
9
+ import { useScopeId } from "../../composables/scopeId.mjs";
10
+ import { useForwardRef } from "../../composables/forwardRef.mjs"; // Utilities
9
11
 
10
- import { computed } from 'vue';
11
- import { genericComponent, getUid } from "../../util/index.mjs"; // Types
12
+ import { computed, ref } from 'vue';
13
+ import { genericComponent, getUid, useRender } from "../../util/index.mjs"; // Types
12
14
 
13
- import { useScopeId } from "../../composables/scopeId.mjs";
14
15
  export const VTooltip = genericComponent()({
15
16
  name: 'VTooltip',
16
17
  inheritAttrs: false,
@@ -45,6 +46,7 @@ export const VTooltip = genericComponent()({
45
46
  } = useScopeId();
46
47
  const uid = getUid();
47
48
  const id = computed(() => props.id || `v-tooltip-${uid}`);
49
+ const overlay = ref();
48
50
  const location = computed(() => {
49
51
  return props.location.split(' ').length > 1 ? props.location : props.location + ' center';
50
52
  });
@@ -55,43 +57,43 @@ export const VTooltip = genericComponent()({
55
57
  if (props.transition) return props.transition;
56
58
  return isActive.value ? 'scale-transition' : 'fade-transition';
57
59
  });
58
- return () => {
59
- return _createVNode(VOverlay, _mergeProps({
60
- "modelValue": isActive.value,
61
- "onUpdate:modelValue": $event => isActive.value = $event,
62
- "class": ['v-tooltip'],
63
- "id": id.value,
64
- "transition": transition.value,
65
- "absolute": true,
66
- "locationStrategy": "connected",
67
- "scrollStrategy": "reposition",
68
- "location": location.value,
69
- "origin": origin.value,
70
- "min-width": 0,
71
- "offset": 10,
72
- "scrim": false,
73
- "persistent": true,
74
- "open-on-click": false,
75
- "open-on-hover": true,
76
- "close-on-back": false,
77
- "role": "tooltip",
78
- "eager": true,
79
- "activatorProps": {
80
- 'aria-describedby': id.value
81
- }
82
- }, scopeId, attrs), {
83
- activator: slots.activator,
84
- default: function () {
85
- var _slots$default, _slots$default2;
60
+ useRender(() => _createVNode(VOverlay, _mergeProps({
61
+ "modelValue": isActive.value,
62
+ "onUpdate:modelValue": $event => isActive.value = $event,
63
+ "ref": overlay,
64
+ "class": ['v-tooltip'],
65
+ "id": id.value,
66
+ "transition": transition.value,
67
+ "absolute": true,
68
+ "locationStrategy": "connected",
69
+ "scrollStrategy": "reposition",
70
+ "location": location.value,
71
+ "origin": origin.value,
72
+ "min-width": 0,
73
+ "offset": 10,
74
+ "scrim": false,
75
+ "persistent": true,
76
+ "open-on-click": false,
77
+ "open-on-hover": true,
78
+ "close-on-back": false,
79
+ "role": "tooltip",
80
+ "eager": true,
81
+ "activatorProps": {
82
+ 'aria-describedby': id.value
83
+ }
84
+ }, scopeId, attrs), {
85
+ activator: slots.activator,
86
+ default: function () {
87
+ var _slots$default, _slots$default2;
86
88
 
87
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
88
- args[_key] = arguments[_key];
89
- }
90
-
91
- return (_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots, ...args)) != null ? _slots$default : props.text;
89
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90
+ args[_key] = arguments[_key];
92
91
  }
93
- });
94
- };
92
+
93
+ return (_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots, ...args)) != null ? _slots$default : props.text;
94
+ }
95
+ }));
96
+ return useForwardRef({}, overlay);
95
97
  }
96
98
 
97
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTooltip.mjs","names":["VOverlay","useProxiedModel","makeTransitionProps","computed","genericComponent","getUid","useScopeId","VTooltip","name","inheritAttrs","props","id","String","modelValue","Boolean","text","location","type","default","origin","transition","emits","value","setup","attrs","slots","isActive","scopeId","uid","split","length","activator","args"],"sources":["../../../src/components/VTooltip/VTooltip.tsx"],"sourcesContent":["// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport { useScopeId } from '@/composables/scopeId'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const location = computed(() => {\n return props.location.split(' ').length > 1\n ? props.location\n : props.location + ' center' as StrategyProps['location']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.location.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n locationStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n location={ location.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n close-on-back={ false }\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...scopeId }\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n }\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VTooltip.mjs","names":["VOverlay","makeTransitionProps","useProxiedModel","useScopeId","useForwardRef","computed","ref","genericComponent","getUid","useRender","VTooltip","name","inheritAttrs","props","id","String","modelValue","Boolean","text","location","type","default","origin","transition","emits","value","setup","attrs","slots","isActive","scopeId","uid","overlay","split","length","activator","args"],"sources":["../../../src/components/VTooltip/VTooltip.tsx"],"sourcesContent":["// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const location = computed(() => {\n return props.location.split(' ').length > 1\n ? props.location\n : props.location + ' center' as StrategyProps['location']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.location.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n useRender(() => (\n <VOverlay\n v-model={ isActive.value }\n ref={ overlay }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n locationStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n location={ location.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n close-on-back={ false }\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...scopeId }\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n ))\n\n return useForwardRef({}, overlay)\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/settings'
3
2
  @use './variables' as *
4
3
 
@@ -1,5 +1,6 @@
1
1
  @use '../../styles/settings';
2
2
 
3
+ // VTooltip
3
4
  $tooltip-background-color: rgba(var(--v-theme-surface-variant), .7) !default;
4
5
  $tooltip-text-color: rgb(var(--v-theme-on-surface-variant)) !default;
5
6
  $tooltip-border-radius: settings.$border-radius-root !default;
@@ -2,15 +2,15 @@ import { withDirectives as _withDirectives, resolveDirective as _resolveDirectiv
2
2
  // Styles
3
3
  import "./VWindow.css"; // Components
4
4
 
5
- import { VBtn } from "../VBtn/index.mjs"; // Composables
5
+ import { VBtn } from "../VBtn/index.mjs"; // Directives
6
+
7
+ import { Touch } from "../../directives/touch/index.mjs"; // Composables
6
8
 
7
9
  import { makeTagProps } from "../../composables/tag.mjs";
8
10
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
9
11
  import { useGroup } from "../../composables/group.mjs";
10
12
  import { useLocale } from "../../composables/locale.mjs";
11
- import { useRtl } from "../../composables/rtl.mjs"; // Directives
12
-
13
- import { Touch } from "../../directives/touch/index.mjs"; // Utilities
13
+ import { useRtl } from "../../composables/rtl.mjs"; // Utilities
14
14
 
15
15
  import { computed, provide, ref, watch } from 'vue';
16
16
  import { genericComponent, useRender } from "../../util/index.mjs"; // Types
@@ -1 +1 @@
1
- {"version":3,"file":"VWindow.mjs","names":["VBtn","makeTagProps","makeThemeProps","provideTheme","useGroup","useLocale","useRtl","Touch","computed","provide","ref","watch","genericComponent","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","VWindow","name","directives","props","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","emits","setup","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","value","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","ariaLabel","push","nextProps","touchOptions","options","left","right","end","originalEvent","stopPropagation","start","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useGroup } from '@/composables/group'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { MakeSlots } from '@/util'\nimport type { IconValue } from '@/composables/icons'\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n ariaLabel: string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const VWindow = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [{ group: GroupProvide }]\n additional: [{ group: GroupProvide }]\n prev: [{ props: ControlProps }]\n next: [{ props: ControlProps }]\n }>\n}>()({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: {\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n default: 'force' as const,\n },\n\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (v: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = ref(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = ref(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n ariaLabel: t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n ariaLabel: t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n end: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VWindow.mjs","names":["VBtn","Touch","makeTagProps","makeThemeProps","provideTheme","useGroup","useLocale","useRtl","computed","provide","ref","watch","genericComponent","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","VWindow","name","directives","props","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","emits","setup","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","value","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","ariaLabel","push","nextProps","touchOptions","options","left","right","end","originalEvent","stopPropagation","start","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useGroup } from '@/composables/group'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { computed, provide, ref, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { MakeSlots } from '@/util'\nimport type { TouchHandlers } from '@/directives/touch'\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n ariaLabel: string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const VWindow = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [{ group: GroupProvide }]\n additional: [{ group: GroupProvide }]\n prev: [{ props: ControlProps }]\n next: [{ props: ControlProps }]\n }>\n}>()({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: {\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n default: 'force' as const,\n },\n\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (v: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = ref(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = ref(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n ariaLabel: t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n ariaLabel: t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n end: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- // Imports
2
- @forward './variables'
3
1
  @use './variables' as *
4
2
 
5
3
  .v-window