@infinityfx/fluid
Version:
React UI library, using zero-runtime CSS-in-JS.
4 lines (3 loc) • 949 B
JavaScript
"use client";
import{jsx as e}from"react/jsx-runtime";import{createContext as o,cloneElement as r}from"react";import{parseCSSVariables as t,parseColorPalettes as m}from"../core/theme.js";import s from"../styles/global.js";import c from"../hooks/use-color-scheme.js";import{createGlobalStyles as l}from"../core/style.js";import i from"../hooks/use-media-query.js";import{GLOBAL_CONTEXT as h}from"../core/shared.js";const a=h.theme,n=o(null);function p({children:o,initialColorScheme:p}){const f=Object.keys(a.palettes).concat("system"),{colorScheme:u,setColorScheme:d}=c(p,f),j=i("(prefers-color-scheme: dark)")?"dark":"light",S=j in a.palettes?j:a.defaultColorScheme;return l((()=>{const e=h.theme;return{...m(e),":root":t(e)}})),l(s),e(n,{value:{...a,colorScheme:u,appliedColorScheme:"system"===u?S:u,setColorScheme:d},children:r(o,{id:"__fluid",className:`scheme-${u}`})})}export{n as FluidContext,p as default};
//# sourceMappingURL=fluid.js.map