@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 2.54 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{_ as __rest}from"./tslib.es6.js";import{h,Fragment}from"@stencil/core/internal/client";import{c as clsx}from"./clsx.js";import{d as KolIconTag,b as KolButtonWcTag}from"./component-names.js";import{t as translate}from"./i18n2.js";import{a as BEM_CLASS_ALERT__ICON,b as bem,c as BEM_CLASS_ALERT__CONTENT,d as BEM_CLASS_ALERT__CLOSER}from"./bem.js";import{K as KolHeadingFc}from"./Heading.js";const Icon=({ariaLabel:a,icon:o})=>h(Fragment,null,h("span",{class:"visually-hidden"},a),h(KolIconTag,{class:BEM_CLASS_ALERT__ICON,_label:"",_icons:o})),AlertIcon=({type:a,label:o})=>{switch(a){case"error":return h(Icon,{ariaLabel:translate("kol-error"),icon:"codicon codicon-error",label:o});case"info":return h(Icon,{ariaLabel:translate("kol-info"),icon:"codicon codicon-info",label:o});case"warning":return h(Icon,{ariaLabel:translate("kol-warning"),icon:"codicon codicon-warning",label:o});case"success":return h(Icon,{ariaLabel:translate("kol-success"),icon:"codicon codicon-pass",label:o});default:return h(Icon,{ariaLabel:translate("kol-message"),icon:"codicon codicon-comment",label:o})}},KolAlertFc=(a,o)=>{var e,l;const{class:n={},alert:s=!1,hasCloser:t=!1,label:i,level:r=0,type:c="default",variant:d="msg",onAlertTimeout:_,onCloserClick:b}=a,m=__rest(a,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);s&&((null===(e=navigator.userActivation)||void 0===e?void 0:e.hasBeenActive)&&(null===(l=null===navigator||void 0===navigator?void 0:navigator.vibrate)||void 0===l||l.call(navigator,[100,75,100,75,100])),setTimeout((()=>{null==_||_()}),1e4));const v=bem("kol-alert",{hasCloser:!!t,[`type-${c}`]:!0,[`variant-${d}`]:!0}),g=bem("kol-alert","heading",{[`h${r}`]:!0}),u=Object.assign({class:clsx(n,v),role:s?"error"===c?"alert":"status":void 0},m);return h("div",Object.assign({},u),h("div",{class:"kol-alert__container"},h(AlertIcon,{label:i,type:c}),h("div",{class:"kol-alert__container-content"},i&&h(KolHeadingFc,{class:g,level:r,id:"heading"},i),"msg"===d&&h("span",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":i?"heading":void 0},o)),t&&h(KolButtonWcTag,{class:BEM_CLASS_ALERT__CLOSER,"data-testid":"alert-close-button",_ariaDescription:(null==i?void 0:i.trim())||"",_hideLabel:!0,_icons:{left:{icon:"codicon codicon-close"}},_label:translate("kol-close-alert"),_on:{onClick:b},_tooltipAlign:"left"})),"card"===d&&h("div",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":i?"heading":void 0},o))};export{KolAlertFc as K};