@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 1.53 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{_ as __rest}from"./tslib.es6.js";import{h}from"@stencil/core/internal/client";import{c as clsx}from"./clsx.js";const MIN_HEADING_LEVEL=1,MAX_HEADING_LEVEL=6;function isValidHeadingLevel(e){return e>=MIN_HEADING_LEVEL&&e<=6}function getHeadlineTag(e){return isValidHeadingLevel(e)?`h${e}`:"strong"}function getSubHeadlineTag(e){return 1===e?"span":getHeadlineTag(e)}const KolHeadlineFc=(e,l)=>{var{class:s,level:a=MIN_HEADING_LEVEL}=e,n=__rest(e,["class","level"]);const c=getHeadlineTag(a);return h(c,Object.assign({class:clsx("kol-headline",`kol-headline--${c}`,s)},n),l)},KolSecondaryHeadlineFc=(e,l)=>{var{class:s,level:a=MIN_HEADING_LEVEL}=e,n=__rest(e,["class","level"]);const c=getSubHeadlineTag(a+1);return h(c,Object.assign({class:clsx("kol-headline kol-headline--group kol-headline--secondary",s)},n),l)},KolHeadingFc=(e,l)=>{var{secondaryHeadline:s,level:a=MIN_HEADING_LEVEL,class:n,HeadingGroupProps:c={},SecondaryHeadlineProps:i={}}=e,o=__rest(e,["secondaryHeadline","level","class","HeadingGroupProps","SecondaryHeadlineProps"]);const r=Object.assign({level:a},o);if(!s)return h(KolHeadlineFc,Object.assign({class:clsx(n,"kol-headline--single")},r),l);const{class:t}=c,d=__rest(c,["class"]),g=Object.assign({class:clsx("kol-heading-group",t)},d);return h("hgroup",Object.assign({},g),h(KolHeadlineFc,Object.assign({class:clsx(n,"kol-headline--group","kol-headline--primary")},r),l),h(KolSecondaryHeadlineFc,Object.assign({level:a},i),s))};export{KolHeadingFc as K};