@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
5 lines • 2.5 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import{a as o}from"./tslib.es6-QNbPBOk5.js";import{h as e,F as l}from"./index-BQlHOxik.js";import{c as t}from"./clsx-COFh-Vc8.js";import{b as n}from"./component-names-Dy77vq43.js";import{t as a}from"./i18n-Br16IAnY.js";import{b as s}from"./bem-registry-CWvl2xho.js";import{I as i}from"./component-DzaT2WlJ.js";import{K as r}from"./Heading-q2Ue3Ixd.js";const c=s.forBlock("kol-alert");const d=c("icon");const u={error:{label:a("kol-error"),icon:"kolicon-alert-error"},info:{label:a("kol-info"),icon:"kolicon-alert-info"},warning:{label:a("kol-warning"),icon:"kolicon-alert-warning"},success:{label:a("kol-success"),icon:"kolicon-alert-success"},default:{label:a("kol-message"),icon:"kolicon-alert-info"}};const f=({type:o="default"})=>{const t=u[o||"default"];return e(l,null,e("span",{class:"visually-hidden"},t.label),e(i,{class:d,label:"",icons:t.icon}))};const m=s.forBlock("kol-alert");const v=m("closer");const b=m("content");const p=()=>{if(typeof navigator==="undefined"||typeof navigator.vibrate!=="function"){return}const o=navigator.userActivation;const e=(o===null||o===void 0?void 0:o.isActive)||(o===null||o===void 0?void 0:o.hasBeenActive);if(!e){return}if(!matchMedia("(any-pointer: coarse)").matches){return}try{navigator.vibrate([100,75,100,75,100])}catch(o){}};const k=(l,s)=>{const{class:i={},alert:c=false,hasCloser:d=false,label:u,level:k=0,type:g="default",variant:h="msg",onAlertTimeout:y,onCloserClick:j}=l,C=o(l,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);const _=a("kol-close-alert");if(c){p();setTimeout((()=>{y===null||y===void 0?void 0:y()}),1e4)}const x=m({hasCloser:!!d,[`type-${g}`]:true,[`variant-${h}`]:true});const O=m("heading",{[`h${k}`]:true});const A=Object.assign({class:t(i,x)},C);return e("div",Object.assign({role:c?"alert":undefined},A,{"data-testid":"alert"}),e("div",{class:"kol-alert__container"},e(f,{label:u,type:g}),e("div",{class:"kol-alert__container-content"},u&&e(r,{class:O,level:k,id:"heading"},u),h==="msg"&&e("span",{class:b,"aria-describedby":u?"heading":undefined},s)),d&&e(n,{class:v+" kol-close-button","data-testid":"alert-close-button",_ariaDescription:(u===null||u===void 0?void 0:u.trim())||"",_hideLabel:true,_icons:{left:{icon:"kolicon-cross"}},_label:_,_on:{onClick:j},_tooltipAlign:"left"})),h==="card"&&e("div",{class:b,"aria-describedby":u?"heading":undefined},s))};export{k as K};
//# sourceMappingURL=Alert-BP_7bRZF.js.map