UNPKG

react-toast-kit

Version:

A modern, accessible toast notification system for React applications with automatic CSS injection

3 lines 2.34 kB
'use strict';var chunkB6WJCDYJ_cjs=require('./chunk-B6WJCDYJ.cjs'),y=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var y__namespace=/*#__PURE__*/_interopNamespace(y);/* React Toast Kit - CSS auto-injection enabled */ var{createContext:x,useContext:w,useEffect:V,useState:K}=y__namespace,v=x({visible:false,setVisible:()=>{},toggle:()=>{}}),f={enabled:process.env.NODE_ENV!=="production",defaultVisible:false,shortcut:"alt+shift+d",showButton:true,buttonPosition:"bottom-right"};function k(e){f={...f,...e};}function E(){let e=w(v);return {visible:e.visible,setVisible:e.setVisible,toggle:e.toggle}}var b=({visible:e=false})=>e?jsxRuntime.jsx(chunkB6WJCDYJ_cjs.h,{}):null;function g({children:e,config:T}){let m={...f,...T},{enabled:r,defaultVisible:p,shortcut:s}=m,[u,l]=K(p||false);if(V(()=>{if(!r)return;let i=t=>{if(s==="alt+shift+d"&&t.altKey&&t.shiftKey&&t.key.toLowerCase()==="d")l(o=>!o);else if(s){let o=s.toLowerCase().split("+"),n={alt:o.includes("alt"),shift:o.includes("shift"),ctrl:o.includes("ctrl")||o.includes("control"),meta:o.includes("meta")||o.includes("command")||o.includes("cmd")},h=o.filter(a=>!["alt","shift","ctrl","control","meta","command","cmd"].includes(a))[0];(!n.alt||t.altKey)&&(!n.shift||t.shiftKey)&&(!n.ctrl||t.ctrlKey)&&(!n.meta||t.metaKey)&&h===t.key.toLowerCase()&&l(a=>!a);}};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[r,s]),!r)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:e});let D=()=>l(i=>!i);return jsxRuntime.jsxs(v.Provider,{value:{visible:u,setVisible:l,toggle:D},children:[e,jsxRuntime.jsx(b,{visible:u})]})}Object.defineProperty(exports,"ToastDevTools",{enumerable:true,get:function(){return chunkB6WJCDYJ_cjs.h}});Object.defineProperty(exports,"toastDevTools",{enumerable:true,get:function(){return chunkB6WJCDYJ_cjs.g}});exports.ClientDevTools=b;exports.DevToolsWrapper=g;exports.configureDevTools=k;exports.useDevToolsVisible=E;//# sourceMappingURL=devtools-entry.cjs.map //# sourceMappingURL=devtools-entry.cjs.map