quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
33 lines (27 loc) • 981 B
JavaScript
import { h, computed } from 'vue'
import { createComponent } from '../../utils/private.create/create.js'
import { hSlot } from '../../utils/private.render/render.js'
export default createComponent({
name: 'QItemSection',
props: {
avatar: Boolean,
thumbnail: Boolean,
side: Boolean,
top: Boolean,
noWrap: Boolean
},
setup(props, { slots }) {
const classes = computed(
() =>
'q-item__section column' +
` q-item__section--${props.avatar === true || props.side === true || props.thumbnail === true ? 'side' : 'main'}` +
(props.top === true
? ' q-item__section--top justify-start'
: ' justify-center') +
(props.avatar === true ? ' q-item__section--avatar' : '') +
(props.thumbnail === true ? ' q-item__section--thumbnail' : '') +
(props.noWrap === true ? ' q-item__section--nowrap' : '')
)
return () => h('div', { class: classes.value }, hSlot(slots.default))
}
})