import { computed, defineComponent } from 'vue' import { SHCardProps } from './type' import { useVariants } from '../../hooks/useVariants' import { Component } from '../../model/enum/component' import { getVariantPropsWithClassesList } from '../../helpers/getVariantProps' import { classMerge } from '../../utils/classUtil' export default defineComponent({ name: Component.SHCard, props: { ...getVariantPropsWithClassesList(), title: { type: String, default: null }, shadow: { type: Boolean, default: false } }, setup(props, { slots }) { const variant = computed(() => { return useVariants(Component.SHCard, props) }) const componentClasses = computed(() => { const currentClass = [ variant.value.root, { [variant.value.shadow as string]: props.shadow } ] return classMerge(currentClass) }) return () => (
{props.title ? (
{props.title}
) : ( '' )} {slots.default ? slots.default() : ''}
) } })