@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
@@ -6,8 +6,9 @@
6
6
  justify-content: center;
7
7
  letter-spacing: 0.0892857143em;
8
8
  line-height: normal;
9
+ max-width: 100%;
9
10
  outline: none;
10
- overflow: visible;
11
+ overflow: hidden;
11
12
  position: relative;
12
13
  text-decoration: none;
13
14
  text-indent: 0.0892857143em;
@@ -18,6 +19,7 @@
18
19
  user-select: none;
19
20
  vertical-align: middle;
20
21
  flex-shrink: 0;
22
+ white-space: nowrap;
21
23
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
22
24
  border-style: solid;
23
25
  border-width: 0;
@@ -89,6 +91,14 @@
89
91
  opacity: calc(0.12 * var(--v-theme-overlay-multiplier));
90
92
  }
91
93
  }
94
+ .v-btn--active:hover.v-btn__overlay,
95
+ .v-btn--active .v-btn__overlay, .v-btn[aria-haspopup=menu][aria-expanded=true]:hover.v-btn__overlay,
96
+ .v-btn[aria-haspopup=menu][aria-expanded=true] .v-btn__overlay {
97
+ opacity: calc(0.12 * var(--v-theme-overlay-multiplier));
98
+ }
99
+ .v-btn--active:focus .v-btn__overlay, .v-btn[aria-haspopup=menu][aria-expanded=true]:focus .v-btn__overlay {
100
+ opacity: calc(0.16 * var(--v-theme-overlay-multiplier));
101
+ }
92
102
  .v-btn--variant-plain, .v-btn--variant-outlined, .v-btn--variant-text, .v-btn--variant-contained-text {
93
103
  background: transparent;
94
104
  color: inherit;
@@ -254,6 +264,15 @@
254
264
  .v-btn--rounded {
255
265
  border-radius: 24px;
256
266
  }
267
+ .v-btn .v-icon {
268
+ --v-icon-size-multiplier: 0.8571428571;
269
+ }
270
+ .v-btn--icon .v-icon {
271
+ --v-icon-size-multiplier: 1;
272
+ }
273
+ .v-btn--stacked .v-icon {
274
+ --v-icon-size-multiplier: 1.1428571429;
275
+ }
257
276
 
258
277
  .v-btn__content {
259
278
  transition: transform, opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
@@ -16,7 +16,8 @@ import { makeRouterProps, useLink } from "../../composables/router.mjs";
16
16
  import { makeSizeProps, useSize } from "../../composables/size.mjs";
17
17
  import { makeTagProps } from "../../composables/tag.mjs";
18
18
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
19
- import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs"; // Directives
19
+ import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs";
20
+ import { useSelectLink } from "../../composables/selectLink.mjs"; // Directives
20
21
 
21
22
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
22
23
 
@@ -28,6 +29,11 @@ export const VBtn = defineComponent({
28
29
  Ripple
29
30
  },
30
31
  props: {
32
+ active: Boolean,
33
+ symbol: {
34
+ type: null,
35
+ default: VBtnToggleSymbol
36
+ },
31
37
  flat: Boolean,
32
38
  icon: [Boolean, String],
33
39
  prependIcon: String,
@@ -91,21 +97,22 @@ export const VBtn = defineComponent({
91
97
  const {
92
98
  sizeClasses
93
99
  } = useSize(props);
94
- const group = useGroupItem(props, VBtnToggleSymbol, false);
100
+ const group = useGroupItem(props, props.symbol, false);
95
101
  const link = useLink(props, attrs);
96
102
  const isDisabled = computed(() => (group == null ? void 0 : group.disabled.value) || props.disabled);
97
103
  const isElevated = computed(() => {
98
104
  return props.variant === 'contained' && !(props.disabled || props.flat || props.border);
99
105
  });
106
+ useSelectLink(link, group == null ? void 0 : group.select);
100
107
  return () => {
101
- var _link$isExactActive, _slots$default;
108
+ var _slots$default;
102
109
 
103
110
  const Tag = link.isLink.value ? 'a' : props.tag;
104
111
  const hasColor = !group || group.isSelected.value;
105
112
  return _withDirectives(_createVNode(Tag, {
106
113
  "type": Tag === 'a' ? undefined : 'button',
107
114
  "class": ['v-btn', group == null ? void 0 : group.selectedClass.value, {
108
- 'v-btn--active': (_link$isExactActive = link.isExactActive) == null ? void 0 : _link$isExactActive.value,
115
+ 'v-btn--active': props.active,
109
116
  'v-btn--block': props.block,
110
117
  'v-btn--disabled': isDisabled.value,
111
118
  'v-btn--elevated': isElevated.value,
@@ -116,12 +123,18 @@ export const VBtn = defineComponent({
116
123
  "style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, positionStyles.value],
117
124
  "disabled": isDisabled.value || undefined,
118
125
  "href": link.href.value,
119
- "onClick": isDisabled.value || link.navigate || (group == null ? void 0 : group.toggle)
126
+ "onClick": e => {
127
+ var _link$navigate;
128
+
129
+ if (isDisabled.value) return;
130
+ (_link$navigate = link.navigate) == null ? void 0 : _link$navigate.call(link, e);
131
+ group == null ? void 0 : group.toggle();
132
+ }
120
133
  }, {
121
134
  default: () => [genOverlays(true, 'v-btn'), !props.icon && props.prependIcon && _createVNode(VIcon, {
122
135
  "class": "v-btn__icon",
123
136
  "icon": props.prependIcon,
124
- "left": !props.stacked
137
+ "start": true
125
138
  }, null), typeof props.icon === 'boolean' ? (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots) : _createVNode(VIcon, {
126
139
  "class": "v-btn__icon",
127
140
  "icon": props.icon,
@@ -129,7 +142,7 @@ export const VBtn = defineComponent({
129
142
  }, null), !props.icon && props.appendIcon && _createVNode(VIcon, {
130
143
  "class": "v-btn__icon",
131
144
  "icon": props.appendIcon,
132
- "right": !props.stacked
145
+ "end": true
133
146
  }, null)]
134
147
  }), [[_resolveDirective("ripple"), !isDisabled.value && props.ripple, null]]);
135
148
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VBtn/VBtn.tsx"],"names":["VBtnToggleSymbol","VIcon","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","computed","defineComponent","VBtn","name","directives","props","flat","Boolean","icon","String","prependIcon","appendIcon","block","stacked","ripple","type","default","tag","variant","setup","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","positionClasses","positionStyles","roundedClasses","sizeClasses","group","link","isDisabled","disabled","value","isElevated","border","Tag","isLink","hasColor","isSelected","undefined","selectedClass","isExactActive","href","navigate","toggle","size"],"mappings":"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","sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, VBtnToggleSymbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasColor = !group || group.isSelected.value\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': link.isExactActive?.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ isDisabled.value || link.navigate || group?.toggle }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n left={ !props.stacked }\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n right={ !props.stacked }\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"file":"VBtn.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VBtn/VBtn.tsx"],"names":["VBtnToggleSymbol","VIcon","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","useSelectLink","Ripple","computed","defineComponent","VBtn","name","directives","props","active","Boolean","symbol","type","default","flat","icon","String","prependIcon","appendIcon","block","stacked","ripple","tag","variant","setup","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","positionClasses","positionStyles","roundedClasses","sizeClasses","group","link","isDisabled","disabled","value","isElevated","border","select","Tag","isLink","hasColor","isSelected","undefined","selectedClass","href","e","navigate","toggle","size"],"mappings":"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","sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { useSelectLink } from '@/composables/selectLink'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n useSelectLink(link, group?.select)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasColor = !group || group.isSelected.value\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': props.active,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ (e: MouseEvent) => {\n if (isDisabled.value) return\n\n link.navigate?.(e)\n group?.toggle()\n } }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n start\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n end\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n"],"file":"VBtn.mjs"}
@@ -14,8 +14,9 @@
14
14
  justify-content: center
15
15
  letter-spacing: $button-text-letter-spacing
16
16
  line-height: $button-line-height
17
+ max-width: $button-max-width
17
18
  outline: none
18
- overflow: visible
19
+ overflow: $button-overflow
19
20
  position: relative
20
21
  text-decoration: none
21
22
  text-indent: $button-text-letter-spacing
@@ -26,13 +27,14 @@
26
27
  user-select: none
27
28
  vertical-align: $button-vertical-align
28
29
  flex-shrink: 0
30
+ white-space: $button-white-space
29
31
 
30
32
  @at-root
31
33
  @include button-sizes()
32
34
  @include button-density('height', $button-density)
33
35
 
34
36
  @include tools.border($button-border...)
35
- @include tools.states('.v-btn__overlay', false)
37
+ @include tools.states('.v-btn__overlay')
36
38
  @include tools.variant($button-variants...)
37
39
 
38
40
  @supports selector(:focus-visible)
@@ -99,6 +101,17 @@
99
101
  &--rounded
100
102
  @include tools.rounded($button-rounded-border-radius)
101
103
 
104
+ .v-icon
105
+ --v-icon-size-multiplier: #{calc(18/21)}
106
+
107
+ &--icon
108
+ .v-icon
109
+ --v-icon-size-multiplier: 1
110
+
111
+ &--stacked
112
+ .v-icon
113
+ --v-icon-size-multiplier: #{calc(24/21)}
114
+
102
115
  .v-btn__content
103
116
  transition: $button-content-transition
104
117
 
@@ -34,6 +34,8 @@ $button-stacked-line-height: 1.25 !default;
34
34
  $button-plain-opacity: .62 !default;
35
35
  $button-padding-ratio: 2.25 !default;
36
36
  $button-stacked-padding-ratio: 4.5 !default;
37
+ $button-max-width: 100% !default;
38
+ $button-overflow: hidden !default;
37
39
  $button-positions: absolute fixed !default;
38
40
  $button-text-letter-spacing: tools.map-deep-get(settings.$typography, 'button', 'letter-spacing') !default;
39
41
  $button-text-transform: tools.map-deep-get(settings.$typography, 'button', 'text-transform') !default;
@@ -43,6 +45,7 @@ $button-width-ratio: math.div(16, 9) !default;
43
45
  $button-snackbar-action-padding: 0 8px !default;
44
46
  $button-stacked-width-ratio: 1 !default;
45
47
  $button-rounded-border-radius: map.get(settings.$rounded, 'xl') !default;
48
+ $button-white-space: nowrap !default;
46
49
 
47
50
  $button-density: ('default': 0, 'comfortable': -2, 'compact': -3) !default;
48
51
  $button-stacked-density: ('default': 0, 'comfortable': -4, 'compact': -6) !default;
@@ -1,7 +1,6 @@
1
1
  .v-btn-group {
2
2
  display: inline-flex;
3
3
  flex-wrap: nowrap;
4
- flex: 1 1;
5
4
  max-width: 100%;
6
5
  min-width: 0;
7
6
  overflow: hidden;
@@ -32,17 +31,26 @@
32
31
 
33
32
  .v-btn-group .v-btn {
34
33
  border-radius: 0;
34
+ border-color: inherit;
35
35
  }
36
36
  .v-btn-group .v-btn:not(:last-child) {
37
- border-right: none;
37
+ border-inline-end: none;
38
38
  }
39
39
  .v-btn-group .v-btn:not(:first-child) {
40
- border-left: none;
40
+ border-inline-start: none;
41
+ }
42
+ .v-btn-group .v-btn:first-child {
43
+ border-start-start-radius: inherit;
44
+ border-end-start-radius: inherit;
45
+ }
46
+ .v-btn-group .v-btn:last-child {
47
+ border-start-end-radius: inherit;
48
+ border-end-end-radius: inherit;
41
49
  }
42
50
  .v-btn-group--divided .v-btn:not(:last-child) {
43
- border-right-width: thin;
44
- border-right-style: solid;
45
- border-right-color: rgba(var(--v-border-color), var(--v-border-opacity));
51
+ border-inline-end-width: thin;
52
+ border-inline-end-style: solid;
53
+ border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity));
46
54
  }
47
55
  .v-btn-group--tile {
48
56
  border-radius: 0;
@@ -9,7 +9,6 @@
9
9
 
10
10
  display: inline-flex
11
11
  flex-wrap: nowrap
12
- flex: 1 1
13
12
  max-width: 100%
14
13
  min-width: 0
15
14
  overflow: hidden
@@ -27,18 +26,27 @@
27
26
 
28
27
  .v-btn
29
28
  border-radius: 0
29
+ border-color: inherit
30
30
 
31
31
  &:not(:last-child)
32
- border-right: none
32
+ border-inline-end: none
33
33
 
34
34
  &:not(:first-child)
35
- border-left: none
35
+ border-inline-start: none
36
+
37
+ &:first-child
38
+ border-start-start-radius: inherit
39
+ border-end-start-radius: inherit
40
+
41
+ &:last-child
42
+ border-start-end-radius: inherit
43
+ border-end-end-radius: inherit
36
44
 
37
45
  &--divided
38
46
  .v-btn:not(:last-child)
39
- border-right-width: $btn-group-border-thin-width
40
- border-right-style: $btn-group-border-style
41
- border-right-color: $btn-group-border-color
47
+ border-inline-end-width: $btn-group-border-thin-width
48
+ border-inline-end-style: $btn-group-border-style
49
+ border-inline-end-color: $btn-group-border-color
42
50
 
43
51
  &--tile
44
52
  @include tools.rounded($btn-group-tile-border-radius)
@@ -1,6 +1,5 @@
1
1
  .v-card {
2
2
  display: block;
3
- overflow: hidden;
4
3
  position: relative;
5
4
  padding: 0;
6
5
  text-decoration: none;
@@ -34,10 +33,11 @@
34
33
  }
35
34
  }
36
35
  .v-card--active:hover.v-card__overlay,
37
- .v-card--active .v-card__overlay {
36
+ .v-card--active .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:hover.v-card__overlay,
37
+ .v-card[aria-haspopup=menu][aria-expanded=true] .v-card__overlay {
38
38
  opacity: calc(0.12 * var(--v-theme-overlay-multiplier));
39
39
  }
40
- .v-card--active:focus .v-card__overlay {
40
+ .v-card--active:focus .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:focus .v-card__overlay {
41
41
  opacity: calc(0.16 * var(--v-theme-overlay-multiplier));
42
42
  }
43
43
  .v-card--variant-plain, .v-card--variant-outlined, .v-card--variant-text, .v-card--variant-contained-text {
@@ -133,7 +133,7 @@
133
133
  .v-card-actions {
134
134
  align-items: center;
135
135
  display: flex;
136
- flex: 1 1 auto;
136
+ flex: none;
137
137
  min-height: 52px;
138
138
  padding: 0.5rem;
139
139
  }
@@ -158,6 +158,7 @@
158
158
  border-radius: inherit;
159
159
  display: flex;
160
160
  height: 100%;
161
+ flex: 1 1 auto;
161
162
  left: 0;
162
163
  overflow: hidden;
163
164
  position: absolute;
@@ -168,19 +169,17 @@
168
169
  .v-card-header {
169
170
  align-items: center;
170
171
  display: flex;
172
+ flex: none;
171
173
  padding: 0.625rem 1rem;
172
174
  }
173
175
  .v-card-header + .v-card-text {
174
176
  padding-top: 0;
175
177
  }
176
178
 
177
- .v-card-media {
178
- overflow: hidden;
179
- }
180
-
181
179
  .v-card-subtitle {
182
180
  align-items: center;
183
181
  display: flex;
182
+ flex: none;
184
183
  font-size: 0.875rem;
185
184
  font-weight: 400;
186
185
  letter-spacing: 0.0178571429em;
@@ -202,7 +201,7 @@
202
201
  }
203
202
 
204
203
  .v-card-text {
205
- color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
204
+ flex: 1 1 auto;
206
205
  font-size: 0.875rem;
207
206
  font-weight: 400;
208
207
  letter-spacing: 0.0178571429em;
@@ -220,13 +219,16 @@
220
219
  .v-card--density-compact .v-card-text {
221
220
  line-height: 1.15rem;
222
221
  }
223
- .v-card-text + .v-card-actions {
224
- margin-top: -0.5rem;
222
+
223
+ .v-card-content {
224
+ flex: 1 1 auto;
225
+ padding: 1rem;
225
226
  }
226
227
 
227
228
  .v-card-title {
228
229
  align-items: center;
229
230
  display: flex;
231
+ flex: none;
230
232
  font-size: 1.25rem;
231
233
  font-weight: 500;
232
234
  hyphens: auto;
@@ -8,6 +8,7 @@ import { VAvatar } from "../VAvatar/index.mjs";
8
8
  import { VImg } from "../VImg/index.mjs";
9
9
  import { VCardActions } from "./VCardActions.mjs";
10
10
  import { VCardAvatar } from "./VCardAvatar.mjs";
11
+ import { VCardContent } from "./VCardContent.mjs";
11
12
  import { VCardHeader } from "./VCardHeader.mjs";
12
13
  import { VCardHeaderText } from "./VCardHeaderText.mjs";
13
14
  import { VCardImg } from "./VCardImg.mjs";
@@ -97,7 +98,7 @@ export const VCard = defineComponent({
97
98
  } = useRounded(props);
98
99
  const link = useLink(props, attrs);
99
100
  return () => {
100
- var _slots$image, _slots$media, _slots$default;
101
+ var _slots$image, _slots$media, _slots$headerText, _slots$default;
101
102
 
102
103
  const Tag = link.isLink.value ? 'a' : props.tag;
103
104
  const hasTitle = !!(slots.title || props.title);
@@ -151,7 +152,7 @@ export const VCard = defineComponent({
151
152
  default: () => [slots.title ? slots.title() : props.title]
152
153
  }), hasSubtitle && _createVNode(VCardSubtitle, null, {
153
154
  default: () => [slots.subtitle ? slots.subtitle() : props.subtitle]
154
- })]
155
+ }), (_slots$headerText = slots.headerText) == null ? void 0 : _slots$headerText.call(slots)]
155
156
  }), hasAppend && _createVNode(VDefaultsProvider, {
156
157
  "defaults": {
157
158
  VAvatar: {
@@ -167,6 +168,8 @@ export const VCard = defineComponent({
167
168
  })]
168
169
  }), hasText && _createVNode(VCardText, null, {
169
170
  default: () => [slots.text ? slots.text() : props.text]
171
+ }), slots.content && _createVNode(VCardContent, null, {
172
+ default: slots.content
170
173
  }), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), slots.actions && _createVNode(VCardActions, null, {
171
174
  default: slots.actions
172
175
  })]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCard/VCard.tsx"],"names":["VAvatar","VImg","VCardActions","VCardAvatar","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","defineComponent","VDefaultsProvider","VCard","name","directives","props","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","prependAvatar","prependIcon","ripple","subtitle","text","title","variant","setup","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","positionClasses","positionStyles","roundedClasses","Tag","isLink","value","tag","hasTitle","hasSubtitle","hasHeaderText","hasAppend","append","hasPrepend","prepend","hasImage","hasHeader","hasText","isClickable","href","navigate","cover","src","media","density","icon","default","actions"],"mappings":"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","sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\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 { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n <VCardImg>\n { slots.image ? slots.image?.() : (<VImg alt=\"\" />) }\n </VCardImg>\n </VDefaultsProvider>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.prepend ? slots.prepend() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title ? slots.title() : props.title}\n </VCardTitle>\n ) }\n\n { hasSubtitle && (\n <VCardSubtitle>\n { slots.subtitle ? slots.subtitle() : props.subtitle }\n </VCardSubtitle>\n ) }\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.append ? slots.append() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"file":"VCard.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VCard/VCard.tsx"],"names":["VAvatar","VImg","VCardActions","VCardAvatar","VCardContent","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","makeBorderProps","useBorder","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeRouterProps","useLink","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","Ripple","defineComponent","VDefaultsProvider","VCard","name","directives","props","appendAvatar","String","appendIcon","disabled","Boolean","flat","hover","image","link","prependAvatar","prependIcon","ripple","subtitle","text","title","variant","setup","attrs","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","dimensionStyles","elevationClasses","positionClasses","positionStyles","roundedClasses","Tag","isLink","value","tag","hasTitle","hasSubtitle","hasHeaderText","hasAppend","append","hasPrepend","prepend","hasImage","hasHeader","hasText","isClickable","href","navigate","cover","src","media","density","icon","headerText","content","default","actions"],"mappings":"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","sourcesContent":["/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardContent } from './VCardContent'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\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 { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n <VCardImg>\n { slots.image ? slots.image?.() : (<VImg alt=\"\" />) }\n </VCardImg>\n </VDefaultsProvider>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.prepend ? slots.prepend() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title ? slots.title() : props.title}\n </VCardTitle>\n ) }\n\n { hasSubtitle && (\n <VCardSubtitle>\n { slots.subtitle ? slots.subtitle() : props.subtitle }\n </VCardSubtitle>\n ) }\n\n { slots.headerText?.() }\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.append ? slots.append() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.content && (\n <VCardContent v-slots={{ default: slots.content }} />\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n"],"file":"VCard.mjs"}
@@ -5,7 +5,6 @@
5
5
 
6
6
  .v-card
7
7
  display: block
8
- overflow: hidden
9
8
  position: relative
10
9
  padding: $card-padding
11
10
  text-decoration: none
@@ -74,7 +73,7 @@
74
73
  .v-card-actions
75
74
  align-items: center
76
75
  display: flex
77
- flex: 1 1 auto
76
+ flex: $card-actions-flex
78
77
  min-height: $card-actions-min-height
79
78
  padding: $card-actions-padding
80
79
 
@@ -91,13 +90,14 @@
91
90
  padding-inline-start: $card-avatar-header-padding
92
91
 
93
92
  .v-card-header-text
94
- flex: 1 1 auto
93
+ flex: $card-header-text-flex
95
94
  min-width: 0
96
95
 
97
96
  .v-card-img
98
97
  border-radius: inherit
99
98
  display: flex
100
99
  height: 100%
100
+ flex: $card-img-flex
101
101
  left: 0
102
102
  overflow: hidden
103
103
  position: absolute
@@ -107,17 +107,16 @@
107
107
  .v-card-header
108
108
  align-items: $card-item-align-items
109
109
  display: flex
110
+ flex: $card-header-flex
110
111
  padding: $card-item-padding
111
112
 
112
113
  + .v-card-text
113
114
  padding-top: 0
114
115
 
115
- .v-card-media
116
- overflow: hidden
117
-
118
116
  .v-card-subtitle
119
117
  align-items: center
120
118
  display: flex
119
+ flex: $card-subtitle-flex
121
120
  font-size: $card-subtitle-font-size
122
121
  font-weight: $card-subtitle-font-weight
123
122
  letter-spacing: $card-subtitle-letter-spacing
@@ -131,23 +130,27 @@
131
130
  padding: $card-subtitle-header-padding
132
131
 
133
132
  .v-card-text
134
- color: $card-text-color
133
+ flex: $card-text-flex
135
134
  font-size: $card-text-font-size
136
135
  font-weight: $card-text-font-weight
137
136
  letter-spacing: $card-text-letter-spacing
138
137
  padding: $card-text-padding
138
+ // position: relative
139
139
  text-transform: $card-text-text-transform
140
140
  transition: inherit
141
141
  transition-property: color, opacity
142
142
 
143
143
  @include card-line-height-densities($card-text-densities)
144
144
 
145
- + .v-card-actions
146
- margin-top: -.5rem
145
+ .v-card-content
146
+ flex: $card-content-flex
147
+ padding: $card-text-padding
148
+ // position: relative
147
149
 
148
150
  .v-card-title
149
151
  align-items: center
150
152
  display: flex
153
+ flex: $card-title-flex
151
154
  font-size: $card-title-font-size
152
155
  font-weight: $card-title-font-weight
153
156
  hyphens: $card-title-hyphens
@@ -2,8 +2,7 @@ import { createVNode as _createVNode } from "vue";
2
2
  // Composables
3
3
  import { provideDefaults } from "../../composables/defaults.mjs"; // Utility
4
4
 
5
- import { defineComponent } from 'vue';
6
- import { useRender } from "../../util/index.mjs";
5
+ import { defineComponent, useRender } from "../../util/index.mjs";
7
6
  export const VCardActions = defineComponent({
8
7
  name: 'VCardActions',
9
8
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCard/VCardActions.tsx"],"names":["provideDefaults","defineComponent","useRender","VCardActions","name","setup","_","slots","VBtn","variant","default"],"mappings":";AAAA;SACSA,e,0CAET;;AACA,SAASC,eAAT,QAAgC,KAAhC;SACSC,S;AAET,OAAO,MAAMC,YAAY,GAAGF,eAAe,CAAC;AAC1CG,EAAAA,IAAI,EAAE,cADoC;;AAG1CC,EAAAA,KAAK,CAAEC,CAAF,QAAgB;AAAA,QAAX;AAAEC,MAAAA;AAAF,KAAW;AACnBP,IAAAA,eAAe,CAAC;AACdQ,MAAAA,IAAI,EAAE;AACJC,QAAAA,OAAO,EAAE;AADL;AADQ,KAAD,CAAf;AAMAP,IAAAA,SAAS,CAAC;AAAA;;AAAA;AAAA,iBACG;AADH,UAEJK,KAFI,sCAEJA,KAAK,CAAEG,OAFH,qBAEJ,oBAAAH,KAAK,CAFD;AAAA,KAAD,CAAT;AAMA,WAAO,EAAP;AACD;;AAjByC,CAAD,CAApC","sourcesContent":["// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n\n setup (_, { slots }) {\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div class=\"v-card-actions\">\n { slots?.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n"],"file":"VCardActions.mjs"}
1
+ {"version":3,"sources":["../../../src/components/VCard/VCardActions.tsx"],"names":["provideDefaults","defineComponent","useRender","VCardActions","name","setup","_","slots","VBtn","variant","default"],"mappings":";AAAA;SACSA,e,0CAET;;SACSC,e,EAAiBC,S;AAE1B,OAAO,MAAMC,YAAY,GAAGF,eAAe,CAAC;AAC1CG,EAAAA,IAAI,EAAE,cADoC;;AAG1CC,EAAAA,KAAK,CAAEC,CAAF,QAAgB;AAAA,QAAX;AAAEC,MAAAA;AAAF,KAAW;AACnBP,IAAAA,eAAe,CAAC;AACdQ,MAAAA,IAAI,EAAE;AACJC,QAAAA,OAAO,EAAE;AADL;AADQ,KAAD,CAAf;AAMAP,IAAAA,SAAS,CAAC;AAAA;;AAAA;AAAA,iBACG;AADH,UAEJK,KAFI,sCAEJA,KAAK,CAAEG,OAFH,qBAEJ,oBAAAH,KAAK,CAFD;AAAA,KAAD,CAAT;AAMA,WAAO,EAAP;AACD;;AAjByC,CAAD,CAApC","sourcesContent":["// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\n\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n\n setup (_, { slots }) {\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div class=\"v-card-actions\">\n { slots?.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n"],"file":"VCardActions.mjs"}
@@ -0,0 +1,3 @@
1
+ import { createSimpleFunctional } from "../../util/index.mjs";
2
+ export const VCardContent = createSimpleFunctional('v-card-content');
3
+ //# sourceMappingURL=VCardContent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VCard/VCardContent.ts"],"names":["createSimpleFunctional","VCardContent"],"mappings":"SAASA,sB;AAET,OAAO,MAAMC,YAAY,GAAGD,sBAAsB,CAAC,gBAAD,CAA3C","sourcesContent":["import { createSimpleFunctional } from '@/util'\n\nexport const VCardContent = createSimpleFunctional('v-card-content')\n"],"file":"VCardContent.mjs"}