@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 l}from"./index-BTX696j0.js";import{c as o}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-Bl3XCPYb.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:i})=>a(l,null,a("span",{class:"visually-hidden"},e),a(s,{class:r,_label:"",_icons:i})),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})}},h=t("kol-close-alert"),_=()=>{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){}},y=(l,s)=>{const{class:r={},alert:t=!1,hasCloser:b=!1,label:v,level:m=0,type:k="default",variant:f="msg",onAlertTimeout:p,onCloserClick:y}=l,C=e(l,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);t&&(_(),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:o(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:h,_on:{onClick:y},_tooltipAlign:"left"})),"card"===f&&a("div",{class:c,"aria-describedby":v?"heading":void 0},s))};export{y as K};