vuikit
Version:
A responsive Vue UI library for web site interfaces based on UIkit
35 lines (32 loc) • 704 B
JavaScript
import { mergeData } from 'vuikit/src/util/vue'
export default {
functional: true,
props: {
tag: {
type: String,
default: 'div'
},
divided: {
type: Boolean,
default: false
},
matched: {
type: Boolean,
default: false
},
gutter: {
type: String,
validator: val => !val || /^(small|medium|large|collapse)$/.test(val)
}
},
render (h, { props, data, children }) {
const { tag, gutter, divided, matched } = props
return h(tag, mergeData(data, {
class: ['uk-grid', {
'uk-grid-match': matched,
'uk-grid-divider': divided,
[`uk-grid-${gutter}`]: gutter
}]
}), children)
}
}