{"version":3,"file":"card.vue2.mjs","sources":["../../../components/card/card.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Renderer } from '@/components/renderer'\n\nimport { computed } from 'vue'\n\nimport { useNameHelper, useProps } from '@vexip-ui/config'\nimport { cardProps } from './props'\n\nimport type { CardShadowType, CardSlots } from './symbol'\n\ndefineOptions({ name: 'Card' })\n\nconst _props = defineProps(cardProps)\nconst props = useProps('card', _props, {\n  title: '',\n  shadow: {\n    default: 'always' as CardShadowType,\n    validator: (value: CardShadowType) => ['always', 'hover', 'never'].includes(value)\n  },\n  contentStyle: () => ({}),\n  slots: () => ({})\n})\n\nconst slots = defineSlots<CardSlots>()\n\nconst nh = useNameHelper('card')\n\nconst className = computed(() => {\n  return [\n    nh.b(),\n    nh.bs('vars'),\n    nh.bm(`shadow-${props.shadow}`),\n    {\n      [nh.bm('inherit')]: props.inherit\n    }\n  ]\n})\nconst hasTitle = computed(() => !!(slots.title || props.title || props.slots.title))\nconst hasExtra = computed(() => !!(slots.extra || props.slots.extra))\nconst hasHeader = computed(() => !!slots.header || hasTitle.value || hasExtra.value)\n</script>\n\n<template>\n  <article :class=\"className\">\n    <div v-if=\"hasHeader\" :class=\"nh.be('header')\">\n      <slot name=\"header\">\n        <Renderer :renderer=\"props.slots.header\">\n          <div v-if=\"hasTitle\" :class=\"nh.be('title')\">\n            <slot name=\"title\">\n              <Renderer :renderer=\"props.slots.title\">\n                {{ props.title }}\n              </Renderer>\n            </slot>\n          </div>\n          <div v-if=\"hasExtra\" :class=\"nh.be('extra')\">\n            <slot name=\"extra\">\n              <Renderer :renderer=\"props.slots.extra\"></Renderer>\n            </slot>\n          </div>\n        </Renderer>\n      </slot>\n    </div>\n    <div :class=\"nh.be('content')\" :style=\"props.contentStyle\">\n      <slot>\n        <Renderer :renderer=\"props.slots.default\"></Renderer>\n      </slot>\n    </div>\n  </article>\n</template>\n"],"names":["props","useProps","__props","value","slots","_useSlots","nh","useNameHelper","className","computed","hasTitle","hasExtra","hasHeader"],"mappings":";;;;;;;;;;AAaM,UAAAA,IAAQC,EAAS,QADRC,GACwB;AAAA,MACrC,OAAO;AAAA,MACP,QAAQ;AAAA,QACN,SAAS;AAAA,QACT,WAAW,CAACC,MAA0B,CAAC,UAAU,SAAS,OAAO,EAAE,SAASA,CAAK;AAAA,MACnF;AAAA,MACA,cAAc,OAAO,CAAA;AAAA,MACrB,OAAO,OAAO,CAAC;AAAA,IAAA,CAChB,GAEKC,IAAQC,EAAA,GAERC,IAAKC,EAAc,MAAM,GAEzBC,IAAYC,EAAS,MAClB;AAAA,MACLH,EAAG,EAAE;AAAA,MACLA,EAAG,GAAG,MAAM;AAAA,MACZA,EAAG,GAAG,UAAUN,EAAM,MAAM,EAAE;AAAA,MAC9B;AAAA,QACE,CAACM,EAAG,GAAG,SAAS,CAAC,GAAGN,EAAM;AAAA,MAAA;AAAA,IAE9B,CACD,GACKU,IAAWD,EAAS,MAAM,CAAC,EAAEL,EAAM,SAASJ,EAAM,SAASA,EAAM,MAAM,MAAM,GAC7EW,IAAWF,EAAS,MAAM,CAAC,EAAEL,EAAM,SAASJ,EAAM,MAAM,MAAM,GAC9DY,IAAYH,EAAS,MAAM,CAAC,CAACL,EAAM,UAAUM,EAAS,SAASC,EAAS,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}