@vuetify/nightly 3.0.0-beta.0 → 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/CHANGELOG.md +53 -2
  2. package/dist/json/attributes.json +343 -195
  3. package/dist/json/importMap.json +20 -0
  4. package/dist/json/tags.json +106 -44
  5. package/dist/json/web-types.json +946 -549
  6. package/dist/vuetify.css +1486 -1085
  7. package/dist/vuetify.d.ts +9036 -8077
  8. package/dist/vuetify.esm.js +1511 -944
  9. package/dist/vuetify.esm.js.map +1 -1
  10. package/dist/vuetify.js +1510 -943
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +3 -3
  13. package/dist/vuetify.min.js +825 -754
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/components/VAlert/VAlert.css +29 -8
  16. package/lib/components/VAlert/VAlert.mjs +31 -17
  17. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  18. package/lib/components/VAlert/VAlert.sass +27 -7
  19. package/lib/components/VAlert/VAlertTitle.mjs +1 -0
  20. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  21. package/lib/components/VAlert/_variables.scss +14 -7
  22. package/lib/components/VApp/VApp.css +1 -0
  23. package/lib/components/VApp/VApp.sass +1 -0
  24. package/lib/components/VAppBar/VAppBar.mjs +7 -3
  25. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  26. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs +82 -69
  28. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  29. package/lib/components/VAvatar/VAvatar.mjs +15 -14
  30. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  31. package/lib/components/VBanner/VBanner.css +82 -58
  32. package/lib/components/VBanner/VBanner.mjs +39 -43
  33. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  34. package/lib/components/VBanner/VBanner.sass +61 -54
  35. package/lib/components/VBanner/VBannerActions.mjs +34 -2
  36. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  37. package/lib/components/VBanner/VBannerAvatar.mjs +20 -0
  38. package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -0
  39. package/lib/components/VBanner/VBannerIcon.mjs +20 -0
  40. package/lib/components/VBanner/VBannerIcon.mjs.map +1 -0
  41. package/lib/components/VBanner/_variables.scss +10 -14
  42. package/lib/components/VBanner/index.mjs +2 -0
  43. package/lib/components/VBanner/index.mjs.map +1 -1
  44. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +2 -0
  45. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  46. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +10 -9
  47. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  48. package/lib/components/VBtn/VBtn.css +20 -1
  49. package/lib/components/VBtn/VBtn.mjs +20 -7
  50. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  51. package/lib/components/VBtn/VBtn.sass +15 -2
  52. package/lib/components/VBtn/_variables.scss +3 -0
  53. package/lib/components/VBtnGroup/VBtnGroup.css +14 -6
  54. package/lib/components/VBtnGroup/VBtnGroup.sass +14 -6
  55. package/lib/components/VCard/VCard.css +13 -11
  56. package/lib/components/VCard/VCard.mjs +5 -2
  57. package/lib/components/VCard/VCard.mjs.map +1 -1
  58. package/lib/components/VCard/VCard.sass +12 -9
  59. package/lib/components/VCard/VCardActions.mjs +1 -2
  60. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  61. package/lib/components/VCard/VCardContent.mjs +3 -0
  62. package/lib/components/VCard/VCardContent.mjs.map +1 -0
  63. package/lib/components/VCard/_variables.scss +11 -5
  64. package/lib/components/VCard/index.mjs +1 -0
  65. package/lib/components/VCard/index.mjs.map +1 -1
  66. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  67. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  68. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  69. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  70. package/lib/components/VChip/VChip.css +3 -0
  71. package/lib/components/VChip/VChip.sass +3 -0
  72. package/lib/components/VChip/_variables.scss +3 -0
  73. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
  74. package/lib/components/VCombobox/VCombobox.mjs +92 -74
  75. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  76. package/lib/components/VDialog/VDialog.css +31 -11
  77. package/lib/components/VDialog/VDialog.mjs +6 -9
  78. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  79. package/lib/components/VDialog/VDialog.sass +27 -10
  80. package/lib/components/VDialog/_variables.scss +3 -6
  81. package/lib/components/VExpansionPanel/VExpansionPanel.css +3 -2
  82. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +6 -2
  83. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  84. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +5 -3
  85. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  86. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
  87. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  88. package/lib/components/VField/VField.css +1 -1
  89. package/lib/components/VField/VField.mjs +3 -4
  90. package/lib/components/VField/VField.mjs.map +1 -1
  91. package/lib/components/VField/VField.sass +1 -1
  92. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  93. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  94. package/lib/components/VFooter/VFooter.mjs +32 -15
  95. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  96. package/lib/components/VForm/VForm.mjs +25 -11
  97. package/lib/components/VForm/VForm.mjs.map +1 -1
  98. package/lib/components/VIcon/VIcon.css +27 -12
  99. package/lib/components/VIcon/VIcon.mjs +19 -16
  100. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  101. package/lib/components/VIcon/VIcon.sass +27 -16
  102. package/lib/components/VIcon/_variables.scss +1 -0
  103. package/lib/components/VInput/VInput.css +3 -1
  104. package/lib/components/VInput/VInput.mjs +3 -4
  105. package/lib/components/VInput/VInput.mjs.map +1 -1
  106. package/lib/components/VInput/VInput.sass +3 -1
  107. package/lib/components/VInput/_variables.scss +4 -0
  108. package/lib/components/VList/VList.css +7 -6
  109. package/lib/components/VList/VList.mjs +36 -17
  110. package/lib/components/VList/VList.mjs.map +1 -1
  111. package/lib/components/VList/VList.sass +3 -2
  112. package/lib/components/VList/VListChildren.mjs +1 -1
  113. package/lib/components/VList/VListChildren.mjs.map +1 -1
  114. package/lib/components/VList/VListGroup.mjs +28 -10
  115. package/lib/components/VList/VListGroup.mjs.map +1 -1
  116. package/lib/components/VList/VListItem.css +119 -42
  117. package/lib/components/VList/VListItem.mjs +36 -32
  118. package/lib/components/VList/VListItem.mjs.map +1 -1
  119. package/lib/components/VList/VListItem.sass +76 -28
  120. package/lib/components/VList/VListItemAction.mjs +29 -0
  121. package/lib/components/VList/VListItemAction.mjs.map +1 -0
  122. package/lib/components/VList/VListItemAvatar.mjs +10 -16
  123. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  124. package/lib/components/VList/VListItemIcon.mjs +23 -0
  125. package/lib/components/VList/VListItemIcon.mjs.map +1 -0
  126. package/lib/components/VList/VListItemMedia.mjs +4 -4
  127. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  128. package/lib/components/VList/_variables.scss +12 -3
  129. package/lib/components/VList/index.mjs +2 -0
  130. package/lib/components/VList/index.mjs.map +1 -1
  131. package/lib/components/VMenu/VMenu.css +2 -12
  132. package/lib/components/VMenu/VMenu.mjs +61 -31
  133. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  134. package/lib/components/VMenu/VMenu.sass +3 -6
  135. package/lib/components/VMenu/shared.mjs +2 -0
  136. package/lib/components/VMenu/shared.mjs.map +1 -0
  137. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
  138. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  139. package/lib/components/VOverlay/VOverlay.css +8 -0
  140. package/lib/components/VOverlay/VOverlay.mjs +16 -15
  141. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  142. package/lib/components/VOverlay/VOverlay.sass +9 -0
  143. package/lib/components/VOverlay/_variables.scss +1 -0
  144. package/lib/components/VOverlay/positionStrategies.mjs +7 -3
  145. package/lib/components/VOverlay/positionStrategies.mjs.map +1 -1
  146. package/lib/components/VOverlay/scrollStrategies.mjs +9 -0
  147. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  148. package/lib/components/VOverlay/useActivator.mjs +50 -14
  149. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  150. package/lib/components/VPagination/VPagination.mjs +10 -12
  151. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  152. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  153. package/lib/components/VRadio/VRadio.mjs +1 -2
  154. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  155. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  156. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  157. package/lib/components/VRangeSlider/VRangeSlider.mjs +5 -2
  158. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  159. package/lib/components/VRating/VRating.css +2 -2
  160. package/lib/components/VRating/VRating.mjs +13 -3
  161. package/lib/components/VRating/VRating.mjs.map +1 -1
  162. package/lib/components/VRating/VRating.sass +2 -2
  163. package/lib/components/VSelect/VSelect.mjs +70 -91
  164. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  165. package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -1
  166. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  167. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +2 -2
  168. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  169. package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
  170. package/lib/components/VSlideGroup/VSlideGroup.mjs +36 -14
  171. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  172. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -4
  173. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +3 -1
  174. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  175. package/lib/components/VSlider/VSlider.css +7 -2
  176. package/lib/components/VSlider/VSlider.sass +11 -5
  177. package/lib/components/VSlider/VSliderTrack.css +6 -6
  178. package/lib/components/VSlider/VSliderTrack.mjs +1 -1
  179. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  180. package/lib/components/VSlider/VSliderTrack.sass +7 -7
  181. package/lib/components/VSlider/_variables.scss +5 -2
  182. package/lib/components/VSnackbar/VSnackbar.css +14 -13
  183. package/lib/components/VSnackbar/VSnackbar.mjs +22 -10
  184. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  185. package/lib/components/VSnackbar/VSnackbar.sass +15 -16
  186. package/lib/components/VSnackbar/_variables.scss +0 -4
  187. package/lib/components/VSwitch/VSwitch.mjs +8 -5
  188. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  189. package/lib/components/VSystemBar/VSystemBar.css +0 -5
  190. package/lib/components/VSystemBar/VSystemBar.mjs +31 -14
  191. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  192. package/lib/components/VSystemBar/VSystemBar.sass +0 -5
  193. package/lib/components/VSystemBar/_variables.scss +0 -3
  194. package/lib/components/VTabs/VTab.mjs +28 -32
  195. package/lib/components/VTabs/VTab.mjs.map +1 -1
  196. package/lib/components/VTabs/VTabs.css +6 -2
  197. package/lib/components/VTabs/VTabs.mjs +7 -8
  198. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  199. package/lib/components/VTabs/VTabs.sass +6 -1
  200. package/lib/components/VTabs/shared.mjs +2 -0
  201. package/lib/components/VTabs/shared.mjs.map +1 -0
  202. package/lib/components/VTextField/VTextField.css +4 -4
  203. package/lib/components/VTextField/VTextField.mjs +5 -9
  204. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  205. package/lib/components/VTextField/VTextField.sass +5 -5
  206. package/lib/components/VTextarea/VTextarea.css +7 -4
  207. package/lib/components/VTextarea/VTextarea.sass +9 -5
  208. package/lib/components/VTimeline/VTimeline.css +187 -48
  209. package/lib/components/VTimeline/VTimeline.mjs +27 -11
  210. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  211. package/lib/components/VTimeline/VTimeline.sass +196 -51
  212. package/lib/components/VTimeline/VTimelineDivider.mjs +2 -1
  213. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  214. package/lib/components/VTimeline/_variables.scss +2 -1
  215. package/lib/components/VToolbar/VToolbar.css +8 -1
  216. package/lib/components/VToolbar/VToolbar.mjs +8 -11
  217. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  218. package/lib/components/VToolbar/VToolbar.sass +2 -1
  219. package/lib/components/VToolbar/VToolbarItems.mjs +0 -1
  220. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  221. package/lib/components/VToolbar/_variables.scss +13 -1
  222. package/lib/components/VWindow/VWindow.mjs +0 -8
  223. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  224. package/lib/components/index.d.ts +9025 -8077
  225. package/lib/composables/defaults.mjs +2 -2
  226. package/lib/composables/defaults.mjs.map +1 -1
  227. package/lib/composables/form.mjs +18 -5
  228. package/lib/composables/form.mjs.map +1 -1
  229. package/lib/composables/forwardRef.mjs +10 -6
  230. package/lib/composables/forwardRef.mjs.map +1 -1
  231. package/lib/composables/group.mjs +14 -6
  232. package/lib/composables/group.mjs.map +1 -1
  233. package/lib/composables/index.mjs.map +1 -1
  234. package/lib/composables/items.mjs +56 -0
  235. package/lib/composables/items.mjs.map +1 -0
  236. package/lib/composables/layout.mjs +7 -3
  237. package/lib/composables/layout.mjs.map +1 -1
  238. package/lib/composables/loader.mjs.map +1 -1
  239. package/lib/composables/nested/nested.mjs +27 -14
  240. package/lib/composables/nested/nested.mjs.map +1 -1
  241. package/lib/composables/nested/openStrategies.mjs +63 -36
  242. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  243. package/lib/composables/nested/selectStrategies.mjs +163 -122
  244. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  245. package/lib/composables/overlay.mjs +5 -1
  246. package/lib/composables/overlay.mjs.map +1 -1
  247. package/lib/composables/proxiedModel.mjs.map +1 -1
  248. package/lib/composables/resizeObserver.mjs +1 -9
  249. package/lib/composables/resizeObserver.mjs.map +1 -1
  250. package/lib/composables/router.mjs +17 -5
  251. package/lib/composables/router.mjs.map +1 -1
  252. package/lib/composables/selectLink.mjs +19 -0
  253. package/lib/composables/selectLink.mjs.map +1 -0
  254. package/lib/composables/stack.mjs +7 -4
  255. package/lib/composables/stack.mjs.map +1 -1
  256. package/lib/composables/validation.mjs +6 -3
  257. package/lib/composables/validation.mjs.map +1 -1
  258. package/lib/composables/variant.mjs +0 -3
  259. package/lib/composables/variant.mjs.map +1 -1
  260. package/lib/directives/ripple/index.mjs +15 -3
  261. package/lib/directives/ripple/index.mjs.map +1 -1
  262. package/lib/entry-bundler.mjs +1 -1
  263. package/lib/framework.mjs +12 -7
  264. package/lib/framework.mjs.map +1 -1
  265. package/lib/index.d.ts +18 -2
  266. package/lib/locale/ca.mjs +9 -9
  267. package/lib/locale/ca.mjs.map +1 -1
  268. package/lib/styles/generic/_colors.scss +0 -1
  269. package/lib/styles/main.css +400 -392
  270. package/lib/styles/settings/_utilities.scss +54 -26
  271. package/lib/styles/tools/_states.sass +2 -1
  272. package/lib/util/defineComponent.mjs +37 -6
  273. package/lib/util/defineComponent.mjs.map +1 -1
  274. package/lib/util/getCurrentInstance.mjs +1 -1
  275. package/lib/util/getCurrentInstance.mjs.map +1 -1
  276. package/lib/util/helpers.mjs.map +1 -1
  277. package/package.json +31 -29
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTimeline/VTimeline.tsx"],"names":["VTimelineItem","makeTagProps","makeDensityProps","useDensity","makeThemeProps","provideTheme","computed","provide","toRef","convertToUnit","defineComponent","VTimelineSymbol","VTimeline","name","props","direction","type","String","default","validator","v","includes","side","lineInset","Number","lineThickness","lineColor","truncateLine","setup","slots","themeClasses","densityClasses","density","sideClass","value"],"mappings":";AAAA;AACA,yB,CAEA;;SACSA,a,+BAET;;SACSC,Y;SACAC,gB,EAAkBC,U;SAClBC,c,EAAgBC,Y,uCAEzB;;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,KAA5B,QAAyC,KAAzC;SACSC,a,EAAeC,e;SACfC,e,wBAET;;AAMA,OAAO,MAAMC,SAAS,GAAGF,eAAe,CAAC;AACvCG,EAAAA,IAAI,EAAE,WADiC;AAGvCC,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE;AACTC,MAAAA,IAAI,EAAEC,MADG;AAETC,MAAAA,OAAO,EAAE,UAFA;AAGTC,MAAAA,SAAS,EAAGC,CAAD,IAAY,CAAC,UAAD,EAAa,YAAb,EAA2BC,QAA3B,CAAoCD,CAApC;AAHd,KADN;AAMLE,IAAAA,IAAI,EAAE;AACJN,MAAAA,IAAI,EAAEC,MADF;AAEJE,MAAAA,SAAS,EAAGC,CAAD,IAAYA,CAAC,IAAI,IAAL,IAAa,CAAC,OAAD,EAAU,KAAV,EAAiBC,QAAjB,CAA0BD,CAA1B;AAFhC,KAND;AAULG,IAAAA,SAAS,EAAE;AACTP,MAAAA,IAAI,EAAE,CAACC,MAAD,EAASO,MAAT,CADG;AAETN,MAAAA,OAAO,EAAE;AAFA,KAVN;AAcLO,IAAAA,aAAa,EAAE;AACbT,MAAAA,IAAI,EAAE,CAACC,MAAD,EAASO,MAAT,CADO;AAEbN,MAAAA,OAAO,EAAE;AAFI,KAdV;AAkBLQ,IAAAA,SAAS,EAAET,MAlBN;AAmBLU,IAAAA,YAAY,EAAE;AACZX,MAAAA,IAAI,EAAEC,MADM;AAEZC,MAAAA,OAAO,EAAE,OAFG;AAGZC,MAAAA,SAAS,EAAGC,CAAD,IAAY,CAAC,MAAD,EAAS,OAAT,EAAkB,KAAlB,EAAyB,MAAzB,EAAiCC,QAAjC,CAA0CD,CAA1C;AAHX,KAnBT;AAyBL,OAAGlB,gBAAgB,EAzBd;AA0BL,OAAGD,YAAY,EA1BV;AA2BL,OAAGG,cAAc;AA3BZ,GAHgC;;AAiCvCwB,EAAAA,KAAK,CAAEd,KAAF,QAAoB;AAAA,QAAX;AAAEe,MAAAA;AAAF,KAAW;AACvB,UAAM;AAAEC,MAAAA;AAAF,QAAmBzB,YAAY,CAACS,KAAD,CAArC;AACA,UAAM;AAAEiB,MAAAA;AAAF,QAAqB5B,UAAU,CAACW,KAAD,CAArC;AAEAP,IAAAA,OAAO,CAACI,eAAD,EAAkB;AACvBqB,MAAAA,OAAO,EAAExB,KAAK,CAACM,KAAD,EAAQ,SAAR,CADS;AAEvBY,MAAAA,SAAS,EAAElB,KAAK,CAACM,KAAD,EAAQ,WAAR;AAFO,KAAlB,CAAP;AAKA,UAAMmB,SAAS,GAAG3B,QAAQ,CAAC,MAAM;AAC/B,YAAMgB,IAAI,GAAGR,KAAK,CAACQ,IAAN,GAAaR,KAAK,CAACQ,IAAnB,GAA0BR,KAAK,CAACkB,OAAN,KAAkB,SAAlB,GAA8B,KAA9B,GAAsC,IAA7E;AAEA,aAAOV,IAAI,IAAK,oBAAmBA,IAAK,EAAxC;AACD,KAJyB,CAA1B;AAMA,WAAO;AAAA;;AAAA;AAAA,iBAEI,CACL,YADK,EAEJ,eAAcR,KAAK,CAACC,SAAU,EAF1B,EAGL;AACE,oCAA0B,CAAC,CAACD,KAAK,CAACS,SADpC;AAEE,2CAAiCT,KAAK,CAACa,YAAN,KAAuB,KAAvB,IAAgCb,KAAK,CAACa,YAAN,KAAuB;AAF1F,SAHK,EAOLG,YAAY,CAACI,KAPR,EAQLH,cAAc,CAACG,KARV,EASLD,SAAS,CAACC,KATL,CAFJ;AAAA,iBAaI;AACL,yCAA+BzB,aAAa,CAACK,KAAK,CAACW,aAAP,CADvC;AAEL,qCAA2BhB,aAAa,CAACK,KAAK,CAACS,SAAP;AAFnC;AAbJ;AAAA,wBAkBD,CAACT,KAAK,CAACa,YAAN,KAAuB,MAAvB,IAAiCb,KAAK,CAACa,YAAN,KAAuB,KAAzD;AAAA;AAAA,gBAlBC,oBAsBDE,KAAK,CAACX,OAtBL,qBAsBD,oBAAAW,KAAK,CAtBJ;AAAA;AAAA,KAAP;AAyBD;;AAzEsC,CAAD,CAAjC","sourcesContent":["// Styles\nimport './VTimeline.sass'\n\n// Components\nimport { VTimelineItem } from './VTimelineItem'\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 = 'before' | 'after' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\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 default: 'start',\n validator: (v: any) => ['none', 'start', 'end', 'both'].includes(v),\n },\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 return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n 'v-timeline--truncate-line-end': props.truncateLine === 'end' || props.truncateLine === 'both',\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 { (props.truncateLine === 'none' || props.truncateLine === 'end') && (\n <VTimelineItem hideDot />\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n"],"file":"VTimeline.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VTimeline/VTimeline.tsx"],"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"],"mappings":"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","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"],"file":"VTimeline.mjs"}
@@ -10,6 +10,9 @@
10
10
  .v-timeline-divider__dot
