@xanui/core 1.3.7 → 1.3.9

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.
Files changed (116) hide show
  1. package/AppRoot/AppRootProvider.cjs.map +1 -1
  2. package/AppRoot/AppRootProvider.js.map +1 -1
  3. package/AppRoot/Renderar.cjs.map +1 -1
  4. package/AppRoot/Renderar.js.map +1 -1
  5. package/AppRoot/index.cjs +6 -5
  6. package/AppRoot/index.cjs.map +1 -1
  7. package/AppRoot/index.d.ts +2 -1
  8. package/AppRoot/index.js +6 -5
  9. package/AppRoot/index.js.map +1 -1
  10. package/Document/index.cjs.map +1 -1
  11. package/Document/index.js.map +1 -1
  12. package/Iframe/index.cjs +1 -0
  13. package/Iframe/index.cjs.map +1 -1
  14. package/Iframe/index.js +1 -0
  15. package/Iframe/index.js.map +1 -1
  16. package/Portal/index.cjs.map +1 -1
  17. package/Portal/index.js.map +1 -1
  18. package/Tag/ServerStyleTag.cjs.map +1 -1
  19. package/Tag/ServerStyleTag.js.map +1 -1
  20. package/Tag/cssPropList.cjs.map +1 -1
  21. package/Tag/cssPropList.js.map +1 -1
  22. package/Tag/index.cjs +2 -2
  23. package/Tag/index.cjs.map +1 -1
  24. package/Tag/index.js +2 -2
  25. package/Tag/index.js.map +1 -1
  26. package/Tag/types.d.ts +3 -2
  27. package/Tag/useTagProps.cjs +23 -4
  28. package/Tag/useTagProps.cjs.map +1 -1
  29. package/Tag/useTagProps.d.ts +1 -0
  30. package/Tag/useTagProps.js +23 -4
  31. package/Tag/useTagProps.js.map +1 -1
  32. package/Transition/index.cjs +1 -1
  33. package/Transition/index.cjs.map +1 -1
  34. package/Transition/index.d.ts +7 -2
  35. package/Transition/index.js +1 -1
  36. package/Transition/index.js.map +1 -1
  37. package/Transition/variants.cjs.map +1 -1
  38. package/Transition/variants.js.map +1 -1
  39. package/animate/easing.cjs.map +1 -1
  40. package/animate/easing.js.map +1 -1
  41. package/animate/index.cjs.map +1 -1
  42. package/animate/index.js.map +1 -1
  43. package/breakpoint/BreakpointProvider.cjs.map +1 -1
  44. package/breakpoint/BreakpointProvider.js.map +1 -1
  45. package/breakpoint/useBreakpoint.cjs.map +1 -1
  46. package/breakpoint/useBreakpoint.js.map +1 -1
  47. package/breakpoint/useBreakpointProps.cjs.map +1 -1
  48. package/breakpoint/useBreakpointProps.js.map +1 -1
  49. package/cookie.cjs.map +1 -1
  50. package/cookie.js.map +1 -1
  51. package/css/CSSCacheProvider.cjs.map +1 -1
  52. package/css/CSSCacheProvider.js.map +1 -1
  53. package/css/aliases.cjs.map +1 -1
  54. package/css/aliases.js.map +1 -1
  55. package/css/getProps.cjs +9 -6
  56. package/css/getProps.cjs.map +1 -1
  57. package/css/getProps.js +9 -6
  58. package/css/getProps.js.map +1 -1
  59. package/css/getValue.cjs +11 -10
  60. package/css/getValue.cjs.map +1 -1
  61. package/css/getValue.js +11 -10
  62. package/css/getValue.js.map +1 -1
  63. package/css/index.cjs +0 -32
  64. package/css/index.cjs.map +1 -1
  65. package/css/index.d.ts +1 -4
  66. package/css/index.js +1 -30
  67. package/css/index.js.map +1 -1
  68. package/hooks/useColorTemplate.cjs +26 -29
  69. package/hooks/useColorTemplate.cjs.map +1 -1
  70. package/hooks/useColorTemplate.d.ts +8 -6
  71. package/hooks/useColorTemplate.js +26 -29
  72. package/hooks/useColorTemplate.js.map +1 -1
  73. package/hooks/useInterface.cjs +1 -0
  74. package/hooks/useInterface.cjs.map +1 -1
  75. package/hooks/useInterface.d.ts +1 -3
  76. package/hooks/useInterface.js +1 -0
  77. package/hooks/useInterface.js.map +1 -1
  78. package/hooks/useMergeRefs.cjs.map +1 -1
  79. package/hooks/useMergeRefs.js.map +1 -1
  80. package/hooks/useTransition.cjs.map +1 -1
  81. package/hooks/useTransition.js.map +1 -1
  82. package/hooks/useTransitionGroup.cjs.map +1 -1
  83. package/hooks/useTransitionGroup.js.map +1 -1
  84. package/index.cjs +0 -3
  85. package/index.cjs.map +1 -1
  86. package/index.d.ts +3 -3
  87. package/index.js +1 -1
  88. package/package.json +1 -1
  89. package/readme.md +109 -109
  90. package/theme/ThemeCssVars.cjs +39 -3
  91. package/theme/ThemeCssVars.cjs.map +1 -1
  92. package/theme/ThemeCssVars.js +39 -3
  93. package/theme/ThemeCssVars.js.map +1 -1
  94. package/theme/ThemeDefaultOptions.cjs +20 -86
  95. package/theme/ThemeDefaultOptions.cjs.map +1 -1
  96. package/theme/ThemeDefaultOptions.js +20 -86
  97. package/theme/ThemeDefaultOptions.js.map +1 -1
  98. package/theme/ThemeProvider.cjs +4 -3
  99. package/theme/ThemeProvider.cjs.map +1 -1
  100. package/theme/ThemeProvider.d.ts +3 -3
  101. package/theme/ThemeProvider.js +5 -4
  102. package/theme/ThemeProvider.js.map +1 -1
  103. package/theme/core.cjs +22 -13
  104. package/theme/core.cjs.map +1 -1
  105. package/theme/core.d.ts +1 -1
  106. package/theme/core.js +24 -15
  107. package/theme/core.js.map +1 -1
  108. package/theme/index.cjs +3 -0
  109. package/theme/index.cjs.map +1 -1
  110. package/theme/index.js +1 -0
  111. package/theme/index.js.map +1 -1
  112. package/theme/oklch.cjs +249 -0
  113. package/theme/oklch.cjs.map +1 -0
  114. package/theme/oklch.js +246 -0
  115. package/theme/oklch.js.map +1 -0
  116. package/theme/types.d.ts +28 -70
