@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 3 kB
Source Map (JSON)
{"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}