@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 2.98 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{w as watchHeadingLevel}from"./validation.js";import{w as watchValidator,e as watchString}from"./prop.validators.js";import{a as validateLabelWithExpertSlot}from"./label.js";const headingVariantPropTypeOptions=["h1","h2","h3","h4","h5","h6","strong"],validateHeadingVariant=(e,a)=>{watchValidator(e,"_variant",(e=>"string"==typeof e&&headingVariantPropTypeOptions.includes(e)),new Set([`KoliBriHeadingVariant {${headingVariantPropTypeOptions.join(", ")}`]),a)},KolHeadingWc$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.renderHeadline=(e,a)=>{const t="number"==typeof a&&a>0&&a<=6?`h${a}`:"strong",i=this._variant||t;return h(t,{class:{headline:!0,[`headline-${i}`]:!0}},e,h("slot",{name:"expert"}))},this.renderSecondaryHeadline=(e,a)=>{switch(a){case 1:return h("span",{class:"secondary-headline"},e);case 2:return h("h2",{class:"secondary-headline"},e);case 3:return h("h3",{class:"secondary-headline"},e);case 4:return h("h4",{class:"secondary-headline"},e);case 5:return h("h5",{class:"secondary-headline"},e);case 6:return h("h6",{class:"secondary-headline"},e);default:return h("strong",{class:"secondary-headline"},e)}},this._label=void 0,this._level=1,this._secondaryHeadline=void 0,this._variant=void 0,this.state={_label:"",_level:1}}validateLabel(e){validateLabelWithExpertSlot(this,e)}validateLevel(e){watchHeadingLevel(this,e)}validateSecondaryHeadline(e){watchString(this,"_secondaryHeadline",e)}validateVariant(e){validateHeadingVariant(this,e)}componentWillLoad(){this.validateLabel(this._label),this.validateLevel(this._level),this.validateSecondaryHeadline(this._secondaryHeadline),this.validateVariant(this._variant)}render(){return h(Host,{key:"e7bbeab369d3089ea0c1e7ca52e8bb97720ec061",class:"kol-heading-wc"},"string"==typeof this.state._secondaryHeadline&&this.state._secondaryHeadline.length>0?h("hgroup",null,this.renderHeadline(this.state._label,this.state._level),this.state._secondaryHeadline&&this.renderSecondaryHeadline(this.state._secondaryHeadline,this.state._level+1)):this.renderHeadline(this.state._label,this.state._level))}static get watchers(){return{_label:["validateLabel"],_level:["validateLevel"],_secondaryHeadline:["validateSecondaryHeadline"],_variant:["validateVariant"]}}},[4,"kol-heading-wc",{_label:[1],_level:[2],_secondaryHeadline:[1,"_secondary-headline"],_variant:[1],state:[32]},void 0,{_label:["validateLabel"],_level:["validateLevel"],_secondaryHeadline:["validateSecondaryHeadline"],_variant:["validateVariant"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-heading-wc"].forEach((e=>{if("kol-heading-wc"===e)customElements.get(e)||customElements.define(e,KolHeadingWc$1)}))}const KolHeadingWc=KolHeadingWc$1,defineCustomElement=defineCustomElement$1;export{KolHeadingWc,defineCustomElement};