@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 6.92 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{r as i,h as t,H as e}from"./index-f0de5c73.js";import{o as s}from"./ariaCurrentService-6fe36ebc.js";import{p as a}from"./events-29e84d75.js";import{n as d}from"./dev.utils-0b748391.js";import{a as n,f as h,g as o}from"./component-names-6ca7e863.js";import{t as r}from"./i18n-5fe08f1c.js";import{v as l,a as c,b as f,c as b}from"./access-and-short-key-e094398d.js";import{w as u,i as v,n as p,j as m}from"./prop.validators-64749272.js";import{v as _}from"./href-cec41fcd.js";import{s as y}from"./reuse-32931294.js";import{v as g,a as j,b as k}from"./aria-expanded-9f877821.js";import{v as x}from"./disabled-e9084205.js";import{v as A}from"./hide-label-8c202307.js";import{v as w}from"./icons-c857b77d.js";import{a as C}from"./label-e8ec0e3a.js";import{v as K}from"./tooltip-align-5902aa96.js";import"./dev.utils-fab45cbc.js";import"./i18n-7ea9f137.js";import"./index-da3e0c00.js";import"./common-0f1f2276.js";import"./align-878fb132.js";const O=["date","location","page","step","time","true","false"],L=(t,a)=>{u(t,"_ariaCurrentValue",(t=>"string"==typeof t&&O.includes(t)),new Set([`AriaCurrentValue {${O.join(", ")}`]),a,{defaultValue:"page"})},T=(t,a)=>{v(t,"_ariaOwns",a,{defaultValue:void 0})},V=(t,a)=>{v(t,"_download",a)},D=(t,a)=>{"object"==typeof a&&"function"==typeof(null==a?void 0:a.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:a}))},I=(t,a)=>{v(t,"_target",a)},E=class{constructor(t){i(this,t),this.internalDescriptionById=d(),this.catchRef=t=>{this.anchorRef=t},this.onClick=t=>{var e,i;!0===this.state._disabled?a(t):"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),t.stopPropagation(),p(t,this.anchorRef),null===(i=this.state._on)||void 0===i||i.onClick(t,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,a={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:t?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||m("[KolLink] An aria-label must be set when _hide-label is set."),{isExternal:t,tagAttrs:a}},this._accessKey=void 0,this._ariaCurrentValue=void 0,this._ariaDescription=void 0,this._ariaExpanded=void 0,this._ariaOwns=void 0,this._disabled=!1,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._shortKey=void 0,this._tabIndex=void 0,this._target=void 0,this._tooltipAlign="right",this.state={_ariaCurrentValue:"page",_href:"",_icons:{}}}async kolFocus(){var t;null===(t=this.anchorRef)||void 0===t||t.focus()}render(){var a,i;const{isExternal:s,tagAttrs:l}=this.getRenderValues(),d=y(this.state._label),c=Boolean(null===(i=null===(a=this.state._ariaDescription)||void 0===a?void 0:a.trim())||void 0===i?void 0:i.length);return t(e,{key:"5da2a89adb469aa00911016bf83da8bc811d6afb",class:"kol-link-wc"},t("a",Object.assign({key:"5ba27442fb12021bcd40b2bbea3458ba90319ee7",ref:this.catchRef},l,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-describedby":c?this.internalDescriptionById:void 0,"aria-disabled":this.state._disabled?"true":void 0,"aria-expanded":"boolean"==typeof this.state._ariaExpanded?String(this.state._ariaExpanded):void 0,"aria-owns":this.state._ariaOwns,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?`${this.state._label}${s?` (${r("kol-open-link-in-tab")})`:""}`:void 0,class:{disabled:!0===this.state._disabled,"external-link":s,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._disabled?-1:this.state._tabIndex}),t(h,{key:"cff45aabbf830b45a1606d21b310946fc4107c25",_badgeText:this.state._accessKey||this.state._shortKey,_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:d?"":this.state._label||this.state._href},t("slot",{key:"e1e4856db3aae514a7cfab6221171f64a9ad786e",name:"expert",slot:"expert"})),s&&t(o,{key:"3baff63f0c231d434d7b7b00bd561ce9c4388c44",class:"external-link-icon",_label:this.state._hideLabel?"":r("kol-open-link-in-tab"),_icons:"codicon codicon-link-external","aria-hidden":this.state._hideLabel})),t(n,{key:"e40f46350a2b28542eddc16bf75378cc66e5eb42","aria-hidden":"true",hidden:d||!this.state._hideLabel,_badgeText:this.state._accessKey||this.state._shortKey,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}),c&&t("span",{key:"da48986516bb270a3077d5c98c5603e55f9a9f42",class:"visually-hidden",id:this.internalDescriptionById},this.state._ariaDescription))}validateAccessKey(t){l(this,t),c(t,this._shortKey)}validateAriaCurrentValue(t){L(this,t)}validateAriaDescription(t){g(this,t)}validateAriaExpanded(t){j(this,t)}validateAriaOwns(t){T(this,t)}validateDisabled(t){x(this,t)}validateDownload(t){V(this,t)}validateHideLabel(t){A(this,t)}validateHref(t){_(this,t,{required:!0})}validateIcons(t){w(this,t)}validateLabel(t){C(this,t)}validateOn(t){D(this,t)}validateRole(t){k(this,t)}validateShortKey(t){f(this,t),c(this._accessKey,t)}validateTabIndex(t){b(this,t)}validateTarget(t){I(this,t)}validateTooltipAlign(t){K(this,t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateAriaDescription(this._ariaDescription),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaOwns(this._ariaOwns),this.validateDisabled(this._disabled),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),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.unsubscribeOnLocationChange=s((t=>{this.state._ariaCurrent=t===this.state._href?this.state._ariaCurrentValue:void 0})),c(this._accessKey,this._shortKey)}disconnectedCallback(){this.unsubscribeOnLocationChange&&this.unsubscribeOnLocationChange()}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaCurrentValue:["validateAriaCurrentValue"],_ariaDescription:["validateAriaDescription"],_ariaExpanded:["validateAriaExpanded"],_ariaOwns:["validateAriaOwns"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_shortKey:["validateShortKey"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"]}}};export{E as kol_link_wc};