@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
@@ -4,14 +4,8 @@
4
4
  @use './variables' as *
5
5
 
6
6
  .v-snackbar
7
- bottom: $snackbar-bottom
8
- display: flex
9
7
  justify-content: center
10
- left: $snackbar-left
11
- pointer-events: none
12
- right: $snackbar-right
13
- top: $snackbar-top
14
- width: 100%
8
+ padding-inline-end: var(--v-scrollbar-offset)
15
9
 
16
10
  &:not(.v-snackbar--absolute)
17
11
  height: 100vh
@@ -31,10 +25,6 @@
31
25
  padding: $snackbar-wrapper-padding
32
26
  pointer-events: auto
33
27
  position: relative
34
- transition-duration: .15s
35
- transition-property: opacity, transform
36
- transition-timing-function: settings.$decelerated-easing
37
- z-index: 1
38
28
 
39
29
  @include tools.rounded($snackbar-border-radius)
40
30
 
@@ -95,11 +85,20 @@
95
85
  margin-bottom: $snackbar-vertical-action-margin-bottom
96
86
 
97
87
  .v-snackbar-transition
88
+ &-enter-active,
89
+ &-leave-active
90
+ transition-duration: .15s
91
+ transition-timing-function: settings.$decelerated-easing
92
+
93
+ &-enter-active
94
+ transition-property: opacity, transform
95
+
98
96
  &-enter-from
99
- &.v-snackbar__wrapper
100
- transform: scale($snackbar-transition-scale)
97
+ opacity: 0
98
+ transform: scale($snackbar-transition-scale)
99
+
100
+ &-leave-active
101
+ transition-property: opacity
101
102
 
102
- &-enter-from,
103
103
  &-leave-to
104
- &.v-snackbar__wrapper
105
- opacity: 0
104
+ opacity: 0
@@ -6,7 +6,6 @@ $snackbar-action-margin: 8px !default;
6
6
  $snackbar-background-color: #333333 !default;
7
7
  $snackbar-border-radius: settings.$border-radius-root !default;
8
8
  $snackbar-plain-opacity: .62 !default;
9
- $snackbar-bottom: 0 !default;
10
9
  $snackbar-btn-padding: 0 8px !default;
11
10
  $snackbar-background: #333333 !default;
12
11
  $snackbar-color: rgb(var(--v-theme-on-surface-variant)) !default;
