vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 3.44 kB
Source Map (JSON)
{"version":3,"file":"title.cjs","sources":["../../../components/typography/title.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue'\n\nimport { useNameHelper, useProps } from '@vexip-ui/config'\nimport { boundRange, isColor } from '@vexip-ui/utils'\nimport { titleProps } from './props'\n\nexport default defineComponent({\n name: 'Title',\n props: titleProps,\n emits: [],\n setup(_props, { slots }) {\n const props = useProps('title', _props, {\n type: 'default',\n level: 5,\n top: false,\n marker: false,\n aligned: false,\n thin: false,\n markerType: null,\n })\n\n const nh = useNameHelper('title')\n\n const coloredMarker = computed(() => isColor(props.markerType))\n const markerType = computed(() => props.markerType || props.type)\n const className = computed(() => {\n return {\n [nh.b()]: true,\n [nh.bs('vars')]: true,\n [nh.bm('inherit')]: props.inherit,\n [nh.bm(props.type)]: props.type !== 'default',\n [nh.bm('top')]: props.top,\n [nh.bm('marker')]: props.marker,\n [nh.bm('aligned')]: props.aligned,\n [nh.bm('thin')]: props.thin,\n [nh.bm(`marker-${markerType.value}`)]:\n !coloredMarker.value && markerType.value !== 'default',\n }\n })\n const level = computed(() => boundRange(Math.round(props.level), 1, 6) || 5)\n const style = computed(() => {\n return coloredMarker.value\n ? {\n [nh.cv('marker-color')]: props.markerType,\n }\n : null\n })\n\n return () => {\n const CustomTag = `h${level.value}` as any\n\n return (\n <CustomTag class={className.value} style={style.value}>\n {slots.default?.()}\n </CustomTag>\n )\n }\n },\n})\n"],"names":["defineComponent","name","props","titleProps","emits","setup","_props","slots","useProps","type","level","top","marker","aligned","thin","markerType","nh","useNameHelper","coloredMarker","computed","isColor","className","b","bs","bm","inherit","value","boundRange","Math","round","style","cv","CustomTag","_createVNode","default"],"mappings":"wHAMeA,oBAAgB,CAC7BC,KAAM,QACNC,MAAOC,EAAU,WACjBC,MAAO,CAAE,EACTC,MAAMC,EAAQ,CAAEC,MAAAA,CAAM,EAAG,CACvB,MAAML,EAAQM,EAAAA,SAAS,QAASF,EAAQ,CACtCG,KAAM,UACNC,MAAO,EACPC,IAAK,GACLC,OAAQ,GACRC,QAAS,GACTC,KAAM,GACNC,WAAY,IACd,CAAC,EAEKC,EAAKC,EAAa,cAAC,OAAO,EAE1BC,EAAgBC,EAAAA,SAAS,IAAMC,EAAO,QAAClB,EAAMa,UAAU,CAAC,EACxDA,EAAaI,EAAAA,SAAS,IAAMjB,EAAMa,YAAcb,EAAMO,IAAI,EAC1DY,EAAYF,EAAAA,SAAS,KAClB,CACL,CAACH,EAAGM,EAAC,CAAE,EAAG,GACV,CAACN,EAAGO,GAAG,MAAM,CAAC,EAAG,GACjB,CAACP,EAAGQ,GAAG,SAAS,CAAC,EAAGtB,EAAMuB,QAC1B,CAACT,EAAGQ,GAAGtB,EAAMO,IAAI,CAAC,EAAGP,EAAMO,OAAS,UACpC,CAACO,EAAGQ,GAAG,KAAK,CAAC,EAAGtB,EAAMS,IACtB,CAACK,EAAGQ,GAAG,QAAQ,CAAC,EAAGtB,EAAMU,OACzB,CAACI,EAAGQ,GAAG,SAAS,CAAC,EAAGtB,EAAMW,QAC1B,CAACG,EAAGQ,GAAG,MAAM,CAAC,EAAGtB,EAAMY,KACvB,CAACE,EAAGQ,GAAG,UAAUT,EAAWW,KAAK,EAAE,CAAC,EAClC,CAACR,EAAcQ,OAASX,EAAWW,QAAU,SAChD,EACF,EACKhB,EAAQS,EAAAA,SAAS,IAAMQ,EAAAA,WAAWC,KAAKC,MAAM3B,EAAMQ,KAAK,EAAG,EAAG,CAAC,GAAK,CAAC,EACrEoB,EAAQX,EAAAA,SAAS,IACdD,EAAcQ,MACjB,CACA,CAACV,EAAGe,GAAG,cAAc,CAAC,EAAG7B,EAAMa,UACjC,EACE,IACL,EAED,MAAO,IAAM,CACX,MAAMiB,EAAY,IAAItB,EAAMgB,KAAK,GAEjC,OAAAO,EAAAA,YAAAD,EAAA,CAAA,MACoBX,EAAUK,MAAK,MAASI,EAAMJ,KAAK,EAAA,CAAAQ,QAAAA,IAAAA,OAAA,QAClD3B,EAAAA,EAAM2B,UAAN3B,YAAAA,EAAAA,KAAAA,EAAiB,EAAA,CAAA,CAGvB,CACH,CACF,CAAC"}