bootstrap-vue
Version:
With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extens
34 lines (29 loc) • 813 B
JavaScript
import { extend } from '../../../vue'
import { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props'
import { makeProp } from '../../../utils/props'
// --- Props ---
export const props = {
stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)
}
// --- Mixin ---
// @vue/component
export const stackedMixin = extend({
props,
computed: {
isStacked() {
const { stacked } = this
// `true` when always stacked, or returns breakpoint specified
return stacked === '' ? true : stacked
},
isStackedAlways() {
return this.isStacked === true
},
stackedTableClasses() {
const { isStackedAlways } = this
return {
'b-table-stacked': isStackedAlways,
[`b-table-stacked-${this.stacked}`]: !isStackedAlways && this.isStacked
}
}
}
})