@temboplus/frontend-react-core 0.1.3-beta.14 → 0.1.3-beta.16
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.js +1 -1
- package/dist/dialogs/index.cjs.js +1 -1
- package/dist/dialogs/index.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/notifications/index.cjs.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/{tembo-notify-DrVkWFXZ.js → tembo-notify-C5_QZYZD.js} +2 -2
- package/dist/{tembo-notify-DrVkWFXZ.js.map → tembo-notify-C5_QZYZD.js.map} +1 -1
- package/dist/{tembo-notify-8__PpMV9.js → tembo-notify-DcTCXDpG.js} +2 -2
- package/dist/{tembo-notify-8__PpMV9.js.map → tembo-notify-DcTCXDpG.js.map} +1 -1
- package/dist/theme/index.cjs.js +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/theme-config.d.ts +8 -0
- package/dist/theme/theme-config.js +244 -260
- package/dist/theme/tokens/colors.d.ts +16 -100
- package/dist/theme/tokens/colors.js +212 -228
- package/dist/{theme-provider-Cpt7os8V.js → theme-provider-CAYLAupF.js} +2 -2
- package/dist/{theme-provider-Cpt7os8V.js.map → theme-provider-CAYLAupF.js.map} +1 -1
- package/dist/theme-provider-CAoTOVjC.js +11 -0
- package/dist/theme-provider-CAoTOVjC.js.map +1 -0
- package/dist/{theme-provider-Ck6qg6WJ.js → theme-provider-CHXEa7OM.js} +2 -2
- package/dist/{theme-provider-Ck6qg6WJ.js.map → theme-provider-CHXEa7OM.js.map} +1 -1
- package/dist/theme-provider-Z0VeuZ9j.js +11 -0
- package/dist/theme-provider-Z0VeuZ9j.js.map +1 -0
- package/package.json +1 -1
- package/dist/theme-provider-BP-1aQ22.js +0 -11
- package/dist/theme-provider-BP-1aQ22.js.map +0 -1
- package/dist/theme-provider-CvaUdBY_.js +0 -11
- package/dist/theme-provider-CvaUdBY_.js.map +0 -1
|
@@ -1,29 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Build comprehensive Ant Design theme from Tembo tokens
|
|
3
|
+
*
|
|
4
|
+
* Design principles:
|
|
5
|
+
* - Monochrome-first: Primary actions use neutral[8] (near-black/near-white)
|
|
6
|
+
* - Single accent: Blue for links, focus states, and interactive feedback
|
|
7
|
+
* - Semantic colors: Only for critical feedback (success, error, warning)
|
|
8
|
+
* - Consistent spacing: Set once at token level, inherited by components
|
|
9
|
+
* - Bold rounded corners: 24px inputs/buttons, 28px cards, 32px modals
|
|
10
|
+
* - Smart shadows: None on flat elements, subtle on elevated surfaces
|
|
3
11
|
*/
|
|
4
12
|
export const buildAntDTheme = (colors, constants) => {
|
|
5
13
|
const isDark = colors.mode === 'dark';
|
|
6
14
|
return {
|
|
7
15
|
token: {
|
|
8
16
|
// ============================================
|
|
9
|
-
// COLOR
|
|
17
|
+
// COLOR SYSTEM
|
|
10
18
|
// ============================================
|
|
11
|
-
// Primary
|
|
12
|
-
colorPrimary: colors.
|
|
13
|
-
colorPrimaryHover: colors.
|
|
14
|
-
colorPrimaryActive: colors.
|
|
15
|
-
colorPrimaryBg: colors.neutral[
|
|
19
|
+
// Primary = Monochrome actions (near-black/near-white)
|
|
20
|
+
colorPrimary: colors.action.default,
|
|
21
|
+
colorPrimaryHover: colors.action.hover,
|
|
22
|
+
colorPrimaryActive: colors.action.default,
|
|
23
|
+
colorPrimaryBg: colors.neutral[3],
|
|
16
24
|
colorPrimaryBgHover: colors.surface.interactive,
|
|
17
|
-
colorPrimaryBorder: colors.
|
|
18
|
-
colorPrimaryBorderHover: colors.
|
|
19
|
-
colorPrimaryText: colors.
|
|
20
|
-
colorPrimaryTextHover: colors.
|
|
21
|
-
colorPrimaryTextActive: colors.
|
|
22
|
-
// Links (
|
|
23
|
-
colorLink: colors.
|
|
24
|
-
colorLinkHover: colors.
|
|
25
|
-
colorLinkActive: colors.
|
|
26
|
-
// Text
|
|
25
|
+
colorPrimaryBorder: colors.action.default,
|
|
26
|
+
colorPrimaryBorderHover: colors.action.hover,
|
|
27
|
+
colorPrimaryText: colors.action.default,
|
|
28
|
+
colorPrimaryTextHover: colors.action.hover,
|
|
29
|
+
colorPrimaryTextActive: colors.action.default,
|
|
30
|
+
// Links = Accent blue (only color in monochrome system)
|
|
31
|
+
colorLink: colors.accent.default,
|
|
32
|
+
colorLinkHover: colors.accent.hover,
|
|
33
|
+
colorLinkActive: colors.accent.active,
|
|
34
|
+
// Text hierarchy
|
|
27
35
|
colorText: colors.text.primary,
|
|
28
36
|
colorTextSecondary: colors.text.secondary,
|
|
29
37
|
colorTextTertiary: colors.text.tertiary,
|
|
@@ -42,18 +50,19 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
42
50
|
colorBgSpotlight: colors.surface.interactive,
|
|
43
51
|
colorBgMask: isDark ? 'rgba(0, 0, 0, 0.65)' : 'rgba(0, 0, 0, 0.45)',
|
|
44
52
|
colorBgTextHover: colors.surface.interactive,
|
|
45
|
-
colorBgTextActive: colors.surface.
|
|
53
|
+
colorBgTextActive: colors.surface.selected,
|
|
54
|
+
colorBgContainerDisabled: colors.action.disabled,
|
|
46
55
|
// Borders
|
|
47
56
|
colorBorder: colors.border.default,
|
|
48
57
|
colorBorderBg: colors.surface.card,
|
|
49
58
|
colorBorderSecondary: colors.border.subtle,
|
|
50
59
|
colorSplit: colors.border.subtle,
|
|
51
|
-
// Fill (backgrounds
|
|
52
|
-
colorFill: colors.neutral[
|
|
53
|
-
colorFillSecondary: colors.neutral[
|
|
60
|
+
// Fill colors (for backgrounds, progress bars, etc.)
|
|
61
|
+
colorFill: colors.neutral[3],
|
|
62
|
+
colorFillSecondary: colors.neutral[3],
|
|
54
63
|
colorFillTertiary: colors.neutral[2],
|
|
55
64
|
colorFillQuaternary: colors.surface.interactive,
|
|
56
|
-
// Semantic colors
|
|
65
|
+
// Semantic colors - modern, vibrant
|
|
57
66
|
colorSuccess: colors.semantic.success.main,
|
|
58
67
|
colorSuccessBg: colors.semantic.success.subtle,
|
|
59
68
|
colorSuccessBgHover: colors.semantic.success.subtle,
|
|
@@ -92,23 +101,23 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
92
101
|
fontFamily: constants.typography.fontFamily.base,
|
|
93
102
|
fontFamilyCode: constants.typography.fontFamily.mono,
|
|
94
103
|
fontSize: constants.typography.fontSize.base,
|
|
104
|
+
fontSizeSM: constants.typography.fontSize.sm,
|
|
105
|
+
fontSizeLG: constants.typography.fontSize.lg,
|
|
106
|
+
fontSizeXL: constants.typography.fontSize.xl,
|
|
95
107
|
fontSizeHeading1: constants.typography.fontSize['5xl'],
|
|
96
108
|
fontSizeHeading2: constants.typography.fontSize['4xl'],
|
|
97
109
|
fontSizeHeading3: constants.typography.fontSize['3xl'],
|
|
98
110
|
fontSizeHeading4: constants.typography.fontSize['2xl'],
|
|
99
111
|
fontSizeHeading5: constants.typography.fontSize.xl,
|
|
100
|
-
fontSizeSM: constants.typography.fontSize.sm,
|
|
101
|
-
fontSizeLG: constants.typography.fontSize.lg,
|
|
102
|
-
fontSizeXL: constants.typography.fontSize.xl,
|
|
103
112
|
fontWeightStrong: constants.typography.fontWeight.semibold,
|
|
104
113
|
lineHeight: constants.typography.lineHeight.base,
|
|
114
|
+
lineHeightSM: constants.typography.lineHeight.base,
|
|
115
|
+
lineHeightLG: constants.typography.lineHeight.relaxed,
|
|
105
116
|
lineHeightHeading1: constants.typography.lineHeight.tight,
|
|
106
117
|
lineHeightHeading2: constants.typography.lineHeight.tight,
|
|
107
118
|
lineHeightHeading3: constants.typography.lineHeight.tight,
|
|
108
119
|
lineHeightHeading4: constants.typography.lineHeight.tight,
|
|
109
120
|
lineHeightHeading5: constants.typography.lineHeight.tight,
|
|
110
|
-
lineHeightLG: constants.typography.lineHeight.relaxed,
|
|
111
|
-
lineHeightSM: constants.typography.lineHeight.base,
|
|
112
121
|
// ============================================
|
|
113
122
|
// SPACING & SIZING
|
|
114
123
|
// ============================================
|
|
@@ -123,19 +132,20 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
123
132
|
marginLG: constants.spacing[5],
|
|
124
133
|
marginXL: constants.spacing[6],
|
|
125
134
|
marginXXL: constants.spacing[8],
|
|
135
|
+
// Control heights - consistent across all inputs
|
|
126
136
|
controlHeight: 40,
|
|
127
137
|
controlHeightLG: 48,
|
|
128
138
|
controlHeightSM: 32,
|
|
129
139
|
controlHeightXS: 24,
|
|
130
140
|
// ============================================
|
|
131
|
-
// BORDER RADIUS
|
|
141
|
+
// BORDER RADIUS - Bold rounded corners
|
|
132
142
|
// ============================================
|
|
133
143
|
borderRadius: constants.radius.base,
|
|
134
144
|
borderRadiusLG: constants.radius.md,
|
|
135
145
|
borderRadiusSM: constants.radius.sm,
|
|
136
146
|
borderRadiusXS: constants.radius.sm,
|
|
137
147
|
// ============================================
|
|
138
|
-
// SHADOWS
|
|
148
|
+
// SHADOWS - Flat elements have none
|
|
139
149
|
// ============================================
|
|
140
150
|
boxShadow: constants.shadow.none,
|
|
141
151
|
boxShadowSecondary: constants.shadow.none,
|
|
@@ -145,27 +155,26 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
145
155
|
// ============================================
|
|
146
156
|
motionUnit: 0.1,
|
|
147
157
|
motionBase: 0,
|
|
148
|
-
motionEaseInOut:
|
|
149
|
-
motionEaseOut:
|
|
150
|
-
motionEaseInBack:
|
|
158
|
+
motionEaseInOut: constants.transition.base,
|
|
159
|
+
motionEaseOut: constants.transition.base,
|
|
160
|
+
motionEaseInBack: constants.transition.base,
|
|
151
161
|
// ============================================
|
|
152
162
|
// Z-INDEX
|
|
153
163
|
// ============================================
|
|
154
164
|
zIndexBase: 0,
|
|
155
|
-
zIndexPopupBase:
|
|
165
|
+
zIndexPopupBase: constants.zIndex.dropdown,
|
|
156
166
|
},
|
|
157
167
|
components: {
|
|
158
168
|
// ========================================
|
|
159
|
-
//
|
|
169
|
+
// BUTTONS - Monochrome actions
|
|
160
170
|
// ========================================
|
|
161
171
|
Button: {
|
|
162
|
-
//
|
|
163
|
-
colorPrimary: colors.
|
|
164
|
-
colorPrimaryHover: colors.
|
|
165
|
-
colorPrimaryActive: colors.
|
|
166
|
-
colorPrimaryBorder: colors.
|
|
167
|
-
primaryColor: colors.
|
|
168
|
-
primaryShadow: 'none',
|
|
172
|
+
// Monochrome primary button (near-black/near-white)
|
|
173
|
+
colorPrimary: colors.action.default,
|
|
174
|
+
colorPrimaryHover: colors.action.hover,
|
|
175
|
+
colorPrimaryActive: colors.action.default,
|
|
176
|
+
colorPrimaryBorder: colors.action.default,
|
|
177
|
+
primaryColor: colors.action.contrast,
|
|
169
178
|
// Default button (outlined)
|
|
170
179
|
defaultBg: colors.surface.card,
|
|
171
180
|
defaultBorderColor: colors.border.default,
|
|
@@ -173,211 +182,213 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
173
182
|
defaultHoverBg: colors.surface.interactive,
|
|
174
183
|
defaultHoverBorderColor: colors.border.strong,
|
|
175
184
|
defaultHoverColor: colors.text.primary,
|
|
176
|
-
defaultActiveBg: colors.surface.
|
|
177
|
-
defaultActiveBorderColor: colors.
|
|
178
|
-
defaultActiveColor: colors.
|
|
179
|
-
|
|
185
|
+
defaultActiveBg: colors.surface.selected,
|
|
186
|
+
defaultActiveBorderColor: colors.action.default,
|
|
187
|
+
defaultActiveColor: colors.action.default,
|
|
188
|
+
// Link button (uses accent color)
|
|
189
|
+
colorLink: colors.accent.default,
|
|
190
|
+
colorLinkHover: colors.accent.hover,
|
|
191
|
+
colorLinkActive: colors.accent.active,
|
|
180
192
|
// Text button
|
|
181
193
|
textHoverBg: colors.surface.interactive,
|
|
182
|
-
|
|
183
|
-
textTextHoverColor: colors.text.primary,
|
|
184
|
-
// Link button
|
|
185
|
-
linkHoverBg: 'transparent',
|
|
186
|
-
colorLink: colors.link.default,
|
|
187
|
-
colorLinkHover: colors.link.hover,
|
|
188
|
-
colorLinkActive: colors.link.active,
|
|
189
|
-
// Danger button
|
|
194
|
+
// Danger button (uses semantic red)
|
|
190
195
|
dangerColor: colors.semantic.error.main,
|
|
191
196
|
colorErrorHover: colors.semantic.error.main,
|
|
192
197
|
colorErrorActive: colors.semantic.error.main,
|
|
198
|
+
// Disabled state
|
|
199
|
+
colorBgContainerDisabled: colors.action.disabled,
|
|
200
|
+
colorTextDisabled: colors.text.disabled,
|
|
201
|
+
borderColorDisabled: colors.action.disabled,
|
|
202
|
+
// No shadows on buttons (flat design)
|
|
203
|
+
primaryShadow: 'none',
|
|
204
|
+
defaultShadow: 'none',
|
|
193
205
|
dangerShadow: 'none',
|
|
194
|
-
|
|
195
|
-
paddingContentVertical: constants.spacing[2],
|
|
196
|
-
// Styling
|
|
206
|
+
// Bold rounded corners
|
|
197
207
|
borderRadius: constants.radius.button,
|
|
198
208
|
borderRadiusLG: constants.radius.button,
|
|
199
209
|
borderRadiusSM: constants.radius.button,
|
|
210
|
+
// Typography
|
|
200
211
|
fontWeight: constants.typography.fontWeight.medium,
|
|
201
|
-
|
|
212
|
+
// Padding
|
|
213
|
+
paddingContentHorizontal: constants.spacing[4],
|
|
214
|
+
paddingContentVertical: constants.spacing[2],
|
|
215
|
+
// Heights inherited from token.controlHeight ✅
|
|
202
216
|
},
|
|
203
217
|
// ========================================
|
|
204
|
-
//
|
|
218
|
+
// INPUTS - Blue accent for focus states
|
|
205
219
|
// ========================================
|
|
206
220
|
Input: {
|
|
207
|
-
colorBgContainer: colors.surface.
|
|
221
|
+
colorBgContainer: colors.surface.input,
|
|
208
222
|
colorBorder: colors.border.default,
|
|
209
223
|
colorText: colors.text.primary,
|
|
210
224
|
colorTextPlaceholder: colors.text.tertiary,
|
|
225
|
+
// Icons
|
|
211
226
|
colorIcon: colors.text.tertiary,
|
|
212
227
|
colorIconHover: colors.text.secondary,
|
|
228
|
+
// Hover state
|
|
229
|
+
hoverBg: colors.surface.card,
|
|
213
230
|
hoverBorderColor: colors.border.strong,
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
231
|
+
// Focus state - blue accent ring
|
|
232
|
+
activeBg: colors.surface.card,
|
|
233
|
+
activeBorderColor: colors.accent.default,
|
|
234
|
+
activeShadow: `0 0 0 2px ${colors.accent.subtle}`,
|
|
235
|
+
// Disabled
|
|
236
|
+
colorBgContainerDisabled: colors.surface.nested,
|
|
237
|
+
colorTextDisabled: colors.text.disabled,
|
|
238
|
+
// Bold rounded
|
|
221
239
|
borderRadius: constants.radius.input,
|
|
222
240
|
borderRadiusLG: constants.radius.input,
|
|
223
241
|
borderRadiusSM: constants.radius.input,
|
|
242
|
+
// Padding
|
|
243
|
+
paddingBlock: constants.spacing[2],
|
|
244
|
+
paddingInline: constants.spacing[3],
|
|
245
|
+
paddingInlineLG: constants.spacing[4],
|
|
224
246
|
},
|
|
225
247
|
InputNumber: {
|
|
226
|
-
colorBgContainer: colors.surface.
|
|
227
|
-
colorBorder: colors.border.default,
|
|
228
|
-
hoverBorderColor: colors.border.strong,
|
|
229
|
-
activeBorderColor: colors.link.default,
|
|
248
|
+
colorBgContainer: colors.surface.input,
|
|
230
249
|
colorIcon: colors.text.tertiary,
|
|
231
250
|
colorIconHover: colors.text.secondary,
|
|
232
|
-
|
|
251
|
+
activeBorderColor: colors.accent.default,
|
|
252
|
+
activeShadow: `0 0 0 2px ${colors.accent.subtle}`,
|
|
233
253
|
borderRadius: constants.radius.input,
|
|
234
254
|
handleVisible: true,
|
|
235
255
|
},
|
|
236
256
|
Select: {
|
|
237
|
-
colorBgContainer: colors.surface.
|
|
257
|
+
colorBgContainer: colors.surface.input,
|
|
238
258
|
colorBgElevated: colors.surface.overlay,
|
|
239
|
-
colorBorder: colors.border.default,
|
|
240
|
-
colorText: colors.text.primary,
|
|
241
|
-
colorTextPlaceholder: colors.text.tertiary,
|
|
242
259
|
colorIcon: colors.text.tertiary,
|
|
243
260
|
colorIconHover: colors.text.secondary,
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
261
|
+
// Focus - blue accent
|
|
262
|
+
activeBorderColor: colors.accent.default,
|
|
263
|
+
boxShadow: `0 0 0 2px ${colors.accent.subtle}`,
|
|
264
|
+
// Options
|
|
247
265
|
optionSelectedBg: colors.surface.selected,
|
|
248
|
-
optionSelectedColor: colors.text.primary,
|
|
249
266
|
optionActiveBg: colors.surface.interactive,
|
|
267
|
+
controlItemBgHover: colors.surface.interactive,
|
|
268
|
+
controlItemBgActive: colors.surface.selected,
|
|
250
269
|
borderRadius: constants.radius.input,
|
|
251
270
|
borderRadiusLG: constants.radius.input,
|
|
252
271
|
borderRadiusSM: constants.radius.input,
|
|
272
|
+
// Dropdown has shadow
|
|
253
273
|
boxShadowSecondary: constants.shadow.popover,
|
|
254
274
|
},
|
|
255
275
|
DatePicker: {
|
|
256
|
-
colorBgContainer: colors.surface.
|
|
257
|
-
colorBorder: colors.border.default,
|
|
258
|
-
hoverBorderColor: colors.border.strong,
|
|
259
|
-
activeBorderColor: colors.link.default,
|
|
276
|
+
colorBgContainer: colors.surface.input,
|
|
260
277
|
colorIcon: colors.text.tertiary,
|
|
261
278
|
colorIconHover: colors.text.secondary,
|
|
262
|
-
|
|
279
|
+
activeBorderColor: colors.accent.default,
|
|
280
|
+
activeShadow: `0 0 0 2px ${colors.accent.subtle}`,
|
|
263
281
|
cellHoverBg: colors.surface.interactive,
|
|
264
|
-
cellActiveWithRangeBg: colors.
|
|
265
|
-
colorPrimary: colors.
|
|
282
|
+
cellActiveWithRangeBg: colors.accent.subtle,
|
|
283
|
+
colorPrimary: colors.accent.default,
|
|
266
284
|
borderRadius: constants.radius.input,
|
|
267
285
|
},
|
|
286
|
+
// ========================================
|
|
287
|
+
// FORM CONTROLS - Use accent for selected state
|
|
288
|
+
// ========================================
|
|
268
289
|
Checkbox: {
|
|
269
|
-
colorPrimary: colors.
|
|
270
|
-
colorPrimaryHover: colors.
|
|
271
|
-
|
|
272
|
-
colorBgContainer: colors.surface.card,
|
|
273
|
-
colorIcon: colors.text.tertiary,
|
|
274
|
-
colorIconHover: colors.text.secondary,
|
|
290
|
+
colorPrimary: colors.accent.default,
|
|
291
|
+
colorPrimaryHover: colors.accent.hover,
|
|
292
|
+
colorPrimaryBorder: colors.border.default,
|
|
275
293
|
borderRadiusSM: constants.radius.sm,
|
|
276
294
|
},
|
|
277
295
|
Radio: {
|
|
278
|
-
colorPrimary: colors.
|
|
279
|
-
colorPrimaryHover: colors.
|
|
296
|
+
colorPrimary: colors.accent.default,
|
|
297
|
+
colorPrimaryHover: colors.accent.hover,
|
|
280
298
|
colorBorder: colors.border.default,
|
|
281
|
-
colorBgContainer: colors.surface.card,
|
|
282
|
-
colorIcon: colors.text.tertiary,
|
|
283
|
-
colorIconHover: colors.text.secondary,
|
|
284
299
|
},
|
|
285
300
|
Switch: {
|
|
286
|
-
colorPrimary: colors.
|
|
287
|
-
colorPrimaryHover: colors.
|
|
288
|
-
colorTextQuaternary: colors.
|
|
289
|
-
colorTextTertiary: colors.
|
|
290
|
-
|
|
291
|
-
colorIconHover: colors.text.secondary,
|
|
301
|
+
colorPrimary: colors.accent.default,
|
|
302
|
+
colorPrimaryHover: colors.accent.hover,
|
|
303
|
+
colorTextQuaternary: colors.neutral[4],
|
|
304
|
+
colorTextTertiary: colors.neutral[5],
|
|
305
|
+
handleSize: 18,
|
|
292
306
|
},
|
|
293
307
|
Slider: {
|
|
294
|
-
colorPrimary: colors.
|
|
295
|
-
colorPrimaryBorder: colors.
|
|
296
|
-
colorPrimaryBorderHover: colors.
|
|
297
|
-
colorIcon: colors.text.tertiary,
|
|
298
|
-
colorIconHover: colors.text.secondary,
|
|
308
|
+
colorPrimary: colors.accent.default,
|
|
309
|
+
colorPrimaryBorder: colors.accent.default,
|
|
310
|
+
colorPrimaryBorderHover: colors.accent.hover,
|
|
299
311
|
handleColor: colors.surface.card,
|
|
300
312
|
handleActiveColor: colors.surface.card,
|
|
301
|
-
railBg: colors.neutral[
|
|
302
|
-
railHoverBg: colors.neutral[
|
|
303
|
-
trackBg: colors.
|
|
304
|
-
trackHoverBg: colors.
|
|
313
|
+
railBg: colors.neutral[3],
|
|
314
|
+
railHoverBg: colors.neutral[4],
|
|
315
|
+
trackBg: colors.accent.default,
|
|
316
|
+
trackHoverBg: colors.accent.hover,
|
|
305
317
|
dotBorderColor: colors.border.default,
|
|
306
|
-
dotActiveBorderColor: colors.
|
|
318
|
+
dotActiveBorderColor: colors.accent.default,
|
|
307
319
|
},
|
|
320
|
+
// ========================================
|
|
321
|
+
// FORM LAYOUT
|
|
322
|
+
// ========================================
|
|
308
323
|
Form: {
|
|
309
324
|
labelColor: colors.text.primary,
|
|
310
325
|
labelFontSize: constants.typography.fontSize.base,
|
|
311
|
-
|
|
312
|
-
labelColonMarginInlineStart: constants.spacing[1],
|
|
326
|
+
labelRequiredMarkColor: colors.semantic.error.main,
|
|
313
327
|
itemMarginBottom: constants.spacing[4],
|
|
314
328
|
verticalLabelPadding: `0 0 ${constants.spacing[2]}px`,
|
|
315
|
-
labelRequiredMarkColor: colors.semantic.error.main,
|
|
316
|
-
colorIcon: colors.text.tertiary,
|
|
317
|
-
colorIconHover: colors.text.secondary,
|
|
318
329
|
},
|
|
319
330
|
// ========================================
|
|
320
331
|
// DATA DISPLAY
|
|
321
332
|
// ========================================
|
|
322
333
|
Table: {
|
|
323
334
|
colorBgContainer: colors.surface.card,
|
|
324
|
-
colorText: colors.text.primary,
|
|
325
|
-
colorTextHeading: colors.text.primary,
|
|
326
335
|
headerBg: colors.surface.page,
|
|
327
336
|
headerColor: colors.text.secondary,
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
headerSplitColor: colors.border.subtle,
|
|
337
|
+
colorText: colors.text.primary,
|
|
338
|
+
colorTextHeading: colors.text.secondary,
|
|
331
339
|
borderColor: colors.border.subtle,
|
|
340
|
+
// Interactive states
|
|
332
341
|
rowHoverBg: colors.surface.interactive,
|
|
333
342
|
rowSelectedBg: colors.surface.selected,
|
|
334
|
-
rowSelectedHoverBg: colors.surface.selected,
|
|
335
343
|
rowExpandedBg: colors.surface.nested,
|
|
336
|
-
|
|
337
|
-
cellPaddingInline: constants.spacing[4],
|
|
338
|
-
cellPaddingBlockSM: constants.spacing[2],
|
|
339
|
-
cellPaddingInlineSM: constants.spacing[3],
|
|
344
|
+
// Smooth rounded
|
|
340
345
|
borderRadius: constants.radius.card,
|
|
341
346
|
borderRadiusLG: constants.radius.card,
|
|
342
347
|
headerBorderRadius: constants.radius.card,
|
|
343
|
-
|
|
348
|
+
// Padding
|
|
349
|
+
cellPaddingBlock: constants.spacing[3],
|
|
350
|
+
cellPaddingInline: constants.spacing[4],
|
|
351
|
+
cellPaddingBlockSM: constants.spacing[2],
|
|
352
|
+
cellPaddingInlineSM: constants.spacing[3],
|
|
353
|
+
// Typography
|
|
354
|
+
cellFontSize: constants.typography.fontSize.base,
|
|
355
|
+
headerSortActiveBg: colors.surface.interactive,
|
|
344
356
|
},
|
|
345
357
|
Descriptions: {
|
|
346
358
|
labelBg: colors.surface.page,
|
|
347
359
|
titleColor: colors.text.primary,
|
|
348
360
|
contentColor: colors.text.primary,
|
|
349
361
|
extraColor: colors.text.secondary,
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
colonMarginRight: constants.spacing[2],
|
|
362
|
+
colorSplit: colors.border.subtle,
|
|
363
|
+
itemPaddingBottom: constants.spacing[3],
|
|
353
364
|
},
|
|
354
365
|
Card: {
|
|
355
366
|
colorBgContainer: colors.surface.card,
|
|
356
367
|
colorBorderSecondary: colors.border.default,
|
|
357
368
|
colorTextHeading: colors.text.primary,
|
|
358
369
|
colorTextDescription: colors.text.secondary,
|
|
370
|
+
// Gentle shadow on cards
|
|
359
371
|
boxShadowTertiary: constants.shadow.card,
|
|
372
|
+
// Smooth rounded
|
|
360
373
|
borderRadius: constants.radius.card,
|
|
361
374
|
borderRadiusLG: constants.radius.card,
|
|
362
375
|
padding: constants.spacing[4],
|
|
363
376
|
paddingLG: constants.spacing[6],
|
|
364
377
|
},
|
|
365
378
|
Statistic: {
|
|
366
|
-
titleFontSize: constants.typography.fontSize.
|
|
379
|
+
titleFontSize: constants.typography.fontSize.sm,
|
|
367
380
|
contentFontSize: constants.typography.fontSize['4xl'],
|
|
368
|
-
colorTextHeading: colors.text.primary,
|
|
369
|
-
colorTextDescription: colors.text.secondary,
|
|
370
381
|
},
|
|
371
382
|
Timeline: {
|
|
372
383
|
tailColor: colors.border.default,
|
|
384
|
+
tailWidth: 2,
|
|
373
385
|
dotBg: colors.surface.card,
|
|
374
|
-
|
|
386
|
+
dotBorderWidth: 2,
|
|
387
|
+
itemPaddingBottom: constants.spacing[4],
|
|
375
388
|
},
|
|
376
389
|
Tag: {
|
|
377
390
|
defaultBg: colors.neutral[2],
|
|
378
391
|
defaultColor: colors.text.primary,
|
|
379
|
-
colorBorder: colors.border.default,
|
|
380
|
-
colorText: colors.text.primary,
|
|
381
392
|
borderRadiusSM: constants.radius.sm,
|
|
382
393
|
fontSize: constants.typography.fontSize.sm,
|
|
383
394
|
fontSizeSM: constants.typography.fontSize.xs,
|
|
@@ -386,45 +397,39 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
386
397
|
colorBorderBg: colors.surface.card,
|
|
387
398
|
colorError: colors.semantic.error.main,
|
|
388
399
|
colorSuccess: colors.semantic.success.main,
|
|
389
|
-
colorInfo: colors.
|
|
400
|
+
colorInfo: colors.accent.default,
|
|
390
401
|
colorWarning: colors.semantic.warning.main,
|
|
391
402
|
textFontSize: constants.typography.fontSize.xs,
|
|
403
|
+
textFontWeight: constants.typography.fontWeight.medium,
|
|
392
404
|
},
|
|
393
405
|
Avatar: {
|
|
394
|
-
colorBgContainer: colors.neutral[
|
|
395
|
-
|
|
396
|
-
colorTextLightSolid: colors.text.inverse,
|
|
406
|
+
colorBgContainer: colors.neutral[3],
|
|
407
|
+
colorTextPlaceholder: colors.text.secondary,
|
|
397
408
|
borderRadius: constants.radius.avatar,
|
|
398
409
|
groupOverlapping: -8,
|
|
399
410
|
groupSpace: constants.spacing[1],
|
|
400
411
|
},
|
|
401
412
|
Calendar: {
|
|
402
413
|
colorBgContainer: colors.surface.card,
|
|
403
|
-
colorPrimary: colors.
|
|
404
|
-
|
|
405
|
-
fullPanelBg: colors.surface.card,
|
|
406
|
-
itemActiveBg: colors.semantic.info.subtle,
|
|
414
|
+
colorPrimary: colors.accent.default,
|
|
415
|
+
itemActiveBg: colors.accent.subtle,
|
|
407
416
|
borderRadius: constants.radius.card,
|
|
408
417
|
},
|
|
409
418
|
Collapse: {
|
|
410
419
|
colorBgContainer: colors.surface.card,
|
|
411
|
-
colorBorder: colors.border.default,
|
|
412
420
|
headerBg: colors.surface.page,
|
|
413
421
|
headerPadding: `${constants.spacing[3]}px ${constants.spacing[4]}px`,
|
|
414
422
|
contentPadding: `${constants.spacing[4]}px ${constants.spacing[4]}px`,
|
|
415
423
|
borderRadiusLG: constants.radius.card,
|
|
416
424
|
},
|
|
417
|
-
Carousel: {
|
|
418
|
-
colorBgContainer: colors.surface.card,
|
|
419
|
-
},
|
|
420
425
|
Tree: {
|
|
421
|
-
colorBgContainer: colors.surface.card,
|
|
422
426
|
nodeHoverBg: colors.surface.interactive,
|
|
423
427
|
nodeSelectedBg: colors.surface.selected,
|
|
428
|
+
directoryNodeSelectedBg: colors.surface.selected,
|
|
424
429
|
borderRadius: constants.radius.sm,
|
|
425
430
|
},
|
|
426
431
|
// ========================================
|
|
427
|
-
// FEEDBACK
|
|
432
|
+
// FEEDBACK - Elevated with shadows
|
|
428
433
|
// ========================================
|
|
429
434
|
Alert: {
|
|
430
435
|
colorSuccessBg: colors.semantic.success.subtle,
|
|
@@ -440,20 +445,24 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
440
445
|
colorInfoBorder: colors.semantic.info.main,
|
|
441
446
|
colorInfoText: colors.semantic.info.main,
|
|
442
447
|
defaultPadding: `${constants.spacing[3]}px ${constants.spacing[4]}px`,
|
|
443
|
-
withDescriptionPadding: `${constants.spacing[4]}px ${constants.spacing[5]}px`,
|
|
444
448
|
borderRadiusLG: constants.radius.card,
|
|
449
|
+
withDescriptionPadding: `${constants.spacing[4]}px ${constants.spacing[5]}px`,
|
|
445
450
|
},
|
|
446
451
|
Modal: {
|
|
447
452
|
contentBg: colors.surface.overlay,
|
|
448
453
|
headerBg: colors.surface.overlay,
|
|
449
454
|
footerBg: colors.surface.overlay,
|
|
450
455
|
titleColor: colors.text.primary,
|
|
456
|
+
titleFontSize: constants.typography.fontSize.xl,
|
|
451
457
|
colorBgMask: isDark ? 'rgba(0, 0, 0, 0.65)' : 'rgba(0, 0, 0, 0.45)',
|
|
452
|
-
|
|
458
|
+
// Prominent shadow
|
|
453
459
|
boxShadow: constants.shadow.modal,
|
|
460
|
+
// Generous rounding
|
|
461
|
+
borderRadiusLG: constants.radius.modal,
|
|
454
462
|
},
|
|
455
463
|
Drawer: {
|
|
456
464
|
colorBgElevated: colors.surface.overlay,
|
|
465
|
+
colorText: colors.text.primary,
|
|
457
466
|
colorBgMask: isDark ? 'rgba(0, 0, 0, 0.65)' : 'rgba(0, 0, 0, 0.45)',
|
|
458
467
|
borderRadiusLG: constants.radius.modal,
|
|
459
468
|
footerPaddingBlock: constants.spacing[4],
|
|
@@ -463,29 +472,30 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
463
472
|
colorBgElevated: colors.surface.overlay,
|
|
464
473
|
colorText: colors.text.primary,
|
|
465
474
|
colorTextHeading: colors.text.primary,
|
|
466
|
-
|
|
475
|
+
// Shadow on notification
|
|
467
476
|
boxShadow: constants.shadow.popover,
|
|
477
|
+
borderRadiusLG: constants.radius.card,
|
|
468
478
|
padding: constants.spacing[4],
|
|
469
|
-
paddingContentHorizontal: constants.spacing[4],
|
|
470
479
|
},
|
|
471
480
|
Message: {
|
|
472
481
|
contentBg: colors.surface.overlay,
|
|
473
482
|
contentPadding: `${constants.spacing[2]}px ${constants.spacing[4]}px`,
|
|
474
|
-
|
|
483
|
+
// Shadow on message
|
|
475
484
|
boxShadow: constants.shadow.popover,
|
|
485
|
+
borderRadiusLG: constants.radius.card,
|
|
476
486
|
},
|
|
477
487
|
Popconfirm: {
|
|
478
488
|
colorBgElevated: colors.surface.overlay,
|
|
479
|
-
|
|
480
|
-
|
|
489
|
+
colorText: colors.text.primary,
|
|
490
|
+
colorTextHeading: colors.text.primary,
|
|
481
491
|
boxShadowSecondary: constants.shadow.popover,
|
|
492
|
+
borderRadiusLG: constants.radius.card,
|
|
482
493
|
},
|
|
483
494
|
Progress: {
|
|
484
|
-
defaultColor: colors.
|
|
495
|
+
defaultColor: colors.accent.default,
|
|
485
496
|
colorSuccess: colors.semantic.success.main,
|
|
486
497
|
colorError: colors.semantic.error.main,
|
|
487
|
-
remainingColor: colors.neutral[
|
|
488
|
-
circleTextColor: colors.text.primary,
|
|
498
|
+
remainingColor: colors.neutral[3],
|
|
489
499
|
borderRadius: 100,
|
|
490
500
|
lineBorderRadius: 100,
|
|
491
501
|
},
|
|
@@ -493,21 +503,21 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
493
503
|
titleFontSize: constants.typography.fontSize['3xl'],
|
|
494
504
|
subtitleFontSize: constants.typography.fontSize.base,
|
|
495
505
|
iconFontSize: constants.typography.fontSize['5xl'],
|
|
496
|
-
|
|
506
|
+
colorSuccess: colors.semantic.success.main,
|
|
507
|
+
colorError: colors.semantic.error.main,
|
|
508
|
+
colorInfo: colors.accent.default,
|
|
509
|
+
colorWarning: colors.semantic.warning.main,
|
|
497
510
|
},
|
|
498
511
|
Skeleton: {
|
|
499
512
|
colorFill: colors.neutral[2],
|
|
500
|
-
colorFillContent: colors.neutral[
|
|
513
|
+
colorFillContent: colors.neutral[3],
|
|
501
514
|
borderRadiusSM: constants.radius.sm,
|
|
502
515
|
},
|
|
503
516
|
Spin: {
|
|
504
|
-
colorPrimary: colors.
|
|
505
|
-
dotSize: 20,
|
|
506
|
-
dotSizeLG: 32,
|
|
507
|
-
dotSizeSM: 14,
|
|
517
|
+
colorPrimary: colors.accent.default,
|
|
508
518
|
},
|
|
509
519
|
// ========================================
|
|
510
|
-
// NAVIGATION
|
|
520
|
+
// NAVIGATION - Accent for active states
|
|
511
521
|
// ========================================
|
|
512
522
|
Menu: {
|
|
513
523
|
itemBg: 'transparent',
|
|
@@ -515,74 +525,69 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
515
525
|
itemHoverBg: colors.surface.interactive,
|
|
516
526
|
itemHoverColor: colors.text.primary,
|
|
517
527
|
itemSelectedBg: colors.surface.selected,
|
|
518
|
-
itemSelectedColor: colors.
|
|
528
|
+
itemSelectedColor: colors.accent.default,
|
|
519
529
|
itemActiveBg: colors.surface.selected,
|
|
520
|
-
|
|
521
|
-
// Dark menu (for sidebars)
|
|
530
|
+
// Dark sidebar
|
|
522
531
|
darkItemBg: colors.absolute.black,
|
|
523
532
|
darkSubMenuItemBg: colors.absolute.black,
|
|
524
533
|
darkItemColor: colors.absolute.white,
|
|
525
534
|
darkItemHoverBg: 'rgba(255, 255, 255, 0.08)',
|
|
526
|
-
|
|
527
|
-
darkItemSelectedBg: colors.link.default,
|
|
535
|
+
darkItemSelectedBg: colors.accent.default,
|
|
528
536
|
darkItemSelectedColor: colors.absolute.white,
|
|
529
|
-
itemBorderRadius: constants.radius.
|
|
530
|
-
|
|
537
|
+
itemBorderRadius: constants.radius.sm,
|
|
538
|
+
itemMarginInline: constants.spacing[1],
|
|
539
|
+
itemPaddingInline: constants.spacing[3],
|
|
531
540
|
},
|
|
532
541
|
Breadcrumb: {
|
|
533
542
|
itemColor: colors.text.secondary,
|
|
534
543
|
lastItemColor: colors.text.primary,
|
|
535
|
-
linkColor: colors.
|
|
536
|
-
linkHoverColor: colors.
|
|
544
|
+
linkColor: colors.accent.default,
|
|
545
|
+
linkHoverColor: colors.accent.hover,
|
|
537
546
|
separatorColor: colors.text.tertiary,
|
|
538
547
|
separatorMargin: constants.spacing[2],
|
|
539
|
-
|
|
540
|
-
fontSize: constants.typography.fontSize.base,
|
|
548
|
+
fontSize: constants.typography.fontSize.sm,
|
|
541
549
|
},
|
|
542
550
|
Pagination: {
|
|
543
|
-
colorPrimary: colors.
|
|
544
|
-
colorPrimaryHover: colors.
|
|
545
|
-
itemActiveBg: colors.
|
|
546
|
-
itemActiveBgDisabled: colors.neutral[2],
|
|
551
|
+
colorPrimary: colors.accent.default,
|
|
552
|
+
colorPrimaryHover: colors.accent.hover,
|
|
553
|
+
itemActiveBg: colors.accent.default,
|
|
547
554
|
itemBg: colors.surface.card,
|
|
548
555
|
itemLinkBg: colors.surface.card,
|
|
549
556
|
itemInputBg: colors.surface.card,
|
|
550
557
|
borderRadius: constants.radius.sm,
|
|
551
558
|
},
|
|
552
559
|
Steps: {
|
|
553
|
-
colorPrimary: colors.
|
|
560
|
+
colorPrimary: colors.accent.default,
|
|
554
561
|
colorText: colors.text.secondary,
|
|
555
562
|
colorTextDescription: colors.text.tertiary,
|
|
556
|
-
|
|
563
|
+
colorFillContent: colors.neutral[3],
|
|
557
564
|
},
|
|
558
565
|
Tabs: {
|
|
559
|
-
colorPrimary: colors.
|
|
566
|
+
colorPrimary: colors.accent.default,
|
|
560
567
|
itemColor: colors.text.secondary,
|
|
561
|
-
itemHoverColor: colors.
|
|
562
|
-
itemSelectedColor: colors.
|
|
563
|
-
itemActiveColor: colors.
|
|
564
|
-
inkBarColor: colors.
|
|
565
|
-
|
|
566
|
-
titleFontSize: constants.typography.fontSize.base,
|
|
567
|
-
titleFontSizeLG: constants.typography.fontSize.lg,
|
|
568
|
-
titleFontSizeSM: constants.typography.fontSize.sm,
|
|
569
|
-
cardBg: colors.surface.card,
|
|
568
|
+
itemHoverColor: colors.accent.hover,
|
|
569
|
+
itemSelectedColor: colors.accent.default,
|
|
570
|
+
itemActiveColor: colors.accent.default,
|
|
571
|
+
inkBarColor: colors.accent.default,
|
|
572
|
+
colorBgContainer: colors.surface.card,
|
|
570
573
|
cardPadding: `${constants.spacing[2]}px ${constants.spacing[4]}px`,
|
|
571
574
|
horizontalItemPadding: `${constants.spacing[3]}px 0`,
|
|
572
|
-
|
|
575
|
+
horizontalItemGutter: constants.spacing[8],
|
|
573
576
|
},
|
|
574
577
|
Anchor: {
|
|
575
|
-
colorPrimary: colors.
|
|
578
|
+
colorPrimary: colors.accent.default,
|
|
576
579
|
linkPaddingBlock: constants.spacing[1],
|
|
577
580
|
linkPaddingInlineStart: constants.spacing[4],
|
|
578
581
|
},
|
|
579
582
|
Dropdown: {
|
|
580
583
|
colorBgElevated: colors.surface.overlay,
|
|
584
|
+
colorText: colors.text.primary,
|
|
581
585
|
controlItemBgHover: colors.surface.interactive,
|
|
582
586
|
controlItemBgActive: colors.surface.selected,
|
|
587
|
+
// Shadow on dropdown
|
|
583
588
|
boxShadowSecondary: constants.shadow.popover,
|
|
584
|
-
paddingBlock: constants.spacing[1],
|
|
585
589
|
borderRadiusLG: constants.radius.card,
|
|
590
|
+
paddingBlock: constants.spacing[1],
|
|
586
591
|
},
|
|
587
592
|
// ========================================
|
|
588
593
|
// LAYOUT
|
|
@@ -590,142 +595,121 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
590
595
|
Layout: {
|
|
591
596
|
colorBgBody: colors.surface.page,
|
|
592
597
|
colorBgHeader: colors.surface.card,
|
|
593
|
-
colorBgTrigger: colors.
|
|
594
|
-
siderBg: colors.absolute.black,
|
|
598
|
+
colorBgTrigger: colors.surface.interactive,
|
|
595
599
|
headerBg: colors.surface.card,
|
|
600
|
+
headerColor: colors.text.primary,
|
|
601
|
+
siderBg: colors.absolute.black,
|
|
602
|
+
triggerBg: colors.surface.interactive,
|
|
603
|
+
triggerColor: colors.text.primary,
|
|
596
604
|
headerPadding: `0 ${constants.spacing[6]}px`,
|
|
597
|
-
footerBg: colors.surface.card,
|
|
598
605
|
footerPadding: `${constants.spacing[6]}px ${constants.spacing[12]}px`,
|
|
599
|
-
bodyBg: colors.surface.page,
|
|
600
|
-
triggerBg: colors.absolute.black,
|
|
601
|
-
triggerColor: colors.absolute.white,
|
|
602
|
-
lightSiderBg: colors.surface.card,
|
|
603
|
-
lightTriggerBg: colors.surface.card,
|
|
604
|
-
lightTriggerColor: colors.text.primary,
|
|
605
606
|
},
|
|
606
607
|
Divider: {
|
|
607
608
|
colorSplit: colors.border.subtle,
|
|
608
609
|
colorText: colors.text.tertiary,
|
|
610
|
+
colorTextHeading: colors.text.secondary,
|
|
609
611
|
verticalMarginInline: constants.spacing[2],
|
|
610
612
|
},
|
|
611
613
|
// ========================================
|
|
612
|
-
//
|
|
614
|
+
// OVERLAYS
|
|
613
615
|
// ========================================
|
|
614
616
|
Typography: {
|
|
615
617
|
colorText: colors.text.primary,
|
|
616
618
|
colorTextSecondary: colors.text.secondary,
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
colorLinkActive: colors.link.active,
|
|
619
|
+
colorLink: colors.accent.default,
|
|
620
|
+
colorLinkHover: colors.accent.hover,
|
|
621
|
+
colorLinkActive: colors.accent.active,
|
|
621
622
|
titleMarginBottom: constants.spacing[2],
|
|
622
623
|
titleMarginTop: constants.spacing[4],
|
|
623
|
-
fontSizeHeading1: constants.typography.fontSize['5xl'],
|
|
624
|
-
fontSizeHeading2: constants.typography.fontSize['4xl'],
|
|
625
|
-
fontSizeHeading3: constants.typography.fontSize['3xl'],
|
|
626
|
-
fontSizeHeading4: constants.typography.fontSize['2xl'],
|
|
627
|
-
fontSizeHeading5: constants.typography.fontSize.xl,
|
|
628
|
-
lineHeightHeading1: constants.typography.lineHeight.tight,
|
|
629
|
-
lineHeightHeading2: constants.typography.lineHeight.tight,
|
|
630
|
-
lineHeightHeading3: constants.typography.lineHeight.tight,
|
|
631
|
-
lineHeightHeading4: constants.typography.lineHeight.tight,
|
|
632
|
-
lineHeightHeading5: constants.typography.lineHeight.tight,
|
|
633
624
|
},
|
|
634
625
|
Tooltip: {
|
|
635
|
-
colorBgSpotlight: colors.neutral[
|
|
626
|
+
colorBgSpotlight: colors.neutral[8],
|
|
636
627
|
colorTextLightSolid: colors.text.inverse,
|
|
637
|
-
|
|
628
|
+
// Subtle shadow
|
|
638
629
|
boxShadowSecondary: constants.shadow.tooltip,
|
|
630
|
+
borderRadius: constants.radius.sm,
|
|
639
631
|
},
|
|
640
632
|
Popover: {
|
|
641
633
|
colorBgElevated: colors.surface.overlay,
|
|
642
634
|
colorText: colors.text.primary,
|
|
643
|
-
|
|
635
|
+
colorTextHeading: colors.text.primary,
|
|
636
|
+
// Shadow on popover
|
|
644
637
|
boxShadowSecondary: constants.shadow.popover,
|
|
638
|
+
borderRadiusLG: constants.radius.card,
|
|
645
639
|
padding: constants.spacing[3],
|
|
646
640
|
},
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
},
|
|
641
|
+
// ========================================
|
|
642
|
+
// OTHER COMPONENTS
|
|
643
|
+
// ========================================
|
|
651
644
|
Upload: {
|
|
652
|
-
colorBorder: colors.border.default,
|
|
653
645
|
colorFillAlter: colors.surface.interactive,
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
colorTextHeading: colors.text.primary,
|
|
657
|
-
actionsColor: colors.link.default,
|
|
658
|
-
},
|
|
659
|
-
QRCode: {
|
|
660
|
-
colorBgContainer: colors.surface.card,
|
|
646
|
+
colorBorder: colors.border.default,
|
|
647
|
+
actionsColor: colors.accent.default,
|
|
661
648
|
},
|
|
662
649
|
Tour: {
|
|
663
650
|
colorBgElevated: colors.surface.overlay,
|
|
664
|
-
colorPrimary: colors.
|
|
665
|
-
|
|
651
|
+
colorPrimary: colors.accent.default,
|
|
652
|
+
colorText: colors.text.primary,
|
|
666
653
|
boxShadowSecondary: constants.shadow.popover,
|
|
654
|
+
borderRadius: constants.radius.card,
|
|
667
655
|
},
|
|
668
656
|
FloatButton: {
|
|
669
657
|
colorBgElevated: colors.surface.overlay,
|
|
670
|
-
colorPrimary: colors.
|
|
671
|
-
|
|
658
|
+
colorPrimary: colors.accent.default,
|
|
659
|
+
colorText: colors.text.primary,
|
|
672
660
|
boxShadow: constants.shadow.popover,
|
|
661
|
+
borderRadiusLG: constants.radius.avatar,
|
|
673
662
|
},
|
|
674
663
|
Segmented: {
|
|
675
664
|
colorBgLayout: colors.neutral[2],
|
|
676
|
-
itemColor: colors.text.
|
|
665
|
+
itemColor: colors.text.secondary,
|
|
677
666
|
itemHoverColor: colors.text.primary,
|
|
678
667
|
itemHoverBg: colors.surface.interactive,
|
|
679
668
|
itemSelectedBg: colors.surface.card,
|
|
680
669
|
itemSelectedColor: colors.text.primary,
|
|
670
|
+
itemActiveBg: colors.surface.card,
|
|
681
671
|
borderRadius: constants.radius.base,
|
|
682
672
|
borderRadiusSM: constants.radius.sm,
|
|
683
673
|
},
|
|
684
674
|
Mentions: {
|
|
685
|
-
colorBgContainer: colors.surface.card,
|
|
686
675
|
colorBgElevated: colors.surface.overlay,
|
|
687
|
-
colorBorder: colors.border.default,
|
|
688
676
|
controlItemBgHover: colors.surface.interactive,
|
|
689
677
|
controlItemBgActive: colors.surface.selected,
|
|
690
678
|
boxShadowSecondary: constants.shadow.popover,
|
|
691
679
|
},
|
|
692
|
-
Transfer: {
|
|
693
|
-
colorBgContainer: colors.surface.card,
|
|
694
|
-
colorBorder: colors.border.default,
|
|
695
|
-
itemPaddingBlock: constants.spacing[1],
|
|
696
|
-
},
|
|
697
680
|
Cascader: {
|
|
698
|
-
colorBgContainer: colors.surface.card,
|
|
699
681
|
colorBgElevated: colors.surface.overlay,
|
|
700
|
-
colorBorder: colors.border.default,
|
|
701
682
|
controlItemBgHover: colors.surface.interactive,
|
|
702
683
|
optionSelectedBg: colors.surface.selected,
|
|
684
|
+
colorPrimary: colors.accent.default,
|
|
703
685
|
},
|
|
704
686
|
TreeSelect: {
|
|
705
|
-
colorBgContainer: colors.surface.card,
|
|
706
687
|
colorBgElevated: colors.surface.overlay,
|
|
707
|
-
colorBorder: colors.border.default,
|
|
708
688
|
nodeHoverBg: colors.surface.interactive,
|
|
709
689
|
nodeSelectedBg: colors.surface.selected,
|
|
710
690
|
},
|
|
691
|
+
Transfer: {
|
|
692
|
+
colorBgContainer: colors.surface.card,
|
|
693
|
+
controlItemBgHover: colors.surface.interactive,
|
|
694
|
+
controlItemBgActive: colors.surface.selected,
|
|
695
|
+
},
|
|
711
696
|
Rate: {
|
|
712
697
|
colorFillContent: colors.neutral[3],
|
|
713
698
|
starColor: '#FADB14',
|
|
699
|
+
starBg: colors.neutral[3],
|
|
714
700
|
},
|
|
715
701
|
Empty: {
|
|
716
702
|
colorText: colors.text.secondary,
|
|
717
703
|
colorTextDescription: colors.text.tertiary,
|
|
718
|
-
|
|
704
|
+
colorTextDisabled: colors.text.disabled,
|
|
719
705
|
},
|
|
720
706
|
List: {
|
|
721
707
|
colorBorder: colors.border.subtle,
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
708
|
+
colorText: colors.text.primary,
|
|
709
|
+
colorTextDescription: colors.text.secondary,
|
|
710
|
+
itemPadding: `${constants.spacing[3]}px 0`,
|
|
711
|
+
itemPaddingSM: `${constants.spacing[2]}px ${constants.spacing[3]}px`,
|
|
725
712
|
itemPaddingLG: `${constants.spacing[4]}px ${constants.spacing[6]}px`,
|
|
726
|
-
headerBg: 'transparent',
|
|
727
|
-
footerBg: 'transparent',
|
|
728
|
-
emptyTextPadding: constants.spacing[4],
|
|
729
713
|
metaMarginBottom: constants.spacing[2],
|
|
730
714
|
avatarMarginRight: constants.spacing[4],
|
|
731
715
|
titleMarginBottom: constants.spacing[1],
|