@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 3.69 kB
Source Map (JSON)
{"version":3,"file":"title.mjs","sources":["../../../components/typography/title.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue'\r\n\r\nimport { useNameHelper, useProps } from '@vexip-ui/config'\r\nimport { boundRange, isColor } from '@vexip-ui/utils'\r\nimport { titleProps } from './props'\r\n\r\nexport default defineComponent({\r\n name: 'Title',\r\n props: titleProps,\r\n emits: [],\r\n setup(_props, { slots }) {\r\n const props = useProps('title', _props, {\r\n type: 'default',\r\n level: 5,\r\n top: false,\r\n marker: false,\r\n aligned: false,\r\n thin: false,\r\n markerType: null,\r\n })\r\n\r\n const nh = useNameHelper('title')\r\n\r\n const coloredMarker = computed(() => isColor(props.markerType))\r\n const markerType = computed(() => props.markerType || props.type)\r\n const className = computed(() => {\r\n return {\r\n [nh.b()]: true,\r\n [nh.bs('vars')]: true,\r\n [nh.bm('inherit')]: props.inherit,\r\n [nh.bm(props.type)]: props.type !== 'default',\r\n [nh.bm('top')]: props.top,\r\n [nh.bm('marker')]: props.marker,\r\n [nh.bm('aligned')]: props.aligned,\r\n [nh.bm('thin')]: props.thin,\r\n [nh.bm(`marker-${markerType.value}`)]:\r\n !coloredMarker.value && markerType.value !== 'default',\r\n }\r\n })\r\n const level = computed(() => boundRange(Math.round(props.level), 1, 6) || 5)\r\n const style = computed(() => {\r\n return coloredMarker.value\r\n ? {\r\n [nh.cv('marker-color')]: props.markerType,\r\n }\r\n : null\r\n })\r\n\r\n return () => {\r\n const CustomTag = `h${level.value}` as any\r\n\r\n return (\r\n <CustomTag class={className.value} style={style.value}>\r\n {slots.default?.()}\r\n </CustomTag>\r\n )\r\n }\r\n },\r\n})\r\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;"}