@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 2.3 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{_ as e}from"./tslib.es6-CxX45GIN.js";import{h as a,F as o}from"./index-DyUiyxj3.js";import{c as l}from"./clsx-eK3rPvPS.js";import{e as s,d as n}from"./component-names-B_kYyA8u.js";import{t}from"./i18n-CvQhdUrE.js";import{a as r,b as i,c,d}from"./bem-De7JANRY.js";import{K as u}from"./Heading-C1x8c7QT.js";const b=t("kol-error"),f=t("kol-info"),v=t("kol-warning"),m=t("kol-success"),p=t("kol-message"),k=({ariaLabel:e,icon:l})=>a(o,null,a("span",{class:"visually-hidden"},e),a(s,{class:r,_label:"",_icons:l})),g=({type:e,label:l})=>{switch(e){case"error":return a(k,{ariaLabel:b,icon:"kolicon-alert-error",label:l});case"info":return a(k,{ariaLabel:f,icon:"kolicon-alert-info",label:l});case"warning":return a(k,{ariaLabel:v,icon:"kolicon-alert-warning",label:l});case"success":return a(k,{ariaLabel:m,icon:"kolicon-alert-success",label:l});default:return a(k,{ariaLabel:p,icon:"kolicon-alert-info",label:l})}},y=t("kol-close-alert"),h=()=>{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){}},_=(o,s)=>{const{class:r={},alert:t=!1,hasCloser:b=!1,label:v,level:m=0,type:k="default",variant:f="msg",onAlertTimeout:p,onCloserClick:_}=o,C=e(o,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);t&&(h(),setTimeout(()=>{null==p||p()},1e4));const j=i("kol-alert",{hasCloser:!!b,[`type-${k}`]:!0,[`variant-${f}`]:!0}),A=i("kol-alert","heading",{[`h${m}`]:!0}),L=Object.assign({class:l(r,j)},C);return a("div",Object.assign({role:t?"alert":void 0},L,{"data-testid":"alert"}),a("div",{class:"kol-alert__container"},a(g,{label:v,type:k}),a("div",{class:"kol-alert__container-content"},v&&a(u,{class:A,level:m,id:"heading"},v),"msg"===f&&a("span",{class:c,"aria-describedby":v?"heading":void 0},s)),b&&a(n,{class:d,"data-testid":"alert-close-button",_ariaDescription:(null==v?void 0:v.trim())||"",_hideLabel:!0,_icons:{left:{icon:"kolicon-cross"}},_label:y,_on:{onClick:_},_tooltipAlign:"left"})),"card"===f&&a("div",{class:c,"aria-describedby":v?"heading":void 0},s))};export{_ as K};