react-toast-kit
Version:
A modern, accessible toast notification system for React applications with automatic CSS injection
3 lines • 1.73 kB
JavaScript
import {h}from'./chunk-AANTHRRE.mjs';export{h as ToastDevTools,g as toastDevTools}from'./chunk-AANTHRRE.mjs';import*as y from'react';import {jsx,Fragment,jsxs}from'react/jsx-runtime';/* React Toast Kit - CSS auto-injection enabled */
var{createContext:x,useContext:w,useEffect:V,useState:K}=y,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?jsx(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 jsx(Fragment,{children:e});let D=()=>l(i=>!i);return jsxs(v.Provider,{value:{visible:u,setVisible:l,toggle:D},children:[e,jsx(b,{visible:u})]})}export{b as ClientDevTools,g as DevToolsWrapper,k as configureDevTools,E as useDevToolsVisible};//# sourceMappingURL=devtools-entry.mjs.map
//# sourceMappingURL=devtools-entry.mjs.map