@temboplus/frontend-react-core 0.1.3-beta.14 → 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.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-60Hk7l5W.js} +2 -2
- package/dist/{tembo-notify-DrVkWFXZ.js.map → tembo-notify-60Hk7l5W.js.map} +1 -1
- package/dist/{tembo-notify-8__PpMV9.js → tembo-notify-BEEB2wEp.js} +2 -2
- package/dist/{tembo-notify-8__PpMV9.js.map → tembo-notify-BEEB2wEp.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 +7 -0
- package/dist/theme/theme-config.js +114 -217
- package/dist/{theme-provider-Ck6qg6WJ.js → theme-provider-BJjIEVwv.js} +2 -2
- package/dist/{theme-provider-Ck6qg6WJ.js.map → theme-provider-BJjIEVwv.js.map} +1 -1
- package/dist/theme-provider-CpPw8sUs.js +11 -0
- package/dist/theme-provider-CpPw8sUs.js.map +1 -0
- package/dist/{theme-provider-Cpt7os8V.js → theme-provider-D3-cveEd.js} +2 -2
- package/dist/{theme-provider-Cpt7os8V.js.map → theme-provider-D3-cveEd.js.map} +1 -1
- package/dist/theme-provider-xDEswLd1.js +11 -0
- package/dist/theme-provider-xDEswLd1.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,5 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Build comprehensive Ant Design theme from Tembo tokens
|
|
3
|
+
*
|
|
4
|
+
* Design principles:
|
|
5
|
+
* - Set sizing/spacing once at token level, not per component
|
|
6
|
+
* - Components inherit global tokens unless they need specific overrides
|
|
7
|
+
* - Bold rounded corners (24px buttons/inputs, 28px cards, 32px modals)
|
|
8
|
+
* - Zero shadows on flat elements (buttons, inputs)
|
|
9
|
+
* - Gentle shadows on elevated elements (cards, modals, popovers)
|
|
3
10
|
*/
|
|
4
11
|
export const buildAntDTheme = (colors, constants) => {
|
|
5
12
|
const isDark = colors.mode === 'dark';
|
|
@@ -8,22 +15,22 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
8
15
|
// ============================================
|
|
9
16
|
// COLOR TOKENS
|
|
10
17
|
// ============================================
|
|
11
|
-
// Primary (monochrome - using
|
|
12
|
-
colorPrimary: colors.
|
|
13
|
-
colorPrimaryHover: colors.
|
|
14
|
-
colorPrimaryActive: colors.
|
|
18
|
+
// Primary (monochrome - using action tokens implicitly)
|
|
19
|
+
colorPrimary: colors.action.default,
|
|
20
|
+
colorPrimaryHover: colors.action.hover,
|
|
21
|
+
colorPrimaryActive: colors.action.default,
|
|
15
22
|
colorPrimaryBg: colors.neutral[2],
|
|
16
23
|
colorPrimaryBgHover: colors.surface.interactive,
|
|
17
|
-
colorPrimaryBorder: colors.
|
|
18
|
-
colorPrimaryBorderHover: colors.
|
|
19
|
-
colorPrimaryText: colors.
|
|
24
|
+
colorPrimaryBorder: colors.action.default,
|
|
25
|
+
colorPrimaryBorderHover: colors.action.default,
|
|
26
|
+
colorPrimaryText: colors.action.default,
|
|
20
27
|
colorPrimaryTextHover: colors.text.secondary,
|
|
21
|
-
colorPrimaryTextActive: colors.
|
|
22
|
-
// Links (standard web
|
|
28
|
+
colorPrimaryTextActive: colors.action.default,
|
|
29
|
+
// Links (standard web blue + focus rings)
|
|
23
30
|
colorLink: colors.link.default,
|
|
24
31
|
colorLinkHover: colors.link.hover,
|
|
25
32
|
colorLinkActive: colors.link.active,
|
|
26
|
-
// Text
|
|
33
|
+
// Text hierarchy
|
|
27
34
|
colorText: colors.text.primary,
|
|
28
35
|
colorTextSecondary: colors.text.secondary,
|
|
29
36
|
colorTextTertiary: colors.text.tertiary,
|
|
@@ -43,12 +50,14 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
43
50
|
colorBgMask: isDark ? 'rgba(0, 0, 0, 0.65)' : 'rgba(0, 0, 0, 0.45)',
|
|
44
51
|
colorBgTextHover: colors.surface.interactive,
|
|
45
52
|
colorBgTextActive: colors.surface.interactive,
|
|
53
|
+
// Disabled backgrounds
|
|
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
|
|
60
|
+
// Fill colors
|
|
52
61
|
colorFill: colors.neutral[2],
|
|
53
62
|
colorFillSecondary: colors.neutral[2],
|
|
54
63
|
colorFillTertiary: colors.neutral[2],
|
|
@@ -92,25 +101,25 @@ 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
|
-
// SPACING & SIZING
|
|
122
|
+
// SPACING & SIZING - SET ONCE HERE
|
|
114
123
|
// ============================================
|
|
115
124
|
padding: constants.spacing[4],
|
|
116
125
|
paddingXS: constants.spacing[2],
|
|
@@ -123,142 +132,137 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
123
132
|
marginLG: constants.spacing[5],
|
|
124
133
|
marginXL: constants.spacing[6],
|
|
125
134
|
marginXXL: constants.spacing[8],
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
135
|
+
// Control heights - SET ONCE, components inherit
|
|
136
|
+
controlHeight: 40, // Default height for all controls
|
|
137
|
+
controlHeightLG: 48, // Large variant
|
|
138
|
+
controlHeightSM: 32, // Small variant
|
|
139
|
+
controlHeightXS: 24, // Extra small variant
|
|
130
140
|
// ============================================
|
|
131
|
-
// BORDER RADIUS
|
|
141
|
+
// BORDER RADIUS - Bold rounded corners
|
|
132
142
|
// ============================================
|
|
133
|
-
borderRadius: constants.radius.base,
|
|
134
|
-
borderRadiusLG: constants.radius.md,
|
|
135
|
-
borderRadiusSM: constants.radius.sm,
|
|
136
|
-
borderRadiusXS: constants.radius.sm,
|
|
143
|
+
borderRadius: constants.radius.base, // 24px - default bold
|
|
144
|
+
borderRadiusLG: constants.radius.md, // 28px
|
|
145
|
+
borderRadiusSM: constants.radius.sm, // 12px
|
|
146
|
+
borderRadiusXS: constants.radius.sm, // 12px
|
|
137
147
|
// ============================================
|
|
138
|
-
// SHADOWS
|
|
148
|
+
// SHADOWS - Zero on flat, gentle on elevated
|
|
139
149
|
// ============================================
|
|
140
|
-
boxShadow: constants.shadow.none,
|
|
141
|
-
boxShadowSecondary: constants.shadow.none,
|
|
142
|
-
boxShadowTertiary: constants.shadow.card,
|
|
150
|
+
boxShadow: constants.shadow.none, // Default: no shadow
|
|
151
|
+
boxShadowSecondary: constants.shadow.none, // No shadow
|
|
152
|
+
boxShadowTertiary: constants.shadow.card, // Gentle card shadow
|
|
143
153
|
// ============================================
|
|
144
154
|
// MOTION
|
|
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
|
-
// BUTTON - Monochrome
|
|
169
|
+
// BUTTON - Monochrome actions, zero shadow
|
|
160
170
|
// ========================================
|
|
161
171
|
Button: {
|
|
162
|
-
//
|
|
163
|
-
colorPrimary: colors.
|
|
164
|
-
colorPrimaryHover: colors.
|
|
165
|
-
colorPrimaryActive: colors.
|
|
166
|
-
colorPrimaryBorder: colors.
|
|
167
|
-
primaryColor: colors.
|
|
168
|
-
|
|
169
|
-
|
|
172
|
+
// Action colors
|
|
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,
|
|
178
|
+
// Disabled
|
|
179
|
+
colorBgContainerDisabled: colors.action.disabled,
|
|
180
|
+
colorTextDisabled: colors.text.secondary,
|
|
181
|
+
borderColorDisabled: colors.action.disabled,
|
|
182
|
+
// Default button
|
|
170
183
|
defaultBg: colors.surface.card,
|
|
171
184
|
defaultBorderColor: colors.border.default,
|
|
172
185
|
defaultColor: colors.text.primary,
|
|
173
186
|
defaultHoverBg: colors.surface.interactive,
|
|
174
187
|
defaultHoverBorderColor: colors.border.strong,
|
|
175
|
-
|
|
176
|
-
defaultActiveBg: colors.surface.interactive,
|
|
177
|
-
defaultActiveBorderColor: colors.neutral[4],
|
|
178
|
-
defaultActiveColor: colors.text.primary,
|
|
179
|
-
defaultShadow: 'none',
|
|
180
|
-
// Text button
|
|
181
|
-
textHoverBg: colors.surface.interactive,
|
|
182
|
-
textTextColor: colors.text.primary,
|
|
183
|
-
textTextHoverColor: colors.text.primary,
|
|
188
|
+
defaultActiveBorderColor: colors.action.default,
|
|
184
189
|
// Link button
|
|
185
|
-
linkHoverBg: 'transparent',
|
|
186
190
|
colorLink: colors.link.default,
|
|
187
191
|
colorLinkHover: colors.link.hover,
|
|
188
192
|
colorLinkActive: colors.link.active,
|
|
189
193
|
// Danger button
|
|
190
194
|
dangerColor: colors.semantic.error.main,
|
|
191
|
-
|
|
192
|
-
|
|
195
|
+
// Zero shadows on all buttons
|
|
196
|
+
primaryShadow: 'none',
|
|
197
|
+
defaultShadow: 'none',
|
|
193
198
|
dangerShadow: 'none',
|
|
194
|
-
|
|
195
|
-
paddingContentVertical: constants.spacing[2],
|
|
196
|
-
// Styling
|
|
199
|
+
// Bold rounded corners
|
|
197
200
|
borderRadius: constants.radius.button,
|
|
198
201
|
borderRadiusLG: constants.radius.button,
|
|
199
202
|
borderRadiusSM: constants.radius.button,
|
|
203
|
+
// Padding
|
|
204
|
+
paddingContentHorizontal: constants.spacing[4],
|
|
205
|
+
paddingContentVertical: constants.spacing[2],
|
|
206
|
+
// Typography
|
|
200
207
|
fontWeight: constants.typography.fontWeight.medium,
|
|
201
|
-
|
|
208
|
+
// Heights inherited from token.controlHeight automatically ✅
|
|
202
209
|
},
|
|
203
210
|
// ========================================
|
|
204
|
-
//
|
|
211
|
+
// INPUTS - Bold rounded, zero shadow, blue focus ring
|
|
205
212
|
// ========================================
|
|
206
213
|
Input: {
|
|
214
|
+
// Colors
|
|
207
215
|
colorBgContainer: colors.surface.card,
|
|
208
216
|
colorBorder: colors.border.default,
|
|
209
217
|
colorText: colors.text.primary,
|
|
210
218
|
colorTextPlaceholder: colors.text.tertiary,
|
|
219
|
+
// Icons - subtle
|
|
211
220
|
colorIcon: colors.text.tertiary,
|
|
212
221
|
colorIconHover: colors.text.secondary,
|
|
222
|
+
// States
|
|
213
223
|
hoverBorderColor: colors.border.strong,
|
|
214
224
|
activeBorderColor: colors.link.default,
|
|
215
|
-
activeShadow: `0 0 0 2px ${colors.semantic.info.subtle}`,
|
|
225
|
+
activeShadow: `0 0 0 2px ${colors.semantic.info.subtle}`, // Blue focus ring
|
|
226
|
+
// Error/warning rings
|
|
216
227
|
errorActiveShadow: `0 0 0 2px ${colors.semantic.error.subtle}`,
|
|
217
228
|
warningActiveShadow: `0 0 0 2px ${colors.semantic.warning.subtle}`,
|
|
218
|
-
|
|
219
|
-
paddingInline: constants.spacing[3],
|
|
220
|
-
paddingInlineLG: constants.spacing[4],
|
|
229
|
+
// Bold rounded
|
|
221
230
|
borderRadius: constants.radius.input,
|
|
222
231
|
borderRadiusLG: constants.radius.input,
|
|
223
232
|
borderRadiusSM: constants.radius.input,
|
|
233
|
+
// Padding
|
|
234
|
+
paddingBlock: constants.spacing[2],
|
|
235
|
+
paddingInline: constants.spacing[3],
|
|
236
|
+
paddingInlineLG: constants.spacing[4],
|
|
237
|
+
// Heights inherited from token.controlHeight automatically ✅
|
|
224
238
|
},
|
|
225
239
|
InputNumber: {
|
|
226
|
-
colorBgContainer: colors.surface.card,
|
|
227
|
-
colorBorder: colors.border.default,
|
|
228
|
-
hoverBorderColor: colors.border.strong,
|
|
229
|
-
activeBorderColor: colors.link.default,
|
|
230
240
|
colorIcon: colors.text.tertiary,
|
|
231
241
|
colorIconHover: colors.text.secondary,
|
|
242
|
+
activeBorderColor: colors.link.default,
|
|
232
243
|
activeShadow: `0 0 0 2px ${colors.semantic.info.subtle}`,
|
|
233
244
|
borderRadius: constants.radius.input,
|
|
234
245
|
handleVisible: true,
|
|
235
246
|
},
|
|
236
247
|
Select: {
|
|
237
|
-
colorBgContainer: colors.surface.card,
|
|
238
248
|
colorBgElevated: colors.surface.overlay,
|
|
239
|
-
colorBorder: colors.border.default,
|
|
240
|
-
colorText: colors.text.primary,
|
|
241
|
-
colorTextPlaceholder: colors.text.tertiary,
|
|
242
249
|
colorIcon: colors.text.tertiary,
|
|
243
250
|
colorIconHover: colors.text.secondary,
|
|
244
|
-
hoverBorderColor: colors.border.strong,
|
|
245
|
-
controlItemBgHover: colors.surface.interactive,
|
|
246
251
|
activeBorderColor: colors.link.default,
|
|
252
|
+
boxShadow: `0 0 0 2px ${colors.semantic.info.subtle}`,
|
|
247
253
|
optionSelectedBg: colors.surface.selected,
|
|
248
|
-
optionSelectedColor: colors.text.primary,
|
|
249
254
|
optionActiveBg: colors.surface.interactive,
|
|
255
|
+
controlItemBgHover: colors.surface.interactive,
|
|
250
256
|
borderRadius: constants.radius.input,
|
|
251
257
|
borderRadiusLG: constants.radius.input,
|
|
252
258
|
borderRadiusSM: constants.radius.input,
|
|
259
|
+
// Dropdown has shadow
|
|
253
260
|
boxShadowSecondary: constants.shadow.popover,
|
|
254
261
|
},
|
|
255
262
|
DatePicker: {
|
|
256
|
-
colorBgContainer: colors.surface.card,
|
|
257
|
-
colorBorder: colors.border.default,
|
|
258
|
-
hoverBorderColor: colors.border.strong,
|
|
259
|
-
activeBorderColor: colors.link.default,
|
|
260
263
|
colorIcon: colors.text.tertiary,
|
|
261
264
|
colorIconHover: colors.text.secondary,
|
|
265
|
+
activeBorderColor: colors.link.default,
|
|
262
266
|
activeShadow: `0 0 0 2px ${colors.semantic.info.subtle}`,
|
|
263
267
|
cellHoverBg: colors.surface.interactive,
|
|
264
268
|
cellActiveWithRangeBg: colors.semantic.info.subtle,
|
|
@@ -268,34 +272,21 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
268
272
|
Checkbox: {
|
|
269
273
|
colorPrimary: colors.link.default,
|
|
270
274
|
colorPrimaryHover: colors.link.hover,
|
|
271
|
-
colorBorder: colors.border.default,
|
|
272
|
-
colorBgContainer: colors.surface.card,
|
|
273
|
-
colorIcon: colors.text.tertiary,
|
|
274
|
-
colorIconHover: colors.text.secondary,
|
|
275
275
|
borderRadiusSM: constants.radius.sm,
|
|
276
276
|
},
|
|
277
277
|
Radio: {
|
|
278
278
|
colorPrimary: colors.link.default,
|
|
279
279
|
colorPrimaryHover: colors.link.hover,
|
|
280
|
-
colorBorder: colors.border.default,
|
|
281
|
-
colorBgContainer: colors.surface.card,
|
|
282
|
-
colorIcon: colors.text.tertiary,
|
|
283
|
-
colorIconHover: colors.text.secondary,
|
|
284
280
|
},
|
|
285
281
|
Switch: {
|
|
286
282
|
colorPrimary: colors.link.default,
|
|
287
283
|
colorPrimaryHover: colors.link.hover,
|
|
288
|
-
|
|
289
|
-
colorTextTertiary: colors.text.tertiary,
|
|
290
|
-
colorIcon: colors.text.tertiary,
|
|
291
|
-
colorIconHover: colors.text.secondary,
|
|
284
|
+
handleSize: 18,
|
|
292
285
|
},
|
|
293
286
|
Slider: {
|
|
294
287
|
colorPrimary: colors.link.default,
|
|
295
288
|
colorPrimaryBorder: colors.link.default,
|
|
296
289
|
colorPrimaryBorderHover: colors.link.hover,
|
|
297
|
-
colorIcon: colors.text.tertiary,
|
|
298
|
-
colorIconHover: colors.text.secondary,
|
|
299
290
|
handleColor: colors.surface.card,
|
|
300
291
|
handleActiveColor: colors.surface.card,
|
|
301
292
|
railBg: colors.neutral[2],
|
|
@@ -308,39 +299,32 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
308
299
|
Form: {
|
|
309
300
|
labelColor: colors.text.primary,
|
|
310
301
|
labelFontSize: constants.typography.fontSize.base,
|
|
311
|
-
labelColonMarginInlineEnd: constants.spacing[2],
|
|
312
|
-
labelColonMarginInlineStart: constants.spacing[1],
|
|
313
302
|
itemMarginBottom: constants.spacing[4],
|
|
314
303
|
verticalLabelPadding: `0 0 ${constants.spacing[2]}px`,
|
|
315
304
|
labelRequiredMarkColor: colors.semantic.error.main,
|
|
316
|
-
colorIcon: colors.text.tertiary,
|
|
317
|
-
colorIconHover: colors.text.secondary,
|
|
318
305
|
},
|
|
319
306
|
// ========================================
|
|
320
307
|
// DATA DISPLAY
|
|
321
308
|
// ========================================
|
|
322
309
|
Table: {
|
|
310
|
+
// Colors
|
|
323
311
|
colorBgContainer: colors.surface.card,
|
|
324
|
-
colorText: colors.text.primary,
|
|
325
|
-
colorTextHeading: colors.text.primary,
|
|
326
312
|
headerBg: colors.surface.page,
|
|
327
313
|
headerColor: colors.text.secondary,
|
|
328
|
-
headerSortActiveBg: colors.surface.interactive,
|
|
329
|
-
headerSortHoverBg: colors.surface.interactive,
|
|
330
|
-
headerSplitColor: colors.border.subtle,
|
|
331
314
|
borderColor: colors.border.subtle,
|
|
315
|
+
// States
|
|
332
316
|
rowHoverBg: colors.surface.interactive,
|
|
333
317
|
rowSelectedBg: colors.surface.selected,
|
|
334
|
-
rowSelectedHoverBg: colors.surface.selected,
|
|
335
318
|
rowExpandedBg: colors.surface.nested,
|
|
319
|
+
// Smooth rounded
|
|
320
|
+
borderRadius: constants.radius.card,
|
|
321
|
+
borderRadiusLG: constants.radius.card,
|
|
322
|
+
headerBorderRadius: constants.radius.card,
|
|
323
|
+
// Padding
|
|
336
324
|
cellPaddingBlock: constants.spacing[4],
|
|
337
325
|
cellPaddingInline: constants.spacing[4],
|
|
338
326
|
cellPaddingBlockSM: constants.spacing[2],
|
|
339
327
|
cellPaddingInlineSM: constants.spacing[3],
|
|
340
|
-
borderRadius: constants.radius.card,
|
|
341
|
-
borderRadiusLG: constants.radius.card,
|
|
342
|
-
headerBorderRadius: constants.radius.card,
|
|
343
|
-
footerBg: colors.surface.page,
|
|
344
328
|
},
|
|
345
329
|
Descriptions: {
|
|
346
330
|
labelBg: colors.surface.page,
|
|
@@ -348,15 +332,13 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
348
332
|
contentColor: colors.text.primary,
|
|
349
333
|
extraColor: colors.text.secondary,
|
|
350
334
|
itemPaddingBottom: constants.spacing[4],
|
|
351
|
-
colonMarginLeft: constants.spacing[1],
|
|
352
|
-
colonMarginRight: constants.spacing[2],
|
|
353
335
|
},
|
|
354
336
|
Card: {
|
|
355
337
|
colorBgContainer: colors.surface.card,
|
|
356
338
|
colorBorderSecondary: colors.border.default,
|
|
357
|
-
|
|
358
|
-
colorTextDescription: colors.text.secondary,
|
|
339
|
+
// Gentle shadow on cards
|
|
359
340
|
boxShadowTertiary: constants.shadow.card,
|
|
341
|
+
// Smooth rounded
|
|
360
342
|
borderRadius: constants.radius.card,
|
|
361
343
|
borderRadiusLG: constants.radius.card,
|
|
362
344
|
padding: constants.spacing[4],
|
|
@@ -365,19 +347,15 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
365
347
|
Statistic: {
|
|
366
348
|
titleFontSize: constants.typography.fontSize.base,
|
|
367
349
|
contentFontSize: constants.typography.fontSize['4xl'],
|
|
368
|
-
colorTextHeading: colors.text.primary,
|
|
369
|
-
colorTextDescription: colors.text.secondary,
|
|
370
350
|
},
|
|
371
351
|
Timeline: {
|
|
372
352
|
tailColor: colors.border.default,
|
|
353
|
+
tailWidth: 2,
|
|
373
354
|
dotBg: colors.surface.card,
|
|
374
355
|
itemPaddingBottom: constants.spacing[5],
|
|
375
356
|
},
|
|
376
357
|
Tag: {
|
|
377
358
|
defaultBg: colors.neutral[2],
|
|
378
|
-
defaultColor: colors.text.primary,
|
|
379
|
-
colorBorder: colors.border.default,
|
|
380
|
-
colorText: colors.text.primary,
|
|
381
359
|
borderRadiusSM: constants.radius.sm,
|
|
382
360
|
fontSize: constants.typography.fontSize.sm,
|
|
383
361
|
fontSizeSM: constants.typography.fontSize.xs,
|
|
@@ -392,8 +370,6 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
392
370
|
},
|
|
393
371
|
Avatar: {
|
|
394
372
|
colorBgContainer: colors.neutral[2],
|
|
395
|
-
colorText: colors.text.secondary,
|
|
396
|
-
colorTextLightSolid: colors.text.inverse,
|
|
397
373
|
borderRadius: constants.radius.avatar,
|
|
398
374
|
groupOverlapping: -8,
|
|
399
375
|
groupSpace: constants.spacing[1],
|
|
@@ -401,32 +377,26 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
401
377
|
Calendar: {
|
|
402
378
|
colorBgContainer: colors.surface.card,
|
|
403
379
|
colorPrimary: colors.link.default,
|
|
404
|
-
fullBg: colors.surface.card,
|
|
405
|
-
fullPanelBg: colors.surface.card,
|
|
406
380
|
itemActiveBg: colors.semantic.info.subtle,
|
|
407
381
|
borderRadius: constants.radius.card,
|
|
408
382
|
},
|
|
409
383
|
Collapse: {
|
|
410
384
|
colorBgContainer: colors.surface.card,
|
|
411
|
-
colorBorder: colors.border.default,
|
|
412
385
|
headerBg: colors.surface.page,
|
|
413
386
|
headerPadding: `${constants.spacing[3]}px ${constants.spacing[4]}px`,
|
|
414
387
|
contentPadding: `${constants.spacing[4]}px ${constants.spacing[4]}px`,
|
|
415
388
|
borderRadiusLG: constants.radius.card,
|
|
416
389
|
},
|
|
417
|
-
Carousel: {
|
|
418
|
-
colorBgContainer: colors.surface.card,
|
|
419
|
-
},
|
|
420
390
|
Tree: {
|
|
421
|
-
colorBgContainer: colors.surface.card,
|
|
422
391
|
nodeHoverBg: colors.surface.interactive,
|
|
423
392
|
nodeSelectedBg: colors.surface.selected,
|
|
424
393
|
borderRadius: constants.radius.sm,
|
|
425
394
|
},
|
|
426
395
|
// ========================================
|
|
427
|
-
// FEEDBACK
|
|
396
|
+
// FEEDBACK - Elevated with shadows
|
|
428
397
|
// ========================================
|
|
429
398
|
Alert: {
|
|
399
|
+
// Semantic colors
|
|
430
400
|
colorSuccessBg: colors.semantic.success.subtle,
|
|
431
401
|
colorSuccessBorder: colors.semantic.success.main,
|
|
432
402
|
colorSuccessText: colors.semantic.success.main,
|
|
@@ -440,17 +410,17 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
440
410
|
colorInfoBorder: colors.semantic.info.main,
|
|
441
411
|
colorInfoText: colors.semantic.info.main,
|
|
442
412
|
defaultPadding: `${constants.spacing[3]}px ${constants.spacing[4]}px`,
|
|
443
|
-
withDescriptionPadding: `${constants.spacing[4]}px ${constants.spacing[5]}px`,
|
|
444
413
|
borderRadiusLG: constants.radius.card,
|
|
445
414
|
},
|
|
446
415
|
Modal: {
|
|
447
416
|
contentBg: colors.surface.overlay,
|
|
448
417
|
headerBg: colors.surface.overlay,
|
|
449
418
|
footerBg: colors.surface.overlay,
|
|
450
|
-
titleColor: colors.text.primary,
|
|
451
419
|
colorBgMask: isDark ? 'rgba(0, 0, 0, 0.65)' : 'rgba(0, 0, 0, 0.45)',
|
|
452
|
-
|
|
420
|
+
// Prominent shadow
|
|
453
421
|
boxShadow: constants.shadow.modal,
|
|
422
|
+
// Generous rounding
|
|
423
|
+
borderRadiusLG: constants.radius.modal,
|
|
454
424
|
},
|
|
455
425
|
Drawer: {
|
|
456
426
|
colorBgElevated: colors.surface.overlay,
|
|
@@ -461,31 +431,28 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
461
431
|
},
|
|
462
432
|
Notification: {
|
|
463
433
|
colorBgElevated: colors.surface.overlay,
|
|
464
|
-
|
|
465
|
-
colorTextHeading: colors.text.primary,
|
|
466
|
-
borderRadiusLG: constants.radius.card,
|
|
434
|
+
// Shadow on notification
|
|
467
435
|
boxShadow: constants.shadow.popover,
|
|
436
|
+
borderRadiusLG: constants.radius.card,
|
|
468
437
|
padding: constants.spacing[4],
|
|
469
|
-
paddingContentHorizontal: constants.spacing[4],
|
|
470
438
|
},
|
|
471
439
|
Message: {
|
|
472
440
|
contentBg: colors.surface.overlay,
|
|
473
441
|
contentPadding: `${constants.spacing[2]}px ${constants.spacing[4]}px`,
|
|
474
|
-
|
|
442
|
+
// Shadow on message
|
|
475
443
|
boxShadow: constants.shadow.popover,
|
|
444
|
+
borderRadiusLG: constants.radius.card,
|
|
476
445
|
},
|
|
477
446
|
Popconfirm: {
|
|
478
447
|
colorBgElevated: colors.surface.overlay,
|
|
479
|
-
colorWarning: colors.semantic.warning.main,
|
|
480
|
-
borderRadiusLG: constants.radius.card,
|
|
481
448
|
boxShadowSecondary: constants.shadow.popover,
|
|
449
|
+
borderRadiusLG: constants.radius.card,
|
|
482
450
|
},
|
|
483
451
|
Progress: {
|
|
484
452
|
defaultColor: colors.link.default,
|
|
485
453
|
colorSuccess: colors.semantic.success.main,
|
|
486
454
|
colorError: colors.semantic.error.main,
|
|
487
455
|
remainingColor: colors.neutral[2],
|
|
488
|
-
circleTextColor: colors.text.primary,
|
|
489
456
|
borderRadius: 100,
|
|
490
457
|
lineBorderRadius: 100,
|
|
491
458
|
},
|
|
@@ -493,7 +460,6 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
493
460
|
titleFontSize: constants.typography.fontSize['3xl'],
|
|
494
461
|
subtitleFontSize: constants.typography.fontSize.base,
|
|
495
462
|
iconFontSize: constants.typography.fontSize['5xl'],
|
|
496
|
-
extraMargin: `${constants.spacing[8]}px 0 0`,
|
|
497
463
|
},
|
|
498
464
|
Skeleton: {
|
|
499
465
|
colorFill: colors.neutral[2],
|
|
@@ -502,9 +468,6 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
502
468
|
},
|
|
503
469
|
Spin: {
|
|
504
470
|
colorPrimary: colors.link.default,
|
|
505
|
-
dotSize: 20,
|
|
506
|
-
dotSizeLG: 32,
|
|
507
|
-
dotSizeSM: 14,
|
|
508
471
|
},
|
|
509
472
|
// ========================================
|
|
510
473
|
// NAVIGATION
|
|
@@ -513,17 +476,12 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
513
476
|
itemBg: 'transparent',
|
|
514
477
|
itemColor: colors.text.primary,
|
|
515
478
|
itemHoverBg: colors.surface.interactive,
|
|
516
|
-
itemHoverColor: colors.text.primary,
|
|
517
479
|
itemSelectedBg: colors.surface.selected,
|
|
518
|
-
|
|
519
|
-
itemActiveBg: colors.surface.selected,
|
|
520
|
-
subMenuItemBg: 'transparent',
|
|
521
|
-
// Dark menu (for sidebars)
|
|
480
|
+
// Dark sidebar
|
|
522
481
|
darkItemBg: colors.absolute.black,
|
|
523
482
|
darkSubMenuItemBg: colors.absolute.black,
|
|
524
483
|
darkItemColor: colors.absolute.white,
|
|
525
484
|
darkItemHoverBg: 'rgba(255, 255, 255, 0.08)',
|
|
526
|
-
darkItemHoverColor: colors.absolute.white,
|
|
527
485
|
darkItemSelectedBg: colors.link.default,
|
|
528
486
|
darkItemSelectedColor: colors.absolute.white,
|
|
529
487
|
itemBorderRadius: constants.radius.input,
|
|
@@ -536,40 +494,26 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
536
494
|
linkHoverColor: colors.link.hover,
|
|
537
495
|
separatorColor: colors.text.tertiary,
|
|
538
496
|
separatorMargin: constants.spacing[2],
|
|
539
|
-
iconFontSize: constants.typography.fontSize.base,
|
|
540
|
-
fontSize: constants.typography.fontSize.base,
|
|
541
497
|
},
|
|
542
498
|
Pagination: {
|
|
543
499
|
colorPrimary: colors.link.default,
|
|
544
500
|
colorPrimaryHover: colors.link.hover,
|
|
545
501
|
itemActiveBg: colors.link.default,
|
|
546
|
-
itemActiveBgDisabled: colors.neutral[2],
|
|
547
|
-
itemBg: colors.surface.card,
|
|
548
|
-
itemLinkBg: colors.surface.card,
|
|
549
|
-
itemInputBg: colors.surface.card,
|
|
550
502
|
borderRadius: constants.radius.sm,
|
|
551
503
|
},
|
|
552
504
|
Steps: {
|
|
553
505
|
colorPrimary: colors.link.default,
|
|
554
506
|
colorText: colors.text.secondary,
|
|
555
507
|
colorTextDescription: colors.text.tertiary,
|
|
556
|
-
colorBorderSecondary: colors.border.default,
|
|
557
508
|
},
|
|
558
509
|
Tabs: {
|
|
559
510
|
colorPrimary: colors.link.default,
|
|
560
511
|
itemColor: colors.text.secondary,
|
|
561
512
|
itemHoverColor: colors.link.hover,
|
|
562
513
|
itemSelectedColor: colors.link.default,
|
|
563
|
-
itemActiveColor: colors.link.default,
|
|
564
514
|
inkBarColor: colors.link.default,
|
|
565
|
-
colorBorderSecondary: colors.border.default,
|
|
566
|
-
titleFontSize: constants.typography.fontSize.base,
|
|
567
|
-
titleFontSizeLG: constants.typography.fontSize.lg,
|
|
568
|
-
titleFontSizeSM: constants.typography.fontSize.sm,
|
|
569
|
-
cardBg: colors.surface.card,
|
|
570
515
|
cardPadding: `${constants.spacing[2]}px ${constants.spacing[4]}px`,
|
|
571
516
|
horizontalItemPadding: `${constants.spacing[3]}px 0`,
|
|
572
|
-
horizontalItemMargin: `0 ${constants.spacing[8]}px 0 0`,
|
|
573
517
|
},
|
|
574
518
|
Anchor: {
|
|
575
519
|
colorPrimary: colors.link.default,
|
|
@@ -580,9 +524,10 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
580
524
|
colorBgElevated: colors.surface.overlay,
|
|
581
525
|
controlItemBgHover: colors.surface.interactive,
|
|
582
526
|
controlItemBgActive: colors.surface.selected,
|
|
527
|
+
// Shadow on dropdown
|
|
583
528
|
boxShadowSecondary: constants.shadow.popover,
|
|
584
|
-
paddingBlock: constants.spacing[1],
|
|
585
529
|
borderRadiusLG: constants.radius.card,
|
|
530
|
+
paddingBlock: constants.spacing[1],
|
|
586
531
|
},
|
|
587
532
|
// ========================================
|
|
588
533
|
// LAYOUT
|
|
@@ -590,18 +535,10 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
590
535
|
Layout: {
|
|
591
536
|
colorBgBody: colors.surface.page,
|
|
592
537
|
colorBgHeader: colors.surface.card,
|
|
593
|
-
colorBgTrigger: colors.absolute.black,
|
|
594
|
-
siderBg: colors.absolute.black,
|
|
595
538
|
headerBg: colors.surface.card,
|
|
539
|
+
siderBg: colors.absolute.black,
|
|
596
540
|
headerPadding: `0 ${constants.spacing[6]}px`,
|
|
597
|
-
footerBg: colors.surface.card,
|
|
598
541
|
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
542
|
},
|
|
606
543
|
Divider: {
|
|
607
544
|
colorSplit: colors.border.subtle,
|
|
@@ -614,97 +551,62 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
614
551
|
Typography: {
|
|
615
552
|
colorText: colors.text.primary,
|
|
616
553
|
colorTextSecondary: colors.text.secondary,
|
|
617
|
-
colorTextDescription: colors.text.tertiary,
|
|
618
554
|
colorLink: colors.link.default,
|
|
619
555
|
colorLinkHover: colors.link.hover,
|
|
620
556
|
colorLinkActive: colors.link.active,
|
|
621
557
|
titleMarginBottom: constants.spacing[2],
|
|
622
558
|
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
559
|
},
|
|
634
560
|
Tooltip: {
|
|
635
561
|
colorBgSpotlight: colors.neutral[4],
|
|
636
562
|
colorTextLightSolid: colors.text.inverse,
|
|
637
|
-
|
|
563
|
+
// Subtle shadow
|
|
638
564
|
boxShadowSecondary: constants.shadow.tooltip,
|
|
565
|
+
borderRadius: constants.radius.sm,
|
|
639
566
|
},
|
|
640
567
|
Popover: {
|
|
641
568
|
colorBgElevated: colors.surface.overlay,
|
|
642
|
-
|
|
643
|
-
borderRadiusLG: constants.radius.card,
|
|
569
|
+
// Shadow on popover
|
|
644
570
|
boxShadowSecondary: constants.shadow.popover,
|
|
571
|
+
borderRadiusLG: constants.radius.card,
|
|
645
572
|
padding: constants.spacing[3],
|
|
646
573
|
},
|
|
647
|
-
Image: {
|
|
648
|
-
previewOperationColor: colors.absolute.white,
|
|
649
|
-
previewOperationColorDisabled: 'rgba(255, 255, 255, 0.25)',
|
|
650
|
-
},
|
|
651
574
|
Upload: {
|
|
652
|
-
colorBorder: colors.border.default,
|
|
653
575
|
colorFillAlter: colors.surface.interactive,
|
|
654
|
-
colorText: colors.text.primary,
|
|
655
|
-
colorTextDescription: colors.text.secondary,
|
|
656
|
-
colorTextHeading: colors.text.primary,
|
|
657
576
|
actionsColor: colors.link.default,
|
|
658
577
|
},
|
|
659
|
-
QRCode: {
|
|
660
|
-
colorBgContainer: colors.surface.card,
|
|
661
|
-
},
|
|
662
578
|
Tour: {
|
|
663
579
|
colorBgElevated: colors.surface.overlay,
|
|
664
580
|
colorPrimary: colors.link.default,
|
|
665
|
-
borderRadius: constants.radius.card,
|
|
666
581
|
boxShadowSecondary: constants.shadow.popover,
|
|
582
|
+
borderRadius: constants.radius.card,
|
|
667
583
|
},
|
|
668
584
|
FloatButton: {
|
|
669
585
|
colorBgElevated: colors.surface.overlay,
|
|
670
586
|
colorPrimary: colors.link.default,
|
|
671
|
-
borderRadiusLG: constants.radius.avatar,
|
|
672
587
|
boxShadow: constants.shadow.popover,
|
|
588
|
+
borderRadiusLG: constants.radius.avatar,
|
|
673
589
|
},
|
|
674
590
|
Segmented: {
|
|
675
591
|
colorBgLayout: colors.neutral[2],
|
|
676
|
-
itemColor: colors.text.primary,
|
|
677
|
-
itemHoverColor: colors.text.primary,
|
|
678
592
|
itemHoverBg: colors.surface.interactive,
|
|
679
593
|
itemSelectedBg: colors.surface.card,
|
|
680
|
-
itemSelectedColor: colors.text.primary,
|
|
681
594
|
borderRadius: constants.radius.base,
|
|
682
595
|
borderRadiusSM: constants.radius.sm,
|
|
683
596
|
},
|
|
684
597
|
Mentions: {
|
|
685
|
-
colorBgContainer: colors.surface.card,
|
|
686
598
|
colorBgElevated: colors.surface.overlay,
|
|
687
|
-
colorBorder: colors.border.default,
|
|
688
599
|
controlItemBgHover: colors.surface.interactive,
|
|
689
600
|
controlItemBgActive: colors.surface.selected,
|
|
690
601
|
boxShadowSecondary: constants.shadow.popover,
|
|
691
602
|
},
|
|
692
|
-
Transfer: {
|
|
693
|
-
colorBgContainer: colors.surface.card,
|
|
694
|
-
colorBorder: colors.border.default,
|
|
695
|
-
itemPaddingBlock: constants.spacing[1],
|
|
696
|
-
},
|
|
697
603
|
Cascader: {
|
|
698
|
-
colorBgContainer: colors.surface.card,
|
|
699
604
|
colorBgElevated: colors.surface.overlay,
|
|
700
|
-
colorBorder: colors.border.default,
|
|
701
605
|
controlItemBgHover: colors.surface.interactive,
|
|
702
606
|
optionSelectedBg: colors.surface.selected,
|
|
703
607
|
},
|
|
704
608
|
TreeSelect: {
|
|
705
|
-
colorBgContainer: colors.surface.card,
|
|
706
609
|
colorBgElevated: colors.surface.overlay,
|
|
707
|
-
colorBorder: colors.border.default,
|
|
708
610
|
nodeHoverBg: colors.surface.interactive,
|
|
709
611
|
nodeSelectedBg: colors.surface.selected,
|
|
710
612
|
},
|
|
@@ -715,17 +617,12 @@ export const buildAntDTheme = (colors, constants) => {
|
|
|
715
617
|
Empty: {
|
|
716
618
|
colorText: colors.text.secondary,
|
|
717
619
|
colorTextDescription: colors.text.tertiary,
|
|
718
|
-
fontSize: constants.typography.fontSize.base,
|
|
719
620
|
},
|
|
720
621
|
List: {
|
|
721
622
|
colorBorder: colors.border.subtle,
|
|
722
|
-
colorSplit: colors.border.subtle,
|
|
723
623
|
itemPadding: `${constants.spacing[3]}px ${constants.spacing[6]}px`,
|
|
724
624
|
itemPaddingSM: `${constants.spacing[2]}px ${constants.spacing[4]}px`,
|
|
725
625
|
itemPaddingLG: `${constants.spacing[4]}px ${constants.spacing[6]}px`,
|
|
726
|
-
headerBg: 'transparent',
|
|
727
|
-
footerBg: 'transparent',
|
|
728
|
-
emptyTextPadding: constants.spacing[4],
|
|
729
626
|
metaMarginBottom: constants.spacing[2],
|
|
730
627
|
avatarMarginRight: constants.spacing[4],
|
|
731
628
|
titleMarginBottom: constants.spacing[1],
|