@tecsinapse/cortex-core 1.3.0-beta.0 → 1.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/provider/DarkThemeContext.js +27 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/provider/DarkThemeContext.js +24 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/provider/DarkThemeContext.d.ts +12 -0
- package/dist/types/provider/index.d.ts +1 -0
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var manager = require('./components/manager/manager.js');
|
|
|
22
22
|
var index = require('./preset/index.js');
|
|
23
23
|
var definitions = require('./tokens/definitions.js');
|
|
24
24
|
var index$1 = require('./utils/index.js');
|
|
25
|
+
var DarkThemeContext = require('./provider/DarkThemeContext.js');
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
|
|
@@ -75,3 +76,5 @@ exports.textColor = definitions.textColor;
|
|
|
75
76
|
exports.zIndex = definitions.zIndex;
|
|
76
77
|
exports.setDarkMode = index$1.setDarkMode;
|
|
77
78
|
exports.updateThemeColors = index$1.updateThemeColors;
|
|
79
|
+
exports.ThemeProvider = DarkThemeContext.ThemeProvider;
|
|
80
|
+
exports.useDarkTheme = DarkThemeContext.useDarkTheme;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
|
|
6
|
+
const ThemeContext = react.createContext(null);
|
|
7
|
+
const ThemeProvider = ({ children }) => {
|
|
8
|
+
const [theme, setTheme] = react.useState("light");
|
|
9
|
+
react.useEffect(() => {
|
|
10
|
+
const style = document.documentElement.style;
|
|
11
|
+
if (theme === "dark") {
|
|
12
|
+
style.setProperty("--color-body", "#1e1e1e");
|
|
13
|
+
} else {
|
|
14
|
+
style.setProperty("--color-body", "#f8f7f7");
|
|
15
|
+
}
|
|
16
|
+
}, [theme]);
|
|
17
|
+
const toggleTheme = () => setTheme((t) => t === "light" ? "dark" : "light");
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children });
|
|
19
|
+
};
|
|
20
|
+
const useDarkTheme = () => {
|
|
21
|
+
const ctx = react.useContext(ThemeContext);
|
|
22
|
+
if (!ctx) throw new Error("useTheme must be used inside ThemeProvider");
|
|
23
|
+
return ctx;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.ThemeProvider = ThemeProvider;
|
|
27
|
+
exports.useDarkTheme = useDarkTheme;
|
package/dist/esm/index.js
CHANGED
|
@@ -20,3 +20,4 @@ export { manager } from './components/manager/manager.js';
|
|
|
20
20
|
export { default as preset } from './preset/index.js';
|
|
21
21
|
export { borderColor, borderRadius, borderWidth, boxShadow, colors, fontFamily, fontSize, spacing, textColor, zIndex } from './tokens/definitions.js';
|
|
22
22
|
export { setDarkMode, updateThemeColors } from './utils/index.js';
|
|
23
|
+
export { ThemeProvider, useDarkTheme } from './provider/DarkThemeContext.js';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, useState, useEffect, useContext } from 'react';
|
|
3
|
+
|
|
4
|
+
const ThemeContext = createContext(null);
|
|
5
|
+
const ThemeProvider = ({ children }) => {
|
|
6
|
+
const [theme, setTheme] = useState("light");
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const style = document.documentElement.style;
|
|
9
|
+
if (theme === "dark") {
|
|
10
|
+
style.setProperty("--color-body", "#1e1e1e");
|
|
11
|
+
} else {
|
|
12
|
+
style.setProperty("--color-body", "#f8f7f7");
|
|
13
|
+
}
|
|
14
|
+
}, [theme]);
|
|
15
|
+
const toggleTheme = () => setTheme((t) => t === "light" ? "dark" : "light");
|
|
16
|
+
return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children });
|
|
17
|
+
};
|
|
18
|
+
const useDarkTheme = () => {
|
|
19
|
+
const ctx = useContext(ThemeContext);
|
|
20
|
+
if (!ctx) throw new Error("useTheme must be used inside ThemeProvider");
|
|
21
|
+
return ctx;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { ThemeProvider, useDarkTheme };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
type Theme = 'light' | 'dark';
|
|
3
|
+
interface ThemeContextValue {
|
|
4
|
+
theme: Theme;
|
|
5
|
+
setTheme: (theme: Theme) => void;
|
|
6
|
+
toggleTheme: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const ThemeProvider: ({ children }: {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const useDarkTheme: () => ThemeContextValue;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DarkThemeContext';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tecsinapse/cortex-core",
|
|
3
|
-
"version": "1.3.0-beta.
|
|
3
|
+
"version": "1.3.0-beta.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Core library for tailwindcss based design",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"tailwindcss": ">=3.3.0"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "c976f6fea2c049735ce9fcacfc61583a552c10e1"
|
|
35
35
|
}
|