UNPKG

@public-ui/components

Version:

Contains all web components that belong to KoliBri - The accessible HTML-Standard.

4 lines 2.32 kB
/*! * KoliBri - The accessible HTML-Standard */ import{_ as e,K as o}from"./Heading-D6_TFw6T.js";import{h as a,F as n}from"./index-CElQfBOC.js";import{c as l}from"./clsx-eK3rPvPS.js";import{e as s,d as i}from"./component-names-CkE54Ym7.js";import{t}from"./i18n-yBVLeHdv.js";import{a as r,b as c,c as d,d as u}from"./bem-CwA0xXwr.js";const b=t("kol-error"),f=t("kol-info"),m=t("kol-warning"),v=t("kol-success"),p=t("kol-message"),g=({ariaLabel:e,icon:o})=>a(n,null,a("span",{class:"visually-hidden"},e),a(s,{class:r,_label:"",_icons:o})),k=({type:e,label:o})=>{switch(e){case"error":return a(g,{ariaLabel:b,icon:"codicon codicon-error",label:o});case"info":return a(g,{ariaLabel:f,icon:"codicon codicon-info",label:o});case"warning":return a(g,{ariaLabel:m,icon:"codicon codicon-warning",label:o});case"success":return a(g,{ariaLabel:v,icon:"codicon codicon-pass",label:o});default:return a(g,{ariaLabel:p,icon:"codicon codicon-comment",label:o})}},_=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){}},y=(s,n)=>{const{class:t={},alert:r=!1,hasCloser:b=!1,label:v,level:m=0,type:g="default",variant:p="msg",onAlertTimeout:f,onCloserClick:y}=s,C=e(s,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);r&&(h(),setTimeout((()=>{null==f||f()}),1e4));const j=c("kol-alert",{hasCloser:!!b,[`type-${g}`]:!0,[`variant-${p}`]:!0}),L=c("kol-alert","heading",{[`h${m}`]:!0}),w=Object.assign({class:l(t,j),role:r?"error"===g?"alert":"status":void 0},C);return a("div",Object.assign({},w,{"data-testid":"alert"}),a("div",{class:"kol-alert__container"},a(k,{label:v,type:g}),a("div",{class:"kol-alert__container-content"},v&&a(o,{class:L,level:m,id:"heading"},v),"msg"===p&&a("span",{class:d,"aria-describedby":v?"heading":void 0},n)),b&&a(i,{class:u,"data-testid":"alert-close-button",_ariaDescription:(null==v?void 0:v.trim())||"",_hideLabel:!0,_icons:{left:{icon:"codicon codicon-close"}},_label:_,_on:{onClick:y},_tooltipAlign:"left"})),"card"===p&&a("div",{class:d,"aria-describedby":v?"heading":void 0},n))};export{y as K};