@@ -16,11 +15,8 @@ $snackbar-letter-spacing: tools.map-deep-get(settings.$typography, 'body-2', 'le
16
15
  $snackbar-line-height: tools.map-deep-get(settings.$typography, 'body-2', 'line-height') !default;
17
16
  $snackbar-content-padding: 14px 16px !default;
18
17
  $snackbar-elevation: 6 !default;
19
- $snackbar-left: 0 !default;
20
18
  $snackbar-multi-line-wrapper-min-height: 68px !default;
21
- $snackbar-right: 0 !default;
22
19
  $snackbar-shaped-border-radius: map-get(settings.$rounded, 'xl') $snackbar-border-radius !default;
23
- $snackbar-top: 0 !default;
24
20
  $snackbar-transition-scale: .8 !default;
25
21
  $snackbar-vertical-action-margin-bottom: 8px !default;
26
22
  $snackbar-wrapper-margin: 8px !default;
@@ -6,11 +6,11 @@ import { filterControlProps, makeSelectionControlProps, VSelectionControl } from
6
6
  import { filterInputProps, makeVInputProps, VInput } from "../VInput/VInput.mjs";
7
7
  import { VProgressCircular } from "../VProgressCircular/index.mjs"; // Composables
8
8
 
9
- import { LoaderSlot, makeLoaderProps, useLoader } from "../../composables/loader.mjs";
9
+ import { LoaderSlot, useLoader } from "../../composables/loader.mjs";
10
10
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utility
11
11
 
12
- import { computed, defineComponent, ref } from 'vue';
13
- import { filterInputAttrs, useRender } from "../../util/index.mjs";
12
+ import { computed, ref } from 'vue';
13
+ import { defineComponent, filterInputAttrs, useRender } from "../../util/index.mjs";
14
14
  export const VSwitch = defineComponent({
15
15
  name: 'VSwitch',
16
16
  inheritAttrs: false,
@@ -18,7 +18,10 @@ export const VSwitch = defineComponent({
18
18
  indeterminate: Boolean,
19
19
  inset: Boolean,
20
20
  flat: Boolean,
21
- ...makeLoaderProps(),
21
+ loading: {
22
+ type: [Boolean, String],
23
+ default: false
24
+ },
22
25
  ...makeVInputProps(),
23
26
  ...makeSelectionControlProps()
24
27
  },
@@ -78,7 +81,7 @@ export const VSwitch = defineComponent({
78
81
  "aria-checked": indeterminate.value ? 'mixed' : undefined,
79
82
  "disabled": isDisabled.value,
80
83
  "readonly": isReadonly.value
81
- }, controlAttrs), {
84
+ }, controlAttrs), { ...slots,
82
85
  default: () => _createVNode("div", {
83
86
  "class": "v-switch__track",
84
87
  "onClick": onClick
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"names":["filterControlProps","makeSelectionControlProps","VSelectionControl","filterInputProps","makeVInputProps","VInput","VProgressCircular","LoaderSlot","makeLoaderProps","useLoader","useProxiedModel","computed","defineComponent","ref","filterInputAttrs","useRender","VSwitch","name","inheritAttrs","props","indeterminate","Boolean","inset","flat","emits","val","setup","attrs","slots","loaderClasses","loaderColor","loading","color","onChange","value","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","control","onClick","input","click","default","isDisabled","isReadonly","isValid","undefined","textColorClasses","slotProps","loader","isActive"],"mappings":"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","sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, ref } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n\n ...makeLoaderProps(),\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"file":"VSwitch.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"names":["filterControlProps","makeSelectionControlProps","VSelectionControl","filterInputProps","makeVInputProps","VInput","VProgressCircular","LoaderSlot","useLoader","useProxiedModel","computed","ref","defineComponent","filterInputAttrs","useRender","VSwitch","name","inheritAttrs","props","indeterminate","Boolean","inset","flat","loading","type","String","default","emits","val","setup","attrs","slots","loaderClasses","loaderColor","color","onChange","value","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","control","onClick","input","click","isDisabled","isReadonly","isValid","undefined","textColorClasses","slotProps","loader","isActive"],"mappings":"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","sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"file":"VSwitch.mjs"}
@@ -19,8 +19,6 @@
19
19
  text-transform: none;
20
20
  }
21
21
  .v-system-bar .v-icon {
22
- font-size: 0.75rem;
23
- margin-inline-start: 8px;
24
22
  opacity: var(--v-medium-emphasis-opacity);
25
23
  }
26
24
  .v-system-bar--absolute {
@@ -34,7 +32,4 @@
34
32
  }
35
33
  .v-system-bar--window {
36
34
  height: 32px;
37
- }
38
- .v-system-bar--window .v-icon {
39
- font-size: 1rem;
40
35
  }
@@ -2,24 +2,24 @@ import { createVNode as _createVNode, resolveDirective as _resolveDirective } fr
2
2
  // Styles
3
3
  import "./VSystemBar.css"; // Composables
4
4
 
5
- import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
6
5
  import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
7
- import { makePositionProps, usePosition } from "../../composables/position.mjs";
6
+ import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs";
8
7
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
9
8
  import { makeTagProps } from "../../composables/tag.mjs";
10
9
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
10
+ import { provideDefaults } from "../../composables/defaults.mjs";
11
11
  import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
12
12
 
13
+ import { computed, ref, toRef } from 'vue';
13
14
  import { defineComponent } from "../../util/index.mjs";
14
- import { toRef } from 'vue';
15
15
  export const VSystemBar = defineComponent({
16
16
  name: 'VSystemBar',
17
17
  props: {
18
18
  color: String,
19
+ height: [Number, String],
19
20
  window: Boolean,
20
- ...makeDimensionProps(),
21
21
  ...makeElevationProps(),
22
- ...makePositionProps(),
22
+ ...makeLayoutItemProps(),
23
23
  ...makeRoundedProps(),
24
24
  ...makeTagProps(),
25
25
  ...makeThemeProps()
@@ -36,24 +36,41 @@ export const VSystemBar = defineComponent({
36
36
  backgroundColorClasses,
37
37
  backgroundColorStyles
38
38
  } = useBackgroundColor(toRef(props, 'color'));
39
- const {
40
- dimensionStyles
41
- } = useDimension(props);
42
39
  const {
43
40
  elevationClasses
44
41
  } = useElevation(props);
45
- const {
46
- positionClasses,
47
- positionStyles
48
- } = usePosition(props);
49
42
  const {
50
43
  roundedClasses
51
44
  } = useRounded(props);
45
+ const height = computed(() => {
46
+ var _props$height;
47
+
48
+ return ((_props$height = props.height) != null ? _props$height : props.window) ? 32 : 24;
49
+ });
50
+ const {
51
+ layoutItemStyles
52
+ } = useLayoutItem({
53
+ id: props.name,
54
+ priority: computed(() => parseInt(props.priority, 10)),
55
+ position: ref('top'),
56
+ layoutSize: height,
57
+ elementSize: height,
58
+ active: computed(() => true),
59
+ absolute: toRef(props, 'absolute')
60
+ });
61
+ provideDefaults({
62
+ VBtn: {
63
+ variant: 'text',
64
+ density: 'compact'
65
+ }
66
+ }, {
67
+ scoped: true
68
+ });
52
69
  return () => _createVNode(props.tag, {
53
70
  "class": ['v-system-bar', {
54
71
  'v-system-bar--window': props.window
55
- }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
56
- "style": [backgroundColorStyles.value, dimensionStyles.value, positionStyles.value]
72
+ }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
73
+ "style": [backgroundColorStyles.value, layoutItemStyles.value]
57
74
  }, slots);
58
75
  }
59
76
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSystemBar/VSystemBar.tsx"],"names":["makeDimensionProps","useDimension","makeElevationProps","useElevation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","defineComponent","toRef","VSystemBar","name","props","color","String","window","Boolean","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","dimensionStyles","elevationClasses","positionClasses","positionStyles","roundedClasses","value"],"mappings":";AAAA;AACA,0B,CAEA;;SACSA,kB,EAAoBC,Y;SACpBC,kB,EAAoBC,Y;SACpBC,iB,EAAmBC,W;SACnBC,gB,EAAkBC,U;SAClBC,Y;SACAC,c,EAAgBC,Y;SAChBC,kB,uCAET;;SACSC,e;AACT,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,UAAU,GAAGF,eAAe,CAAC;AACxCG,EAAAA,IAAI,EAAE,YADkC;AAGxCC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAEC,MADF;AAELC,IAAAA,MAAM,EAAEC,OAFH;AAIL,OAAGpB,kBAAkB,EAJhB;AAKL,OAAGE,kBAAkB,EALhB;AAML,OAAGE,iBAAiB,EANf;AAOL,OAAGE,gBAAgB,EAPd;AAQL,OAAGE,YAAY,EARV;AASL,OAAGC,cAAc;AATZ,GAHiC;;AAexCY,EAAAA,KAAK,CAAEL,KAAF,QAAoB;AAAA,QAAX;AAAEM,MAAAA;AAAF,KAAW;AACvB,UAAM;AAAEC,MAAAA;AAAF,QAAmBb,YAAY,CAACM,KAAD,CAArC;AACA,UAAM;AAAEQ,MAAAA,sBAAF;AAA0BC,MAAAA;AAA1B,QAAoDd,kBAAkB,CAACE,KAAK,CAACG,KAAD,EAAQ,OAAR,CAAN,CAA5E;AACA,UAAM;AAAEU,MAAAA;AAAF,QAAsBzB,YAAY,CAACe,KAAD,CAAxC;AACA,UAAM;AAAEW,MAAAA;AAAF,QAAuBxB,YAAY,CAACa,KAAD,CAAzC;AACA,UAAM;AAAEY,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAsCxB,WAAW,CAACW,KAAD,CAAvD;AACA,UAAM;AAAEc,MAAAA;AAAF,QAAqBvB,UAAU,CAACS,KAAD,CAArC;AAEA,WAAO;AAAA,eAEI,CACL,cADK,EAEL;AAAE,gCAAwBA,KAAK,CAACG;AAAhC,OAFK,EAGLI,YAAY,CAACQ,KAHR,EAILP,sBAAsB,CAACO,KAJlB,EAKLJ,gBAAgB,CAACI,KALZ,EAMLH,eAAe,CAACG,KANX,EAOLD,cAAc,CAACC,KAPV,CAFJ;AAAA,eAWI,CACLN,qBAAqB,CAACM,KADjB,EAELL,eAAe,CAACK,KAFX,EAGLF,cAAc,CAACE,KAHV;AAXJ,OAgBOT,KAhBP,CAAP;AAmBD;;AA1CuC,CAAD,CAAlC","sourcesContent":["// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n color: String,\n window: Boolean,\n\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-system-bar',\n { 'v-system-bar--window': props.window },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n"],"file":"VSystemBar.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VSystemBar/VSystemBar.tsx"],"names":["makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","computed","ref","toRef","defineComponent","VSystemBar","name","props","color","String","height","Number","window","Boolean","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","layoutItemStyles","id","priority","parseInt","position","layoutSize","elementSize","active","absolute","VBtn","variant","density","scoped","value"],"mappings":";AAAA;AACA,0B,CAEA;;SACSA,kB,EAAoBC,Y;SACpBC,mB,EAAqBC,a;SACrBC,gB,EAAkBC,U;SAClBC,Y;SACAC,c,EAAgBC,Y;SAChBC,e;SACAC,kB,uCAET;;AACA,SAASC,QAAT,EAAmBC,GAAnB,EAAwBC,KAAxB,QAAqC,KAArC;SACSC,e;AAET,OAAO,MAAMC,UAAU,GAAGD,eAAe,CAAC;AACxCE,EAAAA,IAAI,EAAE,YADkC;AAGxCC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAEC,MADF;AAELC,IAAAA,MAAM,EAAE,CAACC,MAAD,EAASF,MAAT,CAFH;AAGLG,IAAAA,MAAM,EAAEC,OAHH;AAKL,OAAGvB,kBAAkB,EALhB;AAML,OAAGE,mBAAmB,EANjB;AAOL,OAAGE,gBAAgB,EAPd;AAQL,OAAGE,YAAY,EARV;AASL,OAAGC,cAAc;AATZ,GAHiC;;AAexCiB,EAAAA,KAAK,CAAEP,KAAF,QAAoB;AAAA,QAAX;AAAEQ,MAAAA;AAAF,KAAW;AACvB,UAAM;AAAEC,MAAAA;AAAF,QAAmBlB,YAAY,CAACS,KAAD,CAArC;AACA,UAAM;AAAEU,MAAAA,sBAAF;AAA0BC,MAAAA;AAA1B,QAAoDlB,kBAAkB,CAACG,KAAK,CAACI,KAAD,EAAQ,OAAR,CAAN,CAA5E;AACA,UAAM;AAAEY,MAAAA;AAAF,QAAuB5B,YAAY,CAACgB,KAAD,CAAzC;AACA,UAAM;AAAEa,MAAAA;AAAF,QAAqBzB,UAAU,CAACY,KAAD,CAArC;AACA,UAAMG,MAAM,GAAGT,QAAQ,CAAC;AAAA;;AAAA,aAAM,kBAAAM,KAAK,CAACG,MAAN,4BAAgBH,KAAK,CAACK,MAAtB,IAA+B,EAA/B,GAAoC,EAA1C;AAAA,KAAD,CAAvB;AACA,UAAM;AAAES,MAAAA;AAAF,QAAuB5B,aAAa,CAAC;AACzC6B,MAAAA,EAAE,EAAEf,KAAK,CAACD,IAD+B;AAEzCiB,MAAAA,QAAQ,EAAEtB,QAAQ,CAAC,MAAMuB,QAAQ,CAACjB,KAAK,CAACgB,QAAP,EAAiB,EAAjB,CAAf,CAFuB;AAGzCE,MAAAA,QAAQ,EAAEvB,GAAG,CAAC,KAAD,CAH4B;AAIzCwB,MAAAA,UAAU,EAAEhB,MAJ6B;AAKzCiB,MAAAA,WAAW,EAAEjB,MAL4B;AAMzCkB,MAAAA,MAAM,EAAE3B,QAAQ,CAAC,MAAM,IAAP,CANyB;AAOzC4B,MAAAA,QAAQ,EAAE1B,KAAK,CAACI,KAAD,EAAQ,UAAR;AAP0B,KAAD,CAA1C;AAUAR,IAAAA,eAAe,CAAC;AACd+B,MAAAA,IAAI,EAAE;AACJC,QAAAA,OAAO,EAAE,MADL;AAEJC,QAAAA,OAAO,EAAE;AAFL;AADQ,KAAD,EAKZ;AAAEC,MAAAA,MAAM,EAAE;AAAV,KALY,CAAf;AAOA,WAAO;AAAA,eAEI,CACL,cADK,EAEL;AAAE,gCAAwB1B,KAAK,CAACK;AAAhC,OAFK,EAGLI,YAAY,CAACkB,KAHR,EAILjB,sBAAsB,CAACiB,KAJlB,EAKLf,gBAAgB,CAACe,KALZ,EAMLd,cAAc,CAACc,KANV,CAFJ;AAAA,eAUI,CACLhB,qBAAqB,CAACgB,KADjB,EAELb,gBAAgB,CAACa,KAFZ;AAVJ,OAcOnB,KAdP,CAAP;AAiBD;;AAvDuC,CAAD,CAAlC","sourcesContent":["// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\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'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n color: String,\n height: [Number, String],\n window: Boolean,\n\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => props.height ?? props.window ? 32 : 24)\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: ref('top'),\n layoutSize: height,\n elementSize: height,\n active: computed(() => true),\n absolute: toRef(props, 'absolute'),\n })\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n density: 'compact',\n },\n }, { scoped: true })\n\n return () => (\n <props.tag\n class={[\n 'v-system-bar',\n { 'v-system-bar--window': props.window },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n"],"file":"VSystemBar.mjs"}
@@ -15,8 +15,6 @@
15
15
  width: 100%
16
16
 
17
17
  .v-icon
18
- font-size: $system-bar-icon-font-size
19
- margin-inline-start: $system-bar-icon-margin-inline-start
20
18
  opacity: $system-bar-icon-opacity
21
19
 
22
20
  @include tools.elevation($system-bar-elevation)
@@ -29,6 +27,3 @@
29
27
 
30
28
  &--window
31
29
  height: $system-bar-window-height
32
-
33
- .v-icon
34
- font-size: $system-bar-window-icon-font-size
@@ -11,8 +11,6 @@ $system-bar-flex: 1 1 auto !default;
11
11
  $system-bar-font-size: tools.map-deep-get(settings.$typography, 'caption', 'size') !default;
12
12
  $system-bar-font-weight: tools.map-deep-get(settings.$typography, 'caption', 'weight') !default;
13
13
  $system-bar-height: 24px !default;
14
- $system-bar-icon-font-size: tools.map-deep-get(settings.$typography, 'caption', 'size') !default;
15
- $system-bar-icon-margin-inline-start: 8px !default;
16
14
  $system-bar-icon-opacity: var(--v-medium-emphasis-opacity) !default;
17
15
  $system-bar-justify-content: flex-end !default;
18
16
  $system-bar-letter-spacing: tools.map-deep-get(settings.$typography, 'caption', 'letter-spacing') !default;
@@ -23,7 +21,6 @@ $system-bar-positions: absolute fixed !default;
23
21
  $system-bar-text-align: end !default;
24
22
  $system-bar-text-transform: tools.map-deep-get(settings.$typography, 'caption', 'text-transform') !default;
25
23
  $system-bar-window-height: 32px !default;
26
- $system-bar-window-icon-font-size: tools.map-deep-get(settings.$typography, 'body-1', 'size') !default;
27
24
 
28
25
  $system-bar-theme: (
29
26
  $system-bar-background,
@@ -2,18 +2,17 @@ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VTab.css"; // Components
4
4
 
5
- import { VBtn } from "../VBtn/index.mjs";
6
- import { VTabsSymbol } from "./VTabs.mjs"; // Composables
5
+ import { VBtn } from "../VBtn/index.mjs"; // Composables
7
6
 
8
- import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
7
+ import { makeGroupItemProps } from "../../composables/group.mjs";
9
8
  import { makeRouterProps } from "../../composables/router.mjs";
10
9
  import { makeTagProps } from "../../composables/tag.mjs";
11
10
  import { makeThemeProps } from "../../composables/theme.mjs";
12
- import { provideDefaults } from "../../composables/defaults.mjs";
13
11
  import { useTextColor } from "../../composables/color.mjs"; // Utilities
14
12
 
15
- import { computed, ref, toRef, watch } from 'vue';
16
- import { defineComponent, pick, standardEasing, useRender } from "../../util/index.mjs"; // Types
13
+ import { computed, ref } from 'vue';
14
+ import { defineComponent, pick, standardEasing, useRender } from "../../util/index.mjs";
15
+ import { VTabsSymbol } from "./shared.mjs"; // Types
17
16
 
18
17
  export const VTab = defineComponent({
19
18
  name: 'VTab',
@@ -48,31 +47,22 @@ export const VTab = defineComponent({
48
47
  slots,
49
48
  attrs
50
49
  } = _ref;
51
- const {
52
- isSelected,
53
- select,
54
- selectedClass
55
- } = useGroupItem(props, VTabsSymbol);
56
50
  const {
57
51
  textColorClasses: sliderColorClasses,
58
52
  textColorStyles: sliderColorStyles
59
53
  } = useTextColor(props, 'sliderColor');
60
54
  const isHorizontal = computed(() => props.direction === 'horizontal');
61
- provideDefaults({
62
- VBtn: {
63
- block: toRef(props, 'fixed'),
64
- maxWidth: computed(() => props.fixed ? 300 : undefined),
65
- color: computed(() => isSelected.value ? props.color : undefined),
66
- variant: 'text',
67
- rounded: 0
68
- }
69
- }, {
70
- scoped: true
71
- });
55
+ const isSelected = ref(false);
72
56
  const rootEl = ref();
73
57
  const sliderEl = ref();
74
- watch(isSelected, isSelected => {
75
- if (isSelected) {
58
+
59
+ function updateSlider(_ref2) {
60
+ let {
61
+ value
62
+ } = _ref2;
63
+ isSelected.value = value;
64
+
65
+ if (value) {
76
66
  var _rootEl$value, _rootEl$value$$el$par;
77
67
 
78
68
  const prevEl = (_rootEl$value = rootEl.value) == null ? void 0 : (_rootEl$value$$el$par = _rootEl$value.$el.parentElement) == null ? void 0 : _rootEl$value$$el$par.querySelector('.v-tab--selected .v-tab__slider');
@@ -102,17 +92,25 @@ export const VTab = defineComponent({
102
92
  easing: standardEasing
103
93
  });
104
94
  }
105
- });
95
+ }
96
+
106
97
  useRender(() => {
107
- const [btnProps] = pick(props, ['href', 'to', 'replace', 'icon', 'stacked', 'prependIcon', 'appendIcon', 'ripple', 'theme', 'disabled']);
98
+ const [btnProps] = pick(props, ['href', 'to', 'replace', 'icon', 'stacked', 'prependIcon', 'appendIcon', 'ripple', 'theme', 'disabled', 'selectedClass', 'value', 'color']);
108
99
  return _createVNode(VBtn, _mergeProps({
100
+ "_as": "VTab",
101
+ "symbol": VTabsSymbol,
109
102
  "ref": rootEl,
110
- "class": ['v-tab', selectedClass.value],
103
+ "class": ['v-tab'],
111
104
  "tabindex": isSelected.value ? 0 : -1,
112
105
  "role": "tab",
113
106
  "aria-selected": String(isSelected.value),
114
- "onClick": () => !props.disabled && select(!isSelected.value)
115
- }, btnProps, attrs), {
107
+ "block": props.fixed,
108
+ "maxWidth": props.fixed ? 300 : undefined,
109
+ "variant": "text",
110
+ "rounded": 0
111
+ }, btnProps, attrs, {
112
+ "onGroup:selected": updateSlider
113
+ }), {
116
114
  default: () => [slots.default ? slots.default() : props.title, !props.hideSlider && _createVNode("div", {
117
115
  "ref": sliderEl,
118
116
  "class": ['v-tab__slider', sliderColorClasses.value],
@@ -120,9 +118,7 @@ export const VTab = defineComponent({
120
118
  }, null)]
121
119
  });
122
120
  });
123
- return {
124
- isSelected
125
- };
121
+ return {};
126
122
  }
127
123
 
128
124
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTab.tsx"],"names":["VBtn","VTabsSymbol","makeGroupItemProps","useGroupItem","makeRouterProps","makeTagProps","makeThemeProps","provideDefaults","useTextColor","computed","ref","toRef","watch","defineComponent","pick","standardEasing","useRender","VTab","name","props","fixed","Boolean","icon","String","prependIcon","appendIcon","stacked","title","ripple","type","default","color","sliderColor","hideSlider","direction","selectedClass","setup","slots","attrs","isSelected","select","textColorClasses","sliderColorClasses","textColorStyles","sliderColorStyles","isHorizontal","block","maxWidth","undefined","value","variant","rounded","scoped","rootEl","sliderEl","prevEl","$el","parentElement","querySelector","nextEl","getComputedStyle","prevBox","getBoundingClientRect","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","delta","origin","Math","sign","size","abs","scale","max","initialScale","sigma","animate","backgroundColor","transform","transformOrigin","Array","fill","duration","easing","btnProps","disabled"],"mappings":"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","sourcesContent":["// Styles\nimport './VTab.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VTabsSymbol } from './VTabs'\n\n// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRouterProps } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { defineComponent, pick, standardEasing, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTab = defineComponent({\n name: 'VTab',\n\n props: {\n fixed: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n stacked: Boolean,\n title: String,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n color: String,\n sliderColor: String,\n hideSlider: Boolean,\n\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n ...makeTagProps(),\n ...makeRouterProps(),\n ...makeGroupItemProps({\n selectedClass: 'v-tab--selected',\n }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots, attrs }) {\n const { isSelected, select, selectedClass } = useGroupItem(props, VTabsSymbol)\n const { textColorClasses: sliderColorClasses, textColorStyles: sliderColorStyles } = useTextColor(props, 'sliderColor')\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n provideDefaults({\n VBtn: {\n block: toRef(props, 'fixed'),\n maxWidth: computed(() => props.fixed ? 300 : undefined),\n color: computed(() => isSelected.value ? props.color : undefined),\n variant: 'text',\n rounded: 0,\n },\n }, {\n scoped: true,\n })\n\n const rootEl = ref<VBtn>()\n const sliderEl = ref<HTMLElement>()\n watch(isSelected, isSelected => {\n if (isSelected) {\n const prevEl: HTMLElement | undefined = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider')\n const nextEl = sliderEl.value\n\n if (!prevEl || !nextEl) return\n\n const color = getComputedStyle(prevEl).color\n\n const prevBox = prevEl.getBoundingClientRect()\n const nextBox = nextEl.getBoundingClientRect()\n\n const xy = isHorizontal.value ? 'x' : 'y'\n const XY = isHorizontal.value ? 'X' : 'Y'\n const rightBottom = isHorizontal.value ? 'right' : 'bottom'\n const widthHeight = isHorizontal.value ? 'width' : 'height'\n\n const prevPos = prevBox[xy]\n const nextPos = nextBox[xy]\n const delta = prevPos > nextPos\n ? prevBox[rightBottom] - nextBox[rightBottom]\n : prevBox[xy] - nextBox[xy]\n const origin =\n Math.sign(delta) > 0 ? (isHorizontal.value ? 'right' : 'bottom')\n : Math.sign(delta) < 0 ? (isHorizontal.value ? 'left' : 'top')\n : 'center'\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight])\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight])\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight]\n\n const sigma = 1.5\n nextEl.animate({\n backgroundColor: [color, ''],\n transform: [\n `translate${XY}(${delta}px) scale${XY}(${initialScale})`,\n `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`,\n '',\n ],\n transformOrigin: Array(3).fill(origin),\n }, {\n duration: 225,\n easing: standardEasing,\n })\n }\n })\n\n useRender(() => {\n const [btnProps] = pick(props, [\n 'href',\n 'to',\n 'replace',\n 'icon',\n 'stacked',\n 'prependIcon',\n 'appendIcon',\n 'ripple',\n 'theme',\n 'disabled',\n ])\n\n return (\n <VBtn\n ref={ rootEl }\n class={[\n 'v-tab',\n selectedClass.value,\n ]}\n tabindex={ isSelected.value ? 0 : -1 }\n role=\"tab\"\n aria-selected={ String(isSelected.value) }\n onClick={ () => !props.disabled && select(!isSelected.value) }\n { ...btnProps }\n { ...attrs }\n >\n { slots.default ? slots.default() : props.title }\n { !props.hideSlider && (\n <div\n ref={ sliderEl }\n class={[\n 'v-tab__slider',\n sliderColorClasses.value,\n ]}\n style={ sliderColorStyles.value }\n />\n ) }\n </VBtn>\n )\n })\n\n return {\n isSelected,\n }\n },\n})\n\nexport type VTab = InstanceType<typeof VTab>\n"],"file":"VTab.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTab.tsx"],"names":["VBtn","makeGroupItemProps","makeRouterProps","makeTagProps","makeThemeProps","useTextColor","computed","ref","defineComponent","pick","standardEasing","useRender","VTabsSymbol","VTab","name","props","fixed","Boolean","icon","String","prependIcon","appendIcon","stacked","title","ripple","type","default","color","sliderColor","hideSlider","direction","selectedClass","setup","slots","attrs","textColorClasses","sliderColorClasses","textColorStyles","sliderColorStyles","isHorizontal","isSelected","rootEl","sliderEl","updateSlider","value","prevEl","$el","parentElement","querySelector","nextEl","getComputedStyle","prevBox","getBoundingClientRect","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","delta","origin","Math","sign","size","abs","scale","max","initialScale","sigma","animate","backgroundColor","transform","transformOrigin","Array","fill","duration","easing","btnProps","undefined"],"mappings":"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","sourcesContent":["// Styles\nimport './VTab.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeGroupItemProps } from '@/composables/group'\nimport { makeRouterProps } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, pick, standardEasing, useRender } from '@/util'\nimport { VTabsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTab = defineComponent({\n name: 'VTab',\n\n props: {\n fixed: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n stacked: Boolean,\n title: String,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n color: String,\n sliderColor: String,\n hideSlider: Boolean,\n\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n ...makeTagProps(),\n ...makeRouterProps(),\n ...makeGroupItemProps({\n selectedClass: 'v-tab--selected',\n }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots, attrs }) {\n const { textColorClasses: sliderColorClasses, textColorStyles: sliderColorStyles } = useTextColor(props, 'sliderColor')\n const isHorizontal = computed(() => props.direction === 'horizontal')\n const isSelected = ref(false)\n\n const rootEl = ref<VBtn>()\n const sliderEl = ref<HTMLElement>()\n\n function updateSlider ({ value }: { value: boolean }) {\n isSelected.value = value\n\n if (value) {\n const prevEl: HTMLElement | undefined = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider')\n const nextEl = sliderEl.value\n\n if (!prevEl || !nextEl) return\n\n const color = getComputedStyle(prevEl).color\n\n const prevBox = prevEl.getBoundingClientRect()\n const nextBox = nextEl.getBoundingClientRect()\n\n const xy = isHorizontal.value ? 'x' : 'y'\n const XY = isHorizontal.value ? 'X' : 'Y'\n const rightBottom = isHorizontal.value ? 'right' : 'bottom'\n const widthHeight = isHorizontal.value ? 'width' : 'height'\n\n const prevPos = prevBox[xy]\n const nextPos = nextBox[xy]\n const delta = prevPos > nextPos\n ? prevBox[rightBottom] - nextBox[rightBottom]\n : prevBox[xy] - nextBox[xy]\n const origin =\n Math.sign(delta) > 0 ? (isHorizontal.value ? 'right' : 'bottom')\n : Math.sign(delta) < 0 ? (isHorizontal.value ? 'left' : 'top')\n : 'center'\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight])\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight])\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight]\n\n const sigma = 1.5\n nextEl.animate({\n backgroundColor: [color, ''],\n transform: [\n `translate${XY}(${delta}px) scale${XY}(${initialScale})`,\n `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`,\n '',\n ],\n transformOrigin: Array(3).fill(origin),\n }, {\n duration: 225,\n easing: standardEasing,\n })\n }\n }\n\n useRender(() => {\n const [btnProps] = pick(props, [\n 'href',\n 'to',\n 'replace',\n 'icon',\n 'stacked',\n 'prependIcon',\n 'appendIcon',\n 'ripple',\n 'theme',\n 'disabled',\n 'selectedClass',\n 'value',\n 'color',\n ])\n\n return (\n <VBtn\n _as=\"VTab\"\n symbol={ VTabsSymbol }\n ref={ rootEl }\n class={[\n 'v-tab',\n ]}\n tabindex={ isSelected.value ? 0 : -1 }\n role=\"tab\"\n aria-selected={ String(isSelected.value) }\n block={ props.fixed }\n maxWidth={ props.fixed ? 300 : undefined }\n variant=\"text\"\n rounded={ 0 }\n { ...btnProps }\n { ...attrs }\n onGroup:selected={ updateSlider }\n >\n { slots.default ? slots.default() : props.title }\n { !props.hideSlider && (\n <div\n ref={ sliderEl }\n class={[\n 'v-tab__slider',\n sliderColorClasses.value,\n ]}\n style={ sliderColorStyles.value }\n />\n ) }\n </VBtn>\n )\n })\n\n return {}\n },\n})\n\nexport type VTab = InstanceType<typeof VTab>\n"],"file":"VTab.mjs"}
@@ -50,10 +50,10 @@
50
50
  max-width: none;
51
51
  }
52
52
 
53
- .v-tabs--right .v-tab:first-child {
53
+ .v-tabs--end .v-tab:first-child {
54
54
  margin-inline-start: auto;
55
55
  }
56
- .v-tabs--right .v-tab:last-child {
56
+ .v-tabs--end .v-tab:last-child {
57
57
  margin-inline-end: 0;
58
58
  }
59
59
 
@@ -64,4 +64,8 @@
64
64
  .v-tabs.v-slide-group--is-overflowing:not(.v-slide-group--has-affixes) .v-tab:last-child {
65
65
  margin-inline-end: 52px;
66
66
  }
67
+ }
68
+ .v-toolbar__content > .v-tabs,
69
+ .v-toolbar__content .v-tab {
70
+ height: inherit;
67
71
  }
@@ -5,14 +5,14 @@ import "./VTabs.css"; // Components
5
5
  import { VSlideGroup } from "../VSlideGroup/index.mjs";
6
6
  import { VTab } from "./VTab.mjs"; // Composables
7
7
 
8
+ import { useBackgroundColor } from "../../composables/color.mjs";
9
+ import { provideDefaults } from "../../composables/defaults.mjs";
8
10
  import { makeDensityProps, useDensity } from "../../composables/density.mjs";
9
- import { makeTagProps } from "../../composables/tag.mjs";
10
- import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
11
+ import { makeTagProps } from "../../composables/tag.mjs"; // Utilities
11
12
 
12
13
  import { computed, toRef } from 'vue';
13
- import { defineComponent } from "../../util/index.mjs"; // Types
14
-
15
- import { useBackgroundColor } from "../../composables/color.mjs";
14
+ import { defineComponent } from "../../util/index.mjs";
15
+ import { VTabsSymbol } from "./shared.mjs"; // Types
16
16
 
17
17
  function parseItems(items) {
18
18
  if (!items) return [];
@@ -25,7 +25,6 @@ function parseItems(items) {
25
25
  });
26
26
  }
27
27
 
28
- export const VTabsSymbol = Symbol.for('vuetify:v-tabs');
29
28
  export const VTabs = defineComponent({
30
29
  name: 'VTabs',
31
30
  props: {
@@ -50,7 +49,7 @@ export const VTabs = defineComponent({
50
49
  },
51
50
  hideSlider: Boolean,
52
51
  optional: Boolean,
53
- right: Boolean,
52
+ end: Boolean,
54
53
  sliderColor: String,
55
54
  modelValue: null,
56
55
  ...makeDensityProps(),
@@ -89,7 +88,7 @@ export const VTabs = defineComponent({
89
88
  'v-tabs--centered': props.centered,
90
89
  'v-tabs--fixed-tabs': props.fixedTabs,
91
90
  'v-tabs--grow': props.grow,
92
- 'v-tabs--right': props.right,
91
+ 'v-tabs--end': props.end,
93
92
  'v-tabs--stacked': props.stacked
94
93
  }, densityClasses.value, backgroundColorClasses.value],
95
94
  "style": backgroundColorStyles.value,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTabs.tsx"],"names":["VSlideGroup","VTab","makeDensityProps","useDensity","makeTagProps","provideDefaults","computed","toRef","defineComponent","useBackgroundColor","parseItems","items","map","item","title","value","VTabsSymbol","Symbol","for","VTabs","name","props","alignWithTitle","Boolean","color","String","direction","type","default","fixedTabs","Array","stacked","backgroundColor","centered","grow","height","Number","undefined","hideSlider","optional","right","sliderColor","modelValue","emits","v","setup","slots","emit","parsedItems","densityClasses","backgroundColorClasses","backgroundColorStyles","fixed"],"mappings":"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","sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VSlideGroup } from '@/components/VSlideGroup'\nimport { VTab } from './VTab'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey, PropType } from 'vue'\nimport { useBackgroundColor } from '@/composables/color'\n\nexport type TabItem = string | Record<string, any>\n\nfunction parseItems (items: TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (typeof item === 'string') return { title: item, value: item }\n\n return item\n })\n}\n\nexport const VTabsSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-tabs')\n\nexport const VTabs = defineComponent({\n name: 'VTabs',\n\n props: {\n alignWithTitle: Boolean,\n color: String,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n backgroundColor: String,\n centered: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n optional: Boolean,\n right: Boolean,\n sliderColor: String,\n modelValue: null,\n\n ...makeDensityProps(),\n ...makeTagProps(),\n },\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots, emit }) {\n const parsedItems = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'backgroundColor'))\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n return () => (\n <VSlideGroup\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n {\n 'v-tabs--align-with-title': props.alignWithTitle,\n 'v-tabs--centered': props.centered,\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--right': props.right,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n ]}\n style={backgroundColorStyles.value}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n mandatory=\"force\"\n direction={ props.direction }\n modelValue={ props.modelValue }\n onUpdate:modelValue={ v => emit('update:modelValue', v) }\n >\n { slots.default ? slots.default() : parsedItems.value.map(item => (\n <VTab { ...item } key={ item.title } />\n )) }\n </VSlideGroup>\n )\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"file":"VTabs.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTabs.tsx"],"names":["VSlideGroup","VTab","useBackgroundColor","provideDefaults","makeDensityProps","useDensity","makeTagProps","computed","toRef","defineComponent","VTabsSymbol","parseItems","items","map","item","title","value","VTabs","name","props","alignWithTitle","Boolean","color","String","direction","type","default","fixedTabs","Array","stacked","backgroundColor","centered","grow","height","Number","undefined","hideSlider","optional","end","sliderColor","modelValue","emits","v","setup","slots","emit","parsedItems","densityClasses","backgroundColorClasses","backgroundColorStyles","fixed"],"mappings":";AAAA;AACA,qB,CAEA;;SACSA,W;SACAC,I,sBAET;;SACSC,kB;SACAC,e;SACAC,gB,EAAkBC,U;SAClBC,Y,qCAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,e;SACAC,W,wBAET;;AAKA,SAASC,UAAT,CAAqBC,KAArB,EAAmD;AACjD,MAAI,CAACA,KAAL,EAAY,OAAO,EAAP;AAEZ,SAAOA,KAAK,CAACC,GAAN,CAAUC,IAAI,IAAI;AACvB,QAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B,OAAO;AAAEC,MAAAA,KAAK,EAAED,IAAT;AAAeE,MAAAA,KAAK,EAAEF;AAAtB,KAAP;AAE9B,WAAOA,IAAP;AACD,GAJM,CAAP;AAKD;;AAED,OAAO,MAAMG,KAAK,GAAGR,eAAe,CAAC;AACnCS,EAAAA,IAAI,EAAE,OAD6B;AAGnCC,EAAAA,KAAK,EAAE;AACLC,IAAAA,cAAc,EAAEC,OADX;AAELC,IAAAA,KAAK,EAAEC,MAFF;AAGLC,IAAAA,SAAS,EAAE;AACTC,MAAAA,IAAI,EAAEF,MADG;AAETG,MAAAA,OAAO,EAAE;AAFA,KAHN;AAOLC,IAAAA,SAAS,EAAEN,OAPN;AAQLT,IAAAA,KAAK,EAAE;AACLa,MAAAA,IAAI,EAAEG,KADD;AAELF,MAAAA,OAAO,EAAE,MAAO;AAFX,KARF;AAYLG,IAAAA,OAAO,EAAER,OAZJ;AAaLS,IAAAA,eAAe,EAAEP,MAbZ;AAcLQ,IAAAA,QAAQ,EAAEV,OAdL;AAeLW,IAAAA,IAAI,EAAEX,OAfD;AAgBLY,IAAAA,MAAM,EAAE;AACNR,MAAAA,IAAI,EAAE,CAACS,MAAD,EAASX,MAAT,CADA;AAENG,MAAAA,OAAO,EAAES;AAFH,KAhBH;AAoBLC,IAAAA,UAAU,EAAEf,OApBP;AAqBLgB,IAAAA,QAAQ,EAAEhB,OArBL;AAsBLiB,IAAAA,GAAG,EAAEjB,OAtBA;AAuBLkB,IAAAA,WAAW,EAAEhB,MAvBR;AAwBLiB,IAAAA,UAAU,EAAE,IAxBP;AA0BL,OAAGpC,gBAAgB,EA1Bd;AA2BL,OAAGE,YAAY;AA3BV,GAH4B;AAiCnCmC,EAAAA,KAAK,EAAE;AACL,yBAAsBC,CAAD,IAAgB;AADhC,GAjC4B;;AAqCnCC,EAAAA,KAAK,CAAExB,KAAF,QAA0B;AAAA,QAAjB;AAAEyB,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAiB;AAC7B,UAAMC,WAAW,GAAGvC,QAAQ,CAAC,MAAMI,UAAU,CAACQ,KAAK,CAACP,KAAP,CAAjB,CAA5B;AACA,UAAM;AAAEmC,MAAAA;AAAF,QAAqB1C,UAAU,CAACc,KAAD,CAArC;AACA,UAAM;AAAE6B,MAAAA,sBAAF;AAA0BC,MAAAA;AAA1B,QAAoD/C,kBAAkB,CAACM,KAAK,CAACW,KAAD,EAAQ,iBAAR,CAAN,CAA5E;AAEAhB,IAAAA,eAAe,CAAC;AACdF,MAAAA,IAAI,EAAE;AACJqB,QAAAA,KAAK,EAAEd,KAAK,CAACW,KAAD,EAAQ,OAAR,CADR;AAEJK,QAAAA,SAAS,EAAEhB,KAAK,CAACW,KAAD,EAAQ,WAAR,CAFZ;AAGJU,QAAAA,OAAO,EAAErB,KAAK,CAACW,KAAD,EAAQ,SAAR,CAHV;AAIJ+B,QAAAA,KAAK,EAAE1C,KAAK,CAACW,KAAD,EAAQ,WAAR,CAJR;AAKJoB,QAAAA,WAAW,EAAE/B,KAAK,CAACW,KAAD,EAAQ,aAAR,CALd;AAMJiB,QAAAA,UAAU,EAAE5B,KAAK,CAACW,KAAD,EAAQ,YAAR;AANb;AADQ,KAAD,CAAf;AAWA,WAAO;AAAA,eAEI,CACL,QADK,EAEJ,WAAUA,KAAK,CAACK,SAAU,EAFtB,EAGL;AACE,oCAA4BL,KAAK,CAACC,cADpC;AAEE,4BAAoBD,KAAK,CAACY,QAF5B;AAGE,8BAAsBZ,KAAK,CAACQ,SAH9B;AAIE,wBAAgBR,KAAK,CAACa,IAJxB;AAKE,uBAAeb,KAAK,CAACmB,GALvB;AAME,2BAAmBnB,KAAK,CAACU;AAN3B,OAHK,EAWLkB,cAAc,CAAC/B,KAXV,EAYLgC,sBAAsB,CAAChC,KAZlB,CAFJ;AAAA,eAgBIiC,qBAAqB,CAACjC,KAhB1B;AAAA,cAiBE,SAjBF;AAAA,gBAkBMN,WAlBN;AAAA,mBAmBO,OAnBP;AAAA,mBAoBSS,KAAK,CAACK,SApBf;AAAA,oBAqBUL,KAAK,CAACqB,UArBhB;AAAA,6BAsBmBE,CAAC,IAAIG,IAAI,CAAC,mBAAD,EAAsBH,CAAtB;AAtB5B;AAAA,sBAwBDE,KAAK,CAAClB,OAAN,GAAgBkB,KAAK,CAAClB,OAAN,EAAhB,GAAkCoB,WAAW,CAAC9B,KAAZ,CAAkBH,GAAlB,CAAsBC,IAAI,mCACjDA,IADiD;AAAA,eACpCA,IAAI,CAACC;AAD+B,eAA1B,CAxBjC;AAAA,MAAP;AA6BD;;AAlFkC,CAAD,CAA7B","sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VSlideGroup } from '@/components/VSlideGroup'\nimport { VTab } from './VTab'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VTabsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type TabItem = string | Record<string, any>\n\nfunction parseItems (items: TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (typeof item === 'string') return { title: item, value: item }\n\n return item\n })\n}\n\nexport const VTabs = defineComponent({\n name: 'VTabs',\n\n props: {\n alignWithTitle: Boolean,\n color: String,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n backgroundColor: String,\n centered: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n optional: Boolean,\n end: Boolean,\n sliderColor: String,\n modelValue: null,\n\n ...makeDensityProps(),\n ...makeTagProps(),\n },\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots, emit }) {\n const parsedItems = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'backgroundColor'))\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n return () => (\n <VSlideGroup\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n {\n 'v-tabs--align-with-title': props.alignWithTitle,\n 'v-tabs--centered': props.centered,\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--end': props.end,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n ]}\n style={backgroundColorStyles.value}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n mandatory=\"force\"\n direction={ props.direction }\n modelValue={ props.modelValue }\n onUpdate:modelValue={ v => emit('update:modelValue', v) }\n >\n { slots.default ? slots.default() : parsedItems.value.map(item => (\n <VTab { ...item } key={ item.title } />\n )) }\n </VSlideGroup>\n )\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"file":"VTabs.mjs"}
@@ -40,7 +40,7 @@
40
40
  flex: 1 0 auto
41
41
  max-width: none
42
42
 
43
- .v-tabs--right
43
+ .v-tabs--end
44
44
  .v-tab:first-child
45
45
  margin-inline-start: auto
46
46
 
@@ -53,3 +53,8 @@
53
53
  margin-inline-start: 52px
54
54
  .v-tab:last-child
55
55
  margin-inline-end: 52px
56
+
57
+ .v-toolbar__content
58
+ > .v-tabs,
59
+ .v-tab
60
+ height: inherit
@@ -0,0 +1,2 @@
1
+ export const VTabsSymbol = Symbol.for('vuetify:v-tabs');
2
+ //# sourceMappingURL=shared.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VTabs/shared.ts"],"names":["VTabsSymbol","Symbol","for"],"mappings":"AAGA,OAAO,MAAMA,WAAuC,GAAGC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAhD","sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VTabsSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-tabs')\n"],"file":"shared.mjs"}