@cleartrip/ct-design-theme 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/ThemeProvider/ThemeProvider.d.ts +2 -7
  2. package/dist/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  3. package/dist/ThemeProvider/ThemeProvider.native.d.ts +5 -0
  4. package/dist/ThemeProvider/ThemeProvider.native.d.ts.map +1 -0
  5. package/dist/ThemeProvider/index.d.ts +1 -1
  6. package/dist/ThemeProvider/index.d.ts.map +1 -1
  7. package/dist/ct-design-theme.browser.cjs.js +1 -1
  8. package/dist/ct-design-theme.browser.cjs.js.map +1 -1
  9. package/dist/ct-design-theme.browser.esm.js +1 -1
  10. package/dist/ct-design-theme.browser.esm.js.map +1 -1
  11. package/dist/ct-design-theme.cjs.js +210 -111
  12. package/dist/ct-design-theme.cjs.js.map +1 -1
  13. package/dist/ct-design-theme.esm.js +208 -112
  14. package/dist/ct-design-theme.esm.js.map +1 -1
  15. package/dist/ct-design-theme.umd.js +2279 -147
  16. package/dist/ct-design-theme.umd.js.map +1 -1
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/themes/B2BTheme.d.ts.map +1 -1
  20. package/dist/themes/B2CTheme.d.ts +2 -229
  21. package/dist/themes/B2CTheme.d.ts.map +1 -1
  22. package/dist/themes/BaseTheme.d.ts +1 -1
  23. package/dist/themes/BaseTheme.d.ts.map +1 -1
  24. package/dist/themes/SMTheme.d.ts +4 -0
  25. package/dist/themes/SMTheme.d.ts.map +1 -0
  26. package/dist/themes/UltraFkTheme.d.ts.map +1 -1
  27. package/dist/themes/index.d.ts +2 -1
  28. package/dist/themes/index.d.ts.map +1 -1
  29. package/dist/themes/type.d.ts +80 -10
  30. package/dist/themes/type.d.ts.map +1 -1
  31. package/dist/utils/ThemeManager.d.ts +11 -0
  32. package/dist/utils/ThemeManager.d.ts.map +1 -0
  33. package/dist/utils/index.d.ts.map +1 -1
  34. package/package.json +9 -6
  35. package/src/ThemeProvider/ThemeProvider.native.tsx +20 -0
  36. package/src/ThemeProvider/ThemeProvider.tsx +29 -0
  37. package/src/ThemeProvider/index.ts +3 -0
  38. package/src/ThemeProvider/type.ts +15 -0
  39. package/src/hooks/index.ts +2 -0
  40. package/src/hooks/useTheme.ts +11 -0
  41. package/src/hooks/useThemeContext.ts +8 -0
  42. package/src/index.ts +5 -0
  43. package/src/themes/B2BTheme.ts +87 -0
  44. package/src/themes/B2CTheme.ts +7 -0
  45. package/src/themes/BaseTheme.ts +336 -0
  46. package/src/themes/SMTheme.ts +86 -0
  47. package/src/themes/UltraFkTheme.ts +93 -0
  48. package/src/themes/index.ts +7 -0
  49. package/src/themes/type.ts +272 -0
  50. package/src/utils/ThemeManager.ts +36 -0
  51. package/src/utils/index.ts +21 -0
