@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.
- package/CHANGELOG.md +53 -2
- package/dist/json/attributes.json +343 -195
- package/dist/json/importMap.json +20 -0
- package/dist/json/tags.json +106 -44
- package/dist/json/web-types.json +946 -549
- package/dist/vuetify.css +1486 -1085
- package/dist/vuetify.d.ts +9036 -8077
- package/dist/vuetify.esm.js +1511 -944
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1510 -943
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +825 -754
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +29 -8
- package/lib/components/VAlert/VAlert.mjs +31 -17
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +27 -7
- package/lib/components/VAlert/VAlertTitle.mjs +1 -0
- package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
- package/lib/components/VAlert/_variables.scss +14 -7
- package/lib/components/VApp/VApp.css +1 -0
- package/lib/components/VApp/VApp.sass +1 -0
- package/lib/components/VAppBar/VAppBar.mjs +7 -3
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +82 -69
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.mjs +15 -14
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.css +82 -58
- package/lib/components/VBanner/VBanner.mjs +39 -43
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.sass +61 -54
- package/lib/components/VBanner/VBannerActions.mjs +34 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/VBannerAvatar.mjs +20 -0
- package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -0
- package/lib/components/VBanner/VBannerIcon.mjs +20 -0
- package/lib/components/VBanner/VBannerIcon.mjs.map +1 -0
- package/lib/components/VBanner/_variables.scss +10 -14
- package/lib/components/VBanner/index.mjs +2 -0
- package/lib/components/VBanner/index.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +2 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +10 -9
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +20 -1
- package/lib/components/VBtn/VBtn.mjs +20 -7
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +15 -2
- package/lib/components/VBtn/_variables.scss +3 -0
- package/lib/components/VBtnGroup/VBtnGroup.css +14 -6
- package/lib/components/VBtnGroup/VBtnGroup.sass +14 -6
- package/lib/components/VCard/VCard.css +13 -11
- package/lib/components/VCard/VCard.mjs +5 -2
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +12 -9
- package/lib/components/VCard/VCardActions.mjs +1 -2
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardContent.mjs +3 -0
- package/lib/components/VCard/VCardContent.mjs.map +1 -0
- package/lib/components/VCard/_variables.scss +11 -5
- package/lib/components/VCard/index.mjs +1 -0
- package/lib/components/VCard/index.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.mjs +1 -1
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VChip/VChip.css +3 -0
- package/lib/components/VChip/VChip.sass +3 -0
- package/lib/components/VChip/_variables.scss +3 -0
- package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +92 -74
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.css +31 -11
- package/lib/components/VDialog/VDialog.mjs +6 -9
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +27 -10
- package/lib/components/VDialog/_variables.scss +3 -6
- package/lib/components/VExpansionPanel/VExpansionPanel.css +3 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +6 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +5 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VField/VField.css +1 -1
- package/lib/components/VField/VField.mjs +3 -4
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.mjs +32 -15
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +25 -11
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.css +27 -12
- package/lib/components/VIcon/VIcon.mjs +19 -16
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +27 -16
- package/lib/components/VIcon/_variables.scss +1 -0
- package/lib/components/VInput/VInput.css +3 -1
- package/lib/components/VInput/VInput.mjs +3 -4
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +3 -1
- package/lib/components/VInput/_variables.scss +4 -0
- package/lib/components/VList/VList.css +7 -6
- package/lib/components/VList/VList.mjs +36 -17
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +3 -2
- package/lib/components/VList/VListChildren.mjs +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +28 -10
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +119 -42
- package/lib/components/VList/VListItem.mjs +36 -32
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +76 -28
- package/lib/components/VList/VListItemAction.mjs +29 -0
- package/lib/components/VList/VListItemAction.mjs.map +1 -0
- package/lib/components/VList/VListItemAvatar.mjs +10 -16
- package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
- package/lib/components/VList/VListItemIcon.mjs +23 -0
- package/lib/components/VList/VListItemIcon.mjs.map +1 -0
- package/lib/components/VList/VListItemMedia.mjs +4 -4
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/_variables.scss +12 -3
- package/lib/components/VList/index.mjs +2 -0
- package/lib/components/VList/index.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.css +2 -12
- package/lib/components/VMenu/VMenu.mjs +61 -31
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +3 -6
- package/lib/components/VMenu/shared.mjs +2 -0
- package/lib/components/VMenu/shared.mjs.map +1 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +8 -0
- package/lib/components/VOverlay/VOverlay.mjs +16 -15
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +9 -0
- package/lib/components/VOverlay/_variables.scss +1 -0
- package/lib/components/VOverlay/positionStrategies.mjs +7 -3
- package/lib/components/VOverlay/positionStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +9 -0
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +50 -14
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +10 -12
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
- package/lib/components/VRadio/VRadio.mjs +1 -2
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +5 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRating/VRating.css +2 -2
- package/lib/components/VRating/VRating.mjs +13 -3
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +2 -2
- package/lib/components/VSelect/VSelect.mjs +70 -91
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +2 -2
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
- package/lib/components/VSlideGroup/VSlideGroup.mjs +36 -14
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.sass +0 -4
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +3 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.css +7 -2
- package/lib/components/VSlider/VSlider.sass +11 -5
- package/lib/components/VSlider/VSliderTrack.css +6 -6
- package/lib/components/VSlider/VSliderTrack.mjs +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.sass +7 -7
- package/lib/components/VSlider/_variables.scss +5 -2
- package/lib/components/VSnackbar/VSnackbar.css +14 -13
- package/lib/components/VSnackbar/VSnackbar.mjs +22 -10
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +15 -16
- package/lib/components/VSnackbar/_variables.scss +0 -4
- package/lib/components/VSwitch/VSwitch.mjs +8 -5
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.css +0 -5
- package/lib/components/VSystemBar/VSystemBar.mjs +31 -14
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +0 -5
- package/lib/components/VSystemBar/_variables.scss +0 -3
- package/lib/components/VTabs/VTab.mjs +28 -32
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.css +6 -2
- package/lib/components/VTabs/VTabs.mjs +7 -8
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.sass +6 -1
- package/lib/components/VTabs/shared.mjs +2 -0
- package/lib/components/VTabs/shared.mjs.map +1 -0
- package/lib/components/VTextField/VTextField.css +4 -4
- package/lib/components/VTextField/VTextField.mjs +5 -9
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +5 -5
- package/lib/components/VTextarea/VTextarea.css +7 -4
- package/lib/components/VTextarea/VTextarea.sass +9 -5
- package/lib/components/VTimeline/VTimeline.css +187 -48
- package/lib/components/VTimeline/VTimeline.mjs +27 -11
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.sass +196 -51
- package/lib/components/VTimeline/VTimelineDivider.mjs +2 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/_variables.scss +2 -1
- package/lib/components/VToolbar/VToolbar.css +8 -1
- package/lib/components/VToolbar/VToolbar.mjs +8 -11
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +2 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +0 -1
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/_variables.scss +13 -1
- package/lib/components/VWindow/VWindow.mjs +0 -8
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/index.d.ts +9025 -8077
- package/lib/composables/defaults.mjs +2 -2
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/form.mjs +18 -5
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/forwardRef.mjs +10 -6
- package/lib/composables/forwardRef.mjs.map +1 -1
- package/lib/composables/group.mjs +14 -6
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/items.mjs +56 -0
- package/lib/composables/items.mjs.map +1 -0
- package/lib/composables/layout.mjs +7 -3
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +27 -14
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs +63 -36
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +163 -122
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/overlay.mjs +5 -1
- package/lib/composables/overlay.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs +1 -9
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/router.mjs +17 -5
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/selectLink.mjs +19 -0
- package/lib/composables/selectLink.mjs.map +1 -0
- package/lib/composables/stack.mjs +7 -4
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/validation.mjs +6 -3
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs +0 -3
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs +15 -3
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +12 -7
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +18 -2
- package/lib/locale/ca.mjs +9 -9
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/styles/generic/_colors.scss +0 -1
- package/lib/styles/main.css +400 -392
- package/lib/styles/settings/_utilities.scss +54 -26
- package/lib/styles/tools/_states.sass +2 -1
- package/lib/util/defineComponent.mjs +37 -6
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/helpers.mjs.map +1 -1
- 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:
|
|
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";
|
|
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,
|
|
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
|
|
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':
|
|
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":
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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:
|
|
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'
|
|
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-
|
|
37
|
+
border-inline-end: none;
|
|
38
38
|
}
|
|
39
39
|
.v-btn-group .v-btn:not(:first-child) {
|
|
40
|
-
border-
|
|
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-
|
|
44
|
-
border-
|
|
45
|
-
border-
|
|
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-
|
|
32
|
+
border-inline-end: none
|
|
33
33
|
|
|
34
34
|
&:not(:first-child)
|
|
35
|
-
border-
|
|
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-
|
|
40
|
-
border-
|
|
41
|
-
border-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
224
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
146
|
-
|
|
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
|
|
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;;
|
|
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 @@
|
|
|
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"}
|