UNPKG

quasar

Version:

Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time

39 lines (29 loc) 1.01 kB
import { h, computed, getCurrentInstance } from 'vue' import useDark, { useDarkProps } from '../../composables/private.use-dark/use-dark.js' import { createComponent } from '../../utils/private.create/create.js' import { hSlot } from '../../utils/private.render/render.js' export default createComponent({ name: 'QCard', props: { ...useDarkProps, tag: { type: String, default: 'div' }, square: Boolean, flat: Boolean, bordered: Boolean }, setup (props, { slots }) { const { proxy: { $q } } = getCurrentInstance() const isDark = useDark(props, $q) const classes = computed(() => 'q-card' + (isDark.value === true ? ' q-card--dark q-dark' : '') + (props.bordered === true ? ' q-card--bordered' : '') + (props.square === true ? ' q-card--square no-border-radius' : '') + (props.flat === true ? ' q-card--flat no-shadow' : '') ) return () => h(props.tag, { class: classes.value }, hSlot(slots.default)) } })