quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
35 lines (27 loc) • 974 B
JavaScript
import { h, computed, getCurrentInstance } from 'vue'
import { createComponent } from '../../utils/private/create.js'
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
import { hSlot } from '../../utils/private/render.js'
export default createComponent({
name: 'QList',
props: {
...useDarkProps,
bordered: Boolean,
dense: Boolean,
separator: Boolean,
padding: Boolean
},
setup (props, { slots }) {
const vm = getCurrentInstance()
const isDark = useDark(props, vm.proxy.$q)
const classes = computed(() =>
'q-list'
+ (props.bordered === true ? ' q-list--bordered' : '')
+ (props.dense === true ? ' q-list--dense' : '')
+ (props.separator === true ? ' q-list--separator' : '')
+ (isDark.value === true ? ' q-list--dark' : '')
+ (props.padding === true ? ' q-list--padding' : '')
)
return () => h('div', { class: classes.value }, hSlot(slots.default))
}
})