@coinbase/cds-mobile 8.73.0 → 8.74.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.
- package/CHANGELOG.md +6 -0
- package/dts/core/theme.d.ts +12 -0
- package/dts/core/theme.d.ts.map +1 -1
- package/dts/illustrations/createIllustration.d.ts +3 -0
- package/dts/illustrations/createIllustration.d.ts.map +1 -1
- package/dts/system/ThemeProvider.d.ts.map +1 -1
- package/dts/themes/coinbaseDenseTheme.d.ts +32 -0
- package/dts/themes/coinbaseDenseTheme.d.ts.map +1 -1
- package/dts/themes/coinbaseHighContrastTheme.d.ts +32 -0
- package/dts/themes/coinbaseHighContrastTheme.d.ts.map +1 -1
- package/dts/themes/coinbaseTheme.d.ts +32 -0
- package/dts/themes/coinbaseTheme.d.ts.map +1 -1
- package/dts/themes/defaultHighContrastTheme.d.ts +32 -0
- package/dts/themes/defaultHighContrastTheme.d.ts.map +1 -1
- package/dts/themes/defaultTheme.d.ts +32 -0
- package/dts/themes/defaultTheme.d.ts.map +1 -1
- package/dts/utils/convertThemedSvgToHex.d.ts +6 -0
- package/dts/utils/convertThemedSvgToHex.d.ts.map +1 -0
- package/dts/utils/testHelpers.d.ts +32 -0
- package/dts/utils/testHelpers.d.ts.map +1 -1
- package/esm/illustrations/__stories__/ThemedIllustrations.stories.js +214 -0
- package/esm/illustrations/__stories__/illustrationThemes.js +122 -0
- package/esm/illustrations/createIllustration.js +31 -5
- package/esm/system/ThemeProvider.js +3 -1
- package/esm/themes/coinbaseHighContrastTheme.js +32 -0
- package/esm/themes/coinbaseTheme.js +32 -0
- package/esm/themes/defaultHighContrastTheme.js +32 -0
- package/esm/themes/defaultTheme.js +32 -0
- package/esm/utils/convertThemedSvgToHex.js +9 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,12 @@ All notable changes to this project will be documented in this file.
|
|
|
8
8
|
|
|
9
9
|
<!-- template-start -->
|
|
10
10
|
|
|
11
|
+
## 8.74.0 (5/13/2026 PST)
|
|
12
|
+
|
|
13
|
+
#### 🚀 Updates
|
|
14
|
+
|
|
15
|
+
- Feat: add illustration theming via applyTheme prop. [[#672](https://github.com/coinbase/cds/pull/672)]
|
|
16
|
+
|
|
11
17
|
## 8.73.0 (5/13/2026 PST)
|
|
12
18
|
|
|
13
19
|
#### 🚀 Updates
|
package/dts/core/theme.d.ts
CHANGED
|
@@ -25,6 +25,14 @@ export type ThemeConfig = {
|
|
|
25
25
|
darkColor?: {
|
|
26
26
|
[key in ThemeVars.Color]: string;
|
|
27
27
|
};
|
|
28
|
+
/** The light illustration color palette. */
|
|
29
|
+
lightIllustrationColor?: {
|
|
30
|
+
[key in ThemeVars.IllustrationColor]: string;
|
|
31
|
+
};
|
|
32
|
+
/** The dark illustration color palette. */
|
|
33
|
+
darkIllustrationColor?: {
|
|
34
|
+
[key in ThemeVars.IllustrationColor]: string;
|
|
35
|
+
};
|
|
28
36
|
/** The space values, used for margin and padding. */
|
|
29
37
|
space: {
|
|
30
38
|
[key in ThemeVars.Space]: number;
|
|
@@ -89,6 +97,10 @@ export type Theme = ThemeConfig & {
|
|
|
89
97
|
color: {
|
|
90
98
|
[key in ThemeVars.Color]: string;
|
|
91
99
|
};
|
|
100
|
+
/** The illustration color palette for the active color scheme. Undefined when the theme does not define illustration colors. */
|
|
101
|
+
illustrationColor?: {
|
|
102
|
+
[key in ThemeVars.IllustrationColor]: string;
|
|
103
|
+
};
|
|
92
104
|
};
|
|
93
105
|
export {};
|
|
94
106
|
//# sourceMappingURL=theme.d.ts.map
|
package/dts/core/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,12 +48,15 @@ export type IllustrationBaseProps<T extends keyof IllustrationNamesMap> = Shared
|
|
|
48
48
|
* @default null
|
|
49
49
|
* */
|
|
50
50
|
fallback?: null | React.ReactElement;
|
|
51
|
+
/** Apply the theme to the illustration */
|
|
52
|
+
applyTheme?: boolean;
|
|
51
53
|
};
|
|
52
54
|
type IllustrationConfigShape = Record<
|
|
53
55
|
string,
|
|
54
56
|
{
|
|
55
57
|
light: () => string;
|
|
56
58
|
dark: () => string;
|
|
59
|
+
themeable?: () => string;
|
|
57
60
|
}
|
|
58
61
|
>;
|
|
59
62
|
export type IllustrationA11yProps = Pick<
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createIllustration.d.ts","sourceRoot":"","sources":["../../src/illustrations/createIllustration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAI1E,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"createIllustration.d.ts","sourceRoot":"","sources":["../../src/illustrations/createIllustration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAI1E,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,6BAA6B,CAAC;AAMrC,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,cAAc,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,aAAa,EAAE,sBAAsB,CAAC;IACtC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,oBAAoB,IAAI,WAAW,GAAG;IACtF,+CAA+C;IAC/C,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACzC,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;SAGK;IACL,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;IACrC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,uBAAuB,GAAG,MAAM,CACnC,MAAM,EACN;IAAE,KAAK,EAAE,MAAM,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,CACtE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,kBAAkB,EAClB,oBAAoB,GAAG,mBAAmB,CAC3C,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,IAAI,SAAS,mBAAmB,IACxE,qBAAqB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC;AAEtD,wBAAgB,kBAAkB,CAChC,OAAO,SAAS,mBAAmB,EACnC,MAAM,SAAS,uBAAuB,EACtC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sEA8EjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/system/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEtC,eAAO,MAAM,YAAY,kCAA0D,CAAC;AAMpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,iBAAiB,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,wCAAwC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/system/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEtC,eAAO,MAAM,YAAY,kCAA0D,CAAC;AAMpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,iBAAiB,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,wCAAwC,kBAAkB,4CAuCvF,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,0GAA0G;AAC1G,eAAO,MAAM,qBAAqB,GAAI,cAAc,0BAA0B,4CAY7E,CAAC"}
|
|
@@ -555,5 +555,37 @@ export declare const coinbaseDenseTheme: {
|
|
|
555
555
|
readonly shadowRadius: 24;
|
|
556
556
|
};
|
|
557
557
|
};
|
|
558
|
+
readonly lightIllustrationColor: {
|
|
559
|
+
readonly primary: 'rgb(0,82,255)';
|
|
560
|
+
readonly black: 'rgb(10,11,13)';
|
|
561
|
+
readonly white: 'rgb(255,255,255)';
|
|
562
|
+
readonly gray: 'rgb(206,210,219)';
|
|
563
|
+
readonly gray2: 'rgb(10, 11, 15)';
|
|
564
|
+
readonly gray3: 'rgb(206, 210, 220)';
|
|
565
|
+
readonly positive: 'rgb(60,194,138)';
|
|
566
|
+
readonly negative: 'rgb(225,57,71)';
|
|
567
|
+
readonly accent1: 'rgb(255, 210, 0)';
|
|
568
|
+
readonly accent2: 'rgb(93,226,248)';
|
|
569
|
+
readonly accent3: 'rgb(237,112,47)';
|
|
570
|
+
readonly accent4: 'rgb(115,162,255)';
|
|
571
|
+
readonly invert: 'rgb(10, 11, 14)';
|
|
572
|
+
readonly invert2: 'rgb(255, 255, 254)';
|
|
573
|
+
};
|
|
574
|
+
readonly darkIllustrationColor: {
|
|
575
|
+
readonly primary: 'rgb(87,139,250)';
|
|
576
|
+
readonly black: 'rgb(10,11,13)';
|
|
577
|
+
readonly white: 'rgb(255,255,255)';
|
|
578
|
+
readonly gray: 'rgb(70,75,85)';
|
|
579
|
+
readonly gray2: 'rgb(70,75,85)';
|
|
580
|
+
readonly gray3: 'rgb(255,255,255)';
|
|
581
|
+
readonly positive: 'rgb(68,194,141)';
|
|
582
|
+
readonly negative: 'rgb(240,97,109)';
|
|
583
|
+
readonly accent1: 'rgb(236, 208, 105)';
|
|
584
|
+
readonly accent2: 'rgb(69,217,245)';
|
|
585
|
+
readonly accent3: 'rgb(240,120,54)';
|
|
586
|
+
readonly accent4: 'rgb(132,170,253)';
|
|
587
|
+
readonly invert: 'rgb(255,255,255)';
|
|
588
|
+
readonly invert2: 'rgb(114,120,134)';
|
|
589
|
+
};
|
|
558
590
|
};
|
|
559
591
|
//# sourceMappingURL=coinbaseDenseTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coinbaseDenseTheme.d.ts","sourceRoot":"","sources":["../../src/themes/coinbaseDenseTheme.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"coinbaseDenseTheme.d.ts","sourceRoot":"","sources":["../../src/themes/coinbaseDenseTheme.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqHC,CAAC"}
|
|
@@ -551,5 +551,37 @@ export declare const coinbaseHighContrastTheme: {
|
|
|
551
551
|
readonly shadowRadius: 24;
|
|
552
552
|
};
|
|
553
553
|
};
|
|
554
|
+
readonly lightIllustrationColor: {
|
|
555
|
+
readonly primary: 'rgb(0,82,255)';
|
|
556
|
+
readonly black: 'rgb(10,11,13)';
|
|
557
|
+
readonly white: 'rgb(255,255,255)';
|
|
558
|
+
readonly gray: 'rgb(206,210,219)';
|
|
559
|
+
readonly gray2: 'rgb(10, 11, 15)';
|
|
560
|
+
readonly gray3: 'rgb(206, 210, 220)';
|
|
561
|
+
readonly positive: 'rgb(60,194,138)';
|
|
562
|
+
readonly negative: 'rgb(225,57,71)';
|
|
563
|
+
readonly accent1: 'rgb(255, 210, 0)';
|
|
564
|
+
readonly accent2: 'rgb(93,226,248)';
|
|
565
|
+
readonly accent3: 'rgb(237,112,47)';
|
|
566
|
+
readonly accent4: 'rgb(115,162,255)';
|
|
567
|
+
readonly invert: 'rgb(10, 11, 14)';
|
|
568
|
+
readonly invert2: 'rgb(255, 255, 254)';
|
|
569
|
+
};
|
|
570
|
+
readonly darkIllustrationColor: {
|
|
571
|
+
readonly primary: 'rgb(87,139,250)';
|
|
572
|
+
readonly black: 'rgb(10,11,13)';
|
|
573
|
+
readonly white: 'rgb(255,255,255)';
|
|
574
|
+
readonly gray: 'rgb(70,75,85)';
|
|
575
|
+
readonly gray2: 'rgb(70,75,85)';
|
|
576
|
+
readonly gray3: 'rgb(255,255,255)';
|
|
577
|
+
readonly positive: 'rgb(68,194,141)';
|
|
578
|
+
readonly negative: 'rgb(240,97,109)';
|
|
579
|
+
readonly accent1: 'rgb(236, 208, 105)';
|
|
580
|
+
readonly accent2: 'rgb(69,217,245)';
|
|
581
|
+
readonly accent3: 'rgb(240,120,54)';
|
|
582
|
+
readonly accent4: 'rgb(143,178,255)';
|
|
583
|
+
readonly invert: 'rgb(255,255,255)';
|
|
584
|
+
readonly invert2: 'rgb(114,120,134)';
|
|
585
|
+
};
|
|
554
586
|
};
|
|
555
587
|
//# sourceMappingURL=coinbaseHighContrastTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coinbaseHighContrastTheme.d.ts","sourceRoot":"","sources":["../../src/themes/coinbaseHighContrastTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAsSpE,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"coinbaseHighContrastTheme.d.ts","sourceRoot":"","sources":["../../src/themes/coinbaseHighContrastTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAsSpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8SN,CAAC"}
|
|
@@ -551,5 +551,37 @@ export declare const coinbaseTheme: {
|
|
|
551
551
|
readonly shadowRadius: 24;
|
|
552
552
|
};
|
|
553
553
|
};
|
|
554
|
+
readonly lightIllustrationColor: {
|
|
555
|
+
readonly primary: 'rgb(0,82,255)';
|
|
556
|
+
readonly black: 'rgb(10,11,13)';
|
|
557
|
+
readonly white: 'rgb(255,255,255)';
|
|
558
|
+
readonly gray: 'rgb(206,210,219)';
|
|
559
|
+
readonly gray2: 'rgb(10, 11, 15)';
|
|
560
|
+
readonly gray3: 'rgb(206, 210, 220)';
|
|
561
|
+
readonly positive: 'rgb(60,194,138)';
|
|
562
|
+
readonly negative: 'rgb(225,57,71)';
|
|
563
|
+
readonly accent1: 'rgb(255, 210, 0)';
|
|
564
|
+
readonly accent2: 'rgb(93,226,248)';
|
|
565
|
+
readonly accent3: 'rgb(237,112,47)';
|
|
566
|
+
readonly accent4: 'rgb(115,162,255)';
|
|
567
|
+
readonly invert: 'rgb(10, 11, 14)';
|
|
568
|
+
readonly invert2: 'rgb(255, 255, 254)';
|
|
569
|
+
};
|
|
570
|
+
readonly darkIllustrationColor: {
|
|
571
|
+
readonly primary: 'rgb(87,139,250)';
|
|
572
|
+
readonly black: 'rgb(10,11,13)';
|
|
573
|
+
readonly white: 'rgb(255,255,255)';
|
|
574
|
+
readonly gray: 'rgb(70,75,85)';
|
|
575
|
+
readonly gray2: 'rgb(70,75,85)';
|
|
576
|
+
readonly gray3: 'rgb(255,255,255)';
|
|
577
|
+
readonly positive: 'rgb(68,194,141)';
|
|
578
|
+
readonly negative: 'rgb(240,97,109)';
|
|
579
|
+
readonly accent1: 'rgb(236, 208, 105)';
|
|
580
|
+
readonly accent2: 'rgb(69,217,245)';
|
|
581
|
+
readonly accent3: 'rgb(240,120,54)';
|
|
582
|
+
readonly accent4: 'rgb(132,170,253)';
|
|
583
|
+
readonly invert: 'rgb(255,255,255)';
|
|
584
|
+
readonly invert2: 'rgb(114,120,134)';
|
|
585
|
+
};
|
|
554
586
|
};
|
|
555
587
|
//# sourceMappingURL=coinbaseTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coinbaseTheme.d.ts","sourceRoot":"","sources":["../../src/themes/coinbaseTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,aAAa,CAAC;AAsS1C,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"coinbaseTheme.d.ts","sourceRoot":"","sources":["../../src/themes/coinbaseTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,aAAa,CAAC;AAsS1C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8SM,CAAC"}
|
|
@@ -551,5 +551,37 @@ export declare const defaultHighContrastTheme: {
|
|
|
551
551
|
readonly shadowRadius: 24;
|
|
552
552
|
};
|
|
553
553
|
};
|
|
554
|
+
readonly lightIllustrationColor: {
|
|
555
|
+
readonly primary: 'rgb(0,82,255)';
|
|
556
|
+
readonly black: 'rgb(10,11,13)';
|
|
557
|
+
readonly white: 'rgb(255,255,255)';
|
|
558
|
+
readonly gray: 'rgb(206,210,219)';
|
|
559
|
+
readonly gray2: 'rgb(10, 11, 15)';
|
|
560
|
+
readonly gray3: 'rgb(206, 210, 220)';
|
|
561
|
+
readonly positive: 'rgb(60,194,138)';
|
|
562
|
+
readonly negative: 'rgb(225,57,71)';
|
|
563
|
+
readonly accent1: 'rgb(255, 210, 0)';
|
|
564
|
+
readonly accent2: 'rgb(93,226,248)';
|
|
565
|
+
readonly accent3: 'rgb(237,112,47)';
|
|
566
|
+
readonly accent4: 'rgb(115,162,255)';
|
|
567
|
+
readonly invert: 'rgb(10, 11, 14)';
|
|
568
|
+
readonly invert2: 'rgb(255, 255, 254)';
|
|
569
|
+
};
|
|
570
|
+
readonly darkIllustrationColor: {
|
|
571
|
+
readonly primary: 'rgb(87,139,250)';
|
|
572
|
+
readonly black: 'rgb(10,11,13)';
|
|
573
|
+
readonly white: 'rgb(255,255,255)';
|
|
574
|
+
readonly gray: 'rgb(70,75,85)';
|
|
575
|
+
readonly gray2: 'rgb(70,75,85)';
|
|
576
|
+
readonly gray3: 'rgb(255,255,255)';
|
|
577
|
+
readonly positive: 'rgb(68,194,141)';
|
|
578
|
+
readonly negative: 'rgb(240,97,109)';
|
|
579
|
+
readonly accent1: 'rgb(236, 208, 105)';
|
|
580
|
+
readonly accent2: 'rgb(69,217,245)';
|
|
581
|
+
readonly accent3: 'rgb(240,120,54)';
|
|
582
|
+
readonly accent4: 'rgb(143,178,255)';
|
|
583
|
+
readonly invert: 'rgb(255,255,255)';
|
|
584
|
+
readonly invert2: 'rgb(114,120,134)';
|
|
585
|
+
};
|
|
554
586
|
};
|
|
555
587
|
//# sourceMappingURL=defaultHighContrastTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultHighContrastTheme.d.ts","sourceRoot":"","sources":["../../src/themes/defaultHighContrastTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AAsStE,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"defaultHighContrastTheme.d.ts","sourceRoot":"","sources":["../../src/themes/defaultHighContrastTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AAsStE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8SL,CAAC"}
|
|
@@ -381,6 +381,38 @@ export declare const defaultTheme: {
|
|
|
381
381
|
readonly accentBoldGray: 'rgb(193,198,207)';
|
|
382
382
|
readonly transparent: 'rgba(10,11,13,0)';
|
|
383
383
|
};
|
|
384
|
+
readonly lightIllustrationColor: {
|
|
385
|
+
readonly primary: 'rgb(0,82,255)';
|
|
386
|
+
readonly black: 'rgb(10,11,13)';
|
|
387
|
+
readonly white: 'rgb(255,255,255)';
|
|
388
|
+
readonly gray: 'rgb(206,210,219)';
|
|
389
|
+
readonly gray2: 'rgb(10, 11, 15)';
|
|
390
|
+
readonly gray3: 'rgb(206, 210, 220)';
|
|
391
|
+
readonly positive: 'rgb(60,194,138)';
|
|
392
|
+
readonly negative: 'rgb(225,57,71)';
|
|
393
|
+
readonly accent1: 'rgb(255, 210, 0)';
|
|
394
|
+
readonly accent2: 'rgb(93,226,248)';
|
|
395
|
+
readonly accent3: 'rgb(237,112,47)';
|
|
396
|
+
readonly accent4: 'rgb(115,162,255)';
|
|
397
|
+
readonly invert: 'rgb(10, 11, 14)';
|
|
398
|
+
readonly invert2: 'rgb(255, 255, 254)';
|
|
399
|
+
};
|
|
400
|
+
readonly darkIllustrationColor: {
|
|
401
|
+
readonly primary: 'rgb(87,139,250)';
|
|
402
|
+
readonly black: 'rgb(10,11,13)';
|
|
403
|
+
readonly white: 'rgb(255,255,255)';
|
|
404
|
+
readonly gray: 'rgb(70,75,85)';
|
|
405
|
+
readonly gray2: 'rgb(70,75,85)';
|
|
406
|
+
readonly gray3: 'rgb(255,255,255)';
|
|
407
|
+
readonly positive: 'rgb(68,194,141)';
|
|
408
|
+
readonly negative: 'rgb(240,97,109)';
|
|
409
|
+
readonly accent1: 'rgb(236, 208, 105)';
|
|
410
|
+
readonly accent2: 'rgb(69,217,245)';
|
|
411
|
+
readonly accent3: 'rgb(240,120,54)';
|
|
412
|
+
readonly accent4: 'rgb(132,170,253)';
|
|
413
|
+
readonly invert: 'rgb(255,255,255)';
|
|
414
|
+
readonly invert2: 'rgb(114,120,134)';
|
|
415
|
+
};
|
|
384
416
|
readonly space: {
|
|
385
417
|
readonly '0': 0;
|
|
386
418
|
readonly '0.25': 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../src/themes/defaultTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAsS5C,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../src/themes/defaultTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAsS5C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8SO,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ThemeVars } from '@coinbase/cds-common/core/theme';
|
|
2
|
+
export declare const convertThemedSvgToHex: (
|
|
3
|
+
xml: string,
|
|
4
|
+
illustrationPalette: { [key in ThemeVars.IllustrationColor]: string },
|
|
5
|
+
) => string;
|
|
6
|
+
//# sourceMappingURL=convertThemedSvgToHex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertThemedSvgToHex.d.ts","sourceRoot":"","sources":["../../src/utils/convertThemedSvgToHex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,qBAAqB,GAChC,KAAK,MAAM,EACX,qBAAqB,GAAG,GAAG,IAAI,SAAS,CAAC,iBAAiB,GAAG,MAAM,GAAE,WAStE,CAAC"}
|
|
@@ -402,6 +402,38 @@ export declare const theme: {
|
|
|
402
402
|
readonly accentBoldGray: 'rgb(193,198,207)';
|
|
403
403
|
readonly transparent: 'rgba(10,11,13,0)';
|
|
404
404
|
};
|
|
405
|
+
readonly lightIllustrationColor: {
|
|
406
|
+
readonly primary: 'rgb(0,82,255)';
|
|
407
|
+
readonly black: 'rgb(10,11,13)';
|
|
408
|
+
readonly white: 'rgb(255,255,255)';
|
|
409
|
+
readonly gray: 'rgb(206,210,219)';
|
|
410
|
+
readonly gray2: 'rgb(10, 11, 15)';
|
|
411
|
+
readonly gray3: 'rgb(206, 210, 220)';
|
|
412
|
+
readonly positive: 'rgb(60,194,138)';
|
|
413
|
+
readonly negative: 'rgb(225,57,71)';
|
|
414
|
+
readonly accent1: 'rgb(255, 210, 0)';
|
|
415
|
+
readonly accent2: 'rgb(93,226,248)';
|
|
416
|
+
readonly accent3: 'rgb(237,112,47)';
|
|
417
|
+
readonly accent4: 'rgb(115,162,255)';
|
|
418
|
+
readonly invert: 'rgb(10, 11, 14)';
|
|
419
|
+
readonly invert2: 'rgb(255, 255, 254)';
|
|
420
|
+
};
|
|
421
|
+
readonly darkIllustrationColor: {
|
|
422
|
+
readonly primary: 'rgb(87,139,250)';
|
|
423
|
+
readonly black: 'rgb(10,11,13)';
|
|
424
|
+
readonly white: 'rgb(255,255,255)';
|
|
425
|
+
readonly gray: 'rgb(70,75,85)';
|
|
426
|
+
readonly gray2: 'rgb(70,75,85)';
|
|
427
|
+
readonly gray3: 'rgb(255,255,255)';
|
|
428
|
+
readonly positive: 'rgb(68,194,141)';
|
|
429
|
+
readonly negative: 'rgb(240,97,109)';
|
|
430
|
+
readonly accent1: 'rgb(236, 208, 105)';
|
|
431
|
+
readonly accent2: 'rgb(69,217,245)';
|
|
432
|
+
readonly accent3: 'rgb(240,120,54)';
|
|
433
|
+
readonly accent4: 'rgb(132,170,253)';
|
|
434
|
+
readonly invert: 'rgb(255,255,255)';
|
|
435
|
+
readonly invert2: 'rgb(114,120,134)';
|
|
436
|
+
};
|
|
405
437
|
readonly space: {
|
|
406
438
|
readonly '0': 0;
|
|
407
439
|
readonly '0.25': 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/testHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAG7B,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iBAAiB,CAAC,EAAE,WAAW,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"testHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/testHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAG7B,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iBAAiB,CAAC,EAAE,WAAW,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAe,CAAC;AAElC,eAAO,MAAM,oBAAoB,GAAI,yCAIlC,yBAAyB,4CAM3B,CAAC"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import { useCallback, useState } from 'react';
|
|
3
|
+
import { Example, ExampleScreen } from '../../examples/ExampleScreen';
|
|
4
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
5
|
+
import { HStack, VStack } from '../../layout';
|
|
6
|
+
import { ThemeProvider } from '../../system/ThemeProvider';
|
|
7
|
+
import { SegmentedTabs } from '../../tabs/SegmentedTabs';
|
|
8
|
+
import { defaultTheme } from '../../themes/defaultTheme';
|
|
9
|
+
import { Text } from '../../typography/Text';
|
|
10
|
+
import { HeroSquare } from '../HeroSquare';
|
|
11
|
+
import { Pictogram } from '../Pictogram';
|
|
12
|
+
import { SpotIcon } from '../SpotIcon';
|
|
13
|
+
import { SpotRectangle } from '../SpotRectangle';
|
|
14
|
+
import { SpotSquare } from '../SpotSquare';
|
|
15
|
+
import { ILLUSTRATION_THEME_TABS, ILLUSTRATION_THEMES } from './illustrationThemes';
|
|
16
|
+
|
|
17
|
+
// ─── Illustration samples ────────────────────────────────────────────────────
|
|
18
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
|
+
const HERO_SQUARE_SAMPLES = ['accessToAdvancedCharts', 'accountUnderReview', 'add2Fa', 'addBankAccount', 'addCreditCard'];
|
|
20
|
+
const SPOT_SQUARE_SAMPLES = ['accessToAdvancedCharts', 'addCard', 'addEth', 'addMultipleCrypto', 'addPasswordProtection'];
|
|
21
|
+
const PICTOGRAM_SAMPLES = ['accountsNavigation', 'accreditedInvestor', 'add', 'addCard', 'addPayment'];
|
|
22
|
+
const SPOT_ICON_SAMPLES = ['advancedTradeProduct', 'arrowsUpDown', 'assetEmptyStateAa', 'assetEmptyStateAb', 'assetEmptyStateAc'];
|
|
23
|
+
const SPOT_RECTANGLE_SAMPLES = ['accessToAdvancedCharts', 'addBank', 'addPhoneNumber', 'advancedTradeCharts', 'advancedTrading'];
|
|
24
|
+
|
|
25
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
26
|
+
|
|
27
|
+
const resolveTheme = key => key === 'default' ? defaultTheme : _extends({}, defaultTheme, ILLUSTRATION_THEMES[key]);
|
|
28
|
+
|
|
29
|
+
// ─── Story ───────────────────────────────────────────────────────────────────
|
|
30
|
+
|
|
31
|
+
const ThemedIllustrationsStory = () => {
|
|
32
|
+
var _activeTab$id;
|
|
33
|
+
const {
|
|
34
|
+
activeColorScheme
|
|
35
|
+
} = useTheme();
|
|
36
|
+
const [activeTab, setActiveTab] = useState(ILLUSTRATION_THEME_TABS[0]);
|
|
37
|
+
const handleChange = useCallback(tab => setActiveTab(tab), []);
|
|
38
|
+
const themeKey = (_activeTab$id = activeTab == null ? void 0 : activeTab.id) != null ? _activeTab$id : 'default';
|
|
39
|
+
const theme = resolveTheme(themeKey);
|
|
40
|
+
const garishTheme = resolveTheme('garish');
|
|
41
|
+
return /*#__PURE__*/_jsxs(ExampleScreen, {
|
|
42
|
+
children: [/*#__PURE__*/_jsx(Example, {
|
|
43
|
+
title: "Side-by-side comparison",
|
|
44
|
+
children: /*#__PURE__*/_jsxs(HStack, {
|
|
45
|
+
gap: 4,
|
|
46
|
+
children: [/*#__PURE__*/_jsx(ThemeProvider, {
|
|
47
|
+
activeColorScheme: activeColorScheme,
|
|
48
|
+
theme: defaultTheme,
|
|
49
|
+
children: /*#__PURE__*/_jsxs(VStack, {
|
|
50
|
+
alignItems: "center",
|
|
51
|
+
gap: 2,
|
|
52
|
+
padding: 2,
|
|
53
|
+
style: {
|
|
54
|
+
flex: 1
|
|
55
|
+
},
|
|
56
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
57
|
+
font: "label2",
|
|
58
|
+
children: "Default"
|
|
59
|
+
}), /*#__PURE__*/_jsx(HeroSquare, {
|
|
60
|
+
applyTheme: true,
|
|
61
|
+
name: "accessToAdvancedCharts",
|
|
62
|
+
scaleMultiplier: 0.35
|
|
63
|
+
}), /*#__PURE__*/_jsx(SpotSquare, {
|
|
64
|
+
applyTheme: true,
|
|
65
|
+
name: "accessToAdvancedCharts"
|
|
66
|
+
}), /*#__PURE__*/_jsx(Pictogram, {
|
|
67
|
+
applyTheme: true,
|
|
68
|
+
name: "add"
|
|
69
|
+
}), /*#__PURE__*/_jsx(SpotIcon, {
|
|
70
|
+
applyTheme: true,
|
|
71
|
+
name: "advancedTradeProduct"
|
|
72
|
+
})]
|
|
73
|
+
})
|
|
74
|
+
}), /*#__PURE__*/_jsx(ThemeProvider, {
|
|
75
|
+
activeColorScheme: activeColorScheme,
|
|
76
|
+
theme: garishTheme,
|
|
77
|
+
children: /*#__PURE__*/_jsxs(VStack, {
|
|
78
|
+
alignItems: "center",
|
|
79
|
+
gap: 2,
|
|
80
|
+
padding: 2,
|
|
81
|
+
style: {
|
|
82
|
+
flex: 1
|
|
83
|
+
},
|
|
84
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
85
|
+
font: "label2",
|
|
86
|
+
children: "Garish"
|
|
87
|
+
}), /*#__PURE__*/_jsx(HeroSquare, {
|
|
88
|
+
applyTheme: true,
|
|
89
|
+
name: "accessToAdvancedCharts",
|
|
90
|
+
scaleMultiplier: 0.35
|
|
91
|
+
}), /*#__PURE__*/_jsx(SpotSquare, {
|
|
92
|
+
applyTheme: true,
|
|
93
|
+
name: "accessToAdvancedCharts"
|
|
94
|
+
}), /*#__PURE__*/_jsx(Pictogram, {
|
|
95
|
+
applyTheme: true,
|
|
96
|
+
name: "add"
|
|
97
|
+
}), /*#__PURE__*/_jsx(SpotIcon, {
|
|
98
|
+
applyTheme: true,
|
|
99
|
+
name: "advancedTradeProduct"
|
|
100
|
+
})]
|
|
101
|
+
})
|
|
102
|
+
})]
|
|
103
|
+
})
|
|
104
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
105
|
+
title: "Theme",
|
|
106
|
+
children: /*#__PURE__*/_jsx(SegmentedTabs, {
|
|
107
|
+
accessibilityLabel: "Select illustration theme",
|
|
108
|
+
activeTab: activeTab,
|
|
109
|
+
onChange: handleChange,
|
|
110
|
+
tabs: ILLUSTRATION_THEME_TABS
|
|
111
|
+
})
|
|
112
|
+
}), /*#__PURE__*/_jsxs(ThemeProvider, {
|
|
113
|
+
activeColorScheme: activeColorScheme,
|
|
114
|
+
theme: theme,
|
|
115
|
+
children: [/*#__PURE__*/_jsx(Example, {
|
|
116
|
+
title: "HeroSquare",
|
|
117
|
+
children: /*#__PURE__*/_jsx(HStack, {
|
|
118
|
+
flexWrap: "wrap",
|
|
119
|
+
gap: 2,
|
|
120
|
+
children: HERO_SQUARE_SAMPLES.map(name => /*#__PURE__*/_jsxs(VStack, {
|
|
121
|
+
alignItems: "center",
|
|
122
|
+
gap: 0,
|
|
123
|
+
children: [/*#__PURE__*/_jsx(HeroSquare, {
|
|
124
|
+
applyTheme: true,
|
|
125
|
+
name: name,
|
|
126
|
+
scaleMultiplier: 0.3
|
|
127
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
128
|
+
color: "fgMuted",
|
|
129
|
+
font: "legal",
|
|
130
|
+
numberOfLines: 1,
|
|
131
|
+
children: name
|
|
132
|
+
})]
|
|
133
|
+
}, name))
|
|
134
|
+
})
|
|
135
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
136
|
+
title: "SpotSquare",
|
|
137
|
+
children: /*#__PURE__*/_jsx(HStack, {
|
|
138
|
+
flexWrap: "wrap",
|
|
139
|
+
gap: 2,
|
|
140
|
+
children: SPOT_SQUARE_SAMPLES.map(name => /*#__PURE__*/_jsxs(VStack, {
|
|
141
|
+
alignItems: "center",
|
|
142
|
+
gap: 0,
|
|
143
|
+
children: [/*#__PURE__*/_jsx(SpotSquare, {
|
|
144
|
+
applyTheme: true,
|
|
145
|
+
name: name
|
|
146
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
147
|
+
color: "fgMuted",
|
|
148
|
+
font: "legal",
|
|
149
|
+
numberOfLines: 1,
|
|
150
|
+
children: name
|
|
151
|
+
})]
|
|
152
|
+
}, name))
|
|
153
|
+
})
|
|
154
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
155
|
+
title: "Pictogram",
|
|
156
|
+
children: /*#__PURE__*/_jsx(HStack, {
|
|
157
|
+
flexWrap: "wrap",
|
|
158
|
+
gap: 2,
|
|
159
|
+
children: PICTOGRAM_SAMPLES.map(name => /*#__PURE__*/_jsxs(VStack, {
|
|
160
|
+
alignItems: "center",
|
|
161
|
+
gap: 0,
|
|
162
|
+
children: [/*#__PURE__*/_jsx(Pictogram, {
|
|
163
|
+
applyTheme: true,
|
|
164
|
+
name: name
|
|
165
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
166
|
+
color: "fgMuted",
|
|
167
|
+
font: "legal",
|
|
168
|
+
numberOfLines: 1,
|
|
169
|
+
children: name
|
|
170
|
+
})]
|
|
171
|
+
}, name))
|
|
172
|
+
})
|
|
173
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
174
|
+
title: "SpotIcon",
|
|
175
|
+
children: /*#__PURE__*/_jsx(HStack, {
|
|
176
|
+
flexWrap: "wrap",
|
|
177
|
+
gap: 2,
|
|
178
|
+
children: SPOT_ICON_SAMPLES.map(name => /*#__PURE__*/_jsxs(VStack, {
|
|
179
|
+
alignItems: "center",
|
|
180
|
+
gap: 0,
|
|
181
|
+
children: [/*#__PURE__*/_jsx(SpotIcon, {
|
|
182
|
+
applyTheme: true,
|
|
183
|
+
name: name
|
|
184
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
185
|
+
color: "fgMuted",
|
|
186
|
+
font: "legal",
|
|
187
|
+
numberOfLines: 1,
|
|
188
|
+
children: name
|
|
189
|
+
})]
|
|
190
|
+
}, name))
|
|
191
|
+
})
|
|
192
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
193
|
+
title: "SpotRectangle",
|
|
194
|
+
children: /*#__PURE__*/_jsx(VStack, {
|
|
195
|
+
gap: 2,
|
|
196
|
+
children: SPOT_RECTANGLE_SAMPLES.map(name => /*#__PURE__*/_jsxs(VStack, {
|
|
197
|
+
gap: 0,
|
|
198
|
+
children: [/*#__PURE__*/_jsx(SpotRectangle, {
|
|
199
|
+
applyTheme: true,
|
|
200
|
+
name: name,
|
|
201
|
+
scaleMultiplier: 0.5
|
|
202
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
203
|
+
color: "fgMuted",
|
|
204
|
+
font: "legal",
|
|
205
|
+
numberOfLines: 1,
|
|
206
|
+
children: name
|
|
207
|
+
})]
|
|
208
|
+
}, name))
|
|
209
|
+
})
|
|
210
|
+
})]
|
|
211
|
+
})]
|
|
212
|
+
});
|
|
213
|
+
};
|
|
214
|
+
export default ThemedIllustrationsStory;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export const ILLUSTRATION_THEME_TABS = [{
|
|
2
|
+
id: 'default',
|
|
3
|
+
label: 'Default'
|
|
4
|
+
}, {
|
|
5
|
+
id: 'warm',
|
|
6
|
+
label: 'Warm'
|
|
7
|
+
}, {
|
|
8
|
+
id: 'monochrome',
|
|
9
|
+
label: 'Mono'
|
|
10
|
+
}, {
|
|
11
|
+
id: 'garish',
|
|
12
|
+
label: 'Garish'
|
|
13
|
+
}];
|
|
14
|
+
export const WARM_ILLUSTRATION_THEME = {
|
|
15
|
+
lightIllustrationColor: {
|
|
16
|
+
primary: 'rgb(234, 88, 12)',
|
|
17
|
+
black: 'rgb(28, 25, 23)',
|
|
18
|
+
white: 'rgb(255, 247, 237)',
|
|
19
|
+
gray: 'rgb(254, 243, 199)',
|
|
20
|
+
gray2: 'rgb(254, 243, 199)',
|
|
21
|
+
gray3: 'rgb(253, 230, 138)',
|
|
22
|
+
positive: 'rgb(34, 197, 94)',
|
|
23
|
+
negative: 'rgb(239, 68, 68)',
|
|
24
|
+
accent1: 'rgb(250, 204, 21)',
|
|
25
|
+
accent2: 'rgb(249, 115, 22)',
|
|
26
|
+
accent3: 'rgb(239, 68, 68)',
|
|
27
|
+
accent4: 'rgb(254, 215, 170)',
|
|
28
|
+
invert: 'rgb(120, 53, 15)',
|
|
29
|
+
invert2: 'rgb(255, 247, 237)'
|
|
30
|
+
},
|
|
31
|
+
darkIllustrationColor: {
|
|
32
|
+
primary: 'rgb(251, 146, 60)',
|
|
33
|
+
black: 'rgb(255, 247, 237)',
|
|
34
|
+
white: 'rgb(28, 25, 23)',
|
|
35
|
+
gray: 'rgb(120, 53, 15)',
|
|
36
|
+
gray2: 'rgb(120, 53, 15)',
|
|
37
|
+
gray3: 'rgb(154, 52, 18)',
|
|
38
|
+
positive: 'rgb(74, 222, 128)',
|
|
39
|
+
negative: 'rgb(248, 113, 113)',
|
|
40
|
+
accent1: 'rgb(253, 224, 71)',
|
|
41
|
+
accent2: 'rgb(253, 186, 116)',
|
|
42
|
+
accent3: 'rgb(248, 113, 113)',
|
|
43
|
+
accent4: 'rgb(154, 52, 18)',
|
|
44
|
+
invert: 'rgb(255, 237, 213)',
|
|
45
|
+
invert2: 'rgb(120, 53, 15)'
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
export const MONOCHROME_ILLUSTRATION_THEME = {
|
|
49
|
+
lightIllustrationColor: {
|
|
50
|
+
primary: 'rgb(113, 113, 122)',
|
|
51
|
+
black: 'rgb(9, 9, 11)',
|
|
52
|
+
white: 'rgb(250, 250, 250)',
|
|
53
|
+
gray: 'rgb(228, 228, 231)',
|
|
54
|
+
gray2: 'rgb(212, 212, 216)',
|
|
55
|
+
gray3: 'rgb(196, 196, 202)',
|
|
56
|
+
positive: 'rgb(161, 161, 170)',
|
|
57
|
+
negative: 'rgb(82, 82, 91)',
|
|
58
|
+
accent1: 'rgb(161, 161, 170)',
|
|
59
|
+
accent2: 'rgb(113, 113, 122)',
|
|
60
|
+
accent3: 'rgb(82, 82, 91)',
|
|
61
|
+
accent4: 'rgb(212, 212, 216)',
|
|
62
|
+
invert: 'rgb(9, 9, 11)',
|
|
63
|
+
invert2: 'rgb(244, 244, 245)'
|
|
64
|
+
},
|
|
65
|
+
darkIllustrationColor: {
|
|
66
|
+
primary: 'rgb(161, 161, 170)',
|
|
67
|
+
black: 'rgb(244, 244, 245)',
|
|
68
|
+
white: 'rgb(24, 24, 27)',
|
|
69
|
+
gray: 'rgb(63, 63, 70)',
|
|
70
|
+
gray2: 'rgb(63, 63, 70)',
|
|
71
|
+
gray3: 'rgb(82, 82, 91)',
|
|
72
|
+
positive: 'rgb(113, 113, 122)',
|
|
73
|
+
negative: 'rgb(212, 212, 216)',
|
|
74
|
+
accent1: 'rgb(113, 113, 122)',
|
|
75
|
+
accent2: 'rgb(161, 161, 170)',
|
|
76
|
+
accent3: 'rgb(212, 212, 216)',
|
|
77
|
+
accent4: 'rgb(63, 63, 70)',
|
|
78
|
+
invert: 'rgb(244, 244, 245)',
|
|
79
|
+
invert2: 'rgb(39, 39, 42)'
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// Maximally distinct colors — ideal for verifying every token is wired correctly
|
|
84
|
+
export const GARISH_ILLUSTRATION_THEME = {
|
|
85
|
+
lightIllustrationColor: {
|
|
86
|
+
primary: 'rgb(220, 38, 38)',
|
|
87
|
+
black: 'rgb(20, 83, 45)',
|
|
88
|
+
white: 'rgb(254, 249, 195)',
|
|
89
|
+
gray: 'rgb(243, 232, 255)',
|
|
90
|
+
gray2: 'rgb(243, 232, 255)',
|
|
91
|
+
gray3: 'rgb(219, 234, 254)',
|
|
92
|
+
positive: 'rgb(34, 197, 94)',
|
|
93
|
+
negative: 'rgb(185, 28, 28)',
|
|
94
|
+
accent1: 'rgb(249, 115, 22)',
|
|
95
|
+
accent2: 'rgb(20, 184, 166)',
|
|
96
|
+
accent3: 'rgb(34, 197, 94)',
|
|
97
|
+
accent4: 'rgb(147, 197, 253)',
|
|
98
|
+
invert: 'rgb(127, 29, 29)',
|
|
99
|
+
invert2: 'rgb(219, 234, 254)'
|
|
100
|
+
},
|
|
101
|
+
darkIllustrationColor: {
|
|
102
|
+
primary: 'rgb(248, 113, 113)',
|
|
103
|
+
black: 'rgb(187, 247, 208)',
|
|
104
|
+
white: 'rgb(30, 27, 75)',
|
|
105
|
+
gray: 'rgb(88, 28, 135)',
|
|
106
|
+
gray2: 'rgb(88, 28, 135)',
|
|
107
|
+
gray3: 'rgb(30, 58, 138)',
|
|
108
|
+
positive: 'rgb(74, 222, 128)',
|
|
109
|
+
negative: 'rgb(252, 165, 165)',
|
|
110
|
+
accent1: 'rgb(253, 186, 116)',
|
|
111
|
+
accent2: 'rgb(94, 234, 212)',
|
|
112
|
+
accent3: 'rgb(74, 222, 128)',
|
|
113
|
+
accent4: 'rgb(147, 197, 253)',
|
|
114
|
+
invert: 'rgb(254, 202, 202)',
|
|
115
|
+
invert2: 'rgb(30, 58, 138)'
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
export const ILLUSTRATION_THEMES = {
|
|
119
|
+
warm: WARM_ILLUSTRATION_THEME,
|
|
120
|
+
monochrome: MONOCHROME_ILLUSTRATION_THEME,
|
|
121
|
+
garish: GARISH_ILLUSTRATION_THEME
|
|
122
|
+
};
|
|
@@ -5,11 +5,12 @@ import { convertSizeWithMultiplier } from '@coinbase/cds-common/utils/convertSiz
|
|
|
5
5
|
import { getDefaultSizeObjectForIllustration } from '@coinbase/cds-common/utils/getDefaultSizeObjectForIllustration';
|
|
6
6
|
import { isDevelopment } from '@coinbase/cds-utils';
|
|
7
7
|
import { useTheme } from '../hooks/useTheme';
|
|
8
|
+
import { convertThemedSvgToHex } from '../utils/convertThemedSvgToHex';
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
export function createIllustration(variant, config) {
|
|
10
11
|
const defaultSize = getDefaultSizeObjectForIllustration(variant);
|
|
11
12
|
const Illustration = /*#__PURE__*/memo(function Illustration(_ref) {
|
|
12
|
-
var _config$
|
|
13
|
+
var _config$name2, _config$name3;
|
|
13
14
|
let {
|
|
14
15
|
fallback = null,
|
|
15
16
|
name,
|
|
@@ -17,13 +18,13 @@ export function createIllustration(variant, config) {
|
|
|
17
18
|
scaleMultiplier,
|
|
18
19
|
testID,
|
|
19
20
|
accessibilityHint,
|
|
20
|
-
accessibilityLabel
|
|
21
|
+
accessibilityLabel,
|
|
22
|
+
applyTheme
|
|
21
23
|
} = _ref;
|
|
22
24
|
const {
|
|
23
|
-
activeColorScheme
|
|
25
|
+
activeColorScheme,
|
|
26
|
+
illustrationColor
|
|
24
27
|
} = useTheme();
|
|
25
|
-
const requireFn = (_config$name = config[name]) == null ? void 0 : _config$name[activeColorScheme];
|
|
26
|
-
const xml = useMemo(() => requireFn == null ? void 0 : requireFn(), [requireFn]);
|
|
27
28
|
const style = useMemo(() => {
|
|
28
29
|
let size = defaultSize;
|
|
29
30
|
if (dimension) {
|
|
@@ -34,6 +35,31 @@ export function createIllustration(variant, config) {
|
|
|
34
35
|
}
|
|
35
36
|
return size;
|
|
36
37
|
}, [dimension, scaleMultiplier]);
|
|
38
|
+
const themedXml = useMemo(() => {
|
|
39
|
+
var _config$name, _config$name$themeabl;
|
|
40
|
+
if (!applyTheme || illustrationColor === undefined) return null;
|
|
41
|
+
const raw = (_config$name = config[name]) == null || (_config$name$themeabl = _config$name['themeable']) == null ? void 0 : _config$name$themeabl.call(_config$name);
|
|
42
|
+
return raw ? convertThemedSvgToHex(raw, illustrationColor) : null;
|
|
43
|
+
}, [name, applyTheme, illustrationColor]);
|
|
44
|
+
if (applyTheme) {
|
|
45
|
+
if (themedXml) {
|
|
46
|
+
return /*#__PURE__*/_jsx(SvgXml, {
|
|
47
|
+
accessibilityHint: accessibilityHint,
|
|
48
|
+
accessibilityLabel: accessibilityLabel,
|
|
49
|
+
accessibilityRole: "image",
|
|
50
|
+
accessible: !!accessibilityLabel,
|
|
51
|
+
style: style,
|
|
52
|
+
testID: testID,
|
|
53
|
+
xml: themedXml
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// No themed variant available or no palette — return fallback.
|
|
58
|
+
return fallback;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Default light/dark path.
|
|
62
|
+
const xml = (_config$name2 = config[name]) == null || (_config$name3 = _config$name2[activeColorScheme === 'dark' ? 'dark' : 'light']) == null ? void 0 : _config$name3.call(_config$name2);
|
|
37
63
|
if (!xml) {
|
|
38
64
|
if (isDevelopment()) {
|
|
39
65
|
console.error("Unable to find illustration with name: " + name);
|
|
@@ -16,6 +16,7 @@ export const ThemeProvider = _ref => {
|
|
|
16
16
|
const themeApi = useMemo(() => {
|
|
17
17
|
const activeSpectrumKey = activeColorScheme === 'dark' ? 'darkSpectrum' : 'lightSpectrum';
|
|
18
18
|
const activeColorKey = activeColorScheme === 'dark' ? 'darkColor' : 'lightColor';
|
|
19
|
+
const activeIllustrationKey = activeColorScheme === 'dark' ? 'darkIllustrationColor' : 'lightIllustrationColor';
|
|
19
20
|
const inverseSpectrumKey = activeColorScheme === 'dark' ? 'lightSpectrum' : 'darkSpectrum';
|
|
20
21
|
const inverseColorKey = activeColorScheme === 'dark' ? 'lightColor' : 'darkColor';
|
|
21
22
|
if (!theme[activeColorKey]) throw Error("ThemeProvider activeColorScheme is " + activeColorScheme + " but no " + activeColorScheme + " colors are defined for the theme. See the docs at https://cds.coinbase.com/getting-started/theming/#creating-a-theme");
|
|
@@ -25,7 +26,8 @@ export const ThemeProvider = _ref => {
|
|
|
25
26
|
return _extends({}, theme, {
|
|
26
27
|
activeColorScheme: activeColorScheme,
|
|
27
28
|
spectrum: theme[activeSpectrumKey],
|
|
28
|
-
color: theme[activeColorKey]
|
|
29
|
+
color: theme[activeColorKey],
|
|
30
|
+
illustrationColor: theme[activeIllustrationKey]
|
|
29
31
|
});
|
|
30
32
|
}, [theme, activeColorScheme]);
|
|
31
33
|
return /*#__PURE__*/_jsx(ThemeContext.Provider, {
|
|
@@ -564,5 +564,37 @@ export const coinbaseHighContrastTheme = {
|
|
|
564
564
|
shadowOpacity: 0.12,
|
|
565
565
|
shadowRadius: 24
|
|
566
566
|
}
|
|
567
|
+
},
|
|
568
|
+
lightIllustrationColor: {
|
|
569
|
+
primary: "rgb(" + lightSpectrum.blue60 + ")",
|
|
570
|
+
black: "rgb(" + lightSpectrum.gray100 + ")",
|
|
571
|
+
white: "rgb(" + lightSpectrum.gray0 + ")",
|
|
572
|
+
gray: "rgb(" + lightSpectrum.gray20 + ")",
|
|
573
|
+
gray2: "rgb(10, 11, 15)",
|
|
574
|
+
gray3: "rgb(206, 210, 220)",
|
|
575
|
+
positive: "rgb(" + lightSpectrum.green30 + ")",
|
|
576
|
+
negative: "rgb(" + lightSpectrum.red50 + ")",
|
|
577
|
+
accent1: "rgb(255, 210, 0)",
|
|
578
|
+
accent2: "rgb(" + lightSpectrum.teal15 + ")",
|
|
579
|
+
accent3: "rgb(" + lightSpectrum.orange40 + ")",
|
|
580
|
+
accent4: "rgb(" + lightSpectrum.blue20 + ")",
|
|
581
|
+
invert: "rgb(10, 11, 14)",
|
|
582
|
+
invert2: "rgb(255, 255, 254)"
|
|
583
|
+
},
|
|
584
|
+
darkIllustrationColor: {
|
|
585
|
+
primary: "rgb(" + darkSpectrum.blue70 + ")",
|
|
586
|
+
black: "rgb(" + darkSpectrum.gray0 + ")",
|
|
587
|
+
white: "rgb(" + darkSpectrum.gray100 + ")",
|
|
588
|
+
gray: "rgb(" + darkSpectrum.gray30 + ")",
|
|
589
|
+
gray2: "rgb(" + darkSpectrum.gray30 + ")",
|
|
590
|
+
gray3: "rgb(" + darkSpectrum.gray100 + ")",
|
|
591
|
+
positive: "rgb(" + darkSpectrum.green70 + ")",
|
|
592
|
+
negative: "rgb(" + darkSpectrum.red60 + ")",
|
|
593
|
+
accent1: "rgb(236, 208, 105)",
|
|
594
|
+
accent2: "rgb(" + darkSpectrum.teal80 + ")",
|
|
595
|
+
accent3: "rgb(" + darkSpectrum.orange60 + ")",
|
|
596
|
+
accent4: "rgb(" + darkSpectrum.blue80 + ")",
|
|
597
|
+
invert: "rgb(" + darkSpectrum.gray100 + ")",
|
|
598
|
+
invert2: "rgb(" + darkSpectrum.gray50 + ")"
|
|
567
599
|
}
|
|
568
600
|
};
|
|
@@ -564,5 +564,37 @@ export const coinbaseTheme = {
|
|
|
564
564
|
shadowOpacity: 0.12,
|
|
565
565
|
shadowRadius: 24
|
|
566
566
|
}
|
|
567
|
+
},
|
|
568
|
+
lightIllustrationColor: {
|
|
569
|
+
primary: "rgb(" + lightSpectrum.blue60 + ")",
|
|
570
|
+
black: "rgb(" + lightSpectrum.gray100 + ")",
|
|
571
|
+
white: "rgb(" + lightSpectrum.gray0 + ")",
|
|
572
|
+
gray: "rgb(" + lightSpectrum.gray20 + ")",
|
|
573
|
+
gray2: "rgb(10, 11, 15)",
|
|
574
|
+
gray3: "rgb(206, 210, 220)",
|
|
575
|
+
positive: "rgb(" + lightSpectrum.green30 + ")",
|
|
576
|
+
negative: "rgb(" + lightSpectrum.red50 + ")",
|
|
577
|
+
accent1: "rgb(255, 210, 0)",
|
|
578
|
+
accent2: "rgb(" + lightSpectrum.teal15 + ")",
|
|
579
|
+
accent3: "rgb(" + lightSpectrum.orange40 + ")",
|
|
580
|
+
accent4: "rgb(" + lightSpectrum.blue20 + ")",
|
|
581
|
+
invert: "rgb(10, 11, 14)",
|
|
582
|
+
invert2: "rgb(255, 255, 254)"
|
|
583
|
+
},
|
|
584
|
+
darkIllustrationColor: {
|
|
585
|
+
primary: "rgb(" + darkSpectrum.blue70 + ")",
|
|
586
|
+
black: "rgb(" + darkSpectrum.gray0 + ")",
|
|
587
|
+
white: "rgb(" + darkSpectrum.gray100 + ")",
|
|
588
|
+
gray: "rgb(" + darkSpectrum.gray30 + ")",
|
|
589
|
+
gray2: "rgb(" + darkSpectrum.gray30 + ")",
|
|
590
|
+
gray3: "rgb(" + darkSpectrum.gray100 + ")",
|
|
591
|
+
positive: "rgb(" + darkSpectrum.green70 + ")",
|
|
592
|
+
negative: "rgb(" + darkSpectrum.red60 + ")",
|
|
593
|
+
accent1: "rgb(236, 208, 105)",
|
|
594
|
+
accent2: "rgb(" + darkSpectrum.teal80 + ")",
|
|
595
|
+
accent3: "rgb(" + darkSpectrum.orange60 + ")",
|
|
596
|
+
accent4: "rgb(" + darkSpectrum.blue80 + ")",
|
|
597
|
+
invert: "rgb(" + darkSpectrum.gray100 + ")",
|
|
598
|
+
invert2: "rgb(" + darkSpectrum.gray50 + ")"
|
|
567
599
|
}
|
|
568
600
|
};
|
|
@@ -564,5 +564,37 @@ export const defaultHighContrastTheme = {
|
|
|
564
564
|
shadowOpacity: 0.12,
|
|
565
565
|
shadowRadius: 24
|
|
566
566
|
}
|
|
567
|
+
},
|
|
568
|
+
lightIllustrationColor: {
|
|
569
|
+
primary: "rgb(" + lightSpectrum.blue60 + ")",
|
|
570
|
+
black: "rgb(" + lightSpectrum.gray100 + ")",
|
|
571
|
+
white: "rgb(" + lightSpectrum.gray0 + ")",
|
|
572
|
+
gray: "rgb(" + lightSpectrum.gray20 + ")",
|
|
573
|
+
gray2: "rgb(10, 11, 15)",
|
|
574
|
+
gray3: "rgb(206, 210, 220)",
|
|
575
|
+
positive: "rgb(" + lightSpectrum.green30 + ")",
|
|
576
|
+
negative: "rgb(" + lightSpectrum.red50 + ")",
|
|
577
|
+
accent1: "rgb(255, 210, 0)",
|
|
578
|
+
accent2: "rgb(" + lightSpectrum.teal15 + ")",
|
|
579
|
+
accent3: "rgb(" + lightSpectrum.orange40 + ")",
|
|
580
|
+
accent4: "rgb(" + lightSpectrum.blue20 + ")",
|
|
581
|
+
invert: "rgb(10, 11, 14)",
|
|
582
|
+
invert2: "rgb(255, 255, 254)"
|
|
583
|
+
},
|
|
584
|
+
darkIllustrationColor: {
|
|
585
|
+
primary: "rgb(" + darkSpectrum.blue70 + ")",
|
|
586
|
+
black: "rgb(" + darkSpectrum.gray0 + ")",
|
|
587
|
+
white: "rgb(" + darkSpectrum.gray100 + ")",
|
|
588
|
+
gray: "rgb(" + darkSpectrum.gray30 + ")",
|
|
589
|
+
gray2: "rgb(" + darkSpectrum.gray30 + ")",
|
|
590
|
+
gray3: "rgb(" + darkSpectrum.gray100 + ")",
|
|
591
|
+
positive: "rgb(" + darkSpectrum.green70 + ")",
|
|
592
|
+
negative: "rgb(" + darkSpectrum.red60 + ")",
|
|
593
|
+
accent1: "rgb(236, 208, 105)",
|
|
594
|
+
accent2: "rgb(" + darkSpectrum.teal80 + ")",
|
|
595
|
+
accent3: "rgb(" + darkSpectrum.orange60 + ")",
|
|
596
|
+
accent4: "rgb(" + darkSpectrum.blue80 + ")",
|
|
597
|
+
invert: "rgb(" + darkSpectrum.gray100 + ")",
|
|
598
|
+
invert2: "rgb(" + darkSpectrum.gray50 + ")"
|
|
567
599
|
}
|
|
568
600
|
};
|
|
@@ -395,6 +395,38 @@ export const defaultTheme = {
|
|
|
395
395
|
// Transparent
|
|
396
396
|
transparent: "rgba(" + darkSpectrum.gray0 + ",0)"
|
|
397
397
|
},
|
|
398
|
+
lightIllustrationColor: {
|
|
399
|
+
primary: "rgb(" + lightSpectrum.blue60 + ")",
|
|
400
|
+
black: "rgb(" + lightSpectrum.gray100 + ")",
|
|
401
|
+
white: "rgb(" + lightSpectrum.gray0 + ")",
|
|
402
|
+
gray: "rgb(" + lightSpectrum.gray20 + ")",
|
|
403
|
+
gray2: "rgb(10, 11, 15)",
|
|
404
|
+
gray3: "rgb(206, 210, 220)",
|
|
405
|
+
positive: "rgb(" + lightSpectrum.green30 + ")",
|
|
406
|
+
negative: "rgb(" + lightSpectrum.red50 + ")",
|
|
407
|
+
accent1: "rgb(255, 210, 0)",
|
|
408
|
+
accent2: "rgb(" + lightSpectrum.teal15 + ")",
|
|
409
|
+
accent3: "rgb(" + lightSpectrum.orange40 + ")",
|
|
410
|
+
accent4: "rgb(" + lightSpectrum.blue20 + ")",
|
|
411
|
+
invert: "rgb(10, 11, 14)",
|
|
412
|
+
invert2: "rgb(255, 255, 254)"
|
|
413
|
+
},
|
|
414
|
+
darkIllustrationColor: {
|
|
415
|
+
primary: "rgb(" + darkSpectrum.blue70 + ")",
|
|
416
|
+
black: "rgb(" + darkSpectrum.gray0 + ")",
|
|
417
|
+
white: "rgb(" + darkSpectrum.gray100 + ")",
|
|
418
|
+
gray: "rgb(" + darkSpectrum.gray30 + ")",
|
|
419
|
+
gray2: "rgb(" + darkSpectrum.gray30 + ")",
|
|
420
|
+
gray3: "rgb(" + darkSpectrum.gray100 + ")",
|
|
421
|
+
positive: "rgb(" + darkSpectrum.green70 + ")",
|
|
422
|
+
negative: "rgb(" + darkSpectrum.red60 + ")",
|
|
423
|
+
accent1: "rgb(236, 208, 105)",
|
|
424
|
+
accent2: "rgb(" + darkSpectrum.teal80 + ")",
|
|
425
|
+
accent3: "rgb(" + darkSpectrum.orange60 + ")",
|
|
426
|
+
accent4: "rgb(" + darkSpectrum.blue80 + ")",
|
|
427
|
+
invert: "rgb(" + darkSpectrum.gray100 + ")",
|
|
428
|
+
invert2: "rgb(" + darkSpectrum.gray50 + ")"
|
|
429
|
+
},
|
|
398
430
|
space: {
|
|
399
431
|
'0': 0,
|
|
400
432
|
'0.25': 2,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { colorToHex } from '@coinbase/cds-common/color/colorToHex';
|
|
2
|
+
export const convertThemedSvgToHex = (xml, illustrationPalette) => {
|
|
3
|
+
const cssVarPattern = /var\(--illustration-([a-z0-9-]+)\)/gi;
|
|
4
|
+
const normalizeToken = token => token.replace(/-/g, '');
|
|
5
|
+
return xml.replace(cssVarPattern, (_, token) => {
|
|
6
|
+
const color = illustrationPalette[normalizeToken(token)];
|
|
7
|
+
return color ? colorToHex(color) : "var(--illustration-" + token + ")";
|
|
8
|
+
});
|
|
9
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinbase/cds-mobile",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.74.0",
|
|
4
4
|
"description": "Coinbase Design System - Mobile",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -196,7 +196,7 @@
|
|
|
196
196
|
"react-native-svg": "^14.1.0"
|
|
197
197
|
},
|
|
198
198
|
"dependencies": {
|
|
199
|
-
"@coinbase/cds-common": "^8.
|
|
199
|
+
"@coinbase/cds-common": "^8.74.0",
|
|
200
200
|
"@coinbase/cds-icons": "^5.16.0",
|
|
201
201
|
"@coinbase/cds-illustrations": "^4.40.0",
|
|
202
202
|
"@coinbase/cds-lottie-files": "^3.3.4",
|