UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

1 lines 4.27 kB
{"version":3,"file":"card.vue2.mjs","sources":["../../../components/card/card.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { Renderer } from '@/components/renderer'\r\n\r\nimport { computed } from 'vue'\r\n\r\nimport { useNameHelper, useProps } from '@vexip-ui/config'\r\nimport { cardProps } from './props'\r\n\r\nimport type { CardShadowType, CardSlots } from './symbol'\r\n\r\ndefineOptions({ name: 'Card' })\r\n\r\nconst _props = defineProps(cardProps)\r\nconst props = useProps('card', _props, {\r\n title: '',\r\n shadow: {\r\n default: 'always' as CardShadowType,\r\n validator: (value: CardShadowType) => ['always', 'hover', 'never'].includes(value),\r\n },\r\n contentStyle: () => ({}),\r\n slots: () => ({}),\r\n})\r\n\r\nconst slots = defineSlots<CardSlots>()\r\n\r\nconst nh = useNameHelper('card')\r\n\r\nconst className = computed(() => {\r\n return [\r\n nh.b(),\r\n nh.bs('vars'),\r\n nh.bm(`shadow-${props.shadow}`),\r\n {\r\n [nh.bm('inherit')]: props.inherit,\r\n },\r\n ]\r\n})\r\nconst hasTitle = computed(() => !!(slots.title || props.title || props.slots.title))\r\nconst hasExtra = computed(() => !!(slots.extra || props.slots.extra))\r\nconst hasHeader = computed(() => !!slots.header || hasTitle.value || hasExtra.value)\r\n</script>\r\n\r\n<template>\r\n <article :class=\"className\">\r\n <div v-if=\"hasHeader\" :class=\"nh.be('header')\">\r\n <slot name=\"header\">\r\n <Renderer :renderer=\"props.slots.header\">\r\n <div v-if=\"hasTitle\" :class=\"nh.be('title')\">\r\n <slot name=\"title\">\r\n <Renderer :renderer=\"props.slots.title\">\r\n {{ props.title }}\r\n </Renderer>\r\n </slot>\r\n </div>\r\n <div v-if=\"hasExtra\" :class=\"nh.be('extra')\">\r\n <slot name=\"extra\">\r\n <Renderer :renderer=\"props.slots.extra\"></Renderer>\r\n </slot>\r\n </div>\r\n </Renderer>\r\n </slot>\r\n </div>\r\n <div :class=\"nh.be('content')\" :style=\"props.contentStyle\">\r\n <slot>\r\n <Renderer :renderer=\"props.slots.default\"></Renderer>\r\n </slot>\r\n </div>\r\n </article>\r\n</template>\r\n"],"names":["props","useProps","__props","value","slots","_useSlots","nh","useNameHelper","className","computed","hasTitle","hasExtra","hasHeader","_createElementBlock","_normalizeClass","_unref","_renderSlot","_ctx","_createVNode","Renderer","_createTextVNode","_toDisplayString","_createElementVNode","_normalizeStyle"],"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,EAAwB,GAEhCC,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;2BAIjFE,EAwBU,WAAA;AAAA,MAxBA,SAAOL,EAAS,KAAA;AAAA,IAAA;MACbI,EAAS,cAApBC,EAiBM,OAAA;AAAA;QAjBiB,OAAKC,EAAEC,EAAET,CAAA,EAAC,GAAE,QAAA,CAAA;AAAA,MAAA;QACjCU,EAeOC,wBAfP,MAeO;AAAA,UAdLC,EAaWH,EAAAI,CAAA,GAAA;AAAA,YAbA,UAAUJ,EAAAf,CAAA,EAAM,MAAM;AAAA,UAAA;uBAC/B,MAMM;AAAA,cANKU,EAAQ,cAAnBG,EAMM,OAAA;AAAA;gBANgB,OAAKC,EAAEC,EAAET,CAAA,EAAC,GAAE,OAAA,CAAA;AAAA,cAAA;gBAChCU,EAIOC,uBAJP,MAIO;AAAA,kBAHLC,EAEWH,EAAAI,CAAA,GAAA;AAAA,oBAFA,UAAUJ,EAAAf,CAAA,EAAM,MAAM;AAAA,kBAAA;+BAC/B,MAAiB;AAAA,sBAAdoB,EAAAC,EAAAN,EAAAf,CAAA,EAAM,KAAK,GAAA,CAAA;AAAA,oBAAA;;;;;cAITW,EAAQ,cAAnBE,EAIM,OAAA;AAAA;gBAJgB,OAAKC,EAAEC,EAAET,CAAA,EAAC,GAAE,OAAA,CAAA;AAAA,cAAA;gBAChCU,EAEOC,uBAFP,MAEO;AAAA,kBADLC,EAAmDH,EAAAI,CAAA,GAAA;AAAA,oBAAxC,UAAUJ,EAAAf,CAAA,EAAM,MAAM;AAAA,kBAAA;;;;;;;;MAM3CsB,EAIM,OAAA;AAAA,QAJA,OAAKR,EAAEC,EAAET,CAAA,EAAC,GAAE,SAAA,CAAA;AAAA,QAAc,OAAKiB,EAAER,EAAKf,CAAA,EAAC,YAAY;AAAA,MAAA;QACvDgB,EAEOC,yBAFP,MAEO;AAAA,UADLC,EAAqDH,EAAAI,CAAA,GAAA;AAAA,YAA1C,UAAUJ,EAAAf,CAAA,EAAM,MAAM;AAAA,UAAA;;;;;;"}