@@ -0,0 +1,87 @@
1
+ import { colors } from '@cleartrip/ct-design-tokens';
2
+ import BaseTheme from './BaseTheme';
3
+
4
+ import { Theme } from './type';
5
+
6
+ const B2BTheme: Theme = {
7
+ ...BaseTheme,
8
+ color: {
9
+ ...BaseTheme.color,
10
+ text: {
11
+ ...BaseTheme.color.text,
12
+ secondary: colors.link2,
13
+ tertiary: colors.neutral500,
14
+ },
15
+ button: {
16
+ ...BaseTheme.color.button,
17
+ outlinedPrimaryLabel: colors.link2,
18
+ outlinedPrimaryBorder: colors.link2,
19
+ outlinedPrimaryBg: colors.neutral100,
20
+ outlinedSecondaryLabel: colors.neutral900,
21
+ outlinedSecondaryBorder: colors.neutral900,
22
+ outlinedSecondaryBg: colors.neutral100,
23
+ outlinedTertiaryLabel: colors.brand,
24
+ outlinedTertiaryBorder: colors.brand,
25
+ outlinedTertiaryBg: colors.neutral100,
26
+ outlinedDisabledLabel: colors.disabledText,
27
+ outlinedDisabledBg: colors.neutral300,
28
+ containedPrimaryLabel: colors.neutral100,
29
+ containedPrimaryBg: colors.link2,
30
+ containedSecondaryLabel: colors.neutral100,
31
+ containedSecondaryBg: colors.neutral900,
32
+ containedTertiaryLabel: colors.neutral100,
33
+ containedTertiaryBg: colors.brand,
34
+ containedDisabledLabel: colors.disabledText,
35
+ containedDisabledBg: colors.neutral300,
36
+ hover: {
37
+ [colors.neutral100]: colors.neutral100,
38
+ [colors.neutral900]: colors.neutral900,
39
+ [colors.neutral900]: colors.neutral900,
40
+ [colors.neutral100]: colors.neutral100,
41
+ [colors.brand]: colors.bgPrimaryHover,
42
+ [colors.neutral100]: colors.neutral100,
43
+ [colors.disabledText]: colors.disabledText,
44
+ [colors.neutral300]: colors.neutral300,
45
+ [colors.neutral100]: colors.neutral100,
46
+ [colors.link2]: colors.link2Hover,
47
+ [colors.neutral100]: colors.neutral100,
48
+ [colors.neutral900]: colors.neutral900,
49
+ [colors.neutral100]: colors.neutral100,
50
+ [colors.disabledText]: colors.disabledText,
51
+ [colors.neutral300]: colors.neutral300,
52
+ },
53
+ },
54
+ chip: {
55
+ ...BaseTheme.color.chip,
56
+ selectedPrimaryLabel: colors.link2,
57
+ selectedPrimaryBorder: colors.link2,
58
+ selectedPrimaryBg: colors.linkBg,
59
+ },
60
+ tab: {
61
+ ...BaseTheme.color.tab,
62
+ nonSelectedPrimaryLabel: colors.neutral900,
63
+ selectedPrimaryLabel: colors.link2,
64
+ },
65
+ background: {
66
+ ...BaseTheme.color.background,
67
+ primary: colors.link2,
68
+ secondary: colors.neutral900,
69
+ tertiary: colors.brand,
70
+ },
71
+ border: {
72
+ ...BaseTheme.color.border,
73
+ primary: colors.link2,
74
+ secondary: colors.neutral900,
75
+ tertiary: colors.brand,
76
+ },
77
+ spinner: {
78
+ primary: colors.link2,
79
+ primaryBg: colors.alertBg,
80
+ },
81
+ coupon: {
82
+ primaryBg: colors.blue100,
83
+ },
84
+ },
85
+ };
86
+
87
+ export default B2BTheme;
@@ -0,0 +1,7 @@
1
+ import BaseTheme from './BaseTheme';
2
+
3
+ import type { Theme } from './type';
4
+
5
+ const B2CTheme: Theme = { ...BaseTheme };
6
+
7
+ export default B2CTheme;
@@ -0,0 +1,336 @@
1
+ import { colors, border, typography, spacing, size, elevation } from '@cleartrip/ct-design-tokens';
2
+
3
+ import type { Theme } from './type';
4
+
5
+ // inspired from chakra UI
6
+ export const duration = {
7
+ shortest: 150,
8
+ shorter: 200,
9
+ short: 250,
10
+ // most basic recommended timing
11
+ standard: 300,
12
+ // this is to be used in complex animations
13
+ complex: 375,
14
+ // recommended when something is entering screen
15
+ enteringScreen: 225,
16
+ // recommended when something is leaving screen
17
+ leavingScreen: 195,
18
+ };
19
+
20
+ // inspired from chakra UI
21
+ export const easing = {
22
+ // This is the most common easing curve.
23
+ easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',
24
+ // Objects enter the screen at full velocity from off-screen and
25
+ // slowly decelerate to a resting point.
26
+ easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',
27
+ // Objects leave the screen at full velocity. They do not decelerate when off-screen.
28
+ easeIn: 'cubic-bezier(0.4, 0, 1, 1)',
29
+ // The sharp curve is used by objects that may return to the screen at any time.
30
+ sharp: 'cubic-bezier(0.4, 0, 0.6, 1)',
31
+ };
32
+
33
+ function getAutoHeightDuration(height: number) {
34
+ if (!height) {
35
+ return 0;
36
+ }
37
+
38
+ const constant = height / 36;
39
+
40
+ // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10
41
+ return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);
42
+ }
43
+
44
+ const create = (
45
+ props = ['all'],
46
+ options: { duration?: number | string; easing?: string; delay?: number | string } = {},
47
+ ) => {
48
+ const { duration: durationOption = duration.standard, easing: easingOption = easing.easeInOut, delay = 0 } = options;
49
+ return (Array.isArray(props) ? props : [props])
50
+ .map(
51
+ (animatedProp) =>
52
+ `${animatedProp} ${
53
+ typeof durationOption === 'string' ? durationOption : `${durationOption}ms`
54
+ } ${easingOption} ${typeof delay === 'string' ? delay : `${delay}ms`}`,
55
+ )
56
+ .join(',');
57
+ };
58
+
59
+ const zIndex = {
60
+ drawer: 1200,
61
+ modal: 1300,
62
+ popOver: 1300,
63
+ tooltip: 1500,
64
+ sideNav: 100,
65
+ toolbar: 50,
66
+ bottomSheet: 100,
67
+ pageLoader: 1600,
68
+ };
69
+
70
+ const counter = {
71
+ enabled: {
72
+ stroke: colors.neutral900,
73
+ },
74
+ disabled: {
75
+ stroke: colors.neutral500,
76
+ },
77
+ };
78
+
79
+ const BaseTheme: Theme = {
80
+ color: {
81
+ text: {
82
+ primary: colors.neutral900,
83
+ secondary: colors.brandText,
84
+ tertiary: colors.neutral500,
85
+ heading: colors.neutral900,
86
+ subHeading: colors.neutral700,
87
+ disabled: colors.disabledText,
88
+ success: colors.successText,
89
+ alert: colors.alertText,
90
+ warning: colors.warningText,
91
+ link: colors.linkText,
92
+ brand: colors.brandText,
93
+ neutral: colors.neutral100,
94
+ link2: colors.link2,
95
+ margarita: colors.margarita750,
96
+ primary2: colors.grapetini900,
97
+ secondary2: colors.blue100,
98
+ grapetini900: colors.grapetini900,
99
+ pinaColada750: colors.pinaColada750,
100
+ alert500: colors.alert500,
101
+ neutral50: colors.neutral50,
102
+ margarita750: colors.margarita750,
103
+ green100: colors.green100,
104
+ red100: colors.red100,
105
+ coralpink: colors.pinkVibrant500,
106
+ primary3: colors.bluePrimary500,
107
+ },
108
+ button: {
109
+ outlinedPrimaryLabel: colors.neutral900,
110
+ outlinedPrimaryBorder: colors.neutral900,
111
+ outlinedPrimaryBg: colors.neutral100,
112
+ outlinedSecondaryLabel: colors.brand,
113
+ outlinedSecondaryBorder: colors.brand,
114
+ outlinedSecondaryBg: colors.neutral100,
115
+ outlinedTertiaryLabel: colors.link,
116
+ outlinedTertiaryBorder: colors.link,
117
+ outlinedTertiaryBg: colors.neutral100,
118
+ outlinedDisabledLabel: colors.disabledText,
119
+ outlinedDisabledBg: colors.neutral300,
120
+ containedPrimaryLabel: colors.neutral100,
121
+ containedPrimaryBg: colors.neutral900,
122
+ containedSecondaryLabel: colors.neutral100,
123
+ containedSecondaryBg: colors.brand,
124
+ containedTertiaryLabel: colors.neutral100,
125
+ containedTertiaryBg: colors.link,
126
+ containedDisabledLabel: colors.disabledText,
127
+ containedDisabledBg: colors.neutral300,
128
+ containedNeutralLabel: colors.neutral900,
129
+ containedNeutralBg: colors.neutral100,
130
+ outlinedNeutralLabel: colors.neutral900,
131
+ outlinedNeutralBorder: colors.neutral900,
132
+ outlinedNeutralBg: colors.neutral100,
133
+ hover: {
134
+ [colors.neutral100]: colors.neutral100,
135
+ [colors.neutral900]: colors.neutral900,
136
+ [colors.neutral900]: colors.neutral900,
137
+ [colors.neutral100]: colors.neutral100,
138
+ [colors.brand]: colors.bgPrimaryHover,
139
+ [colors.neutral100]: colors.neutral100,
140
+ [colors.disabledText]: colors.disabledText,
141
+ [colors.neutral300]: colors.neutral300,
142
+ [colors.neutral100]: colors.neutral100,
143
+ [colors.link2]: colors.link2Hover,
144
+ [colors.neutral100]: colors.neutral100,
145
+ [colors.neutral900]: colors.neutral900,
146
+ [colors.neutral100]: colors.neutral100,
147
+ [colors.disabledText]: colors.disabledText,
148
+ [colors.neutral300]: colors.neutral300,
149
+ },
150
+ },
151
+ chip: {
152
+ nonSelectedPrimaryLabel: colors.neutral900,
153
+ disabledPrimaryLabel: colors.disabledText,
154
+ selectedPrimaryLabel: colors.neutral900,
155
+ selectedPrimaryBorder: colors.neutral900,
156
+ selectedPrimaryBg: colors.neutral300,
157
+ disabledPrimaryBg: colors.neutral300,
158
+ },
159
+ dropdown: {
160
+ shadow: colors.shadow,
161
+ },
162
+ tab: {
163
+ nonSelectedPrimaryLabel: colors.neutral700,
164
+ selectedPrimaryLabel: colors.neutral900,
165
+ },
166
+ sidenav: {
167
+ primaryBg: colors.neutral900,
168
+ selectedTabBg: colors.highlightBg,
169
+ },
170
+ tooltip: {
171
+ primaryBg: colors.neutral900,
172
+ },
173
+ background: {
174
+ primary: colors.neutral900,
175
+ secondary: colors.brand,
176
+ tertiary: colors.link,
177
+ brand: colors.brand,
178
+ brandLightBg: colors.brandBg,
179
+ link: colors.link,
180
+ link2: colors.link2,
181
+ linkLightBg: colors.linkBg,
182
+ success: colors.success,
183
+ successLightBg: colors.successBg,
184
+ alert: colors.alert,
185
+ alertLightBg: colors.alertBg,
186
+ alertSoft: colors.alert100,
187
+ warning: colors.warning,
188
+ warningLightBg: colors.warningBg,
189
+ neutral: colors.neutral100,
190
+ disabled: colors.neutral300,
191
+ disabledSecondaryLight: colors.neutral350,
192
+ disabledSecondary: colors.neutral400,
193
+ disabledDark: colors.disabled100,
194
+ defaultDark: colors.neutral700,
195
+ darkGrey: colors.darkGrey,
196
+ defaultDarkest: colors.neutral900,
197
+ darkNetural300: colors.darkNeutral300,
198
+ transparent: colors.transparent,
199
+ secondary2: colors.blue100,
200
+ gray500: colors.gray500,
201
+ mintCream: colors.mintCream,
202
+ pinaColada100: colors.pinaColada100,
203
+ margarita100: colors.margarita100,
204
+ lightCyan: colors.lightCyan,
205
+ neutral300: colors.neutral300,
206
+ orange200: colors.orange200,
207
+ couponGreen: colors.couponGreen,
208
+ black100: colors.black100,
209
+ orange100: colors.orange100,
210
+ lightRed: colors.red100,
211
+ neutral100: colors.neutral100,
212
+ },
213
+ border: {
214
+ primary: colors.neutral900,
215
+ secondary: colors.brand,
216
+ tertiary: colors.link,
217
+ brand: colors.brand,
218
+ neutral: colors.neutral900,
219
+ link: colors.link,
220
+ default: colors.line,
221
+ defaultDark: colors.neutral700,
222
+ disabled: colors.neutral500,
223
+ disabledDark: colors.disabled100,
224
+ warning: colors.warning,
225
+ divider: colors.neutral300,
226
+ borderAccent: colors.lightSkyBlue,
227
+ neutral100: colors.neutral100,
228
+ bluePrimary500: colors.bluePrimary500,
229
+ disabled100: colors.disabled100,
230
+ lightGray: colors.lightGray,
231
+ darkRed: colors.red500,
232
+ },
233
+ spinner: {
234
+ primary: colors.neutral700,
235
+ primaryBg: colors.alertBg,
236
+ },
237
+ shimmer: {
238
+ disabledLight: colors.disabledLight,
239
+ disabledDark: colors.disabled250,
240
+ },
241
+ coupon: {
242
+ primaryBg: colors.blue100,
243
+ },
244
+ alert: {
245
+ success: colors.successBg,
246
+ warning: colors.alertBg,
247
+ warningLight: colors.warningLight,
248
+ info: colors.blue100,
249
+ error: colors.warningBg,
250
+ neutral: colors.neutral100,
251
+ },
252
+ badge: {
253
+ curacao: colors.curacao250,
254
+ curacao900: colors.curacao900,
255
+ pinaColada: colors.pinaColada250,
256
+ pinaColada300: colors.pinaColada300,
257
+ margarita250: colors.margarita250,
258
+ default: colors.neutral300,
259
+ green: colors.successBg,
260
+ green100: colors.freshGreen100,
261
+ margarita100: colors.margarita100,
262
+ yellow: colors.alertBg,
263
+ orange100: colors.orange100,
264
+ orange250: colors.orange250,
265
+ orange500: colors.orange500,
266
+ red: colors.warningBg,
267
+ red100: colors.alert100,
268
+ green500: colors.success500,
269
+ green600: colors.success600,
270
+ purple100: colors.purple100,
271
+ purple250: colors.purple250,
272
+ gray100: colors.gray100,
273
+ gray250: colors.gray250,
274
+ aqua100: colors.aqua100,
275
+ aqua250: colors.aqua250,
276
+ black: colors.black,
277
+ link: colors.link,
278
+ blue100: colors.blue100,
279
+ blue900: colors.blue900,
280
+ blue500: colors.blue500,
281
+ neutral100: colors.neutral100,
282
+ neutral700: colors.neutral700,
283
+ pinaColada750: colors.pinaColada750,
284
+ pinaColada100: colors.pinaColada100,
285
+ gray800: colors.gray800,
286
+ couponGreen: colors.couponGreen,
287
+ alert500: colors.alert500,
288
+ alertSoft: colors.alert100,
289
+ red200: colors.red200,
290
+ red500: colors.red500,
291
+ redSoft: colors.red100,
292
+ brown: colors.brown,
293
+ },
294
+ counter,
295
+ calendar: {
296
+ accent: colors.neutral900,
297
+ background: colors.neutral300,
298
+ selected: colors.neutral900,
299
+ },
300
+ cursor: {
301
+ neutral900: colors.neutral900,
302
+ },
303
+ chipicon: {
304
+ default: colors.neutral900,
305
+ blue: colors.blueSky500,
306
+ pink: colors.pinkVibrant500,
307
+ yellow: colors.yellowSun500,
308
+ purple: colors.purpleRoyal500,
309
+ green: colors.greenFresh500,
310
+ cfwBlue: colors.blue900,
311
+ orange: colors.orange500,
312
+ },
313
+ },
314
+ elevation: { ...elevation },
315
+ border: {
316
+ ...border,
317
+ },
318
+ spacing: {
319
+ ...spacing,
320
+ },
321
+ typography: {
322
+ ...typography,
323
+ },
324
+ size: {
325
+ ...size,
326
+ },
327
+ transitions: {
328
+ duration,
329
+ easing,
330
+ create,
331
+ getAutoHeightDuration,
332
+ },
333
+ zIndex,
334
+ };
335
+
336
+ export default BaseTheme;
@@ -0,0 +1,86 @@
1
+ import { Theme } from './type';
2
+ import { colors } from '@cleartrip/ct-design-tokens';
3
+ import BaseTheme from './BaseTheme';
4
+
5
+ const hover = (key: string) => {
6
+ const bg = {
7
+ [colors.neutral100]: colors.neutral100,
8
+ [colors.brand]: colors.bgPrimaryHover,
9
+ [colors.disabledText]: colors.disabledText,
10
+ [colors.neutral300]: colors.neutral300,
11
+ [colors.link2]: colors.link2Hover,
12
+ [colors.neutral100]: colors.neutral100,
13
+ [colors.neutral900]: colors.neutral900,
14
+ [colors.superGrey700]: colors.superGrey700,
15
+ [colors.superGrey300]: colors.superGrey300,
16
+ [colors.superGrey800]: colors.superGrey800,
17
+ [colors.superGreen500]: colors.superGreen500,
18
+ };
19
+ return bg[key];
20
+ };
21
+
22
+ const SMTheme: Theme = {
23
+ ...BaseTheme,
24
+ color: {
25
+ ...BaseTheme.color,
26
+ text: {
27
+ ...BaseTheme.color.text,
28
+ primary: colors.superGrey800,
29
+ secondary: colors.superGrey500,
30
+ tertiary: colors.superGrey400,
31
+ warning: colors.systemRed500,
32
+ disabled: colors.superGrey400,
33
+ subHeading: colors.superGrey400,
34
+ success: colors.systemGreen500,
35
+ link: colors.superBlue500,
36
+ link2: colors.superBlue500,
37
+ },
38
+ button: {
39
+ ...BaseTheme.color.button,
40
+ outlinedPrimaryLabel: colors.superGrey700,
41
+ outlinedPrimaryBorder: colors.superGrey300,
42
+ outlinedTertiaryLabel: colors.superGrey700,
43
+ outlinedTertiaryBorder: colors.superGrey300,
44
+ outlinedDisabledLabel: colors.disabledText,
45
+ containedSecondaryLabel: colors.superGrey800,
46
+ containedPrimaryBg: colors.superBlue500,
47
+ containedSecondaryBg: colors.superGreen500,
48
+ containedTertiaryLabel: colors.superGrey300,
49
+ containedDisabledLabel: colors.disabledText,
50
+ containedPrimaryLabel: colors.neutral100,
51
+ hover: hover,
52
+ },
53
+ chip: {
54
+ ...BaseTheme.color.chip,
55
+ selectedPrimaryLabel: colors.superBlue500,
56
+ selectedPrimaryBorder: colors.superBlue500,
57
+ selectedPrimaryBg: colors.superBlue25,
58
+ disabledPrimaryLabel: colors.superGrey400,
59
+ nonSelectedPrimaryLabel: colors.superGrey700,
60
+ disabledPrimaryBg: colors.superGrey200,
61
+ },
62
+ tab: {
63
+ ...BaseTheme.color.tab,
64
+ nonSelectedPrimaryLabel: colors.superGrey500,
65
+ selectedPrimaryLabel: colors.superBlue500,
66
+ },
67
+ background: {
68
+ ...BaseTheme.color.background,
69
+ primary: colors.superBlue500,
70
+ disabled: colors.superGrey50,
71
+ disabledDark: colors.superGrey300,
72
+ warning: colors.systemRed500,
73
+ },
74
+ border: {
75
+ ...BaseTheme.color.border,
76
+ primary: colors.superBlue500,
77
+ secondary: colors.neutral900,
78
+ disabledDark: colors.superGrey300,
79
+ defaultDark: colors.superGrey400,
80
+ default: colors.superGrey300,
81
+ disabled: colors.superGrey200,
82
+ },
83
+ },
84
+ };
85
+
86
+ export default SMTheme;
@@ -0,0 +1,93 @@
1
+ import { colors } from '@cleartrip/ct-design-tokens';
2
+
3
+ import { Theme } from './type';
4
+ import BaseTheme from './BaseTheme';
5
+
6
+ const hover = (key: string) => {
7
+ const bg = {
8
+ [colors.neutral100]: colors.neutral100,
9
+ [colors.neutral900]: colors.neutral900,
10
+ [colors.neutral900]: colors.neutral900,
11
+ [colors.neutral100]: colors.neutral100,
12
+ [colors.brand]: colors.bgPrimaryHover,
13
+ [colors.neutral100]: colors.neutral100,
14
+ [colors.disabledText]: colors.disabledText,
15
+ [colors.neutral300]: colors.neutral300,
16
+ [colors.neutral100]: colors.neutral100,
17
+ [colors.link2]: colors.link2Hover,
18
+ [colors.neutral100]: colors.neutral100,
19
+ [colors.neutral900]: colors.neutral900,
20
+ [colors.neutral100]: colors.neutral100,
21
+ [colors.disabledText]: colors.disabledText,
22
+ [colors.neutral300]: colors.neutral300,
23
+ [colors.bluePrimary500]: colors.bluePrimary500,
24
+ [colors.yellowSecondary]: colors.yellowSecondary,
25
+ };
26
+ return bg[key];
27
+ };
28
+
29
+ const counter = {
30
+ enabled: {
31
+ stroke: colors.bluePrimary500,
32
+ },
33
+ disabled: {
34
+ stroke: colors.neutral500,
35
+ },
36
+ };
37
+
38
+ const FKTheme: Theme = {
39
+ ...BaseTheme,
40
+ color: {
41
+ ...BaseTheme.color,
42
+ text: {
43
+ ...BaseTheme.color.text,
44
+ link: colors.bluePrimary500,
45
+ },
46
+ button: {
47
+ ...BaseTheme.color.button,
48
+ outlinedPrimaryLabel: colors.primaryNeutral900,
49
+ outlinedPrimaryBg: colors.neutral100,
50
+ containedPrimaryLabel: colors.neutral100,
51
+ containedPrimaryBg: colors.bluePrimary500,
52
+ containedSecondaryLabel: colors.primaryNeutral900,
53
+ containedSecondaryBg: colors.yellowSecondary,
54
+ hover: hover,
55
+ },
56
+ chip: {
57
+ ...BaseTheme.color.chip,
58
+ selectedPrimaryLabel: colors.link2,
59
+ selectedPrimaryBorder: colors.link2,
60
+ selectedPrimaryBg: colors.linkBg,
61
+ nonSelectedPrimaryLabel: colors.neutral900,
62
+ },
63
+ tab: {
64
+ ...BaseTheme.color.tab,
65
+ nonSelectedPrimaryLabel: colors.neutral900,
66
+ selectedPrimaryLabel: colors.bluePrimary500,
67
+ },
68
+ background: {
69
+ ...BaseTheme.color.background,
70
+ primary: colors.bluePrimary500,
71
+ secondary: colors.neutral900,
72
+ tertiary: colors.brand,
73
+ linkLightBg: colors.blueSecondary,
74
+ },
75
+ border: {
76
+ ...BaseTheme.color.border,
77
+ primary: colors.bluePrimary500,
78
+ brand: colors.bluePrimary500,
79
+ },
80
+ spinner: {
81
+ primary: colors.link2,
82
+ primaryBg: colors.alertBg,
83
+ },
84
+ counter,
85
+ calendar: {
86
+ accent: colors.bluePrimary500,
87
+ background: colors.blueSecondary,
88
+ selected: colors.bluePrimary500,
89
+ },
90
+ },
91
+ };
92
+
93
+ export default FKTheme;
@@ -0,0 +1,7 @@
1
+ export { default as B2CTheme } from './B2CTheme';
2
+ export { default as B2BTheme } from './B2BTheme';
3
+ export { default as FKTheme } from './UltraFkTheme';
4
+ export { default as BaseTheme } from './BaseTheme';
5
+ export { default as SMTheme } from './SMTheme';
6
+
7
+ export type * from './type';