package/theme/oklch.js ADDED
@@ -0,0 +1,246 @@
1
+ /* ---------------- PARSERS ---------------- */
2
+ function toOKLCH(input) {
3
+ if (input.startsWith("oklch")) {
4
+ const values = input.match(/[\d.]+/g);
5
+ if (!values || values.length < 3) {
6
+ throw new Error("Invalid OKLCH format");
7
+ }
8
+ let [l, c, h] = values.map(Number);
9
+ return {
10
+ l: l > 1 ? l / 100 : l,
11
+ c,
12
+ h,
13
+ };
14
+ }
15
+ const rgb = parseToRgb(input);
16
+ const lab = rgbToOklab(rgb.r, rgb.g, rgb.b);
17
+ return oklabToOklch(lab.L, lab.a, lab.b);
18
+ }
19
+ function parseToRgb(input) {
20
+ input = input.trim().toLowerCase();
21
+ if (input.startsWith("#"))
22
+ return parseHex(input);
23
+ if (input.startsWith("rgb"))
24
+ return parseRgb(input);
25
+ if (input.startsWith("hsl"))
26
+ return parseHsl(input);
27
+ throw new Error("Unsupported format");
28
+ }
29
+ /* ---------------- CORE MATH ---------------- */
30
+ function srgbToLinear(c) {
31
+ return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
32
+ }
33
+ function rgbToOklab(r, g, b) {
34
+ r = srgbToLinear(r);
35
+ g = srgbToLinear(g);
36
+ b = srgbToLinear(b);
37
+ const l = 0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b;
38
+ const m = 0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b;
39
+ const s = 0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b;
40
+ const l_ = Math.cbrt(l);
41
+ const m_ = Math.cbrt(m);
42
+ const s_ = Math.cbrt(s);
43
+ return {
44
+ L: 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_,
45
+ a: 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_,
46
+ b: 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_,
47
+ };
48
+ }
49
+ function oklabToOklch(L, a, b) {
50
+ const c = Math.sqrt(a * a + b * b);
51
+ let h = Math.atan2(b, a) * (180 / Math.PI);
52
+ if (h < 0)
53
+ h += 360;
54
+ return { l: L, c, h };
55
+ }
56
+ /* ---------------- FORMAT ---------------- */
57
+ function formatOklch(color, alpha = 1) {
58
+ const l = (color.l * 100).toFixed(2) + "%";
59
+ const c = color.c.toFixed(4);
60
+ const h = color.h.toFixed(2);
61
+ return alpha === 1
62
+ ? `oklch(${l} ${c} ${h})`
63
+ : `oklch(${l} ${c} ${h} / ${alpha})`;
64
+ }
65
+ /* ---------------- UTILS ---------------- */
66
+ function clamp(v, min = 0, max = 1) {
67
+ return Math.min(max, Math.max(min, v));
68
+ }
69
+ function createPalette(input) {
70
+ const base = toOKLCH(input);
71
+ const isTrueBlack = base.l < 0.2 && base.c < 0.02;
72
+ const isTrueWhite = base.l > 0.92 && base.c < 0.015;
73
+ const isDark = base.l < 0.75;
74
+ if (isTrueBlack) {
75
+ return {
76
+ main: formatOklch(base),
77
+ light: formatOklch({
78
+ l: clamp(base.l + (1 - base.l) * 0.10),
79
+ c: base.c * 0.85,
80
+ h: base.h,
81
+ }),
82
+ dark: formatOklch({
83
+ l: 0.04,
84
+ c: 0.005,
85
+ h: base.h,
86
+ }),
87
+ muted: formatOklch({
88
+ l: 0.72,
89
+ c: 0.01,
90
+ h: base.h,
91
+ }),
92
+ disabled: formatOklch({
93
+ l: 0.30,
94
+ c: 0,
95
+ h: base.h,
96
+ }),
97
+ contrast: formatOklch({
98
+ l: 0.98,
99
+ c: 0.01,
100
+ h: base.h,
101
+ }),
102
+ divider: formatOklch({
103
+ l: 0.30,
104
+ c: 0.002,
105
+ h: 0,
106
+ }),
107
+ ghost: formatOklch({
108
+ l: clamp(base.l + (1 - base.l) * 0.10),
109
+ c: base.c * 0.85,
110
+ h: base.h,
111
+ }, 0.6),
112
+ };
113
+ }
114
+ if (isTrueWhite) {
115
+ return {
116
+ main: formatOklch(base),
117
+ light: formatOklch({
118
+ l: 0.95,
119
+ c: 0,
120
+ h: base.h
121
+ }),
122
+ dark: formatOklch({
123
+ l: 0.86,
124
+ c: 0,
125
+ h: base.h,
126
+ }),
127
+ muted: formatOklch({
128
+ l: 0.55,
129
+ c: 0,
130
+ h: base.h,
131
+ }),
132
+ disabled: formatOklch({
133
+ l: 0.75,
134
+ c: 0,
135
+ h: base.h,
136
+ }),
137
+ contrast: formatOklch({
138
+ l: 0.15,
139
+ c: 0,
140
+ h: base.h,
141
+ }),
142
+ divider: formatOklch({
143
+ l: 0.85,
144
+ c: 0,
145
+ h: 0,
146
+ }),
147
+ ghost: formatOklch({
148
+ l: 0.85,
149
+ c: 0,
150
+ h: base.h
151
+ }, 0.2),
152
+ };
153
+ }
154
+ return {
155
+ main: formatOklch(base),
156
+ light: formatOklch({
157
+ l: clamp(base.l + 0.10),
158
+ c: clamp(base.c * 1.2),
159
+ h: base.h
160
+ }),
161
+ dark: formatOklch({
162
+ l: clamp(base.l - 0.06),
163
+ c: clamp(base.c * 1),
164
+ h: base.h
165
+ }),
166
+ muted: formatOklch({
167
+ l: clamp(base.l + (isDark ? 0.25 : -0.25)),
168
+ c: clamp(base.c * 0.22),
169
+ h: base.h
170
+ }),
171
+ disabled: formatOklch({
172
+ l: clamp(base.l + (isDark ? 0.01 : -0.01)),
173
+ c: clamp(base.c * 0.15),
174
+ h: base.h
175
+ }),
176
+ contrast: formatOklch({
177
+ l: isDark ? 0.97 : 0.11,
178
+ c: 0.01,
179
+ h: base.h
180
+ }),
181
+ divider: formatOklch({
182
+ l: clamp(base.l - 0.20),
183
+ c: clamp(base.c * 1.08),
184
+ h: base.h
185
+ }, .3),
186
+ ghost: formatOklch(base, isDark ? 0.1 : .22),
187
+ };
188
+ }
189
+ /* ---------------- PARSERS ---------------- */
190
+ function parseHex(hex) {
191
+ hex = hex.replace("#", "").trim();
192
+ if (hex.length === 3) {
193
+ hex = hex.split("").map(c => c + c).join("");
194
+ }
195
+ const num = parseInt(hex, 16);
196
+ return {
197
+ r: ((num >> 16) & 255) / 255,
198
+ g: ((num >> 8) & 255) / 255,
199
+ b: (num & 255) / 255,
200
+ };
201
+ }
202
+ function parseRgb(input) {
203
+ const values = input.match(/[\d.]+/g);
204
+ if (!values || values.length < 3) {
205
+ throw new Error("Invalid RGB format");
206
+ }
207
+ const [r, g, b] = values.map(Number);
208
+ return {
209
+ r: r / 255,
210
+ g: g / 255,
211
+ b: b / 255,
212
+ };
213
+ }
214
+ function parseHsl(input) {
215
+ const values = input.match(/[\d.]+/g);
216
+ if (!values || values.length < 3) {
217
+ throw new Error("Invalid HSL format");
218
+ }
219
+ let [h, s, l] = values.map(Number);
220
+ h /= 360;
221
+ s /= 100;
222
+ l /= 100;
223
+ const hue2rgb = (p, q, t) => {
224
+ if (t < 0)
225
+ t += 1;
226
+ if (t > 1)
227
+ t -= 1;
228
+ if (t < 1 / 6)
229
+ return p + (q - p) * 6 * t;
230
+ if (t < 1 / 2)
231
+ return q;
232
+ if (t < 2 / 3)
233
+ return p + (q - p) * (2 / 3 - t) * 6;
234
+ return p;
235
+ };
236
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
237
+ const p = 2 * l - q;
238
+ return {
239
+ r: hue2rgb(p, q, h + 1 / 3),
240
+ g: hue2rgb(p, q, h),
241
+ b: hue2rgb(p, q, h - 1 / 3),
242
+ };
243
+ }
244
+
245
+ export { createPalette, toOKLCH };
246
+ //# sourceMappingURL=oklch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oklch.js","sources":["../../src/theme/oklch.ts"],"sourcesContent":["type OKLCH = {\n l: number;\n c: number;\n h: number;\n};\n\ntype ColorRole = {\n main: string;\n light: string;\n dark: string;\n contrast: string;\n muted: string;\n divider: string;\n disabled: string;\n ghost: string;\n};\n\n/* ---------------- PARSERS ---------------- */\n\nexport function toOKLCH(input: string): OKLCH {\n if (input.startsWith(\"oklch\")) {\n const values = input.match(/[\\d.]+/g);\n if (!values || values.length < 3) {\n throw new Error(\"Invalid OKLCH format\");\n }\n\n let [l, c, h] = values.map(Number);\n\n return {\n l: l > 1 ? l / 100 : l,\n c,\n h,\n };\n }\n\n const rgb = parseToRgb(input);\n const lab = rgbToOklab(rgb.r, rgb.g, rgb.b);\n return oklabToOklch(lab.L, lab.a, lab.b);\n}\n\nfunction parseToRgb(input: string) {\n input = input.trim().toLowerCase();\n\n if (input.startsWith(\"#\")) return parseHex(input);\n if (input.startsWith(\"rgb\")) return parseRgb(input);\n if (input.startsWith(\"hsl\")) return parseHsl(input);\n\n throw new Error(\"Unsupported format\");\n}\n\n/* ---------------- CORE MATH ---------------- */\n\nfunction srgbToLinear(c: number) {\n return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n}\n\nfunction rgbToOklab(r: number, g: number, b: number) {\n r = srgbToLinear(r);\n g = srgbToLinear(g);\n b = srgbToLinear(b);\n\n const l = 0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b;\n const m = 0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b;\n const s = 0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b;\n\n const l_ = Math.cbrt(l);\n const m_ = Math.cbrt(m);\n const s_ = Math.cbrt(s);\n\n return {\n L: 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_,\n a: 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_,\n b: 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_,\n };\n}\n\nfunction oklabToOklch(L: number, a: number, b: number): OKLCH {\n const c = Math.sqrt(a * a + b * b);\n let h = Math.atan2(b, a) * (180 / Math.PI);\n\n if (h < 0) h += 360;\n\n return { l: L, c, h };\n}\n\n/* ---------------- FORMAT ---------------- */\n\nfunction formatOklch(color: OKLCH, alpha = 1): string {\n const l = (color.l * 100).toFixed(2) + \"%\";\n const c = color.c.toFixed(4);\n const h = color.h.toFixed(2);\n\n return alpha === 1\n ? `oklch(${l} ${c} ${h})`\n : `oklch(${l} ${c} ${h} / ${alpha})`;\n}\n\n/* ---------------- UTILS ---------------- */\n\nfunction clamp(v: number, min = 0, max = 1) {\n return Math.min(max, Math.max(min, v));\n}\n\n\nexport function createPalette(input: string): ColorRole {\n const base = toOKLCH(input);\n const isTrueBlack = base.l < 0.2 && base.c < 0.02;\n const isTrueWhite = base.l > 0.92 && base.c < 0.015;\n const isDark = base.l < 0.75;\n\n if (isTrueBlack) {\n return {\n main: formatOklch(base),\n\n light: formatOklch({\n l: clamp(base.l + (1 - base.l) * 0.10),\n c: base.c * 0.85,\n h: base.h,\n }),\n\n dark: formatOklch({\n l: 0.04,\n c: 0.005,\n h: base.h,\n }),\n\n muted: formatOklch({\n l: 0.72,\n c: 0.01,\n h: base.h,\n }),\n\n disabled: formatOklch({\n l: 0.30,\n c: 0,\n h: base.h,\n }),\n\n contrast: formatOklch({\n l: 0.98,\n c: 0.01,\n h: base.h,\n }),\n\n divider: formatOklch({\n l: 0.30,\n c: 0.002,\n h: 0,\n }),\n\n ghost: formatOklch({\n l: clamp(base.l + (1 - base.l) * 0.10),\n c: base.c * 0.85,\n h: base.h,\n }, 0.6),\n\n };\n }\n\n if (isTrueWhite) {\n return {\n main: formatOklch(base),\n\n light: formatOklch({\n l: 0.95,\n c: 0,\n h: base.h\n }),\n\n dark: formatOklch({\n l: 0.86,\n c: 0,\n h: base.h,\n }),\n\n muted: formatOklch({\n l: 0.55,\n c: 0,\n h: base.h,\n }),\n\n disabled: formatOklch({\n l: 0.75,\n c: 0,\n h: base.h,\n }),\n\n contrast: formatOklch({\n l: 0.15,\n c: 0,\n h: base.h,\n }),\n\n divider: formatOklch({\n l: 0.85,\n c: 0,\n h: 0,\n }),\n\n ghost: formatOklch({\n l: 0.85,\n c: 0,\n h: base.h\n }, 0.2),\n };\n }\n\n\n return {\n main: formatOklch(base),\n\n light: formatOklch({\n l: clamp(base.l + 0.10),\n c: clamp(base.c * 1.2),\n h: base.h\n }),\n\n dark: formatOklch({\n l: clamp(base.l - 0.06),\n c: clamp(base.c * 1),\n h: base.h\n }),\n\n muted: formatOklch({\n l: clamp(base.l + (isDark ? 0.25 : -0.25)),\n c: clamp(base.c * 0.22),\n h: base.h\n }),\n\n disabled: formatOklch({\n l: clamp(base.l + (isDark ? 0.01 : -0.01)),\n c: clamp(base.c * 0.15),\n h: base.h\n }),\n\n contrast: formatOklch({\n l: isDark ? 0.97 : 0.11,\n c: 0.01,\n h: base.h\n }),\n\n divider: formatOklch({\n l: clamp(base.l - 0.20),\n c: clamp(base.c * 1.08),\n h: base.h\n }, .3),\n\n ghost: formatOklch(base, isDark ? 0.1 : .22),\n };\n}\n\n/* ---------------- PARSERS ---------------- */\n\nfunction parseHex(hex: string) {\n hex = hex.replace(\"#\", \"\").trim();\n\n if (hex.length === 3) {\n hex = hex.split(\"\").map(c => c + c).join(\"\");\n }\n\n const num = parseInt(hex, 16);\n\n return {\n r: ((num >> 16) & 255) / 255,\n g: ((num >> 8) & 255) / 255,\n b: (num & 255) / 255,\n };\n}\n\nfunction parseRgb(input: string) {\n const values = input.match(/[\\d.]+/g);\n if (!values || values.length < 3) {\n throw new Error(\"Invalid RGB format\");\n }\n\n const [r, g, b] = values.map(Number);\n\n return {\n r: r / 255,\n g: g / 255,\n b: b / 255,\n };\n}\n\nfunction parseHsl(input: string) {\n const values = input.match(/[\\d.]+/g);\n if (!values || values.length < 3) {\n throw new Error(\"Invalid HSL format\");\n }\n\n let [h, s, l] = values.map(Number);\n\n h /= 360;\n s /= 100;\n l /= 100;\n\n const hue2rgb = (p: number, q: number, t: number) => {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n };\n\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n\n return {\n r: hue2rgb(p, q, h + 1 / 3),\n g: hue2rgb(p, q, h),\n b: hue2rgb(p, q, h - 1 / 3),\n };\n}"],"names":[],"mappings":"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"}
package/theme/types.d.ts CHANGED
@@ -3,92 +3,50 @@ import { GlobalCSS, BreakpointKeys } from '../css/types.js';
3
3
  type ObjectType = {
4
4
  [key: string]: any;
5
5
  };