11
11
  background: $timeline-dot-divider-background
12
12
 
13
+ .v-timeline-divider__inner-dot
14
+ background: $timeline-inner-dot-divider-background
15
+
13
16
  // Elements
14
17
  .v-timeline
15
18
  display: grid
@@ -18,36 +21,48 @@
18
21
 
19
22
  @include horizontal(true)
20
23
  grid-template-rows: $timeline-item-grid-template
24
+ grid-column-gap: $timeline-item-padding
21
25
  width: 100%
22
26
 
23
- .v-timeline-item__body, .v-timeline-item__opposite
24
- padding-inline-start: calc((var(--v-timeline-dot-size) / 2) - 5px)
27
+ .v-timeline-item:first-child
28
+ .v-timeline-item__body, .v-timeline-item__opposite, .v-timeline-divider
29
+ padding-inline-start: $timeline-item-padding
30
+
31
+ .v-timeline-item:last-child
32
+ .v-timeline-item__body, .v-timeline-item__opposite, .v-timeline-divider
33
+ padding-inline-end: $timeline-item-padding
25
34
 
26
35
  .v-timeline-item:nth-child(2n)
27
36
  .v-timeline-item__body
28
37
  grid-row: 3
29
- padding-top: $timeline-item-padding
38
+ padding-block-start: $timeline-item-padding
30
39
 
