nextjs-darkmode-lite
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
2 lines (1 loc) • 1.11 kB
JavaScript
;var m=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var r in e)m(o,r,{get:e[r],enumerable:!0})},b=(o,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of v(e))!C.call(o,t)&&t!==r&&m(o,t,{get:()=>e[t],enumerable:!(s=p(e,t))||s.enumerable});return o};var w=o=>b(m({},"__esModule",{value:!0}),o);var E={};g(E,{noFOUCScript:()=>y});module.exports=w(E);var y=(o,e,r)=>{var d;let[s,t]=["system","dark"];window.u=(c,i)=>{let h=c===s?i:c,n=document,l=document.documentElement,a=n.createElement("style");a.textContent=`*,*:after,*:before{transition:${e.split(";")[0]} !important;}`,a.setAttribute("nonce",r),n.head.appendChild(a),h===t?l.classList.add(t):l.classList.remove(t),[["sm",i],["rm",h],["m",c]].forEach(([S,f])=>l.setAttribute(`data-${S}`,f)),localStorage.setItem(o,c),getComputedStyle(n.body),setTimeout(()=>n.head.removeChild(a),1)},window.q=matchMedia(`(prefers-color-scheme: ${t})`),u((d=localStorage.getItem(o))!=null?d:s,q.matches?t:"")};0&&(module.exports={noFOUCScript});