6
+ type BaseTypographyKeys = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "big" | "text" | "button" | "small";
6
7
  type ThemeTypographyItem = {
7
8
  fontSize: number;
8
9
  lineHeight: number;
9
10
  fontWeight: number;
10
11
  };
11
- type ThemeTypographyType = {
12
- h1: ThemeTypographyItem;
13
- h2: ThemeTypographyItem;
14
- h3: ThemeTypographyItem;
15
- h4: ThemeTypographyItem;
16
- h5: ThemeTypographyItem;
17
- h6: ThemeTypographyItem;
18
- big: ThemeTypographyItem;
19
- text: ThemeTypographyItem;
20
- button: ThemeTypographyItem;
21
- small: ThemeTypographyItem;
22
- };
12
+ type ThemeColorKeys = "surface" | "primary" | "accent" | "info" | "success" | "warning" | "danger";
23
13
  type ThemeColorOption = {
24
- primary: string;
25
- secondary: string;
26
- text: string;
27
- };
28
- type ThemeOptionsColor = ThemeColorOption & {
29
- soft: {
30
- primary: string;
31
- secondary: string;
32
- };
14
+ main: string;
15
+ light: string;
16
+ dark: string;
17
+ contrast: string;
18
+ muted: string;
19
+ disabled: string;
20
+ divider: string;
21
+ ghost: string;
33
22
  };