31
40
  .v-timeline-item__opposite
32
41
  grid-row: 1
33
- padding-bottom: $timeline-item-padding
42
+ padding-block-end: $timeline-item-padding
43
+ align-self: flex-end
34
44
 
35
45
  .v-timeline-item:nth-child(2n+1)
36
46
  .v-timeline-item__body
37
47
  grid-row: 1
38
- padding-bottom: $timeline-item-padding
48
+ padding-block-end: $timeline-item-padding
39
49
 
40
50
  .v-timeline-item__opposite
41
51
  grid-row: 3
42
- padding-top: $timeline-item-padding
52
+ padding-block-start: $timeline-item-padding
43
53
 
44
54
  @include vertical(true)
45
55
  grid-template-columns: $timeline-item-grid-template
56
+ grid-row-gap: $timeline-item-padding
46
57
  height: 100%
47
58
 
48
- .v-timeline-item__body, .v-timeline-item__opposite
49
- // TODO: replace with css var?
50
- padding-top: calc((var(--v-timeline-dot-size) - 1.5em) / 2)
59
+ .v-timeline-item:first-child
60
+ .v-timeline-divider, .v-timeline-item__body, .v-timeline-item__opposite
61
+ padding-block-start: $timeline-item-padding
62
+
63
+ .v-timeline-item:last-child
64
+ .v-timeline-item__body, .v-timeline-item__opposite, .v-timeline-divider
65
+ padding-block-end: $timeline-item-padding
51
66
 
52
67
  .v-timeline-item:nth-child(2n)
53
68
  .v-timeline-item__body
