vue-material/src/components/mdLayout/mdLayout.vue

69 lines
1.8 KiB
Vue
Raw Normal View History

2016-12-12 05:10:09 +00:00
<style lang="scss" src="./mdLayout.scss"></style>
<script>
export default {
2016-12-12 05:10:54 +00:00
props: {
mdTag: {
type: String,
default: 'div'
2016-12-12 07:26:21 +00:00
},
mdRow: Boolean,
mdRowXsmall: Boolean,
mdRowSmall: Boolean,
mdRowMedium: Boolean,
mdRowLarge: Boolean,
mdRowXlarge: Boolean,
mdColumn: Boolean,
mdColumnXsmall: Boolean,
mdColumnSmall: Boolean,
mdColumnMedium: Boolean,
mdColumnLarge: Boolean,
mdColumnXlarge: Boolean,
mdGutter: [Number, Boolean],
mdFlex: [Number, Boolean]
},
computed: {
classes() {
let classes = {
'md-row': this.mdRow,
'md-row-xsmall': this.mdRowXsmall,
'md-row-small': this.mdRowSmall,
'md-row-medium': this.mdRowMedium,
'md-row-large': this.mdRowLarge,
'md-row-xlarge': this.mdRowXlarge,
'md-column': this.mdColumn,
'md-column-xsmall': this.mdColumnXsmall,
'md-column-small': this.mdColumnSmall,
'md-column-medium': this.mdColumnMedium,
'md-column-large': this.mdColumnLarge,
'md-column-xlarge': this.mdColumnXlarge
};
if (this.mdGutter) {
if (typeof this.mdGutter === 'boolean') {
classes['md-gutter-8'] = true;
} else {
classes['md-gutter-' + this.mdGutter] = true;
}
}
if (this.mdFlex) {
if (typeof this.mdFlex === 'boolean') {
classes['md-flex'] = true;
} else {
classes['md-flex-' + this.mdFlex] = true;
}
}
return classes;
2016-12-12 05:10:54 +00:00
}
},
2016-12-12 05:10:09 +00:00
render(createElement) {
return createElement(this.mdTag, {
staticClass: 'md-layout',
class: this.classes
}, this.$slots.default);
}
};
</script>