34
- interface ThemeOptions {
23
+ type ThemeInterface<T = any> = (defaultProps: T, theme: ThemeOptions) => T;
24
+ type ThemeMode = "dark" | "light";
25
+ type ThemeOptions = {
35
26
  name: string;
27
+ mode?: ThemeMode;
36
28
  rtl: boolean;
37
29
  globalStyle: GlobalCSS;
38
30
  breakpoints: {
39
31
  [key in BreakpointKeys]: number;
40
32
  };
41
33
  shadow: string[];
42
- interfaces: {
43
- [name: string]: <P extends object>(defaultProps: P, theme: ThemeOptions) => P;
44
- };
45
- colors: {
46
- background: Omit<ThemeOptionsColor, 'text'>;
47
- text: Omit<ThemeOptionsColor, 'text'>;
48
- divider: Omit<ThemeOptionsColor, 'text'>;
49
- brand: ThemeOptionsColor;
50
- accent: ThemeOptionsColor;
51
- success: ThemeOptionsColor;
52
- info: ThemeOptionsColor;
53
- warning: ThemeOptionsColor;
54
- danger: ThemeOptionsColor;
55
- };
56
- typography: ThemeTypographyType;
57
- change: (theme: ThemeOptions) => void;
58
- }
59
- type ThemeTypographyItemInput = Partial<ThemeTypographyItem>;
60
- type ThemeTypographyInputType = {
61
- h1?: ThemeTypographyItemInput;
62
- h2?: ThemeTypographyItemInput;
63
- h3?: ThemeTypographyItemInput;
64
- h4?: ThemeTypographyItemInput;
65
- h5?: ThemeTypographyItemInput;
66
- h6?: ThemeTypographyItemInput;
67
- text?: ThemeTypographyItemInput;
68
- button?: ThemeTypographyItemInput;
69
- small?: ThemeTypographyItemInput;
34
+ interfaces: Record<string, ThemeInterface>;
35
+ colors: Record<ThemeColorKeys, ThemeColorOption>;
36
+ typography: Record<BaseTypographyKeys, ThemeTypographyItem>;
37
+ change: (theme: ThemeOptionInput) => void;
70
38
  };
71
- interface ThemeOptionInput {
39
+ type ThemeOptionInput = {
40
+ name?: string;
41
+ mode?: ThemeMode;
72
42
  rtl?: boolean;
73
43
  globalStyle?: GlobalCSS;
74
44
  shadow?: string[];
75
- interfaces?: {
76
- [name: string]: <P extends object>(defaultProps: P, theme: ThemeOptions) => P;
77
- };
78
- colors?: {
79
- background?: Omit<ThemeColorOption, 'text'>;
80
- text?: Omit<ThemeColorOption, 'text'>;
81
- divider?: Omit<ThemeColorOption, 'text'>;
82
- brand?: ThemeColorOption;
83
- accent?: ThemeColorOption;
84
- success?: ThemeColorOption;
85
- info?: ThemeColorOption;
86
- warning?: ThemeColorOption;
87
- danger?: ThemeColorOption;
88
- };
89
- typography?: ThemeTypographyInputType;
90
- }
91
- type TypographyRefTypes = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "text" | "button" | "small";
92
- type ColorsRefTypes = "background" | "background.primary" | "background.secondary" | "text" | "text.primary" | "text.secondary" | "divider" | "divider.primary" | "divider.secondary" | "divider.soft.primary" | "divider.soft.secondary" | "brand" | "brand.primary" | "brand.secondary" | "brand.text" | "brand.soft.primary" | "brand.soft.secondary" | "accent" | "accent.primary" | "accent.secondary" | "accent.text" | "accent.soft.primary" | "accent.soft.secondary" | "info" | "info.primary" | "info.secondary" | "info.text" | "info.soft.primary" | "info.soft.secondary" | "success" | "success.primary" | "success.secondary" | "success.text" | "success.soft.primary" | "success.soft.secondary" | "warning" | "warning.primary" | "warning.secondary" | "warning.text" | "warning.soft.primary" | "warning.soft.secondary" | "danger" | "danger.primary" | "danger.secondary" | "danger.text" | "danger.soft.primary" | "danger.soft.secondary";
45
+ interfaces?: Record<string, ThemeInterface>;
46
+ colors?: Partial<Record<ThemeColorKeys, string | Partial<ThemeColorOption>>>;
47
+ typography?: Record<BaseTypographyKeys, ThemeTypographyItem>;
48
+ };
49
+ type TypographyRefTypes = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "big" | "text" | "button" | "small";
50
+ type ColorsRefTypes = "surface" | "surface.main" | "surface.light" | "surface.dark" | "surface.contrast" | "surface.muted" | "surface.disabled" | "surface.divider" | "surface.ghost" | "primary" | "primary.main" | "primary.light" | "primary.dark" | "primary.contrast" | "primary.muted" | "primary.disabled" | "primary.divider" | "primary.ghost" | "accent" | "accent.main" | "accent.light" | "accent.dark" | "accent.contrast" | "accent.muted" | "accent.disabled" | "accent.divider" | "accent.ghost" | "success" | "success.main" | "success.light" | "success.dark" | "success.contrast" | "success.muted" | "success.disabled" | "success.divider" | "success.ghost" | "info" | "info.main" | "info.light" | "info.dark" | "info.contrast" | "info.muted" | "info.disabled" | "info.divider" | "info.ghost" | "warning" | "warning.main" | "warning.light" | "warning.dark" | "warning.contrast" | "warning.muted" | "warning.disabled" | "warning.divider" | "warning.ghost" | "danger" | "danger.main" | "danger.light" | "danger.dark" | "danger.contrast" | "danger.muted" | "danger.disabled" | "danger.divider" | "danger.ghost";
93
51
 
94
- export type { ColorsRefTypes, ObjectType, ThemeColorOption, ThemeOptionInput, ThemeOptions, ThemeOptionsColor, ThemeTypographyInputType, ThemeTypographyItem, ThemeTypographyItemInput, ThemeTypographyType, TypographyRefTypes };
52
+ export type { BaseTypographyKeys, ColorsRefTypes, ObjectType, ThemeColorKeys, ThemeColorOption, ThemeInterface, ThemeMode, ThemeOptionInput, ThemeOptions, ThemeTypographyItem, TypographyRefTypes };