@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 7.81 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{r as i,h as t,H as s,g as e}from"./index-136f59ac.js";import{w as a,A as n,I as d,D as o,l as h}from"./index-88dea7b1.js";import{o as l}from"./ariaCurrentService-6fe36ebc.js";import{d as r,K as c}from"./events-5886c68b.js";import{n as f}from"./dev.utils-77f0b548.js";import{f as u,d as b}from"./component-names-799e91e2.js";import{t as v}from"./i18n-01abf777.js";import{v as p,a as m,b as _,c as k}from"./access-and-short-key-753466cb.js";import{c as j}from"./clsx-09a06a12.js";import"./bem-e4c3a2e6.js";import{K as g}from"./Span-89b9ae45.js";import{v as y}from"./href-7f134614.js";import{v as x,a as A,b as w,c as C}from"./button-variant-d6a980cf.js";import{v as K}from"./custom-class-30e531d5.js";import{v as O}from"./disabled-e64a9155.js";import{v as V}from"./hide-label-418cc5c0.js";import{v as I}from"./icons-acf365fd.js";import{a as T}from"./label-5982d241.js";import{v as D}from"./tooltip-align-4c18152e.js";import"./i18n-45224cc3.js";import"./browser-f629a56a.js";import"./tslib.es6-1173d062.js";import"./Icon-faa6cbca.js";import"./markdown-f827f2ac.js";import"./InternalUnderlinedBadgeText-2e08c7cb.js";import"./isArray-7a60fa7f.js";import"./isObject-ffcbbb76.js";import"./align-a05c3d17.js";const L=["date","location","page","step","time","true","false"],S=(t,i)=>{a(t,"_ariaCurrentValue",(t=>"string"==typeof t&&L.includes(t)),new Set([`AriaCurrentValue {${L.join(", ")}`]),i,{defaultValue:"page"})},E=(t,a)=>{n(t,"_ariaOwns",a,{defaultValue:void 0})},H=(t,a)=>{n(t,"_download",a)},$=(t,a)=>{"object"==typeof a&&"function"==typeof(null==a?void 0:a.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:a}))},B=(t,a)=>{n(t,"_target",a)},R=class{constructor(t){i(this,t),this.internalDescriptionById=f(),this.catchRef=t=>{this.anchorRef=t},this.onClick=t=>{var a,i;!0===this.state._disabled?t.preventDefault():("function"==typeof(null===(a=this.state._on)||void 0===a?void 0:a.onClick)&&(t.preventDefault(),d(t,this.anchorRef),null===(i=this.state._on)||void 0===i||i.onClick(t,this.state._href)),this.host&&r(this.host,c.click,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||o("[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._customClass=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._variant="normal",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:e,tagAttrs:l}=this.getRenderValues(),o=h(this.state._label),r=Boolean(null===(i=null===(a=this.state._ariaDescription)||void 0===a?void 0:a.trim())||void 0===i?void 0:i.length);return t(s,{key:"587357d002a1ea7744990f5ce802f96af6baef5a"},t("a",Object.assign({key:"7f3fc17c83bbcfdc184b5edea97d25ce06f55227",ref:this.catchRef},l,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-describedby":r?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}${e?` (${v("kol-open-link-in-tab")})`:""}`:void 0,class:j("kol-link",{"kol-link--disabled":!0===this.state._disabled,"kol-link--external-link":e,"kol-link--hide-label":!0===this.state._hideLabel,[`kol-link--${this.state._variant}`]:"button"===this.state._role&&"custom"!==this.state._variant,[this.state._customClass]:"custom"===this.state._variant&&"string"==typeof this.state._customClass&&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(g,{key:"b806611a5bb089b415a07d55dd6c070c9703c886",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:"5a40e834255ae54cf719dd51a521e92874c89c47",name:"expert",slot:"expert"})),e&&t(b,{key:"f757a3dc5c051df590dc7048ae15a26e8c28ea8b",class:"kol-link__icon",_label:this.state._hideLabel?"":v("kol-open-link-in-tab"),_icons:"codicon codicon-link-external","aria-hidden":this.state._hideLabel})),t(u,{key:"1fd1e9b9fcae9a8505f29cc6962d742670d96f84","aria-hidden":"true",class:"kol-link__tooltip",hidden:o||!this.state._hideLabel,_badgeText:this.state._accessKey||this.state._shortKey,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}),r&&t("span",{key:"4d5d88f8b21c251476b31533e8c54318fd087b27",class:"visually-hidden",id:this.internalDescriptionById},this.state._ariaDescription))}validateAccessKey(t){p(this,t),m(t,this._shortKey)}validateAriaCurrentValue(t){S(this,t)}validateAriaDescription(t){x(this,t)}validateAriaExpanded(t){A(this,t)}validateAriaOwns(t){E(this,t)}validateCustomClass(t){K(this,t)}validateDisabled(t){O(this,t)}validateDownload(t){H(this,t)}validateHideLabel(t){V(this,t)}validateHref(t){y(this,t,{required:!0})}validateIcons(t){I(this,t)}validateLabel(t){T(this,t)}validateOn(t){$(this,t)}validateRole(t){w(this,t)}validateShortKey(t){_(this,t),m(this._accessKey,t)}validateTabIndex(t){k(this,t)}validateTarget(t){B(this,t)}validateTooltipAlign(t){D(this,t)}validateVariant(t){C(this,t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaCurrentValue(this._ariaCurrentValue),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.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.validateVariant(this._variant),this.unsubscribeOnLocationChange=l((t=>{this.state._ariaCurrent=t===this.state._href?this.state._ariaCurrentValue:void 0})),m(this._accessKey,this._shortKey)}disconnectedCallback(){this.unsubscribeOnLocationChange&&this.unsubscribeOnLocationChange()}get host(){return e(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaCurrentValue:["validateAriaCurrentValue"],_ariaDescription:["validateAriaDescription"],_ariaExpanded:["validateAriaExpanded"],_ariaOwns:["validateAriaOwns"],_customClass:["validateCustomClass"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_shortKey:["validateShortKey"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};export{R as kol_link_wc};