UNPKG

vexip-ui

Version:

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

1 lines 3.57 kB
{"version":3,"file":"title.mjs","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":";;;;AAMA,MAAeA,sBAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,OAAO,CAAE;AAAA,EACTC,MAAMC,GAAQ;AAAA,IAAEC,OAAAA;AAAAA,EAAM,GAAG;AACvB,UAAML,IAAQM,EAAS,SAASF,GAAQ;AAAA,MACtCG,MAAM;AAAA,MACNC,OAAO;AAAA,MACPC,KAAK;AAAA,MACLC,QAAQ;AAAA,MACRC,SAAS;AAAA,MACTC,MAAM;AAAA,MACNC,YAAY;AAAA,IACd,CAAC,GAEKC,IAAKC,EAAc,OAAO,GAE1BC,IAAgBC,EAAS,MAAMC,EAAQlB,EAAMa,UAAU,CAAC,GACxDA,IAAaI,EAAS,MAAMjB,EAAMa,cAAcb,EAAMO,IAAI,GAC1DY,IAAYF,EAAS,OAClB;AAAA,MACL,CAACH,EAAGM,EAAC,CAAE,GAAG;AAAA,MACV,CAACN,EAAGO,GAAG,MAAM,CAAC,GAAG;AAAA,MACjB,CAACP,EAAGQ,GAAG,SAAS,CAAC,GAAGtB,EAAMuB;AAAAA,MAC1B,CAACT,EAAGQ,GAAGtB,EAAMO,IAAI,CAAC,GAAGP,EAAMO,SAAS;AAAA,MACpC,CAACO,EAAGQ,GAAG,KAAK,CAAC,GAAGtB,EAAMS;AAAAA,MACtB,CAACK,EAAGQ,GAAG,QAAQ,CAAC,GAAGtB,EAAMU;AAAAA,MACzB,CAACI,EAAGQ,GAAG,SAAS,CAAC,GAAGtB,EAAMW;AAAAA,MAC1B,CAACG,EAAGQ,GAAG,MAAM,CAAC,GAAGtB,EAAMY;AAAAA,MACvB,CAACE,EAAGQ,GAAG,UAAUT,EAAWW,KAAK,EAAE,CAAC,GAClC,CAACR,EAAcQ,SAASX,EAAWW,UAAU;AAAA,IAChD,EACF,GACKhB,IAAQS,EAAS,MAAMQ,EAAWC,KAAKC,MAAM3B,EAAMQ,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GACrEoB,IAAQX,EAAS,MACdD,EAAcQ,QACjB;AAAA,MACA,CAACV,EAAGe,GAAG,cAAc,CAAC,GAAG7B,EAAMa;AAAAA,IACjC,IACE,IACL;AAED,WAAO,MAAM;AACX,YAAMiB,IAAY,IAAItB,EAAMgB,KAAK;AAEjC,aAAAO,EAAAD,GAAA;AAAA,QAAA,OACoBX,EAAUK;AAAAA,QAAK,OAASI,EAAMJ;AAAAA,MAAK,GAAA;AAAA,QAAAQ,SAAAA,MAAAA;;AAAA,mBAClD3B,IAAAA,EAAM2B,YAAN3B,gBAAAA,EAAAA,KAAAA,EAAiB;AAAA;AAAA,MAAA,CAAA;AAAA,IAGvB;AAAA,EACH;AACF,CAAC;"}