Skip to content

Commit b6c34b7

Browse files
committed
feat(measurable): add new mixin
update card features
1 parent c7c463f commit b6c34b7

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

src/components/VCard/VCard.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
// Styles
12
import '../../stylus/components/_cards.styl'
23

34
// Mixins
45
import Colorable from '../../mixins/colorable'
6+
import Measurable from '../../mixins/measurable'
57
import Routable from '../../mixins/routable'
68
import Themeable from '../../mixins/themeable'
79

@@ -13,21 +15,24 @@ import mixins from '../../util/mixins'
1315
import { VNode } from 'vue'
1416

1517
/* @vue/component */
16-
export default mixins(Colorable, Routable, Themeable).extend({
18+
export default mixins(
19+
Colorable,
20+
Measurable,
21+
Routable,
22+
Themeable
23+
).extend({
1724
name: 'v-card',
1825

1926
props: {
2027
flat: Boolean,
21-
height: [Number, String],
2228
hover: Boolean,
2329
img: String,
2430
raised: Boolean,
2531
tag: {
2632
type: String,
2733
default: 'div'
2834
},
29-
tile: Boolean,
30-
width: [String, Number]
35+
tile: Boolean
3136
},
3237

3338
computed: {
@@ -50,9 +55,10 @@ export default mixins(Colorable, Routable, Themeable).extend({
5055
style.background = `url("${this.img}") center center / cover no-repeat`
5156
}
5257

53-
if (this.width) {
54-
style.width = convertToUnit(this.width)
55-
}
58+
if (this.height) style.height = convertToUnit(this.height)
59+
if (this.maxHeight) style.maxHeight = convertToUnit(this.maxHeight)
60+
if (this.maxWidth) style.maxWidth = convertToUnit(this.maxWidth)
61+
if (this.width) style.width = convertToUnit(this.width)
5662

5763
return style
5864
}

src/mixins/measurable.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import Vue from 'vue'
2+
3+
export default Vue.extend({
4+
name: 'measurable',
5+
6+
props: {
7+
height: [Number, String],
8+
maxHeight: [Number, String],
9+
maxWidth: [Number, String],
10+
width: [Number, String]
11+
}
12+
})

0 commit comments

Comments
 (0)