@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 2.88 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{_ as __rest}from"./tslib.es6-CxX45GIN.js";import{h,F as Fragment}from"./index-DyUiyxj3.js";import{c as clsx}from"./clsx-eK3rPvPS.js";import{e as KolIconTag,d as KolButtonWcTag}from"./component-names-B_kYyA8u.js";import{t as translate}from"./i18n-CvQhdUrE.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-De7JANRY.js";import{K as KolHeadingFc}from"./Heading-C1x8c7QT.js";const translateError=translate("kol-error"),translateInfo=translate("kol-info"),translateWarning=translate("kol-warning"),translateSuccess=translate("kol-success"),translateMessage=translate("kol-message"),Icon=({ariaLabel:a,icon:e})=>h(Fragment,null,h("span",{class:"visually-hidden"},a),h(KolIconTag,{class:BEM_CLASS_ALERT__ICON,_label:"",_icons:e})),AlertIcon=({type:a,label:e})=>{switch(a){case"error":return h(Icon,{ariaLabel:translateError,icon:"kolicon-alert-error",label:e});case"info":return h(Icon,{ariaLabel:translateInfo,icon:"kolicon-alert-info",label:e});case"warning":return h(Icon,{ariaLabel:translateWarning,icon:"kolicon-alert-warning",label:e});case"success":return h(Icon,{ariaLabel:translateSuccess,icon:"kolicon-alert-success",label:e});default:return h(Icon,{ariaLabel:translateMessage,icon:"kolicon-alert-info",label:e})}},translateCloseAlert=translate("kol-close-alert"),vibrateOnError=()=>{if("undefined"==typeof navigator||"function"!=typeof navigator.vibrate)return;const a=navigator.userActivation;if(((null==a?void 0:a.isActive)||(null==a?void 0:a.hasBeenActive))&&matchMedia("(any-pointer: coarse)").matches)try{navigator.vibrate([100,75,100,75,100])}catch(a){}},KolAlertFc=(a,e)=>{const{class:l={},alert:t=!1,hasCloser:r=!1,label:s,level:n=0,type:o="default",variant:i="msg",onAlertTimeout:c,onCloserClick:_}=a,d=__rest(a,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);t&&(vibrateOnError(),setTimeout(()=>{null==c||c()},1e4));const b=bem("kol-alert",{hasCloser:!!r,[`type-${o}`]:!0,[`variant-${i}`]:!0}),m=bem("kol-alert","heading",{[`h${n}`]:!0}),g=Object.assign({class:clsx(l,b)},d);return h("div",Object.assign({role:t?"alert":void 0},g,{"data-testid":"alert"}),h("div",{class:"kol-alert__container"},h(AlertIcon,{label:s,type:o}),h("div",{class:"kol-alert__container-content"},s&&h(KolHeadingFc,{class:m,level:n,id:"heading"},s),"msg"===i&&h("span",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":s?"heading":void 0},e)),r&&h(KolButtonWcTag,{class:BEM_CLASS_ALERT__CLOSER,"data-testid":"alert-close-button",_ariaDescription:(null==s?void 0:s.trim())||"",_hideLabel:!0,_icons:{left:{icon:"kolicon-cross"}},_label:translateCloseAlert,_on:{onClick:_},_tooltipAlign:"left"})),"card"===i&&h("div",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":s?"heading":void 0},e))};export{KolAlertFc as K};