@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 9.16 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
"use strict";var index=require("./index-C3uXtd6W.js"),componentNames=require("./component-names-Bu9hV7OT.js"),common=require("./common-1pTy2kta.js"),reuse=require("./reuse-Cs36Ddzu.js"),accessAndShortKey=require("./access-and-short-key-DwC1Fz3j.js"),buttonVariant=require("./button-variant-BBuSbF-9.js"),customClass=require("./custom-class-QzhrlAuN.js"),disabled=require("./disabled-CaeFOFNv.js"),hideLabel=require("./hide-label-DJdjz8C9.js"),href=require("./href-DbWhzuXj.js"),icons=require("./icons-DIWMA5U2.js"),inline=require("./inline-D-mXNqRI.js"),label=require("./label-6ELpV3zN.js"),tooltipAlign=require("./tooltip-align-Bmn7e65O.js"),events=require("./events-Cd8febUV.js"),ariaCurrentService=require("./ariaCurrentService-3051l6MI.js"),clsx=require("./clsx-CkZlkaek.js");require("./Alert-CpYj4v7g.js");var i18n=require("./i18n-D4Klw_bZ.js"),Span=require("./Span-CnRW44mB.js");require("./align-CZMTZlEl.js"),require("./tslib.es6-7DbU_BSw.js"),require("./bem-DQRepkGo.js"),require("./browser-XJa5sCFp.js"),require("./Heading-CFrR8SYV.js"),require("./i18n-yHKQt1gl.js"),require("./Icon-XibHb7vP.js"),require("./markdown-3A2I0-h0.js"),require("./InternalUnderlinedBadgeText-B9ixH4sJ.js"),require("./isObject-DMA85Fq4.js");const ariaCurrentValuePropTypeOptions=["date","location","page","step","time","true","false"],validateAriaCurrentValue=(t,e)=>{common.watchValidator(t,"_ariaCurrentValue",t=>"string"==typeof t&&ariaCurrentValuePropTypeOptions.includes(t),new Set([`AriaCurrentValue {${ariaCurrentValuePropTypeOptions.join(", ")}`]),e,{defaultValue:"page"})},validateAriaOwns=(t,e)=>{common.watchString(t,"_ariaOwns",e,{defaultValue:void 0})},validateDownload=(t,e)=>{common.watchString(t,"_download",e)},validateLinkCallbacks=(t,e)=>{"object"==typeof e&&"function"==typeof(null==e?void 0:e.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:e}))},validateLinkTarget=(t,e)=>{common.watchString(t,"_target",e)},KolLinkWc=class{constructor(t){index.registerInstance(this,t),this.translateOpenLinkInTab=i18n.translate("kol-open-link-in-tab"),this.catchRef=t=>{this.anchorRef=t},this.hideTooltip=()=>{var t;null===(t=this.tooltipRef)||void 0===t||t.hideTooltip()},this.onClick=t=>{var e,a;this.state._hideLabel&&this.hideTooltip(),!0===this.state._disabled?t.preventDefault():("function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),common.setEventTarget(t,this.anchorRef),null===(a=this.state._on)||void 0===a||a.onClick(t,this.state._href)),this.host&&events.dispatchDomEvent(this.host,events.KolEvent.click,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,e={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||common.devHint("[KolLink] An aria-label must be set when _hide-label is set."),{isExternal:t,tagAttrs:e}},this._disabled=!1,this._hideLabel=!1,this._inline=!0,this._tooltipAlign="right",this._buttonVariant="normal",this.state={_ariaCurrentValue:"page",_href:"",_icons:{}}}async focus(){var t;return Promise.resolve(null===(t=this.anchorRef)||void 0===t?void 0:t.focus())}render(){var t;const{isExternal:e,tagAttrs:a}=this.getRenderValues(),i=reuse.showExpertSlot(this.state._label),s=null===(t=this.state._ariaDescription)||void 0===t?void 0:t.trim();return index.h(index.Host,{key:"036d5449e5e5ba234434e744d8af66052329a192"},index.h("a",Object.assign({key:"b20d668b61b1f0c279f5cf37d434927c69478891",ref:this.catchRef},a,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-controls":this.state._ariaControls,"aria-description":s||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?` (${this.translateOpenLinkInTab})`:""}`:void 0,"aria-keyshortcuts":this.state._shortKey,class:clsx.clsx("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._buttonVariant}`]:"custom"!==this.state._buttonVariant,"kol-link--inline":!0===this.state._inline,"kol-link--standalone":!1===this.state._inline,[this.state._customClass]:"custom"===this.state._buttonVariant&&"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}),index.h(Span.KolSpanFc,{key:"90a4bc4ffd0a6b87c9097120d3539bc69bdda156",class:"kol-link__text",badgeText:this.state._accessKey||this.state._shortKey,icons:this.state._icons,hideLabel:this.state._hideLabel,label:i?"":this.state._label||this.state._href},index.h("slot",{key:"1aca2a1ed6caf2a68f7f6260b328ec7b6c993794",name:"expert",slot:"expert"})),e&&index.h(componentNames.KolIconTag,{key:"c20d6e6b9e7d09c6ff48a059f9ec0388076c721e",class:"kol-link__icon",_label:this.state._hideLabel?"":this.translateOpenLinkInTab,_icons:"kolicon-link-external","aria-hidden":this.state._hideLabel})),!0===this.state._hideLabel&&index.h(componentNames.KolTooltipWcTag,{key:"5f5b325f8e61e71f666bf45e067b1a487a8e296e","aria-hidden":"true",class:"kol-link__tooltip",ref:t=>this.tooltipRef=t,hidden:i,_badgeText:this.state._accessKey||this.state._shortKey,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAccessKey(t){accessAndShortKey.validateAccessKey(this,t),accessAndShortKey.validateAccessAndShortKey(t,this._shortKey)}validateAriaCurrentValue(t){validateAriaCurrentValue(this,t)}validateAriaControls(t){buttonVariant.validateAriaControls(this,t)}validateAriaDescription(t){buttonVariant.validateAriaDescription(this,t)}validateAriaExpanded(t){buttonVariant.validateAriaExpanded(this,t)}validateAriaOwns(t){validateAriaOwns(this,t)}validateCustomClass(t){customClass.validateCustomClass(this,t)}validateDisabled(t){disabled.validateDisabled(this,t)}validateDownload(t){validateDownload(this,t)}validateHideLabel(t){hideLabel.validateHideLabel(this,t)}validateHref(t){href.validateHref(this,t,{required:!0})}validateIcons(t){icons.validateIcons(this,t)}validateInline(t){inline.validateInline(this,t,{defaultValue:!0})}validateLabel(t){label.validateLabelWithExpertSlot(this,t)}validateOn(t){validateLinkCallbacks(this,t)}validateRole(t){buttonVariant.validateAlternativeButtonLinkRole(this,t)}validateShortKey(t){accessAndShortKey.validateShortKey(this,t),accessAndShortKey.validateAccessAndShortKey(this._accessKey,t)}validateTabIndex(t){accessAndShortKey.validateTabIndex(this,t)}validateTarget(t){validateLinkTarget(this,t)}validateTooltipAlign(t){tooltipAlign.validateTooltipAlign(this,t)}validateButtonVariant(t){buttonVariant.validateButtonVariant(this,t)}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.validateButtonVariant(this._buttonVariant),this.unsubscribeOnLocationChange=ariaCurrentService.onLocationChange(t=>{this.state._ariaCurrent=t===this.state._href?this.state._ariaCurrentValue:void 0}),accessAndShortKey.validateAccessAndShortKey(this._accessKey,this._shortKey)}disconnectedCallback(){this.unsubscribeOnLocationChange&&this.unsubscribeOnLocationChange()}get host(){return index.getElement(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"],_buttonVariant:["validateButtonVariant"]}}};exports.kol_link_wc=KolLinkWc;