UNPKG

@fefade/react

Version:

Reusable React UI components powered by the fefade core system.

54 lines (53 loc) 3.85 kB
import { jsxs as l, Fragment as u, jsx as a } from "react/jsx-runtime"; import { useState as f, useMemo as h, useEffect as x } from "react"; import { l as n } from "../../index-BPdhNdef.js"; import { Y as y } from "../../index-DdnSr7Dp.js"; import { ThemeConfigContext as k } from "../../contexts/ThemeConfigContext.js"; import "../../contexts/ToastContext.js"; const w = `body{background:var(--ff-bg);color:var(--ff-on-bg)}.text-primary{color:var(--ff-primary)!important}.text-on-primary{color:var(--ff-on-primary)!important}.text-secondary{color:var(--ff-secondary)!important}.text-on-secondary{color:var(--ff-on-secondary)!important}.text{color:var(--ff-on-bg)!important}.text-muted,.muted{color:var(--ff-muted)!important}.text-on-bg{color:var(--ff-on-bg)!important}.text-on-surface{color:var(--ff-on-surface)!important}.text-on-disabled{color:var(--ff-on-disabled)!important}.bg-primary{background:var(--ff-primary)!important}.bg-secondary{background:var(--ff-secondary)!important}.bg-page{background:var(--ff-bg)!important}.bg-surface{background:var(--ff-surface)!important}.bg-disabled{background:var(--ff-disabled)!important}.bg-0{background:none!important}.border{border-color:var(--ff-border)!important}.border-0{border:none!important;border-radius:0!important}.bg-success{background:var(--ff-success)!important}.bg-error,.bg-danger{background:var(--ff-error)!important}.bg-warning{background:var(--ff-warning)!important}.bg-info{background:var(--ff-info)!important}.hover-bg-success:hover{background:var(--ff-success)!important}.hover-bg-error:hover,.hover-bg-danger:hover{background:var(--ff-error)!important}.hover-bg-warning:hover{background:var(--ff-warning)!important}.hover-bg-info:hover{background:var(--ff-info)!important}.text-on-success{color:var(--ff-on-success)!important}.text-on-error,.text-on-danger{color:var(--ff-on-error)!important}.text-on-warning{color:var(--ff-on-warning)!important}.text-on-info{color:var(--ff-on-info)!important}.hover-text-on-success:hover{color:var(--ff-on-success)!important}.hover-text-on-error:hover,.hover-text-on-danger:hover{color:var(--ff-on-error)!important}.hover-text-on-warning:hover{color:var(--ff-on-warning)!important}.hover-text-on-info:hover{color:var(--ff-on-info)!important}.border-on-success{border-color:var(--ff-on-success)!important}.border-on-error,.border-on-danger{border-color:var(--ff-on-error)!important}.border-on-warning{border-color:var(--ff-on-warning)!important}.border-on-info{border-color:var(--ff-on-info)!important}.roundedFull,.rounded-full{border-radius:9999px!important}.hover-border-on-success:hover{border-color:var(--ff-on-success)!important}.hover-border-on-error:hover,.hover-border-on-danger:hover{border-color:var(--ff-on-error)!important}.hover-border-on-warning:hover{border-color:var(--ff-on-warning)!important}.hover-border-on-info:hover{border-color:var(--ff-on-info)!important}.w-full{width:100%!important}.clickable{cursor:pointer} `; function F({ children: i, theme: c, defaultThemeMode: d = "light" }) { const [e, s] = f("light"), [m, v] = f( n.themeColors.light ), t = (r) => { s(r), v(n.themeColors[r]); }, o = y(), b = o.style(c, w), g = h( () => ({ colors: n.themeColors[e], mode: e, toggle: () => { o.toggleThemeMode((r) => { t(r); }); } }), [e, m] ); function p() { const r = o.storedTheme(d); o.applyThemeMode(r), t(r); } return x(() => { const r = o.createMetaElement(); return document.head.appendChild(r), p(), () => { document.head.removeChild(r); }; }, []), /* @__PURE__ */ l(u, { children: [ /* @__PURE__ */ a( "div", { dangerouslySetInnerHTML: { __html: b } } ), /* @__PURE__ */ a(k.Provider, { value: g, children: i }) ] }); } export { F as default };