@temboplus/frontend-react-core 0.1.3-beta.13 → 0.1.3-beta.15
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/alerts/index.cjs.js +1 -1
- package/dist/alerts/index.cjs.js.map +1 -1
- package/dist/alerts/index.js +1 -1
- package/dist/alerts/index.js.map +1 -1
- package/dist/dialogs/index.cjs.js +3 -3
- package/dist/dialogs/index.cjs.js.map +1 -1
- package/dist/dialogs/index.js +3 -3
- package/dist/dialogs/index.js.map +1 -1
- package/dist/features/alerts/alert.js +18 -18
- package/dist/features/dialogs/tembo-confirm.js +11 -11
- package/dist/features/notifications/tembo-notify.d.ts +3 -2
- package/dist/features/notifications/toast-config.d.ts +4 -3
- package/dist/features/notifications/toast-config.js +7 -7
- package/dist/features/notifications/toast-container.js +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/notifications/index.cjs.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/tembo-notify-60Hk7l5W.js +3 -0
- package/dist/tembo-notify-60Hk7l5W.js.map +1 -0
- package/dist/tembo-notify-BEEB2wEp.js +3 -0
- package/dist/tembo-notify-BEEB2wEp.js.map +1 -0
- package/dist/theme/index.cjs.js +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/theme-config.d.ts +10 -3
- package/dist/theme/theme-config.js +138 -286
- package/dist/theme/theme-provider.d.ts +3 -3
- package/dist/theme/theme-provider.js +5 -7
- package/dist/theme/tokens/{color.d.ts → colors.d.ts} +32 -17
- package/dist/theme/tokens/{color.js → colors.js} +65 -46
- package/dist/theme/tokens/constants.d.ts +15 -42
- package/dist/theme/tokens/constants.js +43 -40
- package/dist/theme-provider-BJjIEVwv.js +2 -0
- package/dist/theme-provider-BJjIEVwv.js.map +1 -0
- package/dist/theme-provider-CpPw8sUs.js +11 -0
- package/dist/theme-provider-CpPw8sUs.js.map +1 -0
- package/dist/theme-provider-D3-cveEd.js +2 -0
- package/dist/theme-provider-D3-cveEd.js.map +1 -0
- package/dist/theme-provider-xDEswLd1.js +11 -0
- package/dist/theme-provider-xDEswLd1.js.map +1 -0
- package/package.json +1 -1
- package/dist/tembo-notify-CW2KXwZW.js +0 -3
- package/dist/tembo-notify-CW2KXwZW.js.map +0 -1
- package/dist/tembo-notify-EJeawMJ_.js +0 -3
- package/dist/tembo-notify-EJeawMJ_.js.map +0 -1
- package/dist/theme-provider-BVd_oFrl.js +0 -11
- package/dist/theme-provider-BVd_oFrl.js.map +0 -1
- package/dist/theme-provider-dbf4ZeQO.js +0 -11
- package/dist/theme-provider-dbf4ZeQO.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ThemeConfig } from 'antd';
|
|
3
|
-
import {
|
|
4
|
-
import { ColorPalette, ThemeMode } from './tokens/
|
|
3
|
+
import { UIConstants } from './tokens/constants.js';
|
|
4
|
+
import { ColorPalette, ThemeMode } from './tokens/colors.js';
|
|
5
5
|
/**
|
|
6
6
|
* Theme context value - now includes constants!
|
|
7
7
|
*/
|
|
8
8
|
export interface TemboTheme {
|
|
9
9
|
colors: ColorPalette;
|
|
10
|
-
constants:
|
|
10
|
+
constants: UIConstants;
|
|
11
11
|
mode: ThemeMode;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
@@ -3,10 +3,10 @@ import React from 'react';
|
|
|
3
3
|
import { ConfigProvider } from 'antd';
|
|
4
4
|
import { defaultUIConstants } from './tokens/constants.js';
|
|
5
5
|
import { buildAntDTheme } from './theme-config.js';
|
|
6
|
-
import { buildColorPalette } from './tokens/
|
|
6
|
+
import { buildColorPalette } from './tokens/colors.js';
|
|
7
7
|
const TemboThemeContext = React.createContext({
|
|
8
8
|
colors: buildColorPalette('light'),
|
|
9
|
-
constants: defaultUIConstants,
|
|
9
|
+
constants: defaultUIConstants,
|
|
10
10
|
mode: 'light',
|
|
11
11
|
});
|
|
12
12
|
/**
|
|
@@ -14,17 +14,15 @@ const TemboThemeContext = React.createContext({
|
|
|
14
14
|
*/
|
|
15
15
|
export const TemboThemeProvider = ({ children, mode = 'light', antdThemeOverrides, }) => {
|
|
16
16
|
const colors = React.useMemo(() => buildColorPalette(mode), [mode]);
|
|
17
|
-
const constants = React.useMemo(() => defaultUIConstants,
|
|
18
|
-
[]);
|
|
17
|
+
const constants = React.useMemo(() => defaultUIConstants, []);
|
|
19
18
|
const antdTheme = React.useMemo(() => {
|
|
20
19
|
var _a, _b;
|
|
21
|
-
const baseTheme = buildAntDTheme(colors, constants);
|
|
20
|
+
const baseTheme = buildAntDTheme(colors, constants);
|
|
22
21
|
if (!antdThemeOverrides)
|
|
23
22
|
return baseTheme;
|
|
24
23
|
return Object.assign(Object.assign({}, baseTheme), { token: Object.assign(Object.assign({}, baseTheme.token), ((_a = antdThemeOverrides.token) !== null && _a !== void 0 ? _a : {})), components: Object.assign(Object.assign({}, baseTheme.components), ((_b = antdThemeOverrides.components) !== null && _b !== void 0 ? _b : {})) });
|
|
25
24
|
}, [colors, constants, antdThemeOverrides]);
|
|
26
|
-
const contextValue = React.useMemo(() => ({ colors, constants, mode }),
|
|
27
|
-
[colors, constants, mode]);
|
|
25
|
+
const contextValue = React.useMemo(() => ({ colors, constants, mode }), [colors, constants, mode]);
|
|
28
26
|
return (_jsx(TemboThemeContext.Provider, { value: contextValue, children: _jsx(ConfigProvider, { theme: antdTheme, children: children }) }));
|
|
29
27
|
};
|
|
30
28
|
/**
|
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
* Monochrome-first design system with purposeful color usage.
|
|
5
5
|
*
|
|
6
6
|
* Philosophy:
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* - Standard blue for links
|
|
7
|
+
* - 6 neutral tones for optimal contrast and clean mapping
|
|
8
|
+
* - Monochrome foundation with semantic color accents
|
|
9
|
+
* - Standard blue for links and focus states
|
|
10
10
|
* - Theme-aware: entire system adapts to light/dark mode
|
|
11
|
-
*
|
|
12
|
-
* Inspired by: Wise, Linear, Apple HIG
|
|
13
11
|
*/
|
|
14
12
|
export type ThemeMode = 'light' | 'dark';
|
|
15
13
|
/**
|
|
@@ -30,19 +28,24 @@ export interface ColorScale {
|
|
|
30
28
|
export interface ColorPalette {
|
|
31
29
|
mode: ThemeMode;
|
|
32
30
|
/**
|
|
33
|
-
* Monochrome foundation -
|
|
31
|
+
* Monochrome foundation - 6 neutral tones
|
|
34
32
|
* Theme-aware: inverts in dark mode
|
|
33
|
+
* Optimized for accessibility with proper contrast ratios
|
|
35
34
|
*
|
|
36
|
-
* 1 = Brightest (backgrounds)
|
|
37
|
-
* 2 =
|
|
38
|
-
* 3 =
|
|
39
|
-
* 4 =
|
|
35
|
+
* 1 = Brightest (pure backgrounds)
|
|
36
|
+
* 2 = Very light (page backgrounds)
|
|
37
|
+
* 3 = Light (hover states, subtle borders)
|
|
38
|
+
* 4 = Medium (default borders)
|
|
39
|
+
* 5 = Dark (secondary text, strong borders)
|
|
40
|
+
* 6 = Darkest (primary text, actions)
|
|
40
41
|
*/
|
|
41
42
|
neutral: {
|
|
42
43
|
1: string;
|
|
43
44
|
2: string;
|
|
44
45
|
3: string;
|
|
45
46
|
4: string;
|
|
47
|
+
5: string;
|
|
48
|
+
6: string;
|
|
46
49
|
};
|
|
47
50
|
/**
|
|
48
51
|
* Absolute colors - never change
|
|
@@ -53,7 +56,7 @@ export interface ColorPalette {
|
|
|
53
56
|
};
|
|
54
57
|
/**
|
|
55
58
|
* Links - standard web colors
|
|
56
|
-
*
|
|
59
|
+
* Also used for focus rings (blue is universal web standard)
|
|
57
60
|
*/
|
|
58
61
|
link: {
|
|
59
62
|
/** Default link color - standard blue */
|
|
@@ -88,8 +91,7 @@ export interface ColorPalette {
|
|
|
88
91
|
orange: ColorScale;
|
|
89
92
|
};
|
|
90
93
|
/**
|
|
91
|
-
* Surface hierarchy
|
|
92
|
-
* Convenience tokens for common surfaces
|
|
94
|
+
* Surface hierarchy
|
|
93
95
|
*/
|
|
94
96
|
surface: {
|
|
95
97
|
/** Main page background */
|
|
@@ -106,18 +108,18 @@ export interface ColorPalette {
|
|
|
106
108
|
nested: string;
|
|
107
109
|
};
|
|
108
110
|
/**
|
|
109
|
-
* Border colors
|
|
111
|
+
* Border colors
|
|
110
112
|
*/
|
|
111
113
|
border: {
|
|
112
114
|
/** Subtle borders - dividers, separators */
|
|
113
115
|
subtle: string;
|
|
114
116
|
/** Default borders - form inputs, cards */
|
|
115
117
|
default: string;
|
|
116
|
-
/** Strong borders - emphasis
|
|
118
|
+
/** Strong borders - emphasis */
|
|
117
119
|
strong: string;
|
|
118
120
|
};
|
|
119
121
|
/**
|
|
120
|
-
* Text colors
|
|
122
|
+
* Text colors
|
|
121
123
|
*/
|
|
122
124
|
text: {
|
|
123
125
|
/** Primary text - headlines, body copy */
|
|
@@ -131,6 +133,20 @@ export interface ColorPalette {
|
|
|
131
133
|
/** Text on dark backgrounds */
|
|
132
134
|
inverse: string;
|
|
133
135
|
};
|
|
136
|
+
/**
|
|
137
|
+
* Monochrome actions - for buttons and interactive elements
|
|
138
|
+
* Inverts automatically with theme mode
|
|
139
|
+
*/
|
|
140
|
+
action: {
|
|
141
|
+
/** Default action background */
|
|
142
|
+
default: string;
|
|
143
|
+
/** Hover state background */
|
|
144
|
+
hover: string;
|
|
145
|
+
/** Disabled state background */
|
|
146
|
+
disabled: string;
|
|
147
|
+
/** Text/icons on action backgrounds */
|
|
148
|
+
contrast: string;
|
|
149
|
+
};
|
|
134
150
|
}
|
|
135
151
|
/**
|
|
136
152
|
* Build color palette for given theme mode
|
|
@@ -146,7 +162,6 @@ export declare const lightPalette: ColorPalette;
|
|
|
146
162
|
export declare const darkPalette: ColorPalette;
|
|
147
163
|
/**
|
|
148
164
|
* Color palette overrides (for custom theming)
|
|
149
|
-
* Allows partial overrides while maintaining type safety
|
|
150
165
|
*/
|
|
151
166
|
export type ColorOverrides = {
|
|
152
167
|
neutral?: Partial<ColorPalette['neutral']>;
|
|
@@ -4,47 +4,49 @@
|
|
|
4
4
|
* Monochrome-first design system with purposeful color usage.
|
|
5
5
|
*
|
|
6
6
|
* Philosophy:
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* - Standard blue for links
|
|
7
|
+
* - 6 neutral tones for optimal contrast and clean mapping
|
|
8
|
+
* - Monochrome foundation with semantic color accents
|
|
9
|
+
* - Standard blue for links and focus states
|
|
10
10
|
* - Theme-aware: entire system adapts to light/dark mode
|
|
11
|
-
*
|
|
12
|
-
* Inspired by: Wise, Linear, Apple HIG
|
|
13
11
|
*/
|
|
14
12
|
/**
|
|
15
|
-
* Build light mode colors
|
|
13
|
+
* Build light mode colors with 6-tone neutral scale
|
|
16
14
|
*/
|
|
17
15
|
const buildLightModeColors = () => ({
|
|
18
16
|
mode: 'light',
|
|
17
|
+
// 6 neutral tones - optimized for accessibility
|
|
19
18
|
neutral: {
|
|
20
|
-
1: '#FFFFFF', // Pure white
|
|
21
|
-
2: '#
|
|
22
|
-
3: '#
|
|
23
|
-
4: '#
|
|
19
|
+
1: '#FFFFFF', // Pure white
|
|
20
|
+
2: '#F5F7FA', // Very light gray - page backgrounds
|
|
21
|
+
3: '#E5E7EB', // Light gray - hover, subtle borders
|
|
22
|
+
4: '#D1D5DB', // Medium gray - default borders
|
|
23
|
+
5: '#6B7280', // Dark gray - secondary text, strong borders
|
|
24
|
+
6: '#111827', // Near black - primary text, actions
|
|
24
25
|
},
|
|
25
26
|
absolute: {
|
|
26
27
|
black: '#000000',
|
|
27
28
|
white: '#FFFFFF',
|
|
28
29
|
},
|
|
30
|
+
// Standard blue for links and focus states
|
|
29
31
|
link: {
|
|
30
32
|
default: '#2563EB', // Standard web blue
|
|
31
33
|
hover: '#1D4ED8', // Darker blue
|
|
32
|
-
visited: '#7C3AED', // Purple (standard)
|
|
34
|
+
visited: '#7C3AED', // Purple (web standard)
|
|
33
35
|
active: '#1E40AF', // Even darker blue
|
|
34
36
|
},
|
|
35
37
|
semantic: {
|
|
36
38
|
success: {
|
|
37
|
-
main: '#059669', // Dark green (
|
|
39
|
+
main: '#059669', // Dark green (7.0:1 contrast)
|
|
38
40
|
subtle: '#ECFDF5', // Very light green
|
|
39
41
|
contrast: '#FFFFFF', // White text on main
|
|
40
42
|
},
|
|
41
43
|
error: {
|
|
42
|
-
main: '#DC2626', // Dark red
|
|
44
|
+
main: '#DC2626', // Dark red (6.5:1 contrast)
|
|
43
45
|
subtle: '#FEF2F2', // Very light red
|
|
44
46
|
contrast: '#FFFFFF',
|
|
45
47
|
},
|
|
46
48
|
warning: {
|
|
47
|
-
main: '#D97706', // Dark amber
|
|
49
|
+
main: '#D97706', // Dark amber (6.0:1 contrast)
|
|
48
50
|
subtle: '#FFFBEB', // Very light yellow
|
|
49
51
|
contrast: '#FFFFFF',
|
|
50
52
|
},
|
|
@@ -86,40 +88,50 @@ const buildLightModeColors = () => ({
|
|
|
86
88
|
contrast: '#FFFFFF',
|
|
87
89
|
},
|
|
88
90
|
},
|
|
89
|
-
// Derived surface tokens
|
|
91
|
+
// Derived surface tokens (from 6-tone scale)
|
|
90
92
|
surface: {
|
|
91
|
-
page: '#
|
|
93
|
+
page: '#F5F7FA', // neutral[2]
|
|
92
94
|
card: '#FFFFFF', // neutral[1]
|
|
93
95
|
overlay: '#FFFFFF', // neutral[1]
|
|
94
|
-
interactive: '#
|
|
95
|
-
selected: '#
|
|
96
|
-
nested: '#FAFBFC', // Between neutral[1] and
|
|
96
|
+
interactive: '#E5E7EB', // neutral[3]
|
|
97
|
+
selected: '#E5E7EB', // neutral[3]
|
|
98
|
+
nested: '#FAFBFC', // Between neutral[1] and [2]
|
|
97
99
|
},
|
|
98
100
|
// Derived border tokens
|
|
99
101
|
border: {
|
|
100
|
-
subtle: '#
|
|
101
|
-
default: '#
|
|
102
|
-
strong: '#
|
|
102
|
+
subtle: '#E5E7EB', // neutral[3]
|
|
103
|
+
default: '#D1D5DB', // neutral[4]
|
|
104
|
+
strong: '#6B7280', // neutral[5]
|
|
103
105
|
},
|
|
104
106
|
// Derived text tokens
|
|
105
107
|
text: {
|
|
106
|
-
primary: '#
|
|
107
|
-
secondary: '#
|
|
108
|
-
tertiary: '#
|
|
109
|
-
disabled: '#
|
|
108
|
+
primary: '#111827', // neutral[6] - 16:1 contrast ✅
|
|
109
|
+
secondary: '#6B7280', // neutral[5] - 4.6:1 contrast ✅
|
|
110
|
+
tertiary: '#6B7280', // neutral[5] - same as secondary
|
|
111
|
+
disabled: '#D1D5DB', // neutral[4] - clear disabled state
|
|
110
112
|
inverse: '#FFFFFF', // neutral[1]
|
|
111
113
|
},
|
|
114
|
+
// Monochrome actions
|
|
115
|
+
action: {
|
|
116
|
+
default: '#111827', // neutral[6] - dark button
|
|
117
|
+
hover: '#1F2937', // Slightly lighter than neutral[6]
|
|
118
|
+
disabled: '#E5E7EB', // neutral[3] - light disabled
|
|
119
|
+
contrast: '#FFFFFF', // neutral[1] - white text
|
|
120
|
+
},
|
|
112
121
|
});
|
|
113
122
|
/**
|
|
114
|
-
* Build dark mode colors
|
|
123
|
+
* Build dark mode colors with inverted 6-tone scale
|
|
115
124
|
*/
|
|
116
125
|
const buildDarkModeColors = () => ({
|
|
117
126
|
mode: 'dark',
|
|
127
|
+
// 6 neutral tones - inverted for dark mode
|
|
118
128
|
neutral: {
|
|
119
|
-
1: '#
|
|
120
|
-
2: '#
|
|
121
|
-
3: '#
|
|
122
|
-
4: '#
|
|
129
|
+
1: '#111827', // Near black
|
|
130
|
+
2: '#1F2937', // Very dark gray
|
|
131
|
+
3: '#374151', // Dark gray
|
|
132
|
+
4: '#4B5563', // Medium gray
|
|
133
|
+
5: '#9CA3AF', // Light gray
|
|
134
|
+
6: '#F9FAFB', // Off white
|
|
123
135
|
},
|
|
124
136
|
absolute: {
|
|
125
137
|
black: '#000000',
|
|
@@ -133,7 +145,7 @@ const buildDarkModeColors = () => ({
|
|
|
133
145
|
},
|
|
134
146
|
semantic: {
|
|
135
147
|
success: {
|
|
136
|
-
main: '#34D399', // Bright green
|
|
148
|
+
main: '#34D399', // Bright green
|
|
137
149
|
subtle: '#064E3B', // Dark green background
|
|
138
150
|
contrast: '#000000', // Black text on bright
|
|
139
151
|
},
|
|
@@ -187,26 +199,33 @@ const buildDarkModeColors = () => ({
|
|
|
187
199
|
},
|
|
188
200
|
// Derived surface tokens
|
|
189
201
|
surface: {
|
|
190
|
-
page: '#
|
|
191
|
-
card: '#
|
|
192
|
-
overlay: '#
|
|
193
|
-
interactive: '#
|
|
194
|
-
selected: '#
|
|
195
|
-
nested: '#
|
|
202
|
+
page: '#1F2937', // neutral[2]
|
|
203
|
+
card: '#111827', // neutral[1]
|
|
204
|
+
overlay: '#1F2937', // neutral[2]
|
|
205
|
+
interactive: '#374151', // neutral[3]
|
|
206
|
+
selected: '#374151', // neutral[3]
|
|
207
|
+
nested: '#1A1F2E', // Between neutral[1] and [2]
|
|
196
208
|
},
|
|
197
209
|
// Derived border tokens
|
|
198
210
|
border: {
|
|
199
|
-
subtle: '#
|
|
200
|
-
default: '#
|
|
201
|
-
strong: '#
|
|
211
|
+
subtle: '#374151', // neutral[3]
|
|
212
|
+
default: '#4B5563', // neutral[4]
|
|
213
|
+
strong: '#9CA3AF', // neutral[5]
|
|
202
214
|
},
|
|
203
215
|
// Derived text tokens
|
|
204
216
|
text: {
|
|
205
|
-
primary: '#
|
|
206
|
-
secondary: '#
|
|
207
|
-
tertiary: '#
|
|
208
|
-
disabled: '#
|
|
209
|
-
inverse: '#
|
|
217
|
+
primary: '#F9FAFB', // neutral[6]
|
|
218
|
+
secondary: '#9CA3AF', // neutral[5]
|
|
219
|
+
tertiary: '#9CA3AF', // neutral[5]
|
|
220
|
+
disabled: '#4B5563', // neutral[4]
|
|
221
|
+
inverse: '#111827', // neutral[1]
|
|
222
|
+
},
|
|
223
|
+
// Monochrome actions (inverted)
|
|
224
|
+
action: {
|
|
225
|
+
default: '#F9FAFB', // neutral[6] - light button
|
|
226
|
+
hover: '#E5E7EB', // Slightly darker
|
|
227
|
+
disabled: '#374151', // neutral[3] - dark disabled
|
|
228
|
+
contrast: '#111827', // neutral[1] - dark text
|
|
210
229
|
},
|
|
211
230
|
});
|
|
212
231
|
/**
|
|
@@ -1,32 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tembo Design System - Constants
|
|
3
3
|
*
|
|
4
|
-
* All non-color design tokens
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* const { constants } = useTemboTheme();
|
|
9
|
-
* style={{
|
|
10
|
-
* borderRadius: constants.radius.base,
|
|
11
|
-
* padding: constants.spacing.lg,
|
|
12
|
-
* fontWeight: constants.typography.fontWeight.medium
|
|
13
|
-
* }}
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Complete UI constants interface
|
|
4
|
+
* All non-color design tokens: typography, spacing, radius, shadows, etc.
|
|
5
|
+
* Bold rounded corners with subtle shadows for elevation.
|
|
17
6
|
*/
|
|
18
|
-
export interface
|
|
7
|
+
export interface UIConstants {
|
|
19
8
|
/**
|
|
20
9
|
* Typography tokens
|
|
21
|
-
* Font families, sizes, weights, and line heights
|
|
22
10
|
*/
|
|
23
11
|
typography: {
|
|
24
|
-
/** Primary font stack used throughout the application */
|
|
25
12
|
fontFamily: {
|
|
26
13
|
base: string;
|
|
27
14
|
mono: string;
|
|
28
15
|
};
|
|
29
|
-
/** Font size scale - use 'base' (14px) for body text */
|
|
30
16
|
fontSize: {
|
|
31
17
|
xs: number;
|
|
32
18
|
sm: number;
|
|
@@ -58,9 +44,7 @@ export interface TemboUIConstants {
|
|
|
58
44
|
};
|
|
59
45
|
};
|
|
60
46
|
/**
|
|
61
|
-
* Spacing scale
|
|
62
|
-
* Consistent spacing values for margins, padding, and gaps
|
|
63
|
-
* Based on 4px grid system
|
|
47
|
+
* Spacing scale (4px base unit)
|
|
64
48
|
*/
|
|
65
49
|
spacing: {
|
|
66
50
|
0: number;
|
|
@@ -77,8 +61,8 @@ export interface TemboUIConstants {
|
|
|
77
61
|
20: number;
|
|
78
62
|
};
|
|
79
63
|
/**
|
|
80
|
-
* Border radius tokens
|
|
81
|
-
*
|
|
64
|
+
* Border radius tokens
|
|
65
|
+
* Bold, smooth rounded corners throughout the design
|
|
82
66
|
*/
|
|
83
67
|
radius: {
|
|
84
68
|
none: number;
|
|
@@ -88,21 +72,16 @@ export interface TemboUIConstants {
|
|
|
88
72
|
lg: number;
|
|
89
73
|
xl: number;
|
|
90
74
|
full: number;
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* Component-specific radius
|
|
94
|
-
*/
|
|
95
|
-
componentRadius: {
|
|
96
75
|
button: number;
|
|
97
76
|
input: number;
|
|
98
77
|
card: number;
|
|
99
78
|
modal: number;
|
|
100
79
|
avatar: number;
|
|
101
|
-
badge: number;
|
|
102
80
|
};
|
|
103
81
|
/**
|
|
104
82
|
* Box shadow tokens
|
|
105
|
-
*
|
|
83
|
+
* Subtle shadows for gentle elevation
|
|
84
|
+
* Inputs and buttons have no shadow - shadows only for raised/overlay elements
|
|
106
85
|
*/
|
|
107
86
|
shadow: {
|
|
108
87
|
none: string;
|
|
@@ -110,19 +89,14 @@ export interface TemboUIConstants {
|
|
|
110
89
|
base: string;
|
|
111
90
|
md: string;
|
|
112
91
|
lg: string;
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Component-specific shadows
|
|
116
|
-
*/
|
|
117
|
-
componentShadow: {
|
|
92
|
+
xl: string;
|
|
118
93
|
card: string;
|
|
119
|
-
dropdown: string;
|
|
120
94
|
modal: string;
|
|
95
|
+
popover: string;
|
|
121
96
|
tooltip: string;
|
|
122
97
|
};
|
|
123
98
|
/**
|
|
124
99
|
* Z-index layers
|
|
125
|
-
* Stacking order for overlays and floating elements
|
|
126
100
|
*/
|
|
127
101
|
zIndex: {
|
|
128
102
|
dropdown: number;
|
|
@@ -133,7 +107,6 @@ export interface TemboUIConstants {
|
|
|
133
107
|
};
|
|
134
108
|
/**
|
|
135
109
|
* Transition timing
|
|
136
|
-
* Animation durations for consistent motion
|
|
137
110
|
*/
|
|
138
111
|
transition: {
|
|
139
112
|
fast: string;
|
|
@@ -143,11 +116,11 @@ export interface TemboUIConstants {
|
|
|
143
116
|
}
|
|
144
117
|
/**
|
|
145
118
|
* Default UI constants
|
|
146
|
-
*
|
|
119
|
+
* Bold rounded corners with subtle shadows for elevation
|
|
147
120
|
*/
|
|
148
|
-
export declare const defaultUIConstants:
|
|
121
|
+
export declare const defaultUIConstants: UIConstants;
|
|
149
122
|
/**
|
|
150
|
-
* Dark mode
|
|
151
|
-
*
|
|
123
|
+
* Dark mode adjustments
|
|
124
|
+
* Shadows are more subtle/absent in dark mode
|
|
152
125
|
*/
|
|
153
|
-
export declare const buildDarkModeConstants: () => Pick<
|
|
126
|
+
export declare const buildDarkModeConstants: () => Pick<UIConstants, "shadow">;
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tembo Design System - Constants
|
|
3
3
|
*
|
|
4
|
-
* All non-color design tokens
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* const { constants } = useTemboTheme();
|
|
9
|
-
* style={{
|
|
10
|
-
* borderRadius: constants.radius.base,
|
|
11
|
-
* padding: constants.spacing.lg,
|
|
12
|
-
* fontWeight: constants.typography.fontWeight.medium
|
|
13
|
-
* }}
|
|
4
|
+
* All non-color design tokens: typography, spacing, radius, shadows, etc.
|
|
5
|
+
* Bold rounded corners with subtle shadows for elevation.
|
|
14
6
|
*/
|
|
15
7
|
/**
|
|
16
8
|
* Default UI constants
|
|
17
|
-
*
|
|
9
|
+
* Bold rounded corners with subtle shadows for elevation
|
|
18
10
|
*/
|
|
19
11
|
export const defaultUIConstants = {
|
|
20
12
|
typography: {
|
|
@@ -66,35 +58,39 @@ export const defaultUIConstants = {
|
|
|
66
58
|
16: 64,
|
|
67
59
|
20: 80,
|
|
68
60
|
},
|
|
61
|
+
/**
|
|
62
|
+
* Bold rounded corners
|
|
63
|
+
*/
|
|
69
64
|
radius: {
|
|
70
65
|
none: 0,
|
|
71
|
-
sm:
|
|
72
|
-
base:
|
|
73
|
-
md:
|
|
74
|
-
lg:
|
|
75
|
-
xl:
|
|
66
|
+
sm: 12,
|
|
67
|
+
base: 24, // Bold default radius
|
|
68
|
+
md: 28,
|
|
69
|
+
lg: 32,
|
|
70
|
+
xl: 40,
|
|
76
71
|
full: 9999,
|
|
72
|
+
// Alias tokens
|
|
73
|
+
button: 24, // base - bold rounded buttons
|
|
74
|
+
input: 24, // base - bold rounded inputs
|
|
75
|
+
card: 28, // md - smooth cards
|
|
76
|
+
modal: 32, // lg - prominent modals
|
|
77
|
+
avatar: 9999, // full - circular
|
|
77
78
|
},
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
card: 16, // Apple-style rounded cards
|
|
82
|
-
modal: 20,
|
|
83
|
-
avatar: 9999,
|
|
84
|
-
badge: 6,
|
|
85
|
-
},
|
|
79
|
+
/**
|
|
80
|
+
* Subtle shadows - only for elevated/overlay elements
|
|
81
|
+
*/
|
|
86
82
|
shadow: {
|
|
87
83
|
none: 'none',
|
|
88
84
|
sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
|
|
89
|
-
base: '0
|
|
90
|
-
md: '0 4px
|
|
91
|
-
lg: '0
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
card: '0
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
tooltip: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
|
|
85
|
+
base: '0 2px 4px 0 rgba(0, 0, 0, 0.06)',
|
|
86
|
+
md: '0 4px 8px 0 rgba(0, 0, 0, 0.08)',
|
|
87
|
+
lg: '0 8px 16px 0 rgba(0, 0, 0, 0.10)',
|
|
88
|
+
xl: '0 12px 24px 0 rgba(0, 0, 0, 0.12)',
|
|
89
|
+
// Alias tokens - semantic shadows
|
|
90
|
+
card: '0 2px 4px 0 rgba(0, 0, 0, 0.06)', // base - gentle
|
|
91
|
+
modal: '0 8px 16px 0 rgba(0, 0, 0, 0.10)', // lg - prominent
|
|
92
|
+
popover: '0 4px 8px 0 rgba(0, 0, 0, 0.08)', // md - medium
|
|
93
|
+
tooltip: '0 1px 2px 0 rgba(0, 0, 0, 0.05)', // sm - subtle
|
|
98
94
|
},
|
|
99
95
|
zIndex: {
|
|
100
96
|
dropdown: 1000,
|
|
@@ -110,14 +106,21 @@ export const defaultUIConstants = {
|
|
|
110
106
|
},
|
|
111
107
|
};
|
|
112
108
|
/**
|
|
113
|
-
* Dark mode
|
|
114
|
-
*
|
|
109
|
+
* Dark mode adjustments
|
|
110
|
+
* Shadows are more subtle/absent in dark mode
|
|
115
111
|
*/
|
|
116
112
|
export const buildDarkModeConstants = () => ({
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
113
|
+
shadow: {
|
|
114
|
+
none: 'none',
|
|
115
|
+
sm: '0 1px 2px 0 rgba(0, 0, 0, 0.2)',
|
|
116
|
+
base: '0 2px 4px 0 rgba(0, 0, 0, 0.25)',
|
|
117
|
+
md: '0 4px 8px 0 rgba(0, 0, 0, 0.3)',
|
|
118
|
+
lg: '0 8px 16px 0 rgba(0, 0, 0, 0.35)',
|
|
119
|
+
xl: '0 12px 24px 0 rgba(0, 0, 0, 0.4)',
|
|
120
|
+
// Alias tokens - adjusted for dark mode
|
|
121
|
+
card: 'none', // No shadow on cards in dark mode
|
|
122
|
+
modal: '0 8px 16px 0 rgba(0, 0, 0, 0.35)', // Stronger in dark
|
|
123
|
+
popover: '0 4px 8px 0 rgba(0, 0, 0, 0.3)', // Stronger in dark
|
|
124
|
+
tooltip: '0 1px 2px 0 rgba(0, 0, 0, 0.2)', // Stronger in dark
|
|
122
125
|
},
|
|
123
126
|
});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r=require("./theme-provider-xDEswLd1.js"),e=require("react"),o=require("antd"),t=require("lodash");function a(r){return r&&r.__esModule?r:{default:r}}var n=a(e);const i={neutral:{0:"#ffffff",1:"#fafafa",2:"#f5f5f5",3:"#f0f0f0",4:"#e5e5e5",5:"#d4d4d4",6:"#b3b3b3",7:"#999999",8:"#666666",9:"#1a1a1a",10:"#000000"}},l={neutral:{0:"#000000",1:"#1a1a1a",2:"#666666",3:"#999999",4:"#b3b3b3",5:"#d4d4d4",6:"#e5e5e5",7:"#f0f0f0",8:"#f5f5f5",9:"#fafafa",10:"#ffffff"}},d=r=>{const e="light"===r?i:l;return{primary:{main:"#000000",hover:"#1a1a1a",active:"#000000",light:"#666666",lighter:"#999999",contrast:"#FFFFFF"},action:{main:"#1a6985",hover:"#145268",active:"#0f3d4f",light:"#e8f2f5",lighter:"#f4f9fa",disabled:"#a3c9d6",contrast:"#FFFFFF"},absolute:{white:"#ffffff",black:"#000000"},neutral:{0:e.neutral[0],1:e.neutral[1],2:e.neutral[2],3:e.neutral[3],4:e.neutral[4],5:e.neutral[5],6:e.neutral[6],7:e.neutral[7],8:e.neutral[8],9:e.neutral[9],10:e.neutral[10],brightest:e.neutral[0],lightest:e.neutral[1],lighter:e.neutral[2],light:e.neutral[3],medium:e.neutral[5],dark:e.neutral[7],darker:e.neutral[8],darkest:e.neutral[9],dimmest:e.neutral[10]},success:{main:"#10b981",bg:"#ecfdf5",border:"#a7f3d0",text:"#047857"},error:{main:"#ef4444",bg:"#fef2f2",border:"#fecaca",text:"#dc2626"},warning:{main:"#f59e0b",bg:"#fffbeb",border:"#fde68a",text:"#d97706"},info:{main:"#1a6985",bg:"#e8f2f5",border:"#b8d9e6",text:"#0f3d4f"},surface:{background:e.neutral[0],main:e.neutral[0],elevated:e.neutral[0],hover:e.neutral[1],subtle:e.neutral[1]},text:{primary:e.neutral[10],secondary:e.neutral[8],tertiary:e.neutral[7],quaternary:e.neutral[6],disabled:e.neutral[5],inverse:e.neutral[0]},border:{main:e.neutral[4],light:e.neutral[3],strong:e.neutral[5],divider:e.neutral[4]},components:{button:{primary:{bg:"#1a6985",hover:"#145268",text:"#FFFFFF"},default:{bg:e.neutral[0],border:e.neutral[5],text:e.neutral[10],hover:e.neutral[1]}},input:{bg:e.neutral[0],border:e.neutral[5],borderHover:e.neutral[7],borderFocus:"#1a6985",placeholder:e.neutral[7]},table:{bg:e.neutral[0],headerBg:e.neutral[1],headerText:e.neutral[10],border:e.neutral[4],rowHover:e.neutral[1]},sidebar:{bg:"#000000",hover:"rgba(255, 255, 255, 0.08)",selected:"rgba(255, 255, 255, 0.12)",text:"#FFFFFF",textSecondary:"rgba(255, 255, 255, 0.65)"}},utility:{transparent:"transparent",link:"#1a6985",linkHover:"#145268",linkActive:"#0f3d4f"}}},s=d("light"),c=(r,e="light")=>{const o=d(e);if(!r)return o;const a=t.merge({},o,r);return a.neutral.brightest=a.neutral[0],a.neutral.lightest=a.neutral[1],a.neutral.lighter=a.neutral[2],a.neutral.light=a.neutral[3],a.neutral.medium=a.neutral[5],a.neutral.dark=a.neutral[7],a.neutral.darker=a.neutral[8],a.neutral.darkest=a.neutral[9],a.neutral.dimmest=a.neutral[10],a},u={typography:{fontFamily:"Avenir, MarkPro, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",fontSize:{xs:12,sm:13,base:14,lg:16,xl:18},fontWeight:{normal:400,medium:500,semibold:600,bold:700},lineHeight:{tight:1.25,base:1.5715,relaxed:1.75}},spacing:{xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48},radius:{none:0,sm:8,base:12,md:14,lg:16,xl:20,full:9999,button:24,input:10,card:16},shadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.08)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.08)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.08)",card:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",elevated:"0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.08)",dropdown:"0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.08)"},zIndex:{dropdown:1e3,modal:1050,popover:1060,tooltip:1070,notification:1080},transition:{fast:"150ms cubic-bezier(0.4, 0, 0.2, 1)",base:"200ms cubic-bezier(0.4, 0, 0.2, 1)",slow:"300ms cubic-bezier(0.4, 0, 0.2, 1)"}},b=r=>r?t.merge(u,r):u,g=n.default.createContext({colors:c(),constants:b(),mode:"light"});exports.LegacyTemboThemeProvider=({children:e,mode:t="light",colors:a,constants:i,themeOverrides:l})=>{const d=n.default.useMemo(()=>c(a,t),[a,t]),s=n.default.useMemo(()=>b(i),[i]),u=n.default.useMemo(()=>((r,e,o,t)=>{var a,n;const i={token:{colorPrimary:r.primary.main,colorPrimaryHover:r.primary.hover,colorPrimaryActive:r.primary.active,colorPrimaryBorder:r.primary.main,colorText:r.text.primary,colorTextSecondary:r.text.secondary,colorTextTertiary:r.text.tertiary,colorTextQuaternary:r.text.quaternary,colorTextDisabled:r.text.disabled,colorBgBase:r.surface.background,colorBgContainer:r.surface.main,colorBgElevated:r.surface.elevated,colorBgLayout:r.surface.background,colorBgSpotlight:r.surface.hover,colorBorder:r.border.main,colorBorderSecondary:r.border.light,colorSplit:r.border.divider,colorSuccess:r.success.main,colorSuccessBg:r.success.bg,colorSuccessBorder:r.success.border,colorSuccessText:r.success.text,colorError:r.error.main,colorErrorBg:r.error.bg,colorErrorBorder:r.error.border,colorErrorText:r.error.text,colorWarning:r.warning.main,colorWarningBg:r.warning.bg,colorWarningBorder:r.warning.border,colorWarningText:r.warning.text,colorInfo:r.info.main,colorInfoBg:r.info.bg,colorInfoBorder:r.info.border,colorInfoText:r.info.text,colorLink:r.utility.link,colorLinkHover:r.utility.linkHover,colorLinkActive:r.utility.linkActive,borderRadius:e.radius.base,borderRadiusLG:e.radius.lg,borderRadiusSM:e.radius.sm,borderRadiusXS:6,boxShadow:e.shadow.base,boxShadowSecondary:e.shadow.card,boxShadowTertiary:e.shadow.elevated,fontFamily:e.typography.fontFamily,fontSize:e.typography.fontSize.base,fontSizeHeading1:38,fontSizeHeading2:30,fontSizeHeading3:24,fontSizeHeading4:20,fontSizeHeading5:e.typography.fontSize.lg,fontWeightStrong:e.typography.fontWeight.medium,lineHeight:e.typography.lineHeight.base,lineHeightHeading1:1.21,lineHeightHeading2:1.27,lineHeightHeading3:1.33,lineHeightHeading4:1.4,lineHeightHeading5:1.5},components:{Button:{colorPrimary:r.components.button.primary.bg,colorPrimaryHover:r.components.button.primary.hover,colorPrimaryActive:r.action.active,colorPrimaryBorder:r.components.button.primary.bg,primaryColor:r.components.button.primary.text,colorBorder:r.components.button.default.border,colorBgContainer:r.components.button.default.bg,colorText:r.components.button.default.text,defaultBg:r.components.button.default.bg,defaultBorderColor:r.components.button.default.border,defaultColor:r.components.button.default.text,primaryShadow:"none",defaultShadow:"none",dangerShadow:"none",fontWeight:e.typography.fontWeight.medium,controlHeight:32,paddingContentHorizontal:e.spacing.lg,borderRadius:e.radius.button,borderRadiusLG:e.radius.button,borderRadiusSM:e.radius.sm+8},Input:{colorBgContainer:r.components.input.bg,colorBorder:r.components.input.border,hoverBorderColor:r.components.input.borderHover,activeBorderColor:r.components.input.borderFocus,colorPrimaryHover:r.components.input.borderFocus,colorTextPlaceholder:r.components.input.placeholder,borderRadius:e.radius.input,borderRadiusLG:e.radius.base,borderRadiusSM:e.radius.sm},Select:{colorBgContainer:r.components.input.bg,colorBorder:r.components.input.border,colorTextPlaceholder:r.components.input.placeholder,colorPrimaryHover:r.action.main,hoverBorderColor:r.components.input.borderHover,activeBorderColor:r.components.input.borderFocus,optionSelectedBg:r.action.main,optionSelectedColor:r.action.contrast,optionActiveBg:r.surface.hover,colorBgElevated:r.neutral.brightest,controlItemBgHover:r.surface.hover,boxShadowSecondary:e.shadow.elevated,borderRadius:e.radius.input,borderRadiusLG:e.radius.base,borderRadiusSM:e.radius.sm},Checkbox:{colorPrimary:r.action.main,colorPrimaryHover:r.action.hover,colorBorder:r.border.strong,borderRadiusSM:6},Radio:{colorPrimary:r.action.main,colorPrimaryHover:r.action.hover,colorBorder:r.border.strong},Switch:{colorPrimary:r.action.main,colorPrimaryHover:r.action.hover,colorTextQuaternary:r.text.quaternary},Form:{labelColor:r.text.primary,labelRequiredMarkColor:r.error.main,labelFontSize:e.typography.fontSize.base,itemMarginBottom:e.spacing.lg},DatePicker:{colorBgContainer:r.components.input.bg,colorBorder:r.components.input.border,hoverBorderColor:r.components.input.borderHover,activeBorderColor:r.components.input.borderFocus,colorPrimary:r.action.main,borderRadius:e.radius.input},InputNumber:{borderRadius:e.radius.input},Table:{colorBgContainer:r.components.table.bg,headerBg:r.components.table.headerBg,headerColor:r.components.table.headerText,borderColor:r.components.table.border,headerSplitColor:r.components.table.border,rowHoverBg:r.components.table.rowHover,rowSelectedBg:r.action.light,rowSelectedHoverBg:r.action.lighter,colorText:r.text.primary,colorTextHeading:r.text.primary,borderRadius:e.radius.base,borderRadiusLG:e.radius.lg},Card:{colorBgContainer:r.surface.main,colorBorder:r.border.main,colorBorderSecondary:r.border.light,boxShadowTertiary:e.shadow.card,borderRadius:e.radius.card,borderRadiusLG:e.radius.lg+4},Statistic:{contentFontSize:24,colorTextHeading:r.text.primary},Descriptions:{labelBg:r.surface.hover,colorTextSecondary:r.text.secondary,itemPaddingBottom:e.spacing.md},Badge:{colorError:r.error.main,colorSuccess:r.success.main,colorInfo:r.info.main,colorInfoBg:r.info.bg,borderRadiusSM:e.radius.input},Tag:{colorBorder:r.border.main,defaultBg:r.surface.hover,borderRadiusSM:e.radius.sm},Timeline:{dotBg:r.surface.main,tailColor:r.border.main},Alert:{colorSuccessBg:r.success.bg,colorSuccessBorder:r.success.border,colorErrorBg:r.error.bg,colorErrorBorder:r.error.border,colorWarningBg:r.warning.bg,colorWarningBorder:r.warning.border,colorInfoBg:r.info.bg,colorInfoBorder:r.info.border,borderRadiusLG:e.radius.base},Modal:{contentBg:r.surface.elevated,headerBg:r.surface.elevated,colorBgMask:"rgba(0, 0, 0, 0.45)",borderRadiusLG:e.radius.lg},Drawer:{colorBgElevated:r.surface.elevated,colorBgMask:"rgba(0, 0, 0, 0.45)",borderRadiusLG:e.radius.lg},Notification:{colorBgElevated:r.neutral.brightest,borderRadiusLG:e.radius.base},Message:{contentBg:r.neutral.brightest,borderRadiusLG:e.radius.base},Spin:{colorPrimary:r.primary.main},Progress:{colorSuccess:r.success.main,colorError:r.error.main,defaultColor:r.primary.main,borderRadius:100},Skeleton:{colorFill:r.neutral[2],colorFillContent:r.neutral[1],borderRadiusSM:e.radius.sm},Menu:{itemBg:"transparent",itemColor:r.text.primary,itemHoverBg:r.surface.hover,itemSelectedBg:r.action.lighter,itemSelectedColor:r.action.main,itemActiveBg:r.action.lighter,subMenuItemBg:"transparent",darkItemBg:r.components.sidebar.bg,darkSubMenuItemBg:r.components.sidebar.bg,darkItemColor:r.components.sidebar.text,darkItemHoverBg:r.components.sidebar.hover,darkItemSelectedBg:r.components.sidebar.selected,darkItemSelectedColor:r.primary.contrast,borderRadius:e.radius.input,borderRadiusLG:e.radius.base},Breadcrumb:{linkColor:r.utility.link,linkHoverColor:r.utility.linkHover,itemColor:r.text.secondary,lastItemColor:r.text.primary,separatorColor:r.text.tertiary,borderRadiusSM:6},Pagination:{colorPrimary:r.primary.main,colorPrimaryHover:r.primary.hover,itemActiveBg:r.primary.main,borderRadius:e.radius.sm},Steps:{colorPrimary:r.action.main,colorText:r.text.secondary,colorTextDescription:r.text.tertiary,borderRadiusSM:100},Tabs:{colorPrimary:r.action.main,colorBorderSecondary:r.border.main,itemColor:r.text.secondary,itemHoverColor:r.action.hover,itemSelectedColor:r.action.main,inkBarColor:r.action.main,borderRadiusSM:e.radius.sm},Layout:{colorBgBody:r.surface.background,colorBgHeader:r.neutral.brightest,colorBgTrigger:r.components.sidebar.bg,siderBg:r.components.sidebar.bg,headerBg:r.neutral.brightest,borderRadiusLG:0},Divider:{colorSplit:r.border.divider},Typography:{colorText:r.text.primary,colorTextSecondary:r.text.secondary,colorTextDescription:r.text.tertiary},Tooltip:{colorBgSpotlight:r.neutral.darkest,colorTextLightSolid:r.neutral.brightest,borderRadius:e.radius.sm},Popover:{colorBgElevated:r.neutral.brightest,borderRadiusLG:e.radius.base},Dropdown:{boxShadowSecondary:e.shadow.dropdown},Calendar:{colorBgContainer:r.neutral.brightest,colorPrimary:r.action.main,borderRadiusLG:e.radius.base}}};return t?Object.assign(Object.assign({},i),{token:Object.assign(Object.assign({},i.token),null!==(a=t.token)&&void 0!==a?a:{}),components:Object.assign(Object.assign({},i.components),null!==(n=t.components)&&void 0!==n?n:{})}):i})(d,s,0,l),[d,s,t,l]),m=n.default.useMemo(()=>({colors:d,constants:s,mode:t}),[d,s,t]);return r.jsxRuntimeExports.jsx(g.Provider,{value:m,children:r.jsxRuntimeExports.jsx(o.ConfigProvider,{theme:u,children:e})})},exports.buildColorPalette=c,exports.buildUIConstants=b,exports.defaultColorPalette=s,exports.defaultUIConstants=u,exports.useTemboTheme=()=>n.default.useContext(g);
|
|
2
|
+
//# sourceMappingURL=theme-provider-BJjIEVwv.js.map
|