dgz-ui-shared
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library
3 lines (2 loc) • 891 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("react/jsx-runtime"),c=require("react"),t=require("../chunks/ThemeMode-BO6tit_Z.cjs.js"),a=require("../chunks/ThemeProviderContext-rq2okb30.cjs.js");function u({children:d,defaultTheme:n=t.ThemeMode.SYSTEM,storageKey:r="theme",...i}){const[o,s]=c.useState(()=>localStorage.getItem(r)||n);c.useEffect(()=>{const e=window.document.documentElement;if(e.classList.remove(t.ThemeMode.LIGHT,t.ThemeMode.DARK),o===t.ThemeMode.SYSTEM){const m=window.matchMedia("(prefers-color-scheme: dark)").matches?t.ThemeMode.DARK:t.ThemeMode.LIGHT;e.classList.add(m),s(m);return}e.style.colorScheme=o,e.classList.add(o)},[o]);const h={theme:o,setTheme:e=>{localStorage.setItem(r,e),s(e)}};return T.jsx(a.ThemeProviderContext,{...i,value:h,children:d})}exports.ThemeProvider=u;
//# sourceMappingURL=index.cjs.js.map