UNPKG

nextjs-darkmode

Version:

Unleash the Power of React Server Components! Use dark/light mode on your site with confidence, without losing any advantages of React Server Components

3 lines (2 loc) 1.87 kB
"use client"; "use strict";var f=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var T=(e,o)=>{for(var r in o)f(e,r,{get:o[r],enumerable:!0})},A=(e,o,r,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of L(o))!M.call(e,t)&&t!==r&&f(e,t,{get:()=>o[t],enumerable:!(s=E(o,t))||s.enumerable});return e};var b=e=>A(f({},"__esModule",{value:!0}),e);var I={};T(I,{Core:()=>$});module.exports=b(I);var h="system",S="dark",P="";var R=require("r18gs");var y=()=>(0,R.useRGS)("ndm",()=>{if(typeof document=="undefined")return{m:h,s:S};let[e,o]=["m","sm"].map(r=>document.documentElement.getAttribute("data-"+r));return{m:e!=null?e:h,s:o}});var v=(e,o,r)=>{var i;let[s,t]=["system","dark"];window.u=(n,c)=>{let d=n===s?c:n,l=document,p=document.documentElement,a=l.createElement("style");a.textContent=`*,*:after,*:before{transition:${o.split(";")[0]} !important;}`,a.setAttribute("nonce",r),l.head.appendChild(a),d===t?p.classList.add(t):p.classList.remove(t),[["sm",c],["rm",d],["m",n]].forEach(([x,w])=>p.setAttribute(`data-${x}`,w)),localStorage.setItem(e,n),getComputedStyle(l.body),setTimeout(()=>l.head.removeChild(a),1)},window.q=matchMedia(`(prefers-color-scheme: ${t})`),u((i=localStorage.getItem(e))!=null?i:s,q.matches?t:"")};var g=require("react/jsx-runtime"),C,m,k=({n:e,k:o,t:r})=>(0,g.jsx)("script",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${v.toString()})(${[o,r,e].map(s=>`'${s}'`)})`},nonce:e}),$=({t:e="none",nonce:o="",k:r="o"})=>{let s=typeof window!="undefined";s&&!window.q&&v(r,e,o);let[{m:t,s:i},n]=y();return!m&&s&&([C,m]=[q,u],C.addEventListener("change",()=>n(c=>({...c,s:C.matches?S:P}))),addEventListener("storage",c=>{c.key===r&&n(d=>({...d,m:c.newValue}))})),m==null||m(t,i),(0,g.jsx)(k,{n:o,k:r,t:e})};0&&(module.exports={Core});