@@ -72,39 +87,6 @@
72
87
  .v-timeline-item
73
88
  display: contents
74
89
 
75
- .v-timeline-divider__line
76
- background: $timeline-divider-line-background
77
- position: absolute
78
-
79
- @include horizontal
80
- height: $timeline-divider-line-thickness
81
- width: calc(100% - var(--v-timeline-line-inset, 0px))
82
-
83
- @include vertical
84
- height: 100%
85
- width: $timeline-divider-line-thickness
86
-
87
- .v-timeline--inset-line
88
- .v-timeline-divider__line
89
- @include vertical(true)
90
- height: calc(100% - var(--v-timeline-dot-size) - #{$timeline-inset-divider-line})
91
- bottom: calc(#{$timeline-inset-divider-line} / 2)
92
-
93
- @include horizontal(true)
94
- width: calc(100% - var(--v-timeline-dot-size) - #{$timeline-inset-divider-line})
95
- inset-inline-end: calc(#{$timeline-inset-divider-line} / 2)
96
-
97
- .v-timeline:not(.v-timeline--inset-line)
98
- .v-timeline-item:first-child
99
- .v-timeline-divider__line
100
- @include vertical(true)
101
- bottom: 0
102
- height: calc(100% - (var(--v-timeline-dot-size) / 2))
103
-
104
- @include horizontal(true)
105
- width: calc(100% - (var(--v-timeline-dot-size) / 2))
106
- inset-inline-end: 0
107
-
108
90
  .v-timeline-divider
109
91
  position: relative
110
92
  display: flex
@@ -113,11 +95,43 @@
113
95
  @include horizontal
114
96
  flex-direction: row
115
97
  grid-row: 2
98
+ width: 100%
116
99
 
117
100
  @include vertical
101
+ height: 100%
118
102
  flex-direction: column
119
103
  grid-column: 2
120
104
 
105
+ .v-timeline-divider__line
106
+ background: $timeline-divider-line-background
107
+ position: absolute
108
+
109
+ @include horizontal
110
+ height: $timeline-divider-line-thickness
111
+ width: calc(100% + #{$timeline-item-padding})
112
+
113
+ @include tools.ltr
114
+ left: 0
115
+ @include tools.rtl
116
+ right: 0
117
+
118
+ @include vertical
119
+ height: calc(100% + #{$timeline-item-padding})
120
+ width: $timeline-divider-line-thickness
121
+
122
+ @include tools.ltr
123
+ top: 0
124
+ @include tools.rtl
125
+ bottom: 0
126
+
127
+ .v-timeline-item:last-child
128
+ .v-timeline-divider__line
129
+ @include vertical
130
+ height: 100%
131
+
132
+ @include horizontal
133
+ width: 100%
134
+
121
135
  .v-timeline-divider__dot
122
136
  z-index: 1
123
137
  flex-shrink: 0
@@ -194,36 +208,39 @@
194
208
  @include horizontal(true)
195
209
  .v-timeline-item__body
196
210
  grid-row: 3
197
- padding-bottom: initial
198
- padding-top: $timeline-item-padding
211
+ padding-block-end: initial
212
+ padding-block-start: $timeline-item-padding
199
213
 
200
214
  .v-timeline-item__opposite
201
215
  grid-row: 1
202
- padding-bottom: $timeline-item-padding
203
- padding-top: initial
216
+ padding-block-end: $timeline-item-padding
217
+ padding-block-start: initial
204
218
 
205
219
  @include vertical(true)
206
220
  .v-timeline-item__body
207
221
  grid-column: 3
208
222
  text-align: initial
209
223
  padding-inline-start: $timeline-item-padding
224
+ padding-inline-end: initial
210
225
 
211
226
  .v-timeline-item__opposite
212
227
  grid-column: 1
228
+ text-align: end
213
229
  padding-inline-end: $timeline-item-padding
230
+ padding-inline-start: initial
214
231
 
215
232
  .v-timeline.v-timeline--side-start
216
233
  .v-timeline-item
217
234
  @include horizontal(true)
218
235
  .v-timeline-item__body
219
236
  grid-row: 1
220
- padding-bottom: $timeline-item-padding
221
- padding-top: initial
237
+ padding-block-end: $timeline-item-padding
238
+ padding-block-start: initial
222
239
 
223
240
  .v-timeline-item__opposite
224
241
  grid-row: 3
225
- padding-bottom: initial
226
- padding-top: $timeline-item-padding
242
+ padding-block-end: initial
243
+ padding-block-start: $timeline-item-padding
227
244
 
228
245
  @include vertical(true)
229
246
  .v-timeline-item__body
@@ -233,6 +250,7 @@
233
250
 
234
251
  .v-timeline-item__opposite
235
252
  grid-column: 3
253
+ text-align: initial
236
254
  padding-inline-start: $timeline-item-padding
237
255
 
238
256
  // Fill dot
@@ -241,7 +259,134 @@
241
259
  height: inherit
242
260
  width: inherit
243
261
 
262
+ // Truncate line
244
263
  .v-timeline--truncate-line-end
245
264
  .v-timeline-item:last-child
246
265
  .v-timeline-divider__line
247
- display: none
266
+ @include horizontal(true)
267
+ width: 50%
268
+
269
+ @include vertical(true)
270
+ height: $timeline-item-padding
271
+
272
+ .v-timeline--truncate-line-end.v-timeline--align-start
273
+ .v-timeline-item:last-child
274
+ .v-timeline-divider__line
275
+ @include horizontal(true)
276
+ width: $timeline-item-padding
277
+
278
+ .v-timeline--truncate-line-start
279
+ .v-timeline-item:first-child
280
+ @include horizontal(true)
281
+ .v-timeline-item__body, .v-timeline-item__opposite, .v-timeline-divider
282
+ padding-inline-start: 0
283
+
284
+ @include vertical(true)
285
+ .v-timeline-item__body, .v-timeline-item__opposite, .v-timeline-divider
286
+ padding-block-start: 0
287
+
288
+ .v-timeline--truncate-line-start.v-timeline--align-center
289
+ .v-timeline-item:first-child
290
+ .v-timeline-divider__line
291
+ $inset: calc(50% + #{$timeline-item-padding} - var(--v-timeline-dot-size))
292
+
293
+ @include horizontal(true)
294
+ width: calc(50% + var(--v-timeline-dot-size))
295
+
296
+ @include tools.ltr
297
+ left: $inset
298
+ @include tools.rtl
299
+ right: $inset
300
+
301
+ @include vertical(true)
302
+ height: calc(50% + var(--v-timeline-dot-size))
303
+
304
+ @include tools.ltr
305
+ top: $inset
306
+ @include tools.rtl
307
+ bottom: $inset
308
+
309
+ // Alignment
310
+ .v-timeline--align-center
311
+ @include horizontal(true)
312
+ justify-items: center
313
+
314
+ .v-timeline-divider
315
+ justify-content: center
316
+
317
+ @include vertical(true)
318
+ align-items: center
319
+
320
+ .v-timeline-divider
321
+ justify-content: center
322
+
323
+ .v-timeline--align-start
324
+ @include horizontal
325
+ justify-content: flex-start
326
+
327
+ @include vertical(true)
328
+ align-items: flex-start
329
+
330
+ .v-timeline-divider
331
+ justify-content: flex-start
332
+
333
+ // Inset line
334
+ .v-timeline--inset-line
335
+ .v-timeline-divider__line
336
+ $inset: calc(50% + var(--v-timeline-line-inset) + var(--v-timeline-dot-size) / 2)
337
+
338
+ @include horizontal(true)
339
+ width: calc(100% + #{$timeline-item-padding} - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
340
+
341
+ @include tools.ltr
342
+ left: $inset
343
+ @include tools.rtl
344
+ right: $inset
345
+
346
+ @include vertical(true)
347
+ height: calc(100% + #{$timeline-item-padding} - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
348
+
349
+ @include tools.ltr
350
+ top: $inset
351
+ @include tools.rtl
352
+ bottom: $inset
353
+
354
+ .v-timeline-item:first-child
355
+ $inset: calc(50% + var(--v-timeline-dot-size) / 2 + #{$timeline-item-padding} / 2 + var(--v-timeline-line-inset))
356
+
357
+ .v-timeline-divider__line
358
+ @include horizontal(true)
359
+ width: calc(100% - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
360
+
361
+ @include tools.ltr
362
+ left: $inset
363
+ @include tools.rtl
364
+ right: $inset
365
+
366
+ @include vertical(true)
367
+ height: calc(100% - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
368
+
369
+ @include tools.ltr
370
+ top: $inset
371
+ @include tools.rtl
372
+ bottom: $inset
373
+
374
+ .v-timeline-item:last-child
375
+ $inset: calc(50% + var(--v-timeline-line-inset) - #{$timeline-item-padding} / 2 + var(--v-timeline-dot-size) / 2)
376
+
377
+ .v-timeline-divider__line
378
+ @include horizontal(true)
379
+ width: calc(50% - #{$timeline-item-padding} - var(--v-timeline-line-inset) * 2)
380
+
381
+ @include tools.ltr
382
+ left: $inset
383
+ @include tools.rtl
384
+ right: $inset
385
+
386
+ @include vertical(true)
387
+ height: calc(50% - #{$timeline-item-padding} - var(--v-timeline-line-inset) * 2)
388
+
389
+ @include tools.ltr
390
+ top: $inset
391
+ @include tools.rtl
392
+ bottom: $inset
@@ -8,7 +8,8 @@ import { makeElevationProps, useElevation } from "../../composables/elevation.mj
8
8
  import { makeSizeProps, useSize } from "../../composables/size.mjs";
9
9
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs"; // Utilities
10
10
 
11
- import { defineComponent, inject, toRef } from 'vue';
11
+ import { inject, toRef } from 'vue';
12
+ import { defineComponent } from "../../util/index.mjs";
12
13
  export const VTimelineDivider = defineComponent({
13
14
  name: 'VTimelineDivider',
14
15
  props: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTimeline/VTimelineDivider.tsx"],"names":["VIcon","VTimelineSymbol","useBackgroundColor","makeElevationProps","useElevation","makeSizeProps","useSize","makeRoundedProps","useRounded","defineComponent","inject","toRef","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"],"mappings":";AAAA;SACSA,K;SACAC,e,wBAET;;SACSC,kB;SACAC,kB,EAAoBC,Y;SACpBC,a,EAAeC,O;SACfC,gB,EAAkBC,U,yCAE3B;;AACA,SAASC,eAAT,EAA0BC,MAA1B,EAAkCC,KAAlC,QAA+C,KAA/C;AAEA,OAAO,MAAMC,gBAAgB,GAAGH,eAAe,CAAC;AAC9CI,EAAAA,IAAI,EAAE,kBADwC;AAG9CC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAEC,OADJ;AAELC,IAAAA,SAAS,EAAEC,MAFN;AAGLC,IAAAA,IAAI,EAAED,MAHD;AAILE,IAAAA,SAAS,EAAEF,MAJN;AAKLG,IAAAA,OAAO,EAAEL,OALJ;AAMLM,IAAAA,QAAQ,EAAEJ,MANL;AAQL,OAAGX,gBAAgB,EARd;AASL,OAAGF,aAAa,EATX;AAUL,OAAGF,kBAAkB;AAVhB,GAHuC;;AAgB9CoB,EAAAA,KAAK,CAAET,KAAF,QAAoB;AAAA,QAAX;AAAEU,MAAAA;AAAF,KAAW;AACvB,UAAMC,QAAQ,GAAGf,MAAM,CAACT,eAAD,CAAvB;AAEA,QAAI,CAACwB,QAAL,EAAe,MAAM,IAAIC,KAAJ,CAAU,8CAAV,CAAN;AAEf,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAA8BtB,OAAO,CAACQ,KAAD,EAAQ,yBAAR,CAA3C;AACA,UAAM;AAAEe,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,QAAoD5B,kBAAkB,CAACS,KAAK,CAACG,KAAD,EAAQ,UAAR,CAAN,CAA5E;AACA,UAAM;AAAEe,MAAAA,qBAAqB,EAAEE,eAAzB;AAA0CD,MAAAA,sBAAsB,EAAEE;AAAlE,QAAuF9B,kBAAkB,CAACuB,QAAQ,CAACR,SAAV,CAA/G;AACA,UAAM;AAAEgB,MAAAA;AAAF,QAAqBzB,UAAU,CAACM,KAAD,EAAQ,yBAAR,CAArC;AACA,UAAM;AAAEoB,MAAAA;AAAF,QAAuB9B,YAAY,CAACU,KAAD,CAAzC;AAEA,WAAO;AAAA,eAEI,CACL,oBADK,EAEL;AACE,wCAAgCA,KAAK,CAACO;AADxC,OAFK;AAFJ,QASD,CAACP,KAAK,CAACC,OAAP;AAAA,eAES,CACL,yBADK,EAELkB,cAAc,CAACE,KAFV,EAGLR,WAAW,CAACQ,KAHP,EAILD,gBAAgB,CAACC,KAJZ,CAFT;AAAA,eASUP,UAAU,CAACO;AATrB;AAAA,eAYW,CACL,+BADK,EAELF,cAAc,CAACE,KAFV,EAGLL,sBAAsB,CAACK,KAHlB,CAZX;AAAA,eAiBYN,qBAAqB,CAACM;AAjBlC,QAoBMX,KAAK,CAACY,OAAN,GAAgBZ,KAAK,CAACY,OAAN,CAAc;AAAEjB,MAAAA,IAAI,EAAEL,KAAK,CAACK,IAAd;AAAoBC,MAAAA,SAAS,EAAEN,KAAK,CAACM,SAArC;AAAgDiB,MAAAA,IAAI,EAAEvB,KAAK,CAACuB;AAA5D,KAAd,CAAhB,GACEvB,KAAK,CAACK,IAAN;AAAA,cAA2BL,KAAK,CAACK,IAAjC;AAAA,eAAgDL,KAAK,CAACM,SAAtD;AAAA,cAAyEN,KAAK,CAACuB;AAA/E,eACAC,SAtBR,IATC;AAAA,eAqCM,CACL,0BADK,EAELN,gBAAgB,CAACG,KAFZ,CArCN;AAAA,eAyCOJ,eAAe,CAACI;AAzCvB,cAAP;AA6CD;;AAxE6C,CAAD,CAAxC","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'\n\n// Utilities\nimport { defineComponent, inject, toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: String,\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"],"file":"VTimelineDivider.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VTimeline/VTimelineDivider.tsx"],"names":["VIcon","VTimelineSymbol","useBackgroundColor","makeElevationProps","useElevation","makeSizeProps","useSize","makeRoundedProps","useRounded","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"],"mappings":";AAAA;SACSA,K;SACAC,e,wBAET;;SACSC,kB;SACAC,kB,EAAoBC,Y;SACpBC,a,EAAeC,O;SACfC,gB,EAAkBC,U,yCAE3B;;AACA,SAASC,MAAT,EAAiBC,KAAjB,QAA8B,KAA9B;SACSC,e;AAET,OAAO,MAAMC,gBAAgB,GAAGD,eAAe,CAAC;AAC9CE,EAAAA,IAAI,EAAE,kBADwC;AAG9CC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAEC,OADJ;AAELC,IAAAA,SAAS,EAAEC,MAFN;AAGLC,IAAAA,IAAI,EAAED,MAHD;AAILE,IAAAA,SAAS,EAAEF,MAJN;AAKLG,IAAAA,OAAO,EAAEL,OALJ;AAMLM,IAAAA,QAAQ,EAAEJ,MANL;AAQL,OAAGX,gBAAgB,EARd;AASL,OAAGF,aAAa,EATX;AAUL,OAAGF,kBAAkB;AAVhB,GAHuC;;AAgB9CoB,EAAAA,KAAK,CAAET,KAAF,QAAoB;AAAA,QAAX;AAAEU,MAAAA;AAAF,KAAW;AACvB,UAAMC,QAAQ,GAAGhB,MAAM,CAACR,eAAD,CAAvB;AAEA,QAAI,CAACwB,QAAL,EAAe,MAAM,IAAIC,KAAJ,CAAU,8CAAV,CAAN;AAEf,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAA8BtB,OAAO,CAACQ,KAAD,EAAQ,yBAAR,CAA3C;AACA,UAAM;AAAEe,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,QAAoD5B,kBAAkB,CAACQ,KAAK,CAACI,KAAD,EAAQ,UAAR,CAAN,CAA5E;AACA,UAAM;AAAEe,MAAAA,qBAAqB,EAAEE,eAAzB;AAA0CD,MAAAA,sBAAsB,EAAEE;AAAlE,QAAuF9B,kBAAkB,CAACuB,QAAQ,CAACR,SAAV,CAA/G;AACA,UAAM;AAAEgB,MAAAA;AAAF,QAAqBzB,UAAU,CAACM,KAAD,EAAQ,yBAAR,CAArC;AACA,UAAM;AAAEoB,MAAAA;AAAF,QAAuB9B,YAAY,CAACU,KAAD,CAAzC;AAEA,WAAO;AAAA,eAEI,CACL,oBADK,EAEL;AACE,wCAAgCA,KAAK,CAACO;AADxC,OAFK;AAFJ,QASD,CAACP,KAAK,CAACC,OAAP;AAAA,eAES,CACL,yBADK,EAELkB,cAAc,CAACE,KAFV,EAGLR,WAAW,CAACQ,KAHP,EAILD,gBAAgB,CAACC,KAJZ,CAFT;AAAA,eASUP,UAAU,CAACO;AATrB;AAAA,eAYW,CACL,+BADK,EAELF,cAAc,CAACE,KAFV,EAGLL,sBAAsB,CAACK,KAHlB,CAZX;AAAA,eAiBYN,qBAAqB,CAACM;AAjBlC,QAoBMX,KAAK,CAACY,OAAN,GAAgBZ,KAAK,CAACY,OAAN,CAAc;AAAEjB,MAAAA,IAAI,EAAEL,KAAK,CAACK,IAAd;AAAoBC,MAAAA,SAAS,EAAEN,KAAK,CAACM,SAArC;AAAgDiB,MAAAA,IAAI,EAAEvB,KAAK,CAACuB;AAA5D,KAAd,CAAhB,GACEvB,KAAK,CAACK,IAAN;AAAA,cAA2BL,KAAK,CAACK,IAAjC;AAAA,eAAgDL,KAAK,CAACM,SAAtD;AAAA,cAAyEN,KAAK,CAACuB;AAA/E,eACAC,SAtBR,IATC;AAAA,eAqCM,CACL,0BADK,EAELN,gBAAgB,CAACG,KAFZ,CArCN;AAAA,eAyCOJ,eAAe,CAACI;AAzCvB,cAAP;AA6CD;;AAxE6C,CAAD,CAAxC","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'\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: String,\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"],"file":"VTimelineDivider.mjs"}
@@ -10,7 +10,8 @@ $timeline-divider-line-background: rgba(var(--v-border-color), var(--v-border-op
10
10
  $timeline-divider-line-horizontal-width: var(--v-timeline-line-inset, 0px) !default;
11
11
  $timeline-divider-line-thickness: var(--v-timeline-line-thickness) !default;
12
12
  $timeline-dot-border-radius: 50% !default;
13
- $timeline-dot-divider-background: rgb(var(--v-theme-on-surface)) !default;
13
+ $timeline-dot-divider-background: rgb(var(--v-theme-on-surface-variant)) !default;
14
+ $timeline-inner-dot-divider-background: rgb(var(--v-theme-on-surface)) !default;
14
15
  $timeline-inset-divider-line: var(--v-timeline-line-inset) !default;
15
16
  $timeline-inset-line-size: 4px !default;
16
17
  $timeline-item-grid-template: auto min-content auto !default;
@@ -8,13 +8,20 @@
8
8
  padding-inline-end: calc(16px + var(--v-scrollbar-offset));
9
9
  padding-inline-start: 16px;
10
10
  position: relative;
11
- transition-property: height, transform, max-width;
12
11
  transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
12
+ transition-property: height, transform, max-width;
13
+ border-color: rgba(var(--v-border-color), var(--v-border-opacity));
14
+ border-style: solid;
15
+ border-width: 0;
13
16
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
14
17
  border-radius: 0;
15
18
  background: rgb(var(--v-theme-on-surface-variant));
16
19
  color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
17
20
  }
21
+ .v-toolbar--border {
22
+ border-width: thin;
23
+ box-shadow: none;
24
+ }
18
25
  .v-toolbar--density-default .v-toolbar__content {
19
26
  padding-top: 16px;
20
27
  padding-bottom: 16px;
@@ -11,13 +11,13 @@ import { makeElevationProps, useElevation } from "../../composables/elevation.mj
11
11
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
12
12
  import { makeTagProps } from "../../composables/tag.mjs";
13
13
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
14
- import { provideDefaults } from "../../composables/defaults.mjs";
15
14
  import { useBackgroundColor } from "../../composables/color.mjs";
16
15
  import { useForwardRef } from "../../composables/forwardRef.mjs"; // Utilities
17
16
 
18
17
  import { computed, toRef } from 'vue';
19
18
  import { convertToUnit, genericComponent, pick, propsFactory, useRender } from "../../util/index.mjs"; // Types
20
19
 
20
+ import { provideDefaults } from "../../composables/defaults.mjs";
21
21
  const allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'];
22
22
  export const makeVToolbarProps = propsFactory({
23
23
  absolute: Boolean,
@@ -73,24 +73,20 @@ export const VToolbar = genericComponent()({
73
73
  backgroundColorClasses,
74
74
  backgroundColorStyles
75
75
  } = useBackgroundColor(toRef(props, 'color'));
76
- const contentHeight = computed(() => Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));
76
+ const isExtended = computed(() => !!(props.extended || slots.extension));
77
+ 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));
78
+ 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);
77
79
  provideDefaults({
78
80
  VBtn: {
79
81
  flat: true,
80
82
  variant: 'text'
81
- },
82
- VTextField: {
83
- hideDetails: true
84
83
  }
85
- }, {
86
- scoped: true
87
84
  });
88
85
  useRender(() => {
89
86
  var _slots$image, _slots$prepend, _slots$default, _slots$append, _slots$extension;
90
87
 
91
88
  const hasTitle = !!(props.title || slots.title);
92
89
  const hasImage = !!(slots.image || props.image);
93
- const isExtended = !!(props.extended || slots.extension);
94
90
  return _createVNode(props.tag, {
95
91
  "class": ['v-toolbar', {
96
92
  'v-toolbar--absolute': props.absolute,
@@ -126,16 +122,17 @@ export const VToolbar = genericComponent()({
126
122
  text: slots.title
127
123
  }), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), slots.append && _createVNode("div", {
128
124
  "class": "v-toolbar__append"
129
- }, [(_slots$append = slots.append) == null ? void 0 : _slots$append.call(slots)])]), isExtended && _createVNode("div", {
125
+ }, [(_slots$append = slots.append) == null ? void 0 : _slots$append.call(slots)])]), isExtended.value && _createVNode("div", {
130
126
  "class": "v-toolbar__extension",
131
127
  "style": {
132
- height: convertToUnit(props.extensionHeight)
128
+ height: convertToUnit(extensionHeight.value)
133
129
  }
134
130
  }, [(_slots$extension = slots.extension) == null ? void 0 : _slots$extension.call(slots)])]
135
131
  });
136
132
  });
137
133
  return useForwardRef({
138
- contentHeight
134
+ contentHeight,
135
+ extensionHeight
139
136
  });
140
137
  }
141
138
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"names":["VDefaultsProvider","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useForwardRef","computed","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","borderClasses","elevationClasses","roundedClasses","themeClasses","backgroundColorClasses","backgroundColorStyles","contentHeight","VBtn","variant","VTextField","hideDetails","scoped","hasTitle","hasImage","isExtended","extension","value","cover","src","prepend","text","append","filterToolbarProps","Object","keys"],"mappings":";AAAA;AACA,wB,CAEA;;SACSA,iB;SACAC,I;SACAC,a,+BAET;;SACSC,e,EAAiBC,S;SACjBC,kB,EAAoBC,Y;SACpBC,gB,EAAkBC,U;SAClBC,Y;SACAC,c,EAAgBC,Y;SAChBC,e;SACAC,kB;SACAC,a,4CAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,a,EAAeC,gB,EAAkBC,I,EAAMC,Y,EAAcC,S,gCAE9D;;AAMA,MAAMC,gBAAgB,GAAG,CAAC,IAAD,EAAO,WAAP,EAAoB,SAApB,EAA+B,aAA/B,EAA8C,SAA9C,CAAzB;AAEA,OAAO,MAAMC,iBAAiB,GAAGH,YAAY,CAAC;AAC5CI,EAAAA,QAAQ,EAAEC,OADkC;AAE5CC,EAAAA,QAAQ,EAAED,OAFkC;AAG5CE,EAAAA,KAAK,EAAEC,MAHqC;AAI5CC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAEF,MADC;AAEPG,IAAAA,OAAO,EAAE,SAFF;AAGPC,IAAAA,SAAS,EAAGC,CAAD,IAAYX,gBAAgB,CAACY,QAAjB,CAA0BD,CAA1B;AAHhB,GAJmC;AAS5CE,EAAAA,QAAQ,EAAEV,OATkC;AAU5CW,EAAAA,eAAe,EAAE;AACfN,IAAAA,IAAI,EAAE,CAACO,MAAD,EAAST,MAAT,CADS;AAEfG,IAAAA,OAAO,EAAE;AAFM,GAV2B;AAc5CO,EAAAA,IAAI,EAAEb,OAdsC;AAe5Cc,EAAAA,QAAQ,EAAEd,OAfkC;AAgB5Ce,EAAAA,MAAM,EAAE;AACNV,IAAAA,IAAI,EAAE,CAACO,MAAD,EAAST,MAAT,CADA;AAENG,IAAAA,OAAO,EAAE;AAFH,GAhBoC;AAoB5CU,EAAAA,KAAK,EAAEb,MApBqC;AAqB5Cc,EAAAA,KAAK,EAAEd,MArBqC;AAuB5C,KAAGzB,eAAe,EAvB0B;AAwB5C,KAAGE,kBAAkB,EAxBuB;AAyB5C,KAAGE,gBAAgB,EAzByB;AA0B5C,KAAGE,YAAY,CAAC;AAAEkC,IAAAA,GAAG,EAAE;AAAP,GAAD,CA1B6B;AA2B5C,KAAGjC,cAAc;AA3B2B,CAAD,EA4B1C,WA5B0C,CAAtC;AA8BP,OAAO,MAAMkC,QAAQ,GAAG1B,gBAAgB,GASnC;AACH2B,EAAAA,IAAI,EAAE,UADH;AAGHC,EAAAA,KAAK,EAAEvB,iBAAiB,EAHrB;;AAKHwB,EAAAA,KAAK,CAAED,KAAF,QAAoB;AAAA,QAAX;AAAEE,MAAAA;AAAF,KAAW;AACvB,UAAM;AAAEC,MAAAA;AAAF,QAAoB7C,SAAS,CAAC0C,KAAD,CAAnC;AACA,UAAM;AAAEI,MAAAA;AAAF,QAAuB5C,YAAY,CAACwC,KAAD,CAAzC;AACA,UAAM;AAAEK,MAAAA;AAAF,QAAqB3C,UAAU,CAACsC,KAAD,CAArC;AACA,UAAM;AAAEM,MAAAA;AAAF,QAAmBzC,YAAY,CAACmC,KAAD,CAArC;AACA,UAAM;AAAEO,MAAAA,sBAAF;AAA0BC,MAAAA;AAA1B,QAAoDzC,kBAAkB,CAACG,KAAK,CAAC8B,KAAD,EAAQ,OAAR,CAAN,CAA5E;AACA,UAAMS,aAAa,GAAGxC,QAAQ,CAAC,MAC7BsB,MAAM,CAACS,KAAK,CAACN,MAAP,CAAN,IACCM,KAAK,CAACjB,OAAN,KAAkB,WAAlB,GAAgCQ,MAAM,CAACS,KAAK,CAACN,MAAP,CAAtC,GAAuD,CADxD,KAECM,KAAK,CAACjB,OAAN,KAAkB,aAAlB,GAAkC,CAAlC,GAAsC,CAFvC,KAGCiB,KAAK,CAACjB,OAAN,KAAkB,SAAlB,GAA8B,EAA9B,GAAmC,CAHpC,CAD4B,CAA9B;AAOAjB,IAAAA,eAAe,CAAC;AACd4C,MAAAA,IAAI,EAAE;AACJlB,QAAAA,IAAI,EAAE,IADF;AAEJmB,QAAAA,OAAO,EAAE;AAFL,OADQ;AAKdC,MAAAA,UAAU,EAAE;AACVC,QAAAA,WAAW,EAAE;AADH;AALE,KAAD,EAQZ;AAAEC,MAAAA,MAAM,EAAE;AAAV,KARY,CAAf;AAUAvC,IAAAA,SAAS,CAAC,MAAM;AAAA;;AACd,YAAMwC,QAAQ,GAAG,CAAC,EAAEf,KAAK,CAACJ,KAAN,IAAeM,KAAK,CAACN,KAAvB,CAAlB;AACA,YAAMoB,QAAQ,GAAG,CAAC,EAAEd,KAAK,CAACP,KAAN,IAAeK,KAAK,CAACL,KAAvB,CAAlB;AACA,YAAMsB,UAAU,GAAG,CAAC,EAAEjB,KAAK,CAACX,QAAN,IAAkBa,KAAK,CAACgB,SAA1B,CAApB;AAEA;AAAA,iBAEW,CACL,WADK,EAEL;AACE,iCAAuBlB,KAAK,CAACtB,QAD/B;AAEE,iCAAuBsB,KAAK,CAACpB,QAF/B;AAGE,6BAAmBoB,KAAK,CAACR,IAH3B;AAIE,iCAAuBQ,KAAK,CAACP,QAJ/B;AAKE,WAAE,sBAAqBO,KAAK,CAACjB,OAAQ,EAArC,GAAyC;AAL3C,SAFK,EASLwB,sBAAsB,CAACY,KATlB,EAULhB,aAAa,CAACgB,KAVT,EAWLf,gBAAgB,CAACe,KAXZ,EAYLd,cAAc,CAACc,KAZV,EAaLb,YAAY,CAACa,KAbR,CAFX;AAAA,iBAiBW,CACLX,qBAAqB,CAACW,KADjB;AAjBX;AAAA,wBAqBMH,QAAQ;AAAA,mBACG;AADH;AAAA,sBAGM;AACR7D,YAAAA,IAAI,EAAE;AACJiE,cAAAA,KAAK,EAAE,IADH;AAEJC,cAAAA,GAAG,EAAErB,KAAK,CAACL;AAFP;AADE,WAHN;AAAA;AAAA;AAAA,0BAWFO,KAAK,CAACP,KAAN,mBAAcO,KAAK,CAACP,KAApB,qBAAc,kBAAAO,KAAK,CAAnB,iCAXE;AAAA,YArBd;AAAA,mBAsCY,oBAtCZ;AAAA,mBAuCa;AAAER,YAAAA,MAAM,EAAEvB,aAAa,CAACsC,aAAa,CAACU,KAAf;AAAvB;AAvCb,YAyCQjB,KAAK,CAACoB,OAAN;AAAA,mBACW;AADX,8BAEIpB,KAAK,CAACoB,OAFV,qBAEI,oBAAApB,KAAK,CAFT,EAzCR,EA+CQa,QAAQ;AAAA,kBACcf,KAAK,CAACJ;AADpB;AAEH2B,UAAAA,IAAI,EAAErB,KAAK,CAACN;AAFT,UA/ChB,oBAqDQM,KAAK,CAACjB,OArDd,qBAqDQ,oBAAAiB,KAAK,CArDb,EAuDQA,KAAK,CAACsB,MAAN;AAAA,mBACW;AADX,6BAEItB,KAAK,CAACsB,MAFV,qBAEI,mBAAAtB,KAAK,CAFT,EAvDR,IA8DMe,UAAU;AAAA,mBAEF,sBAFE;AAAA,mBAGD;AAAEvB,YAAAA,MAAM,EAAEvB,aAAa,CAAC6B,KAAK,CAACV,eAAP;AAAvB;AAHC,gCAKNY,KAAK,CAACgB,SALA,qBAKN,sBAAAhB,KAAK,CALC,EA9DhB;AAAA;AAwED,KA7EQ,CAAT;AA+EA,WAAOlC,aAAa,CAAC;AAAEyC,MAAAA;AAAF,KAAD,CAApB;AACD;;AA5GE,CATmC,CAAjC;AA0HP,OAAO,SAASgB,kBAAT,CAA6BzB,KAA7B,EAA4F;AAAA;;AACjG,SAAO3B,IAAI,CAAC2B,KAAD,EAAQ0B,MAAM,CAACC,IAAP,oBAAY7B,QAAZ,oBAAYA,QAAQ,CAAEE,KAAtB,8BAA+B,EAA/B,CAAR,CAAX;AACD","sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\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, 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'\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 const contentHeight = computed(() => (\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 ))\n\n provideDefaults({\n VBtn: {\n flat: true,\n variant: 'text',\n },\n VTextField: {\n hideDetails: true,\n },\n }, { scoped: true })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n const isExtended = !!(props.extended || slots.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 { isExtended && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(props.extensionHeight) }}\n >\n { slots.extension?.() }\n </div>\n ) }\n </props.tag>\n )\n })\n\n return useForwardRef({ contentHeight })\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"],"file":"VToolbar.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"names":["VDefaultsProvider","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","useForwardRef","computed","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"],"mappings":"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","sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\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, 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 const isExtended = computed(() => (!!(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 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 { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { slots.extension?.() }\n </div>\n ) }\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"],"file":"VToolbar.mjs"}
@@ -13,9 +13,10 @@
13
13
  padding-inline-end: calc(#{$toolbar-padding-end} + var(--v-scrollbar-offset))
14
14
  padding-inline-start: $toolbar-padding-start
15
15
  position: relative
16
- transition-property: height, transform, max-width
17
16
  transition: $toolbar-transition
17
+ transition-property: height, transform, max-width
18
18
 
19
+ @include tools.border($toolbar-border...)
19
20
  @include tools.elevation($toolbar-elevation)
20
21
  @include tools.rounded($toolbar-border-radius)
21
22
  @include tools.theme($toolbar-theme...)
@@ -18,7 +18,6 @@ export const VToolbarItems = defineComponent({
18
18
  provideDefaults({
19
19
  VBtn: {
20
20
  color: toRef(props, 'color'),
21
- textColor: toRef(props, 'textColor'),
22
21
  variant: toRef(props, 'variant')
23
22
  }
24
23
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VToolbar/VToolbarItems.tsx"],"names":["makeVariantProps","provideDefaults","defineComponent","toRef","VToolbarItems","name","props","variant","setup","slots","VBtn","color","textColor","default"],"mappings":"AAAA;SACSA,gB;SACAC,e,0CAET;;SACSC,e;AACT,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;AAC3CG,EAAAA,IAAI,EAAE,eADqC;AAG3CC,EAAAA,KAAK,EAAE,EACL,GAAGN,gBAAgB,CAAC;AAAEO,MAAAA,OAAO,EAAE;AAAX,KAAD;AADd,GAHoC;;AAO3CC,EAAAA,KAAK,CAAEF,KAAF,QAAoB;AAAA,QAAX;AAAEG,MAAAA;AAAF,KAAW;AACvBR,IAAAA,eAAe,CAAC;AACdS,MAAAA,IAAI,EAAE;AACJC,QAAAA,KAAK,EAAER,KAAK,CAACG,KAAD,EAAQ,OAAR,CADR;AAEJM,QAAAA,SAAS,EAAET,KAAK,CAACG,KAAD,EAAQ,WAAR,CAFZ;AAGJC,QAAAA,OAAO,EAAEJ,KAAK,CAACG,KAAD,EAAQ,SAAR;AAHV;AADQ,KAAD,CAAf;AAQA,WAAO;AAAA;;AAAA,+BAAMG,KAAK,CAACI,OAAZ,qBAAM,oBAAAJ,KAAK,CAAX;AAAA,KAAP;AACD;;AAjB0C,CAAD,CAArC","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 textColor: toRef(props, 'textColor'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n"],"file":"VToolbarItems.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VToolbar/VToolbarItems.tsx"],"names":["makeVariantProps","provideDefaults","defineComponent","toRef","VToolbarItems","name","props","variant","setup","slots","VBtn","color","default"],"mappings":"AAAA;SACSA,gB;SACAC,e,0CAET;;SACSC,e;AACT,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;AAC3CG,EAAAA,IAAI,EAAE,eADqC;AAG3CC,EAAAA,KAAK,EAAE,EACL,GAAGN,gBAAgB,CAAC;AAAEO,MAAAA,OAAO,EAAE;AAAX,KAAD;AADd,GAHoC;;AAO3CC,EAAAA,KAAK,CAAEF,KAAF,QAAoB;AAAA,QAAX;AAAEG,MAAAA;AAAF,KAAW;AACvBR,IAAAA,eAAe,CAAC;AACdS,MAAAA,IAAI,EAAE;AACJC,QAAAA,KAAK,EAAER,KAAK,CAACG,KAAD,EAAQ,OAAR,CADR;AAEJC,QAAAA,OAAO,EAAEJ,KAAK,CAACG,KAAD,EAAQ,SAAR;AAFV;AADQ,KAAD,CAAf;AAOA,WAAO;AAAA;;AAAA,+BAAMG,KAAK,CAACG,OAAZ,qBAAM,oBAAAH,KAAK,CAAX;AAAA,KAAP;AACD;;AAhB0C,CAAD,CAArC","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"],"file":"VToolbarItems.mjs"}
@@ -1,10 +1,15 @@
1
1
  @use "sass:map";
2
+ @use '../../styles/settings';
2
3
  @use "../../styles/settings/variables";
3
4
  @use "../../styles/tools/functions";
4
5
 
5
6
  $toolbar-background: rgb(var(--v-theme-on-surface-variant)) !default;
6
7
  $toolbar-color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)) !default;
7
- $toolbar-border-radius: 0 !default;
8
+ $toolbar-border-color: settings.$border-color-root !default;
9
+ $toolbar-border-radius: map.get(settings.$rounded, 0) !default;
10
+ $toolbar-border-style: settings.$border-style-root !default;
11
+ $toolbar-border-thin-width: thin !default;
12
+ $toolbar-border-width: 0 !default;
8
13
  $toolbar-btn-icon-size: 48px !default;
9
14
  $toolbar-collapsed-border-radius: 24px !default;
10
15
  $toolbar-collapsed-max-width: 112px !default;
@@ -34,6 +39,13 @@ $toolbar-prominent-title-letter-spacing: 0 !default;
34
39
  $toolbar-prominent-title-line-height: 2.25rem !default;
35
40
  $toolbar-prominent-title-text-transform: none !default;
36
41
 
42
+ $toolbar-border: (
43
+ $toolbar-border-color,
44
+ $toolbar-border-style,
45
+ $toolbar-border-width,
46
+ $toolbar-border-thin-width
47
+ ) !default;
48
+
37
49
  $toolbar-title-typography: (
38
50
  $toolbar-title-font-size,
39
51
  $toolbar-title-font-weight,