@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
5 lines • 8.86 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{r as i,h as t,H as s,g as e}from"./index-BQlHOxik.js";import{_ as a}from"./tslib.es6-QNbPBOk5.js";import{B as o}from"./variant-quote-y0Z1TRdz.js";import{I as r}from"./component-DzaT2WlJ.js";import{T as l}from"./component-Dh0cPCxF.js";import{T as n}from"./controller-Bdve6A-Q.js";import{b as h,g as d,M as c,j as f}from"./common-Cx_AGO_M.js";import{S as m,s as p}from"./component-DvjvBJeK.js";import{v,a as u,b,c as k}from"./access-and-short-key-D734WtlX.js";import{v as g,a as j,b as _,c as y}from"./aria-expanded-hGdEA1jy.js";import{v as x}from"./custom-class-DlT-QmWF.js";import{v as C}from"./disabled-gyBUQRnY.js";import{v as A}from"./hide-label-6Bx1MH20.js";import{v as D}from"./href-Dp4go7zq.js";import{v as w}from"./icons-oAzMYWgV.js";import{v as V}from"./inline-DnwpECF8.js";import{a as T}from"./label-Fyi30H9j.js";import{v as B}from"./tooltip-align-mwhvx9nK.js";import{v as K}from"./variant-class-name-BCcQYpIV.js";import{b as O,e as I,c as R}from"./element-interaction-Bv-mPSBn.js";import{d as H,K as L}from"./events-VVvk1win.js";import{o as S}from"./ariaCurrentService-YoLNpD5S.js";import{t as W}from"./i18n-Br16IAnY.js";import{c as E}from"./clsx-COFh-Vc8.js";import"./normalizers-m3s9sgmq.js";import"./_Uint8Array-kJHDjtoP.js";import"./isArray-CcrBs4JM.js";import"./bem-registry-CWvl2xho.js";import"./align-floating-elements-D5XJiLiU.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./align-DxZmRFcp.js";import"./label-KTv-zMW0.js";import"./base-controller-CXhqh4cR.js";import"./element-focus-CRwW4N4R.js";import"./i18n-B2d_exHc.js";const F=["date","location","page","step","time","true","false"];const z=(i,t)=>{h(i,`_ariaCurrentValue`,(i=>typeof i==="string"&&F.includes(i)),new Set([`AriaCurrentValue {${F.join(", ")}`]),t,{defaultValue:"page"})};const M=(i,t)=>{d(i,"_ariaOwns",t,{defaultValue:undefined})};const P=(i,t)=>{d(i,"_download",t)};const Q=(i,t)=>{if(typeof t==="object"&&typeof(t===null||t===void 0?void 0:t.onClick)==="function"){i.state=Object.assign(Object.assign({},i.state),{_on:t})}};const q=(i,t)=>{d(i,"_target",t)};const J=class{constructor(t){i(this,t);this.ctaRef=R();this.tooltipCtrl=new n(o.stateLess);this.translateOpenLinkInTab=W("kol-open-link-in-tab");this.onClick=i=>{var t,s;this.tooltipCtrl.hideTooltip();if(this.state._disabled===true){i.preventDefault()}else{if(typeof((t=this.state._on)===null||t===void 0?void 0:t.onClick)==="function"){c(i,this.ctaRef.el);(s=this.state._on)===null||s===void 0?void 0:s.onClick(i,this.state._href)}if(this.host){H(this.host,L.click,this.state._href)}}};this.getRenderValues=()=>{const i=typeof this.state._target==="string"&&this.state._target!=="_self";const t={href:typeof this.state._href==="string"&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:typeof this.state._target==="string"&&this.state._target.length>0?this.state._target:undefined,rel:i?"noopener":undefined,download:typeof this.state._download==="string"?this.state._download:undefined};if(this.state._hideLabel===true&&!this.state._label){f(`[KolLink] An aria-label must be set when _hide-label is set.`)}return{isExternal:i,tagAttrs:t}};this._disabled=false;this._hideLabel=false;this._inline=true;this._tooltipAlign="right";this.state={_ariaCurrentValue:"page",_href:"",_icons:{}}}async focus(){}async click(){}render(){var i;const{isExternal:e,tagAttrs:a}=this.getRenderValues();const o=p(this.state._label);const n=(i=this.state._ariaDescription)===null||i===void 0?void 0:i.trim();return t(s,{key:"4ec894cf85b4e39361eb7001a0bb073a07527416"},t("a",Object.assign({key:"92604427272ad2f3d676ad375e18279979fd70f3",ref:this.ctaRef},a,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-controls":this.state._ariaControls,"aria-description":n||undefined,"aria-disabled":this.state._disabled?"true":undefined,"aria-expanded":typeof this.state._ariaExpanded==="boolean"?String(this.state._ariaExpanded):undefined,"aria-owns":this.state._ariaOwns,"aria-label":this.state._hideLabel&&typeof this.state._label==="string"?`${this.state._label}${e?` (${this.translateOpenLinkInTab})`:""}`:undefined,"aria-keyshortcuts":this.state._shortKey,class:E("kol-link",{"kol-link--disabled":this.state._disabled===true,"kol-link--external-link":e,"kol-link--hide-label":this.state._hideLabel===true,[`kol-link--${this.state._variant}`]:this.state._variant!==undefined,"kol-link--inline":this.state._inline===true,"kol-link--standalone":this.state._inline===false,[this.state._customClass]:this.state._variant==="custom"&&typeof this.state._customClass==="string"&&this.state._customClass.length>0})},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._disabled?-1:this.state._tabIndex}),t(m,{key:"35b2e3835032e2e906c0513d0cd859c0ab5b241f",class:"kol-link__text",badgeText:this.state._accessKey||this.state._shortKey,icons:this.state._icons,hideLabel:this.state._hideLabel,label:o?"":this.state._label||this.state._href},t("slot",{key:"499674edbdda752d1c2718ec4cea4574db4eb7ad",name:"expert",slot:"expert"})),e&&t(r,{key:"edbebe0db35b755c1c2eaaa93969b25d19dc3fd6",class:"kol-link__icon",label:this.state._hideLabel?"":this.translateOpenLinkInTab,icons:"kolicon-link-external","aria-hidden":this.state._hideLabel})),this.state._hideLabel===true&&!o&&t("div",{key:"881fe1237ddae06da94ea578fbe96211b0f0f2e8",class:"kol-link__tooltip"},t(l,{key:"e5553e15922cc7f41999f05b5539e4f93113ac84",badgeText:this.state._accessKey||this.state._shortKey||"",label:typeof this.state._label==="string"?this.state._label:typeof this.state._href==="string"?this.state._href:"",id:this.tooltipCtrl.getRenderProp("id"),refFloating:this.tooltipCtrl.setTooltipElementRef})))}validateAccessKey(i){v(this,i);u(i,this._shortKey)}validateAriaCurrentValue(i){z(this,i)}validateAriaControls(i){g(this,i)}validateAriaDescription(i){j(this,i)}validateAriaExpanded(i){_(this,i)}validateAriaOwns(i){M(this,i)}validateCustomClass(i){x(this,i)}validateDisabled(i){C(this,i)}validateDownload(i){P(this,i)}validateHideLabel(i){A(this,i)}validateHref(i){D(this,i,{required:true})}validateIcons(i){w(this,i)}validateInline(i){V(this,i,{defaultValue:true})}validateLabel(i){T(this,i);this.tooltipCtrl.watchLabel(typeof i==="string"?i:undefined)}validateOn(i){Q(this,i)}validateRole(i){y(this,i)}validateShortKey(i){b(this,i);u(this._accessKey,i)}validateTabIndex(i){k(this,i)}validateTarget(i){q(this,i)}validateTooltipAlign(i){B(this,i);this.tooltipCtrl.watchAlign(i)}validateVariantClassName(i){K(this,i)}componentWillLoad(){this.validateAccessKey(this._accessKey);this.validateAriaCurrentValue(this._ariaCurrentValue);this.validateAriaControls(this._ariaControls);this.validateAriaDescription(this._ariaDescription);this.validateAriaExpanded(this._ariaExpanded);this.validateAriaOwns(this._ariaOwns);this.validateCustomClass(this._customClass);this.validateDisabled(this._disabled);this.validateDownload(this._download);this.validateHideLabel(this._hideLabel);this.validateHref(this._href);this.validateIcons(this._icons);this.validateInline(this._inline);this.validateLabel(this._label);this.validateOn(this._on);this.validateRole(this._role);this.validateShortKey(this._shortKey);this.validateTabIndex(this._tabIndex);this.validateTarget(this._target);this.validateTooltipAlign(this._tooltipAlign);this.validateVariantClassName(this._variant);this.unsubscribeOnLocationChange=S((i=>{this.state._ariaCurrent=i===this.state._href?this.state._ariaCurrentValue:undefined}));u(this._accessKey,this._shortKey);this.tooltipCtrl.componentWillLoad({label:typeof this.state._label==="string"?this.state._label:typeof this.state._href==="string"?this.state._href:"",align:this._tooltipAlign})}componentDidRender(){if(this.ctaRef.el){this.tooltipCtrl.syncListeners(undefined,this.ctaRef.el,true)}}disconnectedCallback(){if(this.unsubscribeOnLocationChange){this.unsubscribeOnLocationChange()}this.tooltipCtrl.destroy()}get host(){return e(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaCurrentValue:["validateAriaCurrentValue"],_ariaControls:["validateAriaControls"],_ariaDescription:["validateAriaDescription"],_ariaExpanded:["validateAriaExpanded"],_ariaOwns:["validateAriaOwns"],_customClass:["validateCustomClass"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_inline:["validateInline"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_shortKey:["validateShortKey"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariantClassName"]}}};a([O("ctaRef")],J.prototype,"focus",null);a([I("ctaRef")],J.prototype,"click",null);export{J as kol_link_wc};
//# sourceMappingURL=kol-link-wc.entry.js.map