@coinbase/cds-mobile 8.73.0 → 8.74.1

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 (32) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dts/core/theme.d.ts +12 -0
  3. package/dts/core/theme.d.ts.map +1 -1
  4. package/dts/illustrations/createIllustration.d.ts +3 -0
  5. package/dts/illustrations/createIllustration.d.ts.map +1 -1
  6. package/dts/system/ThemeProvider.d.ts.map +1 -1
  7. package/dts/tabs/DefaultTab.d.ts.map +1 -1
  8. package/dts/themes/coinbaseDenseTheme.d.ts +32 -0
  9. package/dts/themes/coinbaseDenseTheme.d.ts.map +1 -1
  10. package/dts/themes/coinbaseHighContrastTheme.d.ts +32 -0
  11. package/dts/themes/coinbaseHighContrastTheme.d.ts.map +1 -1
  12. package/dts/themes/coinbaseTheme.d.ts +32 -0
  13. package/dts/themes/coinbaseTheme.d.ts.map +1 -1
  14. package/dts/themes/defaultHighContrastTheme.d.ts +32 -0
  15. package/dts/themes/defaultHighContrastTheme.d.ts.map +1 -1
  16. package/dts/themes/defaultTheme.d.ts +32 -0
  17. package/dts/themes/defaultTheme.d.ts.map +1 -1
  18. package/dts/utils/convertThemedSvgToHex.d.ts +6 -0
  19. package/dts/utils/convertThemedSvgToHex.d.ts.map +1 -0
  20. package/dts/utils/testHelpers.d.ts +32 -0
  21. package/dts/utils/testHelpers.d.ts.map +1 -1
  22. package/esm/illustrations/__stories__/ThemedIllustrations.stories.js +214 -0
  23. package/esm/illustrations/__stories__/illustrationThemes.js +122 -0
  24. package/esm/illustrations/createIllustration.js +31 -5
  25. package/esm/system/ThemeProvider.js +3 -1
  26. package/esm/tabs/DefaultTab.js +2 -6
  27. package/esm/themes/coinbaseHighContrastTheme.js +32 -0
  28. package/esm/themes/coinbaseTheme.js +32 -0
  29. package/esm/themes/defaultHighContrastTheme.js +32 -0
  30. package/esm/themes/defaultTheme.js +32 -0
  31. package/esm/utils/convertThemedSvgToHex.js +9 -0
  32. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -8,6 +8,18 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.74.1 (5/14/2026 PST)
12
+
13
+ #### 🐞 Fixes
14
+
15
+ - Fix: adjust tabs default tab label padding. [[#682](https://github.com/coinbase/cds/pull/682)]
16
+
17
+ ## 8.74.0 (5/13/2026 PST)
18
+
19
+ #### 🚀 Updates
20
+
21
+ - Feat: add illustration theming via applyTheme prop. [[#672](https://github.com/coinbase/cds/pull/672)]
22
+
11
23
  ## 8.73.0 (5/13/2026 PST)
12
24
 
13
25
  #### 🚀 Updates
@@ -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
@@ -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;AAKrC,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;CACtC,CAAC;AAEF,KAAK,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3F,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,sEAoDjC"}
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,4CAoCvF,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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTab.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,GAClF,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;AAEvD,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAC/D,cAAc,EACd,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAC3C,GACC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG;IACjE,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEJ,KAAK,mBAAmB,GAAG,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACvD,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;CAAE,KAC/D,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,mBAAmB;;;;;;IATrB,oFAAoF;mCACvD,qBAAqB,KAAK,IAAI;YACnD,SAAS,CAAC,SAAS,CAAC;+BA4E/B,CAAC;AAIF,eAAO,MAAM,UAAU,EAA0B,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DefaultTab.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,GAClF,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;AAEvD,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAC/D,cAAc,EACd,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAC3C,GACC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG;IACjE,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEJ,KAAK,mBAAmB,GAAG,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACvD,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;CAAE,KAC/D,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,mBAAmB;;;;;;IATrB,oFAAoF;mCACvD,qBAAqB,KAAK,IAAI;YACnD,SAAS,CAAC,SAAS,CAAC;+BAoE/B,CAAC;AAIF,eAAO,MAAM,UAAU,EAA0B,mBAAmB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqHC,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8QN,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8QM,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8QL,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8QO,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAe,CAAC;AAElC,eAAO,MAAM,oBAAoB,GAAI,yCAIlC,yBAAyB,4CAM3B,CAAC"}
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$name;
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, {
@@ -1,7 +1,7 @@
1
1
  const _excluded = ["id", "label", "disabled", "onPress", "count", "max", "accessibilityLabel", "style", "testID", "color", "activeColor"];
2
2
  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); }
3
3
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
- import React, { forwardRef, memo, useCallback, useMemo } from 'react';
4
+ import React, { forwardRef, memo, useCallback } from 'react';
5
5
  import { Pressable } from 'react-native';
6
6
  import { useTabsContext } from '@coinbase/cds-common/tabs/TabsContext';
7
7
  import { accessibleOpacityDisabled } from '@coinbase/cds-common/tokens/interactable';
@@ -39,10 +39,6 @@ const DefaultTabComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref
39
39
  updateActiveTab(id);
40
40
  onPress == null || onPress(id, event);
41
41
  }, [id, onPress, updateActiveTab]);
42
- const labelPaddingStyle = useMemo(() => ({
43
- paddingTop: theme.space[2],
44
- paddingBottom: theme.space[2] - 2
45
- }), [theme.space]);
46
42
  return /*#__PURE__*/_jsx(Pressable, _extends({
47
43
  ref: ref,
48
44
  accessibilityLabel: accessibilityLabel,
@@ -64,7 +60,7 @@ const DefaultTabComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref
64
60
  children: [/*#__PURE__*/_jsx(Text, {
65
61
  color: isActive ? activeColor : color,
66
62
  font: "headline",
67
- style: labelPaddingStyle,
63
+ paddingY: 2,
68
64
  children: label
69
65
  }), !!count && /*#__PURE__*/_jsx(DotCount, {
70
66
  count: count,
@@ -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.73.0",
3
+ "version": "8.74.1",
4
4
  "description": "Coinbase Design System - Mobile",
5
5
  "repository": {
6
6
  "type": "git",
@@ -196,9 +196,9 @@
196
196
  "react-native-svg": "^14.1.0"
197
197
  },
198
198
  "dependencies": {
199
- "@coinbase/cds-common": "^8.73.0",
199
+ "@coinbase/cds-common": "^8.74.1",
200
200
  "@coinbase/cds-icons": "^5.16.0",
201
- "@coinbase/cds-illustrations": "^4.40.0",
201
+ "@coinbase/cds-illustrations": "^4.40.1",
202
202
  "@coinbase/cds-lottie-files": "^3.3.4",
203
203
  "@coinbase/cds-utils": "^2.3.5",
204
204
  "@floating-ui/react-native": "^0.10.5",