@ankjs/react-ui 1.0.13 → 1.0.14

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/index.cjs CHANGED
@@ -26,10 +26,79 @@ const useSystemTheme = () => {
26
26
  return sysTheme;
27
27
  };
28
28
 
29
- //import MainUiView from './MainUiView';
29
+ const light = {
30
+ primary: '#eee',
31
+ primaryColor: 'red',
32
+ mainBgColor: '#fff',
33
+ backgroundColor: '#f0f0f0',
34
+ secondryBgColor: '#808080',
35
+ pageBg: '#8d8d8d',
36
+ color: '#000',
37
+ };
38
+ const dark = {
39
+ primary: '#b30303',
40
+ primaryColor: 'red',
41
+ mainBgColor: '#009',
42
+ secondryBgColor: '808080',
43
+ pageBg: '#333',
44
+ backgroundColor: '#444',
45
+ color: '#eee',
46
+ };
47
+
48
+ const defaultColorsObject = {
49
+ light: light,
50
+ dark: dark,
51
+ };
52
+ const useThemeColors = () => {
53
+ const context = react.useContext(AnkThemeContext);
54
+ if (!context) {
55
+ throw new Error(` * useThemeColors must be used within a AnkThemeProvider * \n like this - \n import AnkThemeProvider from '@ankjs/react-ui;
56
+
57
+ <AnkThemeProvider>
58
+ <App />
59
+ </AnkThemeProvider>
60
+ `);
61
+ }
62
+ const { light: light$1, dark: dark$1 } = react.useContext(ColorContext) ?? defaultColorsObject;
63
+ const reLight = light$1 ?? light;
64
+ const reDark = dark$1 ?? dark;
65
+ const theme = context.theme || undefined;
66
+ const themeMode = context.themeMode || undefined;
67
+ if (theme === undefined || themeMode === undefined) {
68
+ throw new Error(` * useThemeColors must be used within a AnkThemeProvider * \n like this - \n import AnkThemeProvider from '@ankjs/react-ui;
69
+
70
+ <AnkThemeProvider>
71
+ <App />
72
+ </AnkThemeProvider>
73
+ `);
74
+ }
75
+ else if (context.theme === "light") {
76
+ return {
77
+ ...reLight,
78
+ themeMode,
79
+ };
80
+ }
81
+ else if (context.theme === "dark") {
82
+ return {
83
+ ...reDark,
84
+ themeMode,
85
+ };
86
+ }
87
+ return {
88
+ ...reLight,
89
+ themeMode: "light"
90
+ };
91
+ };
92
+
93
+ const MainUiView = (props) => {
94
+ const { children, autoApply, style, overflow, } = props;
95
+ const mainBgColor = useThemeColors();
96
+ return (jsxRuntime.jsxs("div", { children: [JSON.stringify(mainBgColor), children] }));
97
+ };
98
+
30
99
  const AnkThemeProvider = (props) => {
31
100
  //PROPERTY
32
- const { children, colorsObjectProvide = "", colorsObject = "", defaultThemeMode = "system", style = {} } = props;
101
+ const { children, colorsObjectProvide = "", colorsObject = "", defaultThemeMode = "system", autoApply = true, style = {}, overflow = 'visible', } = props;
33
102
  // SYSTEM THEME MODE 🪝
34
103
  // Assumed returns 'light' | 'dark'
35
104
  const system = useSystemTheme();
@@ -71,7 +140,7 @@ const AnkThemeProvider = (props) => {
71
140
  ...colorsObject,
72
141
  ...colorsObjectProvide,
73
142
  }), [colorsObject, colorsObjectProvide]);
74
- return (jsxRuntime.jsx(AnkThemeContext.Provider, { value: contextValue, children: jsxRuntime.jsx(ColorContext.Provider, { value: colorObj, children: children }) }));
143
+ return (jsxRuntime.jsx(AnkThemeContext.Provider, { value: contextValue, children: jsxRuntime.jsx(ColorContext.Provider, { value: colorObj, children: jsxRuntime.jsx(MainUiView, { autoApply: autoApply, style: style, overflow: overflow, children: children }) }) }));
75
144
  };
76
145
 
77
146
  exports.default = AnkThemeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/contexts/AnkThemeContext.ts","../src/hook/useSystemTheme.ts","../src/providers/AnkThemeProvider.tsx"],"sourcesContent":[null,null,null],"names":["createContext","useState","useEffect","useCallback","useMemo","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/contexts/AnkThemeContext.ts","../src/hook/useSystemTheme.ts","../src/constants/colors.ts","../src/hook/useThemeColors.ts","../src/providers/MainUiView.tsx","../src/providers/AnkThemeProvider.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["createContext","useState","useEffect","defaultLight","defaultDark","useContext","light","dark","_jsxs","useCallback","useMemo","_jsx"],"mappings":";;;;;;;AAAA;;AAEG;AASI,MAAM,eAAe,GAAGA,mBAAa,CAA+B,SAAS,CAAC;AAG9E,MAAM,YAAY,GAAGA,mBAAa,CAA2B,SAAS,CAAC;;ACT9E,MAAM,cAAc,GAAG,MAAK;AAG1B,IAAA,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGC,cAAQ,CACtC,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;AAChD,UAAE;UACA,OAAO,CACZ;IAGDC,eAAS,CAAC,MAAK;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAK;AACxB,YAAA,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAC/C,QAAA,CAAC;AACD,QAAA,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC9C,OAAO,MAAM,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,QAAQ;AACjB,CAAC;;ACtBM,MAAM,KAAK,GAAG;AACnB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,KAAK,EAAE,MAAM;CACd;AAEM,MAAM,IAAI,GAAG;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,eAAe,EAAE,QAAQ;AACzB,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,eAAe,EAAE,MAAM;AACvB,IAAA,KAAK,EAAE,MAAM;CACd;;ACdD,MAAM,mBAAmB,GAAG;AAC1B,IAAA,KAAK,EAAEC,KAAY;AACnB,IAAA,IAAI,EAAEC,IAAW;CAClB;AAID,MAAM,cAAc,GAAG,MAAmC;AACxD,IAAA,MAAM,OAAO,GAAGC,gBAAU,CAAC,eAAe,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,CAAA;;;;;AAKf,IAAA,CAAA,CAAC;IACJ;AACA,IAAA,MAAM,SAAEC,OAAK,QAAEC,MAAI,EAAE,GAAGF,gBAAU,CAAC,YAAY,CAAC,IAAI,mBAAmB;AAEvE,IAAA,MAAM,OAAO,GAAGC,OAAK,IAAIH,KAAY;AACrC,IAAA,MAAM,MAAM,GAAGI,MAAI,IAAIH,IAAW;AAElC,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS;AACxC,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS;IAEhD,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,CAAA;;;;;AAKf,IAAA,CAAA,CAAC;IACJ;AAAO,SAAA,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE;QACpC,OAAO;AACL,YAAA,GAAG,OAAO;YACV,SAAS;SACV;IACH;AAAO,SAAA,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE;QACnC,OAAO;AACL,YAAA,GAAG,MAAM;YACT,SAAS;SACV;IACH;IAEA,OAAO;AACL,QAAA,GAAG,OAAO;AACV,QAAA,SAAS,EAAE;KACZ;AAEH,CAAC;;ACjDD,MAAM,UAAU,GAAG,CAAC,KAAoB,KAAI;IAC1C,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,GACT,GAAG,KAAK;AAET,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;AAGpC,IAAA,QACEI,eAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAGI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAE5B,QAAQ,CAAA,EAAA,CACL;AAEV,CAAC;;ACPD,MAAM,gBAAgB,GAAG,CAAC,KAAyB,KAAI;;AAErD,IAAA,MAAM,EACJ,QAAQ,EACR,mBAAmB,GAAG,EAAE,EACxB,YAAY,GAAG,EAAE,EACjB,gBAAgB,GAAG,QAAQ,EAC3B,SAAS,GAAG,IAAI,EAChB,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,SAAS,GACrB,GAAG,KAAK;;;AAKT,IAAA,MAAM,MAAM,GAAG,cAAc,EAAE;;AAG/B,IAAA,MAAM,kBAAkB,GAAG,gBAAgB,KAAK,QAAQ,GAAG,MAAM,GAAG,gBAAgB;;IAIpF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGP,cAAQ,CAAmB,kBAAkB,CAAC;;IAGxE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAA8B,gBAAgB,CAAC;AAIzF,IAAA,MAAM,YAAY,GAAGQ,iBAAW,CAAC,MAAK;QACpC,IAAI,KAAK,KAAK,MAAM;YAAE;QACtB,YAAY,CAAC,MAAM,CAAC;QACpB,QAAQ,CAAC,MAAM,CAAC;IAClB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEnC,IAAA,MAAM,aAAa,GAAGA,iBAAW,CAAC,MAAK;QACrC,IAAI,KAAK,KAAK,OAAO;YAAE;QACvB,YAAY,CAAC,OAAO,CAAC;QACrB,QAAQ,CAAC,OAAO,CAAC;IACnB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEnC,IAAA,MAAM,cAAc,GAAGA,iBAAW,CAAC,MAAK;QACtC,IAAI,SAAS,KAAK,QAAQ;YAAE;QAC5B,YAAY,CAAC,QAAQ,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC;IAClB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;;AAK3C,IAAA,MAAM,YAAY,GAAGC,aAAO,CAC1B,OAAO;QACL,KAAK;QACL,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,cAAc;AACf,KAAA,CAAC,EACF,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAC/D;;AAKD,IAAA,MAAM,QAAQ,GAAGA,aAAO,CAAC,OAAO;AAC9B,QAAA,GAAG,YAAY;AACf,QAAA,GAAG,mBAAmB;AACvB,KAAA,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAIxC,IAAA,QACEC,cAAA,CAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,EAAA,QAAA,EAC3CA,eAAC,YAAY,CAAC,QAAQ,EAAA,EACpB,KAAK,EAAE,QAAQ,EAAA,QAAA,EAEfA,cAAA,CAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAAA,QAAA,EAEjB,QAAQ,GACE,EAAA,CACS,EAAA,CACC;AAE/B;;;;"}
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { createContext, useState, useEffect, useCallback, useMemo } from 'react';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { createContext, useState, useEffect, useContext, useCallback, useMemo } from 'react';
3
3
 
4
4
  /**
5
5
  * Copyright (c) [2026] [ankjs]
@@ -22,10 +22,79 @@ const useSystemTheme = () => {
22
22
  return sysTheme;
23
23
  };
24
24
 
25
- //import MainUiView from './MainUiView';
25
+ const light = {
26
+ primary: '#eee',
27
+ primaryColor: 'red',
28
+ mainBgColor: '#fff',
29
+ backgroundColor: '#f0f0f0',
30
+ secondryBgColor: '#808080',
31
+ pageBg: '#8d8d8d',
32
+ color: '#000',
33
+ };
34
+ const dark = {
35
+ primary: '#b30303',
36
+ primaryColor: 'red',
37
+ mainBgColor: '#009',
38
+ secondryBgColor: '808080',
39
+ pageBg: '#333',
40
+ backgroundColor: '#444',
41
+ color: '#eee',
42
+ };
43
+
44
+ const defaultColorsObject = {
45
+ light: light,
46
+ dark: dark,
47
+ };
48
+ const useThemeColors = () => {
49
+ const context = useContext(AnkThemeContext);
50
+ if (!context) {
51
+ throw new Error(` * useThemeColors must be used within a AnkThemeProvider * \n like this - \n import AnkThemeProvider from '@ankjs/react-ui;
52
+
53
+ <AnkThemeProvider>
54
+ <App />
55
+ </AnkThemeProvider>
56
+ `);
57
+ }
58
+ const { light: light$1, dark: dark$1 } = useContext(ColorContext) ?? defaultColorsObject;
59
+ const reLight = light$1 ?? light;
60
+ const reDark = dark$1 ?? dark;
61
+ const theme = context.theme || undefined;
62
+ const themeMode = context.themeMode || undefined;
63
+ if (theme === undefined || themeMode === undefined) {
64
+ throw new Error(` * useThemeColors must be used within a AnkThemeProvider * \n like this - \n import AnkThemeProvider from '@ankjs/react-ui;
65
+
66
+ <AnkThemeProvider>
67
+ <App />
68
+ </AnkThemeProvider>
69
+ `);
70
+ }
71
+ else if (context.theme === "light") {
72
+ return {
73
+ ...reLight,
74
+ themeMode,
75
+ };
76
+ }
77
+ else if (context.theme === "dark") {
78
+ return {
79
+ ...reDark,
80
+ themeMode,
81
+ };
82
+ }
83
+ return {
84
+ ...reLight,
85
+ themeMode: "light"
86
+ };
87
+ };
88
+
89
+ const MainUiView = (props) => {
90
+ const { children, autoApply, style, overflow, } = props;
91
+ const mainBgColor = useThemeColors();
92
+ return (jsxs("div", { children: [JSON.stringify(mainBgColor), children] }));
93
+ };
94
+
26
95
  const AnkThemeProvider = (props) => {
27
96
  //PROPERTY
28
- const { children, colorsObjectProvide = "", colorsObject = "", defaultThemeMode = "system", style = {} } = props;
97
+ const { children, colorsObjectProvide = "", colorsObject = "", defaultThemeMode = "system", autoApply = true, style = {}, overflow = 'visible', } = props;
29
98
  // SYSTEM THEME MODE 🪝
30
99
  // Assumed returns 'light' | 'dark'
31
100
  const system = useSystemTheme();
@@ -67,7 +136,7 @@ const AnkThemeProvider = (props) => {
67
136
  ...colorsObject,
68
137
  ...colorsObjectProvide,
69
138
  }), [colorsObject, colorsObjectProvide]);
70
- return (jsx(AnkThemeContext.Provider, { value: contextValue, children: jsx(ColorContext.Provider, { value: colorObj, children: children }) }));
139
+ return (jsx(AnkThemeContext.Provider, { value: contextValue, children: jsx(ColorContext.Provider, { value: colorObj, children: jsx(MainUiView, { autoApply: autoApply, style: style, overflow: overflow, children: children }) }) }));
71
140
  };
72
141
 
73
142
  export { AnkThemeProvider as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/contexts/AnkThemeContext.ts","../src/hook/useSystemTheme.ts","../src/providers/AnkThemeProvider.tsx"],"sourcesContent":[null,null,null],"names":["_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/contexts/AnkThemeContext.ts","../src/hook/useSystemTheme.ts","../src/constants/colors.ts","../src/hook/useThemeColors.ts","../src/providers/MainUiView.tsx","../src/providers/AnkThemeProvider.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["defaultLight","defaultDark","light","dark","_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { MainPropsType } from '../types/mainViewType';
2
+ declare const MainUiView: (props: MainPropsType) => import("react/jsx-runtime").JSX.Element;
3
+ export default MainUiView;
@@ -0,0 +1,7 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export type MainPropsType = {
3
+ children: ReactNode;
4
+ autoApply: boolean;
5
+ style?: CSSProperties;
6
+ overflow?: CSSProperties['overflow'];
7
+ };
@@ -10,11 +10,13 @@ export interface ThemeHookReturn extends ColorPalette {
10
10
  themeMode: ThemeModeType | undefined;
11
11
  }
12
12
  export type ThemeProviderProps = {
13
+ children: ReactNode;
13
14
  colorsObjectProvide?: any;
14
15
  colorsObject?: any;
16
+ autoApply?: boolean;
15
17
  defaultThemeMode?: 'light' | 'dark' | 'system';
16
18
  style?: CSSProperties;
17
- children: ReactNode;
19
+ overflow?: CSSProperties['overflow'];
18
20
  };
19
21
  export type ThemeContextType = {
20
22
  theme?: 'light' | 'dark' | 'system';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankjs/react-ui",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "description": "A simple React UI Library",
5
5
  "main": "index.js",
6
6
  "module": "dist/index.esm.js",
@@ -12,7 +12,7 @@ import {
12
12
  } from '../contexts/AnkThemeContext';
13
13
  import type { ThemeProviderProps } from '../types/themeTypes';
14
14
  import useSystemTheme from '../hook/useSystemTheme';
15
- //import MainUiView from './MainUiView';
15
+ import MainUiView from './MainUiView';
16
16
 
17
17
 
18
18
 
@@ -26,7 +26,9 @@ const AnkThemeProvider = (props: ThemeProviderProps) => {
26
26
  colorsObjectProvide = "",
27
27
  colorsObject = "",
28
28
  defaultThemeMode = "system",
29
- style = {}
29
+ autoApply = true,
30
+ style = {},
31
+ overflow = 'visible',
30
32
  } = props;
31
33
 
32
34
 
@@ -72,8 +74,6 @@ const AnkThemeProvider = (props: ThemeProviderProps) => {
72
74
  theme,
73
75
  themeType,
74
76
  setTheme,
75
-
76
-
77
77
  setDarkTheme,
78
78
  setLightTheme,
79
79
  setSystemTheme,
@@ -96,84 +96,15 @@ const AnkThemeProvider = (props: ThemeProviderProps) => {
96
96
  <ColorContext.Provider
97
97
  value={colorObj}
98
98
  >
99
- {children}
99
+ <MainUiView
100
+ autoApply={autoApply}
101
+ style={style}
102
+ overflow={overflow}
103
+ >
104
+ {children}
105
+ </MainUiView>
100
106
  </ColorContext.Provider>
101
107
  </AnkThemeContext.Provider>
102
108
  )
103
109
  };
104
110
  export default AnkThemeProvider;
105
-
106
- /*
107
-
108
- import React, { useState, useCallback, useMemo, ReactNode } from 'react';
109
-
110
- interface ThemeProviderProps {
111
- children: ReactNode; // Fixes the "Type {} is not assignable to ReactNode" error
112
- colorsObjectProvide?: any;
113
- colorsObject?: any;
114
- defaultThemeMode?: 'light' | 'dark' | 'system';
115
- style?: React.CSSProperties;
116
- }
117
-
118
- const AnkThemeProvider = (props: ThemeProviderProps) => {
119
- const {
120
- children,
121
- colorsObjectProvide = {},
122
- colorsObject = {},
123
- defaultThemeMode = "system",
124
- } = props;
125
-
126
- const system = useSystemTheme(); // Assumed returns 'light' | 'dark'
127
-
128
- // Determine initial active theme
129
- const initialActiveTheme = defaultThemeMode === "system" ? system : defaultThemeMode;
130
-
131
- // State for the active visual mode
132
- const [theme, setTheme] = useState<'light' | 'dark'>(initialActiveTheme as 'light' | 'dark');
133
-
134
- // State for the user's selected preference
135
- const [themeType, setType] = useState<'light' | 'dark' | 'system'>(defaultThemeMode);
136
-
137
- const setDarkTheme = useCallback(() => {
138
- setTheme('dark');
139
- setType('dark');
140
- }, []);
141
-
142
- const setLightTheme = useCallback(() => {
143
- setTheme('light');
144
- setType('light');
145
- }, []);
146
-
147
- const setSystemTheme = useCallback(() => {
148
- setType('system');
149
- setTheme(system);
150
- }, [system]);
151
-
152
-
153
-
154
- const contextValue = useMemo(
155
- () => ({
156
- theme,
157
- themeType,
158
- setTheme,
159
- setDarkTheme,
160
- setLightTheme,
161
- setSystemTheme,
162
- }),
163
- [theme, themeType, setTheme, setDarkTheme, setLightTheme, setSystemTheme],
164
- );
165
-
166
- const colorObj = useMemo(() => ({
167
- ...colorsObject,
168
- ...colorsObjectProvide,
169
- }), [colorsObject, colorsObjectProvide]);
170
-
171
- return (
172
- <AnkThemeContext.Provider value={contextValue}>
173
- <ColorContext.Provider value={colorObj}>
174
- {children}
175
- </ColorContext.Provider>
176
- </AnkThemeContext.Provider>
177
- );
178
- };
179
- */
@@ -0,0 +1,30 @@
1
+ import useThemeColors from '../hook/useThemeColors';
2
+ import type { MainPropsType } from '../types/mainViewType';
3
+
4
+
5
+
6
+
7
+
8
+
9
+ const MainUiView = (props: MainPropsType) => {
10
+ const {
11
+ children,
12
+ autoApply,
13
+ style,
14
+ overflow,
15
+ } = props;
16
+
17
+ const mainBgColor = useThemeColors();
18
+
19
+
20
+ return (
21
+ <div
22
+ >
23
+ {
24
+ JSON.stringify(mainBgColor)
25
+ }
26
+ {children}
27
+ </div>
28
+ )
29
+ };
30
+ export default MainUiView;
@@ -0,0 +1,13 @@
1
+
2
+
3
+
4
+
5
+ import React, { CSSProperties, ReactNode } from 'react'
6
+
7
+
8
+ export type MainPropsType = {
9
+ children: ReactNode,
10
+ autoApply: boolean,
11
+ style?: CSSProperties,
12
+ overflow?: CSSProperties['overflow']
13
+ }
@@ -13,11 +13,13 @@ export interface ThemeHookReturn extends ColorPalette {
13
13
  }
14
14
 
15
15
  export type ThemeProviderProps = {
16
+ children: ReactNode; // Fixes the "Type {} is not assignable to ReactNode" error
16
17
  colorsObjectProvide?: any,
17
18
  colorsObject?: any,
19
+ autoApply?: boolean,
18
20
  defaultThemeMode?: 'light' | 'dark' | 'system',
19
21
  style?: CSSProperties,
20
- children: ReactNode; // Fixes the "Type {} is not assignable to ReactNode" error
22
+ overflow?: CSSProperties['overflow']
21
23
  }
22
24
 
23
25
  export type ThemeContextType = {
@@ -1,33 +0,0 @@
1
-
2
- import useThemeColors from '../hook/useThemeColors'
3
-
4
-
5
-
6
-
7
- export default function MainUiView(props) {
8
- const {
9
- children,
10
- autoColorApply,
11
- colorObject,
12
- style,
13
- others,
14
- } = props;
15
-
16
- const colors = useThemeColors();
17
-
18
-
19
- const styleContener = {
20
- ...style
21
- };
22
-
23
- return (
24
- <div
25
- style={styleContener}
26
- >
27
- {
28
- JSON.stringify(colors)
29
- }
30
- {children}
31
- </div>
32
- )
33
- };