@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 1.56 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,variant:n}=e,i=__rest(e,["class","level","variant"]);const c=getHeadlineTag(a),r=n||c;return h(c,Object.assign({class:clsx("kol-headline",`kol-headline--${r}`,s)},i),l)},KolSecondaryHeadlineFc=(e,l)=>{var{class:s,level:a=MIN_HEADING_LEVEL}=e,n=__rest(e,["class","level"]);const i=getSubHeadlineTag(a+1);return h(i,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:i={},SecondaryHeadlineProps:c={}}=e,r=__rest(e,["secondaryHeadline","level","class","HeadingGroupProps","SecondaryHeadlineProps"]);const o=Object.assign({level:a},r);if(!s)return h(KolHeadlineFc,Object.assign({class:clsx(n,"kol-headline--single")},o),l);const{class:t}=i,d=__rest(i,["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")},o),l),h(KolSecondaryHeadlineFc,Object.assign({level:a},c),s))};export{KolHeadingFc as K};