vdk-components
Version:
React component library built with TypeScript and SCSS
3 lines (2 loc) • 926 B
JavaScript
;var e=require("react/jsx-runtime"),s=require("react");exports.Toast=function(t){var r=t.message,a=t.type,n=void 0===a?"info":a,o=t.duration,i=void 0===o?3e3:o,c=t.onClose,u=t.className,l=void 0===u?"":u;s.useEffect((function(){if(i>0){var e=setTimeout((function(){null==c||c()}),i);return function(){return clearTimeout(e)}}}),[i,c]);var d=["toast","toast--".concat(n),l].filter(Boolean).join(" ");return e.jsxs("div",{className:d,role:"alert",children:[e.jsx("div",{className:"toast__icon",children:function(){switch(n){case"success":return"✓";case"error":return"✕";case"warning":return"⚠";case"info":return"ℹ";default:return""}}()}),e.jsx("div",{className:"toast__message",children:r}),c&&e.jsx("button",{className:"toast__close",onClick:c,"aria-label":"Close",children:"×"}),e.jsx("div",{className:"toast__progress",style:{animationDuration:"".concat(i,"ms")}})]})};
//# sourceMappingURL